我曾在一次面试中要求一个很有经验的嵌入式软件开发人员写出一个反转一段字符串并输出到屏幕上的程序。他在这个题目上挣扎了很久。这个家伙是个很神奇的人。你给他一些没用的零件,他能建造一个机器人,并能用程序控制它在屋里走来走去。他曾经参与过研制卫星,并且这个卫星现在正在轨运行。他只用左脑都比我能干。但是对于这个题目他却从来、从来没机会干过:在屏幕上显示什么东西。

时间:2013-08-21 | 分类:工作生活 | 标签: 程序员  面试 

通过PHP请求接口时发现接口的内容输出没有完整的返回整个数据,早上只修改了nginx api_metrics插件里的计算response大小的代码,观察日志发现一条:

2012/08/28 02:13:05 [crit] 1912#0: *21685 open() "/usr/local/nginx/proxy_temp/8/00/0000000008" failed (13: Permission denied) while reading upstream, client: 59.***.**.***, server: ******.banckle.com, request: "GET /livechat/livechat-backend.do HTTP/1.1", upstream: "http://127.0.0.1:8084/livechat/livechat-backend.do", host: "******.banckle.com"

该目录无法被nginx的nobody账户访问,那就设置权限呗:

时间:2013-07-23 | 分类:工作生活 | 标签: nginx 

 估计很多人在学习SQL表连接的时候都会被各种类型的表连接搞得稀里糊涂的,现在好了,有了下面的图,就可以很直观的区分各种表连接了。

image

时间:2013-06-29 | 分类:技术文摘 | 标签: SQL  JOIN  mysql 

我把一个4点多G的电影文件拷到U盘里,但却提示文件过大(我U盘是8G的),开始我以为是U盘的问题。

后来网上查了一下,是因为FAT32格式的磁盘格式不支持单个文件超过4G,需要将FAT32转成NTFS 点“开始→程序→附件→命令”提示符(这是Windows XP内置的一个类似于DOS的界面,内部所有的指令语句和DOS下的基本相同)。 如果你想将D盘转换成NTFS,后在开始--所有程序--附件--命令指示符下输入“convert d: /fs:ntfs”即可。

 

时间:2013-06-07 | 分类:工作生活 | 标签: FAT32  NTFS 

   设计和开发一个网站有时会很累人,因为所有的小事情都需要被考虑到,包括所有的调整和随时可能发生的小的修改等等。

  因此设计师和开发人员不断的推出各种工具来改进工作流程。而 CSS 框架就是这么一个工具。本文列出了在 Github 上最受欢迎的一些 CSS 框架供你参考。

  Bootstrap

时间:2013-04-12 | 分类:技术文摘 | 标签: CSS 

 

方法一:  

将plugins目录下所有文件挪到Eclipse的相应目录下,将feature目录下所有文件挪到Eclipse的相应目录下,最后启动Eclipse,在Help-》Software Upates-》Manage Configuration,然后弹出的界面即可看到pydev的插件。

在安装 PyDev 之前,要保证您已经安装了 Java 1.4 或更高版本、Eclipse 以及 Python。接下来,开始安装 PyDev 插件。

  1. 启动 Eclipse,利用 Eclipse Update Manager 安装 PyDev。在 Eclipse 菜单栏中找到 Help栏,选择 Help > Software Updates > Find and Install。
  1. 选择 Search for new features for install,然后单击 Next。在显示的窗口中,选择 new remote site。此时,会弹出一个对话框,要求输入新的更新站点的名称和链接。这里,名称项输入 PyDev,当然,您也可以输入其他的名称;链接里输入http://pydev.org/updates。然后,单击 Ok。

 

时间:2013-04-09 | 分类:技术文摘 | 标签: Eclipse  Python 

 在测试中需要在两台虚拟机之间传递文件,首先想到的是scp命令,结果提示:

-bash: scp: command not found

想当然用yum install scp命令安装,结果提示:

No package scp available.

后来发现scp这东西应该属于openssh-clients这个包,运行:

yum install openssh-clients

再运行scp就可以了

时间:2013-03-16 | 分类:技术文摘 | 标签: Centos  linux  scp 

PHP取得成功的一个主要原因之一是她拥有大量的可用扩展。web开发者无论有何种需求,这种需求最有可能在PHP发行包里找到。PHP发行包包括支持各种数据库,图形文件格式,压缩,XML技术扩展在内的许多扩展。

扩展API的引入使PHP3取得了巨大的进展,扩展API机制使PHP开发社区很容易的开发出几十种扩展。现在,两个版本过去了,API仍然和PHP3时的非常相似。扩展主要的思想是:尽可能的从扩展编写者那里隐藏PHP的内部机制和脚本引擎本身,仅仅需要开发者熟悉API。

有两个理由需要自己编写PHP扩展。第一个理由是:PHP需要支持一项她还未支持的技术。这通常包括包裹一些现成的C函数库,以便提供PHP接口。例如,如果一个叫FooBase的数据库已推出市场,你需要建立一个PHP扩展帮助你从PHP里调用FooBase的C函数库。这个工作可能仅由一个人完成,然后被整个PHP社区共享(如果你愿意的话)。第二个不是很普遍的理由是:你需要从性能或功能的原因考虑来编写一些商业逻辑。

时间:2013-03-13 | 分类:技术文摘 | 标签: PHP  C  C++ 

 

 《彻底搞定C指针》第一篇 变量的内存实质


要理解C指针,我认为一定要理解C中“变量”的存储实质,所以我就从“变量”这个东西开始讲起吧!
先来理解理解内存空间吧!请看下图:

内存地址→ 6 7 8 9 10 11 12 13
----------------------------------------------------------------- 
··· | | | | | | | |··
-----------------------------------------------------------------

如图所示,内存只不过是一个存放数据的空间,就好像我的看电影时的电影院中的座位一样。每个座位都要编号,我们的内存要存放各种各样的数 据,当然我们要知道我们的这些数据存放在什么位置吧!所以内存也要象座位一样进行编号了,这就是我们所说的内存编址。座位可以是按一个座位一个号码的从一 号开始编号,内存则是按一个字节一个字节进行编址,如上图所示。每个字节都有个编号,我们称之为内存地址。好了,我说了这么多,现在你能理解内存空间这个 概念吗?

 

时间:2013-02-27 | 分类:技术文摘 | 标签: C  C++  指针