• 2013-10-27

    要不要重新造(发明)轮子?

    Views: 6108 | No Comments

    "不要重复发明(造)轮子"是一句编程界的名言, 我第一次听到应该是在 2006 年, 后来还写了一篇博客. 那时, 这句话是和 Java Web 开发联系在一起的, 也即所谓的 SSH(Spring + Struts + Hibernate). 那时, 还没有 iPhone, 手机屏幕还是 128x128 像素, 也没有 MongoDB, 没有 Redis, 没有 Cassandra, 那里桌面电脑才 128MB 内存.

    后来, 无数的轮子不断被发明出来.

    虽然有了 XVGA 屏幕, 后来苹果重新造了一个轮子 Retina 屏. 虽然有了 Symbian, 后来苹果重新造了 iOS 轮子. 虽然有了 C/C++, Google 重新造了 Go 轮子. 独轮手推车有轮子, 难道宝马就不造轮子了吗?

    轮子生来就是要被重新发明和创造的!

    Posted by ideawu at 2013-10-27 12:53:49
  • 2013-10-08

    用TAB缩进, 用SPACE对齐

    Views: 11712 | 24 Comments

    TAB vs SPACE 是一个争论不休的话题. 不过, 对于大部分编程语言, 混用 TAB 和 SPACE(空格) 缩进也可以正常工作, 除非你用的是语法非常傻逼的语言如 Python(仅仅是语法傻逼, Python 的对象模型和库还是很有用的, 大家可以试试 Cpy 编程语言 - 用 C 语言语法写 Python 代码).

    首先, 我遇到的大部分项目和大部分程序员, 都将 TAB 设置为 4 个字符的宽度, 所以对于缩进来说, 用 TAB 还是 SPACE, 显示效果都是一样的. 当然, 对于使用了所按即所得的编辑器的人, 删除 4 个空格要按 4 次键盘, 确实很烦人.

    Continue reading »

    Posted by ideawu at 2013-10-08 23:48:46
  • 2013-09-09

    小数据与大数据

    Views: 9070 | No Comments

    计算机编程领域有个公式:"程序 = 算法 + 数据结构", 其实, 换个角度看, 那不就是:"软件 = 逻辑 + 存储"吗? 今天就谈谈存储(数据)对于软件设计的影响.

    很多偏业务应用型软件, 在数据规模非常小的时候(例如 100M 之于 8G 的内存, 10G 之于 1T 的硬盘), 怎么做都不会是问题, 只要逻辑正确, 程序一启动, 立马就顺利地提供服务. 比如开发一个日活跃 1000 人的论坛, 随便找到虚拟主机, 用 PHP + MySQL 就出来了, 成本低廉性能稳定.

    Continue reading »

    Posted by ideawu at 2013-09-09 22:24:59
  • 2013-08-21

    人人都用 Retina 屏幕的 MacBook Pro 笔记本电脑

    Views: 13611 | 4 Comments

    自从今年年初 Apple 官网产品降价我立即买了 13 寸的 Retina 屏 MacBook Pro(rMBP)之后, 这款苹果的笔记本电脑就成了我在公司和家里的唯一电脑(就是这一款). 使用苹果的笔记本电脑真是一种非常自然舒适的体验!

    以我使用苹果笔记本的经验, 我认为人人都应该使用带 Retina 屏的 MacBook Pro, 我目前为止, 我和我的同事们一共已经有了 3 台 rMBP, 还包括几台 MBP, 每个人都认为物超所值.

    首先, Retian 屏幕拥有更高的分辨率(普通屏幕的4倍像素数量), 效果对比相当于你看 iPhone 5 的屏幕和 2010 年的某些智能机屏幕. 拥有普通屏幕4倍数量的像素的 Retina 屏幕, 可以让字体的视觉效果非常细致. 你可以这样理解, 在你的电脑上打开一个文字处理软件(如 Windows 写字板, 敲入一个汉字, 然后把它的字体大小设置为 12px, 看一看它的效果. 然后再敲入一个同样的汉字, 把它的字体设置为24px, 把你的身体后退30厘米, 字体的显示效果就是 Retina 屏幕的 12px 效果. 这就是 Retina 屏幕的奥妙, 它在普通屏幕4倍的像素数量(长和宽各2倍)来渲染同样大小的字体. 我们都知道同样的可视面积里像素越多, 显示效果就越好.

    Continue reading »

    Posted by ideawu at 2013-08-21 22:15:18
  • 2013-02-21

    苹果 Mac OS X 系统下锁屏的快捷键

    Views: 27967 | 18 Comments

    CTRL + SHIFT + Power

    有 Eject 键据说的把 Power 换成 Eject 键.

    后面都是吐典型果粉的槽.

    用 Windows PC 时, 我们可以使用 Windows + L 快捷键单手操作锁屏. 但是, 在 Mac 系统下, 竟然"没有"锁屏的快捷键! 我说"没有", 是因为我试用各种关键词搜索了百度 Google, 中文的, 英文的... 还问了几个用 Mac 的朋友, 他们竟然也不知道.

    看着互联网上那些对于 Mac 锁屏快捷键的长篇大论和教程, 我无语了, 我不得不承认, 在苹果 Mac 系统下"锁屏"是一种不容易掌握的技能. 特别是那些说道"你为什么要锁屏?" "锁屏是 Windows 的东西" "合上屏幕盖不就锁屏了吗? 还更安全?" 等等, 我就懒得说了.

    这充分体现了果粉装逼本质的普通展现... 表怪我...

    先提提互联网上果粉对于"Mac 系统锁屏的快捷键是什么?"这个问题的回答:

    1. 不用锁屏, 直接啪的一下盖子盖上了, 既方便又洒脱.

    2. Finder – 应用程序 – 实用工具 – 钥匙串访问... blabla...

    3. 创建一个脚本, 启动一个服务, keychain access...

    ...

    去你妈的! 苹果 Mac OS X 系统下锁屏的快捷键就是 - CTRL + SHIFT + Power(或 Eject 键盘右上角键)! 锁屏就是锁屏, 你潇洒地合上别人的屏幕, 你欠揍吧?

    另外:

    1. Mac锁屏快捷键是CTRL + SHIFT + Power
    2. Mac设置锁屏密码的方法是: 系统偏好设置->安全性与隐私->通用 里的 "进入睡眠或开始屏幕保护程序(立即)要求输入密码"

    ------

    有此人不懂合上屏幕(休眠)和锁屏的区别, 我这里举个例子: 压缩视频要很长时间, 我中途离开, 怕人误动, 所以锁屏. 如果休眠, 压缩就会中止.

    Posted by ideawu at 2013-02-21 22:42:54
  • 2013-01-28

    网络协议设计思想与SSDB网络协议

    Views: 23918 | 2 Comments

    网络协议可以分为文本协议和二进制协议, 而对于基于报文的协议可分为定长报文协议和变长报文协议. 而现实业务中的网络协议基本都是基于报文的协议.

    从应用层网络协议的设计发展来看, 二进制协议和定长报文协议极为罕见. 在变长报文协议中, 有两种实现方式: 结束标记和长度字段. 下面以最流行的 HTTP 来进行举例分析.

    HTTP 是文本协议, 变长报文协议, 带长度字段的报文协议. HTTP 带有多个 Key-Value 对组成的首部, 用连续的两个 CRLF 分隔首部和报体, 没有报文结束标记(HTTP 1.0 以连接关闭来标记报文结束), 同时 HTTP 还是文本和二进制混合的协议, 报文首部有长度字段, 所以报体中的二进制数据无需转义.

    Continue reading »

    Posted by ideawu at 2013-01-28 13:33:22
|<<<123456789>>>| 5/13 Pages, 73 Results.