文章列表
网上也有很多四驱技术的文章,但是对于完全没有机械基础的人来说,这些文章很生涩,很难看懂,我也完全不懂机械,但是还是花了一些时间来阅读这些文章,结合我自己的理解,谈谈四驱系统。
1.为什么需要四驱,四驱的好 ...
1.自己的兴趣项目赚到7万以上。
2.高数和概率论复习一下,参加机器学习,数据分析相关2门课。
3.提高个写程序的技能,每天能写60行+的产品代码。减少debug。
4.英语能写长篇的wiki,能听懂技术讲座(无字幕),能日常表达。
5. ...
1.IP协议不是面向的,它只是提供尽力而为的数据链接。
2.TCP协议是面向连接的,全双工的协议,提供可靠的数据传输。
了解全双工的特性可以非常容易理解TCP的三次握手过程,其实就是测试链路的过程,A发信息到B,这条通路是否通需要B回信确认,同样B到A是否通畅需要A再回信确认。数据传输过程也会有信息的确认和验证,数据传输完毕需要关闭连接,否则链接会保持。
一次HTTP协议其实就是一次TCP通讯的过程,请求回复,完成后链接断开。对于HTTP1.1支持keep alive,就是链接一直保持,该特性可以实现服务器到浏览器的主动通信
工作中需要配置一个2块硬盘组成的raid 1,配置为S1200BTSR主办,E3-1230 v2,8G ECC内存,这个是目前比较主流也是比较便宜的服务器配置,接下来就是看看如何组raid。在上面安装ubuntu server 12.04
1.在blos里面配置用raid来驱动硬盘
先把" ...
1.环境变量,子进程继承父的。
2.可以理解子进程和父进程保留的都是环境变量的指针,这个可以解释当父进程修改他的环境变量时,子进程的环境变量立马也改变了。但是当父进程新建环境变量时,已经产生的子进程不会得到新建的环境变量,后来新建的就会。
3.但是不能让子进程随意修改父进程的环境变量,这样做很危险,这个可以看做2的一个特例。
4.A=x B=y program这样的形式可以用来传递环境变量给新的进程,当然他的子进程也会继承到。
- 2012-04-26 18:23
- 浏览 650
- 评论(0)
最近半年一直在开发一个跟金融相关的互联网应用,金融的计算要求严谨,数字相差一分钱也会给用户产生不够专业不值得信任的感觉。结合ruby编程语言,谈一下计算的精度问题。引用精确计算的前提,是区分数值是中间量还是输入输出量,输出量做为一个给用户看到的量,是有效力的,在四舍五入后得到量,只要是会被用户看到了解到的,在后面的计算中就应该做为一个精确量。
举例:A有1.01元,分给B,C,他们均只能拿到0.5元,B要再给D钱,就应该以0.5为依据,而不是0.505。
引用所以计算的过程可以概括为:
输入量----》中间计算过程,误差在累积----》保留确定位数的小小数,输出----》输出作为精确输入量再 ...
1.相同的局部页面,DIV和CSS要完全一致,因为后台代码是引用关系。
(1).对于可能复用的DIV,宽度尽量自适应。
2.简化DIV结机构
(1).能够一层DIV,绝对不要用2层。
(2)菜单的当前状态,尽量在<li>这种一层搞定,不要<li> ...
现在做的一个网站对短信收发模块的需求如下:
1.3网支持长短信。
2.发送延迟1分钟内。
3.支持回复。
4.回复延迟1分钟内。
一开始尝试在购买HTTP接口的短信平台。这样的实现是最简单的,用ruby基本一两句话搞定就可以搞定这个模块。所以这个方案是非常诱人的。
但问题来了,购买的短信平台,能3网支持长短信的不多,在某些时段(周5发生比较频繁).短信发送出现延迟。
但在开始那个因为可以很简单的方案的诱惑下,我还是继续尝试,测试了google搜索“短信平台”几乎前2页所有的公司。发现即使测试的时候延迟很短,但用过一段时间,总会出现一些延迟。原因后来想了想:就我那一点量,短信平台公司肯 ...
1.当某个功能开发完成之后并通过基本测试之后,才commit
2.如果觉得有必要保留现在的代码,开发有没有完成,确认该代码不会被调用,增加todo注释,可以commit.
3.对于开发时间长的特性,使用特性分支,这个就可以不用管1了,多提交有助于代码安全。
4.多人开发下,使用了分支的情况,commit后,通知大家更新,有助于最低出现冲突。
5.使用发布分支。
6,每个发布分支上的bug修复,第一时间merge回主干分支。
7.svn:ingore的使用
8.每次commit检查要commit的列表,如果发现有文件感觉自己并没有改动,使用diff命名,如果发现只是空格,空行等对程序本身无意义的改 ...
一直以来,对svn的概念都比较模糊的,出了问题也不知道从哪里做手分析。现在把svn重新学习了一遍,对以前的一些模糊或者错误的概念明晰了一下。
1.svn的服务器版本库里的版本号是一个全局的概念的,对整个目录树和所有的 ...
juggernaut是一个支持多种协议,一直在更新的rails push server,这个两个因素也就是需要push server时最需要关注的。
先看看在我的ubuntu上的要怎么配置。
sudo apt-get install python
sudo apt-get install libssl-dev
sudo apt-get install git-core
以上3个都是下载,编译node.js源码所需要的。node是一个javascript的服务端框架。
git clone https://github.com/joyent/node.git
cd node
export JOBS= ...
架构优化和索引
1.数据类型
浮点:FLOAT和DOUBLE使用的是平台的浮点数,分别占用4字节和8字节。DECIMAL是表示精确的小数。
字符串:VARCHAR(255)表示最大长度255字节,对于uft-8编码,将不知道能保留多少字符,中文是3字节,字母1字节,这一点要注意。另外设高上限,因为内存的分配mysql是固定长度的,这样可能会导致内存的浪费。另外会占用额外的1或2字节来记录长度。该类型的问题是修改字段会改变行的大小,可能引起分页。带来额外的工作。但这个问题不是很大,因为预写式日志的存在。CHAR优势比较小了,对于固定长度的,倒是可以用一下,问题是会丢失字符串后面的空格。 ...
Mysql的存储引擎
1.数据库对应data目录下的文件夹,table对应文件名.frm
show table status like 'table_name' /G可以显示table的相关信息,也包括存储引擎。
2.MyISAM
只支持表级锁,延迟更新索引(跟预写式日志原理一模一样,不过索引不是数据可以重建,所以是否及时flush到硬盘更加不重要)
3.InnoDB
事务性存储引擎,聚簇索引,因此辅助索引也会包含主键列。外键约束。
书上有一句话很重要:“当初设计InnoDB时,大多数服务器仍然是低速硬盘、单CPU和有限内存。如今,支持海量内存、高速硬盘的多核CPU服务器越来越便宜了。In ...
一.Mysql的架构和基本特性
1.基本的分为mysql服务器和存储引擎,mysql服务器处理连接管理,查询缓存,查询分析,查询优化,存储引擎处理具体的查询,目前而且,事务也是在存储引擎中实现的,这也就意味做如果事务跨越不同 ...
rails3里面的nest_resource很强大。
1.route
resoureces :fathers do
resources :children
end
2.表单
form_for [@father,@child] do
end
3.view helper
father_child_path(@fahter,@child)
father_children_path(@father)
....
4.controller_helper
对应的,后面改成_url
5.在controller中对应的action里面,有param[father_id]参数。