上次说要写一个类似 stackeditor 的东西来写 Jekyll 博客,终于写好了。这将是第一篇用该工具写的博客。
TCP 之保活计时器
保活计时器并不是 TCP 规范中的一部分,是一个有争论的功能。
字节对齐
Linux 沿用的对齐策略是,2字节数据类型(例如short
)的地址是2的倍数,而较大的数据类型(例如int
、int*
、float
和double
)的地址必须是4的倍数。
位域的大小端问题
TCP 和 UDP 的区别
- TCP(Transmission Control Protocol):传输控制协议
- UDP(User Datagram Protocol):用户数据报协议
主要从连接性(Connectivity)、可靠性(Reliability)、有序性(Ordering)、有界性(Boundary)、拥塞控制(Congestion or Flow control)、传输速度(Speed)、量级(Heavy/Light weight)、头部大小(Header size)等8个方面来讲。
C++对象模型之复制构造函数
“如果一个 class 未定义出 copy constructor,编译器就自动为它产生出一个” 这句话是不对的,当 class 展现 bitwise copy semanics 时,编译器才会产生出来。
写 Jekyll 博客的正确姿势
用 Jekyll 写博客有个麻烦的地方,就是你可能需要把博客git pull
下来,修改完成commit
后,再push
上 GitHub;或者使用 GitHub 的在线编辑器编辑,无论哪种都非常麻烦。幸好找到了几个第三方的写博客和图床工具。
Blog 新主题
最终把整个 Hexo 的 Jacman 几乎全部移植过来了,好多 Jekyll 后端不支持的东西都需要前端来解决。
C++ 对象模型之构造函数
看看以下这段代码:
1 |
|
上述程序并不会合成出一个 default constructor。什么时候会合成出 default constructor 呢,下面分4种情况。
C++ 之迭代器与算法
C++ 有插入迭代器、流迭代器、反向迭代器、移动迭代器,泛型算法结构有适用的迭代器类别:输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器。
如何使用 Jacman 主题
TCP之拥塞处理
拥塞控制是发送方使用的流量控制,拥塞控制主要有四种算法:慢启动、拥塞避免、快速重传与快速恢复。
Linux-ZigBee项目:在Linux上运行6lowpan(一)
前段时间在看ZigBee的物理层和MAC层协议栈,也就是IEEE802.15.4协议。之后,发现sourceforge上有一个linux-zigbee的项目,中文翻译介绍。虽然这个项目叫Linux-ZigBee,但是因为许可问题除了IEEE802.15.4协议,其它的都没有实现,转而转向6lowpan,所以本文介绍一下用Ubuntu串口连接CC2530运行6lowpan。
交叉编译OpenWrt上的Helloworld
终于编译完成了OpenWrt,并且成功交叉编译了Helloworld,并在Easy-Link的板子上运行。
OpenWrt编译过程中出现的错误
编译OpenWrt不是件容易的事情,编译过程中要下载包,并且会出现很多奇怪的错误,经过几个小时的编译,终于成功了。
OpenWrt的编译
最近在淘宝上买了基于AR9331的Easy-Link模块,尝试着编译了一下OpenWrt,编译环境为ubuntu 12.04。
VoCore启动成功
换了个VoCore板之后,VoCore就能正常启动了,顺便测试了一下ssh和ap+sta模式。
为Jekyll增加不完美的分页和文章摘要
怎么说呢,用Jekyll搭建Blog不管被说的多么好用,但终究应该只属于技术宅+爱折腾的群体吧,经常一个Wordpress上的小功能,却要在Jekyll折腾不少时间,比如之前的站内搜索,以及今天的分页以及文章摘要,足足折腾了我一下午,而且最后的解决方案还是不完美,有点小挫败感。
VoCore首次启动失败
本来以为首次启动应该顺顺利利的,但是,问题总是在遇到我的时候变得很复杂,问题总是以意思不到的形式出现,接上电源后,竞然搜不到ssid为VoCore的WiFi。
入手VoCore
由于项目需要用到RT5350,一个廉价的WiFi片上芯片,在网上搜索相关资料之后,找到了VoCore这个国内的开源项目,一个带用WiFi的硬币大小的Linux计算机。如果感兴趣的话可以了解一下作者的博客和相关介绍。