IT博客汇
首页
精华
技术
设计
资讯
扯淡
权利声明
登录
注册
相关标签
作者:
Jiajun的技术笔记
1998
source
关注
love
0
Jiajun的技术笔记
发表于
2019-04-01 00:00:00
Swagger? 不好用
《Swagger? 不好用》最近用了一下swagger,swagger是一个用于把代码和文档连接起来的工具,我们在注释里写好一些东西,然后swagger生成出一个网页,这样可以方便的在网页上点一下测试,就可以发出一个请求。但是,实际体验中,并不好用,原因如下... ...
继续阅读 (54)
love
0
Jiajun的技术笔记
发表于
2019-03-24 00:00:00
读《毛泽东选集》
《读《毛泽东选集》》> 此处为读毛选的笔记。此文纯属学习,与任何政治观点、派别无关。- 要学会抓主要矛盾:谁是我们的敌人?谁是我们的朋友?这个问题是革命的首要问题。中国过去一切革命斗争成效甚小,其基本原因... ...
继续阅读 (44)
love
0
Jiajun的技术笔记
发表于
2019-02-27 00:00:00
Containerd简明教程
《Containerd简明教程》最近在玩这个玩意儿,准备在此之上开发自己的容器编排系统 [huang](https://github.com/jiajunhuang/huang)。这里简单看一下containerd的使用。containerd是从Docker分离出来的一个用于容器、镜像增删改查的程序,这是它的架构图... ...
继续阅读 (47)
love
0
Jiajun的技术笔记
发表于
2019-02-26 00:00:00
软件设计套路之推拉模式
《软件设计套路之推拉模式》推、拉是两种常见的数据分发模式。以微博为例:- 推:发微博时,遍历所有关注者,写入数据到对应的关注者数据表里。好处是,读取时直接读取数据库即可,即用写入时间换取读取时间。坏处是... ...
继续阅读 (41)
love
0
Jiajun的技术笔记
发表于
2019-01-30 00:00:00
记一次Golang TLS编程踩坑
《记一次Golang TLS编程踩坑》最近在写一个HTTP/2代理,一开始使用h2c玩的好好的,结果往测试环境发布,因为跨了公网,因此要加证书,踩了一个坑。发起连接的客户端代码... ...
继续阅读 (47)
love
0
Jiajun的技术笔记
发表于
2019-01-13 00:00:00
杂谈
《杂谈》Golang,除去繁琐的 `if err != nil` 之外,写起来还是非常爽的。而goroutine作为Golang的 core feature,就是能让我们爽的根本原因之一,仔细的了解一下goroutine,怎么来说都不为过。所以,聊一聊goroutine,希望能给读者带来一些启发。> TL;DR 我们最开始从组装一台电脑说起,然后会讲到操作系统的一些概念例如进程,线程,之后再了解一下goroutine本身... ...
继续阅读 (59)
love
0
Jiajun的技术笔记
发表于
2019-01-03 00:00:00
关闭手机通知,修复碎片化的生活
《关闭手机通知,修复碎片化的生活》我以前做过一个推送系统,其任务就是,把给用户的消息推送到手机上,这样,手机就会收到一条弹窗推送。想象一下从我们用上智能手机以后的生活,每当需要一个功能,就去软件商店搜索相关的软件,安装,之后App第一件事情就是问你... ...
继续阅读 (51)
love
0
Jiajun的技术笔记
发表于
2019-01-01 00:00:00
Linux下系统调用的过程
《Linux下系统调用的过程》> TLPI, Chap 3- The application program makes a system call by invoking a wrapper function in the C library... ...
继续阅读 (50)
love
0
Jiajun的技术笔记
发表于
2018-12-27 00:00:00
Redis 5.0 Stream简明教程
《Redis 5.0 Stream简明教程》Redis是我最喜欢的工具之一。Redis 5.0推出了一个新的数据结构:Stream。当然是要好好的研究研究。首先,Stream就是一个流处理的数据结构,例如:任务流,消息流等等。因此,借助Stream模块,我们可以做分布式任务分发,消息订阅,可以做类似IRC的聊天软件等等... ...
继续阅读 (54)
love
0
Jiajun的技术笔记
发表于
2018-12-26 00:00:00
删除分区表
《删除分区表》之前删除分区表,都是用很傻的方式,例如,gparted一个一个分区删掉,然后最后把分区表删了,或者是fdisk去删除。但是!读一下 [GPT](https://zh.wikipedia.org/wiki/GUID%E7%A3%81%E7%A2%9F%E5%88%86%E5%89%B2%E8%A1%A8) 的维基百科定义,就会发现... ...
继续阅读 (53)
love
0
Jiajun的技术笔记
发表于
2018-12-24 00:00:00
Docker组件介绍(二):shim, docker-init和docker-proxy
《Docker组件介绍(二):shim, docker-init和docker-proxy》[上一篇](https://jiajunhuang.com/articles/2018_12_22-docker_components.md.html) 文章中,我们简单的介绍了 `runc`和`containerd`。这一篇文章中,我们分别看看 `docker-containerd-shim`, `docker-init` 和 `docker-proxy` 的作用... ...
继续阅读 (48)
love
0
Jiajun的技术笔记
发表于
2018-12-24 00:00:00
YouCompleteMe ycmd server SHUTDOWN 和 pyenv的问题
《YouCompleteMe ycmd server SHUTDOWN 和 pyenv的问题》周末手欠,`pip uninstall` 的时候不小心接了个pip在后面,结果虚拟环境里的pip就没了。那当然是重新装一个就好了:`pyenv install 3.7.0`,但是此后YouCompleteMe一直挂,有时候又不挂。终于找到了原因... ...
继续阅读 (45)
love
0
Jiajun的技术笔记
发表于
2018-12-22 00:00:00
Docker组件介绍(一):runc和containerd
《Docker组件介绍(一):runc和containerd》> TL;DR: 主要介绍了Docker的各个组件:`runc`, `containerd`, `shim`, `docker-init`, `docker-proxy`。最近在研究Docker,为 [我自己的容器编排系统](https://github.com/jiajunhuang/huang) 做知识储备工作。初次接触到Docker是在大二的时候... ...
继续阅读 (65)
love
0
Jiajun的技术笔记
发表于
2018-12-16 00:00:00
Prometheus MySQL Exporter源码阅读与分析
《Prometheus MySQL Exporter源码阅读与分析》常见的消息订阅模式有两种情形,一种是推,即产生一条消息时,即刻推送给所有客户端(或者对应的DB存储下来);另外一种是拉,即产生一条消息时,并不做任何动作,而是当真正需要数据时,再去生成。对应到实际编程中,也有类似的概念,例如,实时计算vs延迟计算(lazy evaluation)... ...
继续阅读 (44)
love
0
Jiajun的技术笔记
发表于
2018-12-13 00:00:00
MySQL性能指标
《MySQL性能指标》最近在魔改MySQL性能收集器 [mysqld-exporter](https://github.com/prometheus/mysqld_exporter),接触到一些MySQL常见的性能指标,好好地记录下来学习学习:`SHOW GLOBAL STATUS` 中... ...
继续阅读 (41)
love
0
Jiajun的技术笔记
发表于
2018-12-12 00:00:00
使用Dropbox来备份服务器文件
《使用Dropbox来备份服务器文件》服务器一直都没有备份,上面其实还有数据库,[Dropbox](https://db.tt/8enuh0Mf)这么好用的东西,当然就用它了,当然了,我的数据库里没有机密信息,但是又要保证不丢,所以符合使用 [Dropbox](https://db.tt/8enuh0Mf) 来备份的要求... ...
继续阅读 (49)
love
0
Jiajun的技术笔记
发表于
2018-12-08 00:00:00
Y Combinator《如何创业》笔记
《Y Combinator《如何创业》笔记》> https://www.bilibili.com/video/av6612058/?p=2> https://www.youtube.com/watch?v=CBYhVcO4WgI&list;=PL11qn6zM2Y3bMZdChxEqHKaCaKUjwItGL... ...
继续阅读 (43)
love
0
Jiajun的技术笔记
发表于
2018-12-01 00:00:00
Go类型嵌套
《Go类型嵌套》Go没有继承,但是有类型嵌套,主要有三种使用方式,使用类型嵌套,wrapper可以自动获得被嵌套类型的所有方法。接下来我们分别看三种情况下的例子... ...
继续阅读 (49)
love
0
Jiajun的技术笔记
发表于
2018-11-28 00:00:00
etcd源码阅读与分析(五):mvcc
《etcd源码阅读与分析(五):mvcc》[MVCC](https://en.wikipedia.org/wiki/Multiversion_concurrency_control) 是数据库中常见的一种并发控制的方式,即保存数据的多个版本,在同一个事务里,应用所见的版本是一致的... ...
继续阅读 (45)
love
0
Jiajun的技术笔记
发表于
2018-11-27 00:00:00
etcd源码阅读与分析(四):lease
《etcd源码阅读与分析(四):lease》lease是租约,类似于Redis中的TTL(Time To Live)。可以看一下怎么使用lease:```go... ...
继续阅读 (44)
love
0
Jiajun的技术笔记
发表于
2018-11-26 00:00:00
干了这碗叔本华牌毒鸡汤 --- 《人生的智慧》
《干了这碗叔本华牌毒鸡汤 --- 《人生的智慧》》如果说一般的心灵鸡汤有毒,那么叔本华的鸡汤就是剧毒。为什么呢?作为读者,你会无时不刻感觉到:这特么说的不就是我么?怎么和我想的一样?毕竟,这书看起来是叔本华写给聪明人看的。来,今天我们一起干了这碗毒鸡汤... ...
继续阅读 (43)
love
0
Jiajun的技术笔记
发表于
2018-11-24 00:00:00
Memory leak in net/http
《Memory leak in net/http》> English is not my mother languange, help me to improve this if you'd like, thanks!## What happened?... ...
继续阅读 (39)
love
0
Jiajun的技术笔记
发表于
2018-11-24 00:00:00
etcd源码阅读与分析(三):wal
《etcd源码阅读与分析(三):wal》今天来看看WAL(Write-Ahead Logging)。这是数据库中保证数据持久化的常用技术,即每次真正操作数据之前,先往磁盘上追加一条日志,由于日志是追加的,也就是顺序写,而不是随机写,所以写入性能还是很高的。这样做的目的是,如果在写入磁盘之前发生崩溃,那么数据肯定是没有写入的,如果在写入后发生崩溃,那么还是可以从WAL里恢复出来... ...
继续阅读 (55)
love
0
Jiajun的技术笔记
发表于
2018-11-22 00:00:00
etcd源码阅读与分析(二):raft
《etcd源码阅读与分析(二):raft》今天讲的是 `raft` 这个文件夹下的内容。我觉得etcd的代码写得不够好,当然,也有可能是因为我外行,不过这只是我的感受,不喜勿喷。首先要看一下 `doc.go` 这个文件,里面写了很多注释,有利于理解,此外看 `raft` 文件夹下的代码,结合上一篇所说的raftexample一起来... ...
继续阅读 (39)
love
0
Jiajun的技术笔记
发表于
2018-11-20 00:00:00
etcd源码阅读与分析(一):raftexample
《etcd源码阅读与分析(一):raftexample》> 开始读etcd的源代码,今天首先来看的是 raftexample,这是一个基于 raft 的简单内存KV,希望通过 raftexample 能对 etcd 有一个大概的认识。首先看一下目录结构... ...
继续阅读 (42)
love
0
Jiajun的技术笔记
发表于
2018-11-18 00:00:00
虚拟机里的Ubuntu sudo时卡住
《虚拟机里的Ubuntu sudo时卡住》> https://serverfault.com/questions/38114/why-does-sudo-command-take-long-to-execute今天装了一个虚拟机,其他都很快,但是执行sudo的时候却非常的卡,要等好几秒钟,搜了一下,是这么个解决法,把主机名加到 `/etc/hosts` 里,原因是安装过程中,hostname没有追加到 `/etc/hosts` 里... ...
继续阅读 (73)
love
0
Jiajun的技术笔记
发表于
2018-11-16 00:00:00
Raft论文阅读笔记
《Raft论文阅读笔记》- Raft集群中,每个server只有三种状态:leader,follower,candidate(选举)。- follower不会主动发送消息,只会接受和响应消息。- leader处理所有的客户端请求,如果follower接收到客户端的请求,则转发给leader... ...
继续阅读 (44)
love
0
Jiajun的技术笔记
发表于
2018-11-15 00:00:00
避免全局变量
《避免全局变量》> 睡觉前好像确实不应该想问题,大半夜的思维活跃睡不着了。当然,那只臭蚊子也有功劳,要是被我发现了我要灭了它。> 不过,既然睡不着,那就起来写篇博客... ...
继续阅读 (45)
love
0
Jiajun的技术笔记
发表于
2018-11-13 00:00:00
Go的unsafe包
《Go的unsafe包》常规的Go代码是可以跨平台的,因为常规代码只关心使用哪种数据结构,而不关心数据结构的内部实现,内部实现细节由编译器处理。而 `unsafe` 这个包就是用来访问内部实现细节的。所以,使用了unsafe这个包的代码,因为Go的编译器实现细节改变,很有可能会造成兼容性问题... ...
继续阅读 (49)
love
0
Jiajun的技术笔记
发表于
2018-11-12 00:00:00
Golang中实现禁止拷贝
《Golang中实现禁止拷贝》Go中没有原生的禁止拷贝的方式,所以如果有的结构体,你希望使用者无法拷贝,只能指针传递保证全局唯一的话,可以这么干,定义一个结构体叫 `noCopy`,要实现 `sync.Locker` 这个接口... ...
继续阅读 (47)
上一页
10/14
下一页