IT博客汇
首页
精华
技术
设计
资讯
扯淡
权利声明
登录
注册
相关标签
作者:
Jiajun的技术笔记
1998
source
关注
love
0
Jiajun的技术笔记
发表于
2020-08-26 00:00:00
StackGuard的作用
《StackGuard的作用》最近在重新翻Go runtime的源码,发现一个新知识点,叫做StackGuard。此为学习记录。## 什么是StackGuard... ...
继续阅读 (52)
love
0
Jiajun的技术笔记
发表于
2020-08-26 00:00:00
Goroutine是如何处理栈的?
《Goroutine是如何处理栈的?》为什么Go的栈是无限大小的?为什么Go的栈策略从 segmented stacks 切换到 contiguous stacks?逃逸分析是什么?这篇文章是我的学习记录,分别解答了上述问题。Go在1.3以前,是使用一种叫做 segmented stacks 的栈策略。而1.3时,换成了 contiguous stacks ,我们分别来了解一下这两种策略... ...
继续阅读 (52)
love
0
Jiajun的技术笔记
发表于
2020-08-22 00:00:00
Go DiskQueue源码阅读
《Go DiskQueue源码阅读》如何使用Go来实现一个简单的基于磁盘的FIFO队列呢?我们来看看 [go-diskqueue](https://github.com/nsqio/go-diskqueue) 的实现,它是NSQ中用来持久化的一个库,我们借助它来了解一下,如何实现一个基于磁盘的队列... ...
继续阅读 (61)
love
0
Jiajun的技术笔记
发表于
2020-08-16 00:00:00
NSQ源码分析
《NSQ源码分析》简单的翻了一下NSQ的源码,看看它是怎么实现的。我首先是从nsqtail开始看的,先从简单的入手。之后我看了nsqlookupd和nsqd。本文只讲nsqd... ...
继续阅读 (46)
love
0
Jiajun的技术笔记
发表于
2020-08-15 00:00:00
NSQ简明教程
《NSQ简明教程》周末试了一下NSQ,发现挺好用的,简单方便。NSQ是一个消息队列,比如异步任务时,我们需要一个broker,或者是将日志统一处理时,我们需要一个日志流中间件。NSQ就可以用来干这个... ...
继续阅读 (55)
love
0
Jiajun的技术笔记
发表于
2020-08-11 00:00:00
结合Redis与MySQL实现又快又好的数据方案
《结合Redis与MySQL实现又快又好的数据方案》要速度快,我们一般会选择Redis,不过同等价格的情况下,内存容量终究比不过硬盘大小,对于大量数据,MySQL是更好的选择。不过,我们可以结合Redis和MySQL实现,将热点数据存储在Redis中,将不热的数据存储在MySQL中... ...
继续阅读 (56)
love
0
Jiajun的技术笔记
发表于
2020-07-28 00:00:00
程序员的MySQL手册(五):索引优化
《程序员的MySQL手册(五):索引优化》随着产品的迭代,数据库中的数据一直在变更,索引也要跟着变更才能顺应时代,哦不,顺应数据的要求。当索引不够好用时---通常是一波请求高峰击溃了系统,或者是提前发现查询性能不够高,我们就需要对查询进行诊断,判断当前是否... ...
继续阅读 (52)
love
0
Jiajun的技术笔记
发表于
2020-07-26 00:00:00
程序员的MySQL手册(三):数据库设计
《程序员的MySQL手册(三):数据库设计》这一篇我们会讲解数据库设计的准则,介绍常见的数据类型,以及数据库范式和反范式,和他们的应用。## 数据库设计的准则... ...
继续阅读 (47)
love
0
Jiajun的技术笔记
发表于
2020-07-25 00:00:00
Linux窗口管理器下的截图
《Linux窗口管理器下的截图》Linux使用窗口管理器时,也想做到截图然后保存到剪贴板,之后就可以到处贴比如贴到虚拟机里的Windows,不过如果直接使用截图工具的话,是没有办法保存到剪贴板的,不过使用xclip可以做到。我使用的是XMonad,加这么一行... ...
继续阅读 (45)
love
0
Jiajun的技术笔记
发表于
2020-07-23 00:00:00
Go设计模式:facade模式和观察者模式
《Go设计模式:facade模式和观察者模式》## facade模式(外观模式)初看这个名字,觉得很陌生。但是我说这个模式,其实就是抽象封装,那么我想它就不陌生了。facade模式的作用就是,原本随着项目... ...
继续阅读 (46)
love
0
Jiajun的技术笔记
发表于
2020-07-23 00:00:00
程序员的MySQL手册(二): 监控与benchmark
《程序员的MySQL手册(二): 监控与benchmark》这一节我们主要讲解如何监控MySQL的性能数据,以及如何对MySQL进行压测。## 使用Prometheus进行监控... ...
继续阅读 (45)
love
0
Jiajun的技术笔记
发表于
2020-07-21 00:00:00
Go设计模式: 责任链模式
《Go设计模式: 责任链模式》今天我们来介绍责任链模式,从名字可以看出来,它应当是一系列的操作。的确如此,看看维基百科的定义:> 责任链模式在面向对象程式设计里是一种软件设计模式,它包含了一些命令对象和一系列的处理对象... ...
继续阅读 (50)
love
0
Jiajun的技术笔记
发表于
2020-07-15 00:00:00
我们真的需要这么复杂的技术栈吗?
《我们真的需要这么复杂的技术栈吗?》现在业界流行的是k8s全家桶, ELK全家桶, Gitlab全家桶。分别使用他们的如下能力和作用:- k8s: 自动调度,自动扩容... ...
继续阅读 (58)
love
0
Jiajun的技术笔记
发表于
2020-07-14 00:00:00
Go设计模式:装饰器模式
《Go设计模式:装饰器模式》今天我们来介绍decorator这个经典的设计模式。如果使用过python的话,我想decorator都不用我介绍了,我们来看个例子:```python... ...
继续阅读 (48)
love
0
Jiajun的技术笔记
发表于
2020-07-05 00:00:00
程序员的MySQL手册(一): 安装,基本配置
《程序员的MySQL手册(一): 安装,基本配置》这是《程序员的MySQL手册》第一篇。这个系列主要是把作为开发,日常工作中需要用到MySQL的方方面面作一个总结,除去了一部分运维工作,主要包括... ...
继续阅读 (55)
love
0
Jiajun的技术笔记
发表于
2020-07-02 00:00:00
Go设计模式:composite模式
《Go设计模式:composite模式》典型的composite模式,是这样的,对于多个对象,由于我们只需要其中一部分共同的操作,因此我们可以通过定义一个父类,来规定我们所需要的操作,却并不管具体每个子类到底是什么样的。看下维基百科的定义... ...
继续阅读 (58)
love
0
Jiajun的技术笔记
发表于
2020-06-25 00:00:00
拯救删除ZFS之后的分区表
《拯救删除ZFS之后的分区表》本想安装在笔记本上安装FreeBSD+Linux双系统,不过总是引导不起来,遂放弃。删除分区表之后,准备调整分区大小,结果发现gparted里,显示的只有zfs一个分区,但是lsblk却又是正常的。经过搜索发现是ZFS写入了metainfo,于是就看怎么删除... ...
继续阅读 (46)
love
0
Jiajun的技术笔记
发表于
2020-06-23 00:00:00
Linux使用redshift自动调整屏幕色温
《Linux使用redshift自动调整屏幕色温》多年以前使用Windows的时候,我会安装flux来根据时间调整屏幕色温,这样在晚上的时候,就不那么刺眼。Linux下有开源实现... ...
继续阅读 (53)
love
0
Jiajun的技术笔记
发表于
2020-06-21 00:00:00
Go设计模式:桥接模式和策略模式
《Go设计模式:桥接模式和策略模式》桥接模式在日常编码中还是经常用到的,这也是我比较喜欢的一个设计模式。从定义上来说,桥接模式比较晦涩难懂:“桥接模式是软件设计模式中最复杂的模式之一,它把事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化。”... ...
继续阅读 (52)
love
0
Jiajun的技术笔记
发表于
2020-06-20 00:00:00
Go设计模式:单例模式、原型模式和Builder模式
《Go设计模式:单例模式、原型模式和Builder模式》这篇文章记录三个设计模式,因为他们都比较简单,因此较短的篇幅就可以描述完,就把这三个放在一起。## 单例模式... ...
继续阅读 (53)
love
0
Jiajun的技术笔记
发表于
2020-06-15 00:00:00
操作系统也是CRUD
《操作系统也是CRUD》起初学习UNIX环境下的编程觉得非常难,毕竟这是一个陌生的东西,但是工作后,照面打得多了,自然就熟悉了些,在此总结一些经验... ...
继续阅读 (57)
love
0
Jiajun的技术笔记
发表于
2020-06-13 00:00:00
把USB设备穿透给虚拟机里的系统
《把USB设备穿透给虚拟机里的系统》最近买了一个NUC8,i5版本,因为听说好装黑苹果,买来之后,看到这么小一个电脑,真的是感叹科技进步速度之快。不过我并不喜欢双系统,也不喜欢macOS,我已经用Linux桌面+Windows虚拟机这套组合8年了,一切都是得心应手。除了一个:最近我在学flutter,没有macOS没法给iOS打包... ...
继续阅读 (51)
love
0
Jiajun的技术笔记
发表于
2020-06-12 00:00:00
debug故事之:事务让生活更美好
《debug故事之:事务让生活更美好》最近遇到一个故障,接手的项目是一个类似RBAC结构的鉴权系统,用于公司内部的各组织内的管理系统,但是某个接口间歇性返回空数据,这会导致第三方系统判定为无权限,从而让用户从管理后台退出登录... ...
继续阅读 (56)
love
0
Jiajun的技术笔记
发表于
2020-06-11 00:00:00
Go设计模式:模板模式
《Go设计模式:模板模式》模板模式,大家猜猜是什么?其实我们天天用,离我们最近的就是面向对象里的继承。模板的作用是什么呢?是框定一个框架,但是不填充具体细节,细节由具体的子类来完成,举个例子,如果我们想写一个短信系统,他要对接各种第三方短信,但是其实大家都知道,发短信,大家接口不一样而已,实际上他们可以抽象成相同的流程... ...
继续阅读 (56)
love
0
Jiajun的技术笔记
发表于
2020-06-09 00:00:00
Go设计模式:适配器模式
《Go设计模式:适配器模式》我买过一个港版的手机,香港的插座和大陆不一样,电压也不一样,因此为了充电,我还买了一个转换头,这个转换头,就是起的适配器的使用... ...
继续阅读 (53)
love
0
Jiajun的技术笔记
发表于
2020-05-30 00:00:00
glusterfs 笔记
《glusterfs 笔记》我在自己的集群里搭了一个分布式文件系统,起初在选型的时候,纠结选择ceph还是glusterfs,因为听ceph多一些,且看到有测评ceph写入速度快一点,不过后来想了想,对于我的需求,因为我的集群是跨公网的异地节点组成的,带宽非常有限,会直接成为性能瓶颈,因此选择了glusterfs,因为搭建起来特别简单... ...
继续阅读 (61)
love
0
Jiajun的技术笔记
发表于
2020-05-29 00:00:00
用peewee代替SQLAlchemy
《用peewee代替SQLAlchemy》用了几年SQLAlchemy,但是说实话,复杂的很,包括配套的DB Migration工具alembic。想要配置一个自动生成migration也是很复杂。最近用了几天peewee,发现真的是简单好用... ...
继续阅读 (43)
love
0
Jiajun的技术笔记
发表于
2020-05-22 00:00:00
Linux系统迁移记录(从HDD到SSD)
《Linux系统迁移记录(从HDD到SSD)》我把HDD上的Linux迁移到SSD上,重装系统太麻烦了,所以我直接拷贝整个系统,然后重建引导恢复,以下是记录。## 两块硬盘... ...
继续阅读 (57)
love
0
Jiajun的技术笔记
发表于
2020-05-21 00:00:00
Redis是如何工作的?
《Redis是如何工作的?》黄健宏老师的《Redis源码剖析》采用自底向上的讲述方法,先从Redis的数据结构讲起。但是,Redis是怎么从监听端口到执行这些命令的呢?本文记录了我探索这一问题的过程(Redis 6.0)... ...
继续阅读 (57)
love
0
Jiajun的技术笔记
发表于
2020-05-18 00:00:00
virsh自动关闭windows虚拟机
《virsh自动关闭windows虚拟机》大家都知道,这种定时任务是通过crontab来做,但是,如果你直接尝试在crontab里关机,你会发现有时候是关不掉windows虚拟机的。这是为啥呢?这个问题困扰了我好久,因为每次我直接输入命令关机的时候,都关机成功了,我要是放到crontab里等,它也能关机,但是我设置crontab在晚上1点关机,第二天发现,它就是没有关机... ...
继续阅读 (56)
上一页
5/14
下一页