- 博客(27)
- 收藏
- 关注
原创 Golang 中 context 包使用
context 可以说是Golang中非常重要的包了,于是乎学习了一番,总结以作备忘。文章包含以下内容:context 是什么context 的作用及使用姿势context 使用时要注意什么context 是什么Go 1.7 标准库引入context,中文译作“上下文”,确切的说它是 goroutine 的上下文,包含了 goroutine 的运行状态、环境、现场等信息。type Context interface { Deadline() (deadline time.Time,
2022-04-03 15:27:52
783
原创 From PHP To Golang
学习路径入门学习:example go系统学习:《go 圣经》 + 《Go 学习笔记》进阶:《Go 语言高级编程》+ 《Go 语言设计与实现》框架Gin:是使用 Go 语言实现的 Web 框架。接口简洁,性能极高。是当前业界主流的Go语言框架。手册注意事项个人在切换语言中最大的问题:由弱类型语言向强类型语言切换,变量类型的转换是需要花些时间去适应的。不过Go的编辑器会帮助检查 变量类型 是否有误,这点还是很好的。PHP 中绝大多数情况下,进程都是串行执行业务逻辑的(yield
2022-04-03 15:26:11
667
原创 浅谈堆和栈
浅谈堆和栈文章包括以下内容:堆和栈是什么堆和栈的区别程序怎样使用堆和栈堆和栈是什么看了很多文章,讲的内容都很多,但关于堆和栈的定义到底是什么?很多是没提及的。堆和栈是两种不同内存分配方式所获得的内存区域的统称。栈是用来存储函数内部临时使用的变量(局部变量),以及函数调用时所用参数的内存区域;堆是用来存储程序运行时的任意数据及对象的内存区域。堆和栈的区别分配和释放方式堆和栈都是在程序运行时所申请分配的。但对于栈中数据的存储和释放是由编译器自动完成的,不需要程序猿参与;而堆的内存空
2021-07-25 16:07:35
370
原创 PHP 中的接口、抽象类、类和对象.md
接口接口是一系列(相同特征)方法的集合,通常以interface来声明。接口中的方法只是定义,并没有具体的实现。接口不能被实例化,但可以被实现。实现接口的类必须实现该接口的所有方法,除非该类为抽象类抽象类抽象类是对一个种类事物的抽象,即对类抽象。但其本身不能被实例化。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。如果抽象类...
2020-04-07 17:13:34
214
原创 计算机系统学习(一)
计算机系统是由硬件和系统软件组成的,它们共同工作来运行应用程序。当你在系统上执行用C编写的 hello 程序时,系统发生了什么以及为什么会这样那?
2019-09-28 20:59:49
534
原创 微服务学习(二)
前面一篇文章对什么是微服务、服务拆分、服务间通讯、服务部署进行了介绍。接下来继续总结一下学习笔记。测试监控安全系统设计规范化的微服务总结...
2019-09-06 19:14:05
179
转载 Xhgui+Tideways 安装及使用
应该是目前找到的最完整、有用的安装指南链接:https://segmentfault.com/a/1190000013322461
2019-07-25 10:39:17
390
原创 说说 golang 中的 string、[]rune()、[]byte()
在看本篇文章之前,建议先了解一下字符编码的知识,这里推荐两篇大神写的文章
2019-04-24 10:58:39
4101
原创 MySQL 中的autocommit
autocommit 是什么“ In InnoDB, all user activity occurs inside a transaction. If autocommit mode is enabled, each SQL statement forms a single transaction on its own. By default, MySQL starts the session...
2019-04-01 18:42:20
1301
原创 MySQL -- explain 详解
上一篇文章讲了MySQL 索引,本篇文站来讲讲 explain 命令。explain 命令显示了 MySQL 如何使用索引来处理 SELECT 语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。为了更好的展示,我们先来建两张表,并向这两张表分别插入1000条记录:CREATE TABLE `s1` ( `id` int(11) NOT NULL AUTO_INCREMENT,...
2019-04-01 18:41:04
1093
原创 MySQL 索引
最近深入学习了MySQL,总结一下,作为备忘吧。本篇文章主要介绍以下内容:索引是什么索引的类型索引的原理索引的好处索引的代价索引的使用Explain 详解索引是什么索引是存储引擎用于快速找到记录的一种数据结构。索引的类型B+树索引Hash 索引索引的原理这里主要讲B+树索引的原理。我们知道InnoDB是以页作为管理存储空间的基本单位, 一个页的大小一般是16...
2019-04-01 18:37:13
898
原创 PHP 对金额的向上取整、向下取整
在PHP中,一般来说如果需要向上取整,向下取整。用 ceil()、floor() 函数就可以。但是如果对金额的向上、向下取整要怎么处理那(金额一般都是要保留两位小数的)。向上取整 /** * 默认保留2位(金额向上取整算法) * @param $amount * @param int $decimals * @return float|int ...
2019-03-13 18:33:56
2882
3
原创 Redis 学习(八)- 开发运维的“陷阱”
本篇文章来讲一讲开发运维中的"陷阱"Linux 配置优化要点内存分配控制vm.overcommit_memory 配置THPOOM killerNTP (同步不同节点的时间)ulimit (单个用户同时打开的文件数)TCP backlogflushall/flushdb 误操作快速恢复以持久化文件作为恢复数据的媒介。借助 AOF 机制恢复避免AOF重写(调节a...
2019-03-04 16:56:13
995
原创 Redis 学习笔记(五)-- 阻塞
本篇文章来说说Redis 的噩梦–阻塞。Redis 是单线程架构,所有读写操作都是一条主线程完成的。如果出现了阻塞,哪怕是很短的时间,也是噩梦。发现阻塞客户端是最先感知阻塞等Redis的超时行为加入日志监控报警工具对Redis 进程和机器做全面监控(如命令耗时、慢查询、持久化阻塞、连接拒绝、CPU/内存/磁盘/网络使用过载等)内在原因API 或数据结构使用不合理CPU 饱和问...
2019-02-12 14:10:03
226
原创 Laravel - 队列应用及踩过的坑
Laravel 自己实现了队列的机制,如果要看源码解析,这两篇文章写的很好。https://laravel-china.org/articles/4169/analysis-of-laravel-message-queuehttps://laravel-china.org/articles/7037/laravel-queue-analysis-of-message-queue-tasks-...
2019-01-21 18:28:19
8392
1
原创 Redis 学习笔记(二)- 一些小功能
上一篇文章 基础篇(一)总结了 Redis 的5种基本类型,这一篇总结下 Redis 的一些小功能。慢查询分析Redis Shell管道事务和LuaBitmapsHyperLogLog发布订阅GEO...
2019-01-09 17:37:42
193
原创 Redis 学习笔记(一)- 基本数据结构
用了好几年的Redis,很多东西还是一知半解。随决定系统的学习一下,也写些笔记以做巩固。Redis 有哪些特性速度快(单线程)基于键值对的数据结构服务器丰富的功能除了基础的5中数据结构,还提供了发布订阅、Lua脚本、简单的事务等等功能。简单稳定客户端语言多持久化主从复制高可用及分布式Redis 能用来做什么缓存分布式锁排行榜系统计数器应用(如 api 限频...
2019-01-03 17:32:00
617
原创 MySQL字符集问题
公司一个旧的项目需要支持 emoji 表情,一开始以为只要修改下数据库的表字段就好,没想到引发了一系列的问题。总结一下,以作备忘。MySQL 字符集设置系统变量:character_set_server:默认的内部操作字符集character_set_client:客户端来源数据使用的字符集character_set_connection:连接层字符集character_set_...
2019-01-03 14:50:42
258
原创 进程、线程小记
进程、线程进程是关于某个数据集合上的一次运行活动,具有一定独立功能的程序;进程是系统进行资源分配和调度的一个独立单位。进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数...
2019-01-03 14:45:43
705
原创 Redis 安装及使用
Redis 安装PHP 的 Redis 扩展因为笔者是个PHPer,所以这里也写下关于 PHP 的Redis 扩展。PHP 的扩展有两种方式,一种是编译安装用C编写的扩展 phpredis,另一种是由PHP编写的扩展包predis。phpredispredis...
2019-01-02 15:53:50
172
原创 Nginx、php-fpm 重启和重载配置(平滑重启)
NginxNginx进程分为master主进程和worker工作进程。master进程通过信号通知worker进程执行工作。命令sudo nginx -s reload 重载配置(平滑重启)sudo service nginx restart 重启我们先看看没有请求的情况下,操作以上命令在服务器上展示的结果。很明显的可以看到,当 nginx reload 的时候...
2018-12-27 18:00:10
10030
原创 一次 MySQL 老数据同步
先说下业务背景,项目中白名单功能重构。这就涉及到老数据同步问题表结构CREATE TABLE `nw_white_list` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`user_id` int(11) NOT NULL,`sub_user_id` int(11) DEFAULT NULL,`platform` tinyint(4...
2018-12-25 17:56:34
980
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人