Vscode几个快捷键

安装Shell command vscode编辑状态下, cmd + shift + p, 输入 shell command 回车,安装code到PATH 在终端输入相应指令 打开vscode $ cd ~/go/src/hello $ code . # vscode打开当前目录 # 如果使用的是oh-my-zsh,并且打开 vscode plugin # 也可以实现同样效果 $ vsc 变量重命名 鼠标移到要修改的关键词上,点击 cmd + shift + L 或……

阅读全文

Golang中的信号处理

信号类型 每个平台的信号定义或许有些不同。下面列出了POSIX中定义的信号。 Linux 使用34-64信号用作实时系统。 命令 man signals 提供了官方的信号介绍。 在POSIX.1-1990标准中定义的信号列表 信号 值 动作 说明 SIGHUP 1 Term 终端控制进程结束(终端连接断开) SIGINT 2 Term 用户发送INTR字符(Ctrl+C)触……

阅读全文

Golang一致性哈希实现

概念 一致性哈希是指将数据分散到多个节点上进行存储的方法。在一致性哈希中,数据通常用数字编码,并使用哈希函数将它们映射到一个固定的哈希环上。在这种情况下,哈希环的大小通常是 2 的某个次方。选择 2 的 32 次方作为哈希环的大小是因为这是一个较大的数字,能够在哈希环上映射到许多不同的点,从而提……

阅读全文

创建Linux Systemctl自定义服务

要创建一个自定义的systemctl服务,你需要完成以下步骤: 创建一个服务文件:在/etc/systemd/system/目录下创建一个以.service为扩展名的服务文件,例如my-service.service。 编辑服务文件:使用文本编辑器打开服务文件,添加以下内容: [Unit] Description=My Custom Service……

阅读全文

Golang testify学习

摘要:Go 语言的测试框架 testify 是一个功能丰富且易于使用的工具集,旨在帮助开发者编写高质量的测试代码。 本文将深入介绍 testify 的主要组件,包括断言库 assert、测试工具集 suite 和模拟对象库 mock,并讨论如何充分利用 testify 提升测试覆盖率和可维护性。 引言 在软件开发中,测试是确保代码质量和稳定性的重要环……

阅读全文

Hugo Maupassant添加favicon.ico

本篇博文仅在 maupassant 主题下有效 其他主题视情况而定,应该相差不多 生成 favicon 访问 favicon.io 选择 PNG -> ico 或 TEXT -> ico 或 Emoji -> ico 生成完毕点击 Download 添加 favicon 到站点 解压下载文件 将favicon.ico放入 static 文件 $ tree -L 3 ./themes ./themes └── maupassant ├── LICENSE.md ├── archetypes │ └── default.md ├── i18n │ ├── en.toml │ ├── zh-hans.toml │ └── zh-hant.toml ├── layouts │ ├── 404.html │ ├── _default │……

阅读全文

php使用fastroute路由

php 使用 fastroute 示例 首先,我们需要先使用 Composer 将 Fastroute 库引入到我们的项目中。在命令行中切换到项目根目录下,执行以下命令: $ composer require nikic/fast-route 创建一个 index.php 文件,并在其中引入 vendor/autoload.php 文件来自动加载 Fastroute 库。 <?php require_once __DIR__ . '/vendor/autoload.php'; 创建一个 routes.php 文件来设置我们的路由。在此文件中,我们可以使用$dispatcher->dispatch()……

阅读全文

使用composer创建PHP框架

使用 composer 实现一个简易框架: 在命令行中创建一个新的项目目录,例如 myframework。 使用 composer init 命令来初始化项目。根据提示输入项目信息。 在项目目录下创建一个 public 目录,用于存放所有的公共文件。这个目录将用作浏览器的入口点。 在项目根目录下创建一个 src 目录,用于存放所有的 PHP 代码。这些代码将用于……

阅读全文

Go Test代码覆盖率

go test -v -cover 执行单元测试并计算覆盖率 go test 工具可以用来测试 单元测试的代码覆盖率,示例如下: $ go test -v -cover === RUN TestSum --- PASS: TestSum (0.00s) === RUN TestAbs --- PASS: TestAbs (0.00s) PASS coverage: 85.7% of statements ok gotest 0.005s 从覆盖率来看(coverage: 85.7% of statements),测试用例没有覆盖全部的代码,只有 85.7% ,可以通过如下命令将 cover 的详细信息保存到 cover.out 中。 $ go……

阅读全文

二分查找

一个故事 有一天小明到图书馆借了 N 本书,出图书馆的时候,警报响了, 于是保安把小明拦下,要检查一下哪本书没有登记出借。 小明正准备把每一本书在报警器下过一下,以找出引发警报的书, 但是保安露出不屑的眼神:你连二分查找都不会吗? 于是保安把书分成两堆,让第一堆过一下报警器,报警器响; 于是再把……

阅读全文