Raspberry Pi

Raspberry-Pi-2

Raspberry Pi 有如下接口:

  • 电源输入:Micro usb接口的5V 1A 的输入电流。
  • 2个USB接口:可以接鼠标和键盘等。
  • HDMI接口:接HDMI接口的显示器,如果是DVI或VGA的,需要买转接线。
  • 以太网接口:100M的以太网接口,插网线上网用的。
  • 模拟信号音频和视频输出接口:可以接电视机,输出模拟信号,显示在电视机上。
  • SD卡插口:插入SD卡,作存储用。

C++11初体验

在C++11新标准中,语言本身和标准库都增加了很多新内容。这段时间接触了一些,这里总结一下,只涉及一些皮毛。

MacOSX 使用小贴士

使用MacBookPro有一段时间了,有一些有用的使用技巧能够极大的提高了工作学习效率,一直很想记录并分享出来。当然里面有一些习惯带我个人的习惯,不认同的忽略就好,不过为何不尝试改变一下呢。:-)

libevent 源码学习之一

libevent是一个轻量级的开源高性能网络库,被很多项目作为底层的网络库,比如memcached、Vomit、Nylon、Netchat等等。 libevent 有几个显著的亮点:

  • 事件驱动(event-driven),高性能;
  • 轻量级,专注于网络,不如ACE那么臃肿庞大;
  • 源代码相当精炼、易读;
  • 跨平台,支持Windows、Linux、*BSD和Mac OS;
  • 支持多种I/O多路复用技术, epoll、poll、dev/poll、select和kqueue等;
  • 支持I/O,定时器和信号等事件;
  • 注册事件优先级。

libevent的源码除了涉及网络程序设计方面外,还有很多有用的设计技巧和基础数据结构,比如信息隐藏、函数指针、c语言的多态支持、链表和堆等等。

弄清楚编码

由于工作环境经常在各种平台,各种语言和区域环境之间切换,乱码一直是一个讨厌的问题,乱码问题大多源于编码。所以想再这里把编码问题弄清楚,也分享一下学习心得。

从计算机对多国语言的支持角度看,大致可以分为三个阶段:

  • ASCII
  • ANSI
  • UNICODE

学习、学习

学习的过程很多时候可以这样划分:自己学会一门知识(技术)、表达 出来、教会别人、记录下来,虽然这个排序未必对每个人都合适(因为可能不同人有着不同 的特点能力)。学一门知识,经过努力、加以时日,总是可以达到的,把自己学的用自己的 话表达出来就必须要将学到的知识加以消化、理解,而教会一个不懂这门知识的人则比表达 出来要难,因为别人可能并不是适应你的表述方式,记录下来则需要经过沉淀、积累、思考, 最后厚积薄发,方可小成。

设计模式

面向对象编程的设计实际上追求的就是:高内聚(Cohesion)和低耦合(Coupling)。其实很多编程范式都是为了达到这个目标,面向对象编程只是其中之一。

在面向对象系统的设计和开发中,我们已经积累了很多的原则,比如面向对象中的封装、继承和多态、面向接口编程、优先使用组合而不是继承、将抽象和实现分离的思想等等。设计模式其实就是这些原则和思想的体现,特别是组合(委托)和继承的差异带来系统在耦合性上的差别,更是在设计模式多次涉及到。

面试问题总结

有一些理解不记下来,以后我这木讷的嘴怕是说不清楚 编程思想 面向对象(对象导向)编程的理解 面向对象编程的分析和设计实际上追求的就是两点:高内聚(

Unix编程之进程

fork #inlclude <unistd.h> pid_t fork(void) fork 子进程是父进程的副本,获得数据空间、堆和栈的副本,但共享正文段。共享打开文、用户ID、回话ID、工作目录、、、等等。 vfork vfork 与 for