代码改变世界

IE浏览器 json异常

2013-07-16 10:34 by 相涛, 407 阅读, 0 推荐, 收藏, 编辑
摘要:当使用json数据结构时,如果对象数组最后一个元素后面依然跟一个“,”,在非IE浏览器下运行正常,但是,在IE浏览器上,则会报错。如果使用for循环遍历对象数组时,由于后面多了一个分割符",",数组对象的长度就比实际的对象个数大1,或者理解为对象数组的最后一个元素为null.因此,会报错,对象.属性不存在的错误。谨记json结构不要多写一个","。The ending... 阅读全文

Linux系统github使用

2013-06-25 13:54 by 相涛, 1101 阅读, 0 推荐, 收藏, 编辑
摘要:命令行下使用:1.检查ssh keycd ~/.ssh如果提示"No such file or directory",则需要创建一个ssh key.2.创建ssh key.ssh-keygen -t rsa -C "your_email@example.com"会有相应提示,按照提示操作:# Creates a new ssh key, using the provided email as a label# Generating public/private rsa key pair.# Enter file in which to save the 阅读全文

Linux发布web app 到Tomcat

2013-06-07 14:29 by 相涛, 1405 阅读, 1 推荐, 收藏, 编辑
摘要:1.将webContent内容打成war包:命令中进入到$workspacePATH/projectName/webContent目录下,运行命令:jar -cvfM0 projectName.war ./2.将war包发送到服务器上:运行命令scp projectName.war userName@serverIP:$TOMCAT_HOME/webapps/回车后,输入密码,过程中有进度标识.3.登陆到服务器:运行命令ssh serverIP回车后,输入密码,即可登陆成功。4.重启Tomcat:运行命令./$TOMCAT_HOME/bin/shutdown.sh./$TOMCAT_HOME/ 阅读全文

A fully managed website and blog hosting platform

2013-05-23 11:40 by 相涛, 213 阅读, 0 推荐, 收藏, 编辑
摘要: 阅读全文

计算机体系结构基础

2013-04-11 16:53 by 相涛, 902 阅读, 0 推荐, 收藏, 编辑
摘要:现代计算机都是基于Von Neumann体系结构的,不管是嵌入式系统、PC还是服务器。这种体系结构的主要特点是:CPU(CPU,Central Processing Unit,中央处理器,或简称处理器Processor)和内存(Memory)是计算机的两个主要组成部分,内存中保存着数据和指令,CPU从内存中取指令(Fetch)执行,其中有些指令让CPU做运算,有些指令让CPU读写内存中的数据。本章简要介绍组成计算机的CPU、内存和设备以及它们之间的关系,为后续章节的学习打下基础。内存与地址22042205220622072208220922102211221222132214221522162 阅读全文

编码风格 - indent工具

2013-04-11 16:27 by 相涛, 374 阅读, 0 推荐, 收藏, 编辑
摘要:indent工具indent工具可以把代码格式化成某种风格,例如把代码格式化成内核编码风格:$ indent -kr -i8 main.c $ cat main.c#include <stdio.h>#include <stdlib.h>#include <time.h>int main(void){ char gesture[3][10] = { "scissor", "stone", "cloth" }; int man, computer, result, ret; srand(time(NU 阅读全文

编码风格 - 函数

2013-04-11 16:22 by 相涛, 170 阅读, 0 推荐, 收藏, 编辑
摘要:每个函数都应该设计得尽可能简单,简单的函数才容易维护。应遵循以下原则:实现一个函数只是为了做好一件事情,不要把函数设计成用途广泛、面面俱到的,这样的函数肯定会超长,而且往往不可重用,维护困难。函数内部的缩进层次不宜过多,一般以少于4层为宜。如果缩进层次太多就说明设计得太复杂了,应考虑分割成更小的函数(Helper Function)来调用。函数不要写得太长,建议在24行的标准终端上不超过两屏,太长会造成阅读困难,如果一个函数超过两屏就应该考虑分割函数了。[CodingStyle]中特别说明,如果一个函数在概念上是简单的,只是长度很长,这倒没关系。例如函数由一个大的switch组成,其中有非常多 阅读全文

编码风格 - 标识符命名

2013-04-11 16:16 by 相涛, 451 阅读, 0 推荐, 收藏, 编辑
摘要:标识符命名应遵循以下原则:标识符命名要清晰明了,可以使用完整的单词和易于理解的缩写。短的单词可以通过去元音形成缩写,较长的单词可以取单词的头几个字母形成缩写。看别人的代码看多了就可以总结出一些缩写惯例,例如count写成cnt,block写成blk,length写成len,window写成win,message写成msg,number写成nr,temporary可以写成temp,也可以进一步写成tmp,最有意思的是internationalization写成i18n,词根trans经常缩写成x,例如transmit写成xmt。我就不多举例了,请读者在看代码时自己注意总结和积累。内核编码风格规定 阅读全文

参考书列表

2013-04-11 16:05 by 相涛, 270 阅读, 0 推荐, 收藏, 编辑
摘要:[ThinkCpp] How To Think Like A Computer Scientist: Learning with C++. Allen B. Downey. [GroudUp] Programming from the Ground Up: An Introduction to Programming using Linux Assembly Language. Jonathan Bartlett. [K&R] The C Programming Language. Brian W. Kernighan和Dennis M. Ritchie. 2. [Standard C 阅读全文

编码风格 - 注释

2013-04-11 16:03 by 相涛, 314 阅读, 0 推荐, 收藏, 编辑
摘要:单行注释应采用/*␣comment␣*/的形式,用空格把界定符和文字分开。多行注释最常见的是这种形式:/*␣*␣Multi-line␣*␣comment␣*/也有更花哨的形式:/*************\* Multi-line ** comment *\*************/使用注释的场合主要有以下几种。1、整个源文件的顶部注释。说明此模块的相关信息,例如文件名、作者和版本历史等,顶头写不缩进。例如内核源代码目录下的kernel/sched.c文件的开头:/* * kernel/sched.c * * Kernel scheduler and related syscal... 阅读全文