07 2012 档案
摘要:最近七年,我都在做互联网产品,其中前五年分别在创业公司和上市公司里,做别人的产品;近两年在创业,做自己的产品。我的体会是:产品经理需要懂技术,创业者尤其需要。但前提是你总觉得有股憋不住的想要做点儿什么的冲动,如果打算混安稳日子,特别是在大公司,你什么都不需要懂,反而要小心别“知道的太多了”,傻人一生平安。做产品这几年,和开发工程师打交道最多,和他们交流通常有两大忌:一. 忌不懂技术更准确的说,是不能缺乏设计、开发一个互联网产品基本的技术常识,比如至少要清楚一个网站从不存在到能被用户访问,需要哪些必须的环节;也要明白一个App从你的脑海走到用户的手机里,需要经历怎样的过程。有常识,当然不一定就能
阅读全文
摘要:概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系
阅读全文
摘要:最近为了工作方便,将一些操作写成makefile。由于拿的别人的makefile模板,故编译的时候很顺利的就通过了。用了几天后,觉得格式不够规范,就整理了一下格式。整理格式后,运行make指令,发现竟然不能使用了。提示:missing separator。对比原文件,发现没什么改动啊,怀疑就是因为格式问题。将空格改为tab键后,发现run和编译的指令就变了颜色,再运行,OK!答案:makefile 中的命令要以Tab键开头,不能想当然的用几个空格!
阅读全文
摘要:概要:在linux环境中我们使用gcc来编译C程序,在面对规模大的C程序时(源文件很多),我们可以书写makefile并使用make命令完成C程序的构建。第一部分 C程序的编译过程首先,在阐明编译方法之前,我们应该先了解一下C程序的编译过程有哪些阶段。1、编译预处理:编译器读取C源程序,对其中的预处理命令(以#开头)和特殊符号进行处理。预处理命令包括主要包括三种,一是宏定义命令,二是条件编译指令,三是头文件包含指令。采用头文件的目的是使某些定义可以供多个不同的C源程序使用。在需要用到这些定义的C源程序中,只需加上#include语句即可,而不必重新定义一遍。预编译程序将头文件中的代码统统加入到
阅读全文
摘要:系统时序设计中对时钟信号的要求是非常严格的,因为我们所有的时序计算都是以恒定的时钟信号为基准。但实际中时钟信号往往不可能总是那么完美,会出现抖动(Jitter)和偏移(Skew)问题。所谓抖动(jitter),就是指两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响。如下图所示:除此之外,还有一种由于周期内信号的占空比发生变化而引起的抖动,称之为半周期抖动。总的来说,jitter可以认为在时钟信号本身在传输过程中的一些偶然和不定的变化之总和。时钟偏斜(skew)是指同样的时钟产生的多个子时钟信号之间的延时差异。它表现的形式是多种多样的.
阅读全文