/images/wb.png

怕什么真理无穷,进一寸有一寸的欢喜

纪念一位老友

几年前,一位好朋友去世了,九零后,跟我年纪一样。我跟他从小就认识,我们一起上的小学,一起上的初中,高中之后便联系的少了,后来我去外地读书,联系的就更少了。 那还是二零一九,那时我刚从西安来北京。一天夜里

各种音乐文件格式转 MP3

mgg我的 qq 音乐桌面播放器版本是 1951,下载下来的音乐格式是 mgg 格式的。 qq music version mgg 如何将 mgg 格式转 mgg 格式转成 MP3 格式呢❓ mgg 文件暂时不支持直接转成 mp3,可以先把 mgg 文件转成 ogg 文件,再把 ogg 文件转成 mp3 文件。 先用工

记一次 MySQL 8.0 JSON 查询

有 2 张表,一张 tag 表,主要字段有 id,name。一张 channel 表,有个 tags 字段,存 tag 表中 id,如:[1,5]。 tags 现在的需求是,通过 channel 表可以支持模糊搜索 tag 的 name,比如 tag 表中的数据如下: tag channel 表中的某条数据的 tags 字段

Go channel 使用分析

概念Go 中的 channel 是一个队列,遵循先进先出的原则,负责协程之间的通信。Go 语言提倡不要通过共享内存来通信,而要通过通信来实现内存共享,CSP(Communicating Sequential Process)并发模型,就是通过

Go Slice 实现原理

什么是 slice切片是基于数组实现的,它的底层是数组,可以理解为对底层数组的抽象。 源码包中 src/runtime/slice.go 定义了 slice 的数据结构: 1 2 3 4 5 type slice struct { array unsafe.Pointer // ArbitraryType int len int cap int } array 是指向底层数组的指针,占用 8 个字节。len 是切片

Golang 内存逃逸

在 C/C++ 开发中,动态分配内存(new/malloc)需要开发者手动释放资源。这样做的好处是,需要申请多少内存空间可以很好的掌握怎么分配。但是这有个缺点,如果忘记释放内存,则会导致内存泄漏。在很多高级语言中

Docker 单机安装使用 Elasticsearch

安装 ES当前 ElasticSearch 已经到了 8.0+,新版本都有很多新特性,性能和功能都有大幅提升,建议使用较高版本,这里采用 7.12.1 版本 👼 es 版本 安装 ElasticSearch 脚本如下: 1 2 3 4 5 6 7 docker run -d \ --name elasticsearch \ -e "discovery.type=single-node" \ --privileged \ -p 9200:9200 \ -p 9300:9300 \ elasticsearch:7.12.1 常用命令说明:

布雷顿森林体系

来源布雷顿森林体系(Bretton Woods system)是二战后建立的一套全球金融和货币体系,于 1944 年在美国新罕布什尔州的布雷顿森林酒店(Bretton Woods Hotel)会议上确立。该体系的目标是为世界各国提供稳

windows 下 python virtualenvwrapper-win 使用

Virtualenvwrapper 是一个用于管理 Python 虚拟环境的工具,它为创建、切换和删除虚拟环境提供了一组方便的命令,并通过简化管理多个虚拟环境的过程来提高开发效率。 安装可以使用 pip 安装 Virtualenvwrapper: 1 pip install virtualenvwrapper-win 安装完

SSH error: permissions are too open

问题描述我的 git 版本在 1.8.3.1 的时候提交 push 代码时一直报错 git 版本 Permission denied (publickey) 1 2 3 4 5 Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 排查了几个小时,一直没解决,之前也一直是这么用的,也没出现过问题。后来没办法,我尝试

Windows 10 专业版使用 WSL

什么是 wslWindows Subsystem for Linux(WSL)是一个在 Windows 10+ 上能够运行原生 Linux 二进制可执行文件的兼容层。 与 WSL1 相比,WSL 2 使用更新、更强大的虚拟化技术在轻量级实用工具虚拟机 (VM) 中运行 Linux 内核。 安装我是 win10 专业版,其他版本的 win10

Go 编译标签 build tag

简介在 Go 中,build tag 是添加到代码中第一行,来标识编译相关信息的,build tag 决定了当前文件是否会被当前 package 所包含,用于限制一整个文件是否应该被编译入最终的二进制文件,而不是一个文件中的部分代码片段。

minikube 安装使用

简介Kubernetes 是一个生产级别的容器编排平台和集群管理系统,不仅能够创建、调度容器,还能够监控、管理服务器,它凝聚了 Google 等大公司和开源社区的集体智慧,从而让中小型公司也可以具备轻松运维海量计算节

Go1.18 sync.Map 解读

背景项目中遇到了需要使用高并发的 map 的场景,众所周知 Go 官方的原生 map 是不支持并发读写的,直接并发的读写很容易触发 panic。 解决的办法有两个: 自己配一把锁 sync.Mutex 或者更加考究一点配一把读写锁 sync.RWMut

MySQL 常见问题(三)

InnoDB、MyISAM的区别 磁盘文件不同: MyISAM 引擎的表会生成三个磁盘文件: table_name.frm 该文件中存储表的结构信息。table_name.MYD 该文件中存储表的行数据。table_name.MYI 该文件中存储表的

session cookie token 的区别

Cookie 和 SessionHTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;Session 和 Cookie 的主要目的就是为了弥补 HTTP 的无状态特性。 Session 是什么客户端请求服务端,