Delve是Go语言专用调试工具,支持断点、单步执行和变量查看。通过go install安装后可用dlv debug调试程序,dlv test调试测试,支持命令行与VS Code等IDE集成,提升开发效率。 在Go语言开发中,调试是排查问题的重要环节。Delve(dlv)是专为Go设计的调试器,功能强大且使用方便。它支持断点、变量查看、单步执行等常见调试操作,特别适合在命令行或IDE中集成使用。 安装 Delve 1# 方法1: 使用 go install (推荐) 2go install github.com/go-delve/delve/cmd/dlv@latest 3 4# 方法2: 从源码安装 5git clone …
Read MoreShell 数组和 for 循环的最佳实践在于确保代码的健壮性 (Robustness),尤其是在处理包含空格或特殊字符的数组元素时。 🧩 一、定义数组的标准写法 1# ✅ 正确:使用括号 + 双引号,保证空格安全 2dirs=( 3 "/opt/app/logs" 4 "/opt/app data" 5 "/tmp/test" 6) ❌ 错误写法: 1dirs=/opt/app/logs /opt/app data /tmp/test 这会被当成多个命令执行。 🔁 二、安全遍历数组 ✅ 推荐写法 1for dir in "${dirs[@]}"; do 2 echo "Processing directory: $dir" …
Read MoreLinux中的less命令主要用来浏览文件内容,与more命令的用法相似,不同于more命令的是,less命令可往回卷动浏览以看过的部分。less的用法比起more更加的有弹性。在more的时候,我们并没有办法向前面翻,只能往后面看,但若使用了less时,就可以使用 [pageup] [pagedown]等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在less里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。 命令格式 less [参数] 文件 命令功能 less和more类似,但是使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,more启动时会加载整个文件。而且less在查看 …
Read More在本教程中,我们将向您介绍在运行systemd的linux系统上如何使用systemctl命令工具有效的控制系统和服务。 Systemctl 介绍 Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。 Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。 在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。Systemd通常是所有其它守护进程的父进程,但并非总是如此。 开始Systemd和Systemctl 基础工具之旅 首先检查系统上是否安装了 …
Read Moreawk是由Alfred Aho 、Peter Weinberger 和 Brian Kernighan这三个人创造的,awk由这个三个人的姓氏的首个字母组成。awk早期是在unix上实现的,所以,我们现在在linux的所使用的awk其实是gawk,也就是GNU awk,简称为gawk,awk还有一个版本,New awk,简称为nawk,但是linux中最常用的还是gawk。awk其实是一门编程语言,它支持条件判断、数组、循环等功能。所以,我们也可以把awk理解成一个脚本语言解释器。 基本用法 和我们平常使用的 Linux 命令一样, awk 也是遵循着某种格式来使用,格式如下: 使用格式 awk 执行的事件 文件 例如: …
Read MoreMySQL 是支持多事务并发执行的。既然事务可以并发操作,这里就有一些问题:一个事务在写数据的时候,另一个事务要读这行数据,该怎么处理?一个事务在写数据,另一个数据也要写这行数据,又该怎么处理这个冲突?这就是并发事务所产生的一些问题。具体来说就是:脏读、不可重复读和幻读。 概念说明 脏读 脏读指的是读到了其他事务未提交的数据,未提交意味着这些数据可能会回滚,也就是可能最终不会存到数据库中,也就是不存在的数据。读到了并一定最终存在的数据,这就是脏读。 脏读最大的问题就是可能会读到不存在的数据。比如在上图中,事务B的更新数据被事务A读取,但是事务B回滚了,更新数据全部还原,也就是说事务A刚刚读到的数据并没有存在于数据库中。 从宏观来看, …
Read Moredd命令的官方定义:转换和拷贝文件。一般情况下,我们使用此命令进行大文件创建,但是dd命令是实际写入硬盘,文件产生的速度取决于硬盘的读写速度,如果我们想要创建一个超大文件,速度很慢。 生成文件大小和实际占空间大小一样的文件 1dd if=/dev/zero of=50M.file bs=1M count=50 2 3dd if=/dev/zero of=20G.file bs=1G count=20 4 5# bs=1M表示每一次读写1M数据,count=50表示读写 50次,这样就指定了生成文件的大小为50M。bs参数还可以进一步细分为ibs和obs两种,为读操作与写操作分别指定不同的Buffer大小。 生成文件大小固定,但实际不 …
Read MorePandas是一个开源的,BSD许可的库,为Python (opens new window)编程语言提供高性能,易于使用的数据结构和数据分析工具。 入门 Pandas入门文档 loc && iloc 区别 loc: 通过行标签索引行数据 iloc: 通过行号索引行数据 ix: 通过行标签或者行号索引行数据(基于loc和iloc 的混合) 注意📢 iloc是按照行数取值,而loc按着index名取值 loc 1import numpy as np 2import pandas as pd 3from pandas import * 4from numpy import * 5 …
Read MoreLucene 作为 Apache 开源的一款搜索工具,一直以来是实现搜索功能的神兵利器,现今火热的 Solr 和 Elasticsearch 均基于该工具包进行开发,而 Lucene 之所以能在搜索中发挥至关重要的作用正是因为倒排索引。因此,本文将介绍一下倒排索引的概念以及倒排索引在 Lucene 中的实现。 倒排索引(Inverted Index)也叫反向索引,有反向索引必有正向索引。通俗地来讲,正向索引是通过key找value,反向索引则是通过value找key。 先来回忆一下我们是怎么插入一条索引记录的: 1curl -X PUT "localhost:9200/user/_doc/1" -H 'Content-Type: …
Read MoreDockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。 docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。 环境介绍 Dockerfile中所用的所有文件一定要和Dockerfile文件在同一级父目录下,可以为Dockerfile父目录的子目录。 Dockerfile中相对路径默认都是Dockerfile所在的目录。 Dockerfile中一定要惜字如金,能写到一行的指令,一定要写到一行,原因是分层构建,联合挂载这个特性 …
Read More