当前位置:  编程技术>综合
本页文章导读:
    ▪mysql索引结构原理      第一部分:基础知识 2、 Myisam索引结构 官方介绍索引是帮助MySQL高效获取数据的数据结构。笔者理解索引相当于一本书的目录,通过目录就知道要的资料在哪里,不用一页一页查阅找出需要.........
    ▪Code Review 版本收集       最近想利用空余时间做Code Review的相关事情,所以简单的整理了一下互联网上的文章。大家有兴趣的话,可以回复我,或者直接跟帖,我会尽量把大家的意见在我的新版Code Review中体现。  .........
    ▪老程序员与编程工作       我56岁了。虽然说我还不是真正意义上的爷爷,但是也老得差不多了。我最开始接触因特网是在上个世纪70年代。我使用的第一个编程语言是IBM 360汇编语言,第一个操作系统是IBM大型机OS/360.........

[1]mysql索引结构原理
    来源: 互联网  发布时间: 2013-11-10
第一部分:基础知识
第二部分:MYISAM和INNODB索引结构
1、 简单介绍B-tree B+ tree树
2、 Myisam索引结构
3、 innodb索引结构
4、 Myisam索引与InnoDB索引相比较

第一部分:基础知识:
索引
官方介绍索引是帮助MySQL高效获取数据的数据结构。笔者理解索引相当于一本书的目录,通过目录就知道要的资料在哪里,不用一页一页查阅找出需要的资料。关键字index

唯一索引
强调唯一,就是索引值必须唯一,关键字unique index
创建索引:
1、create unique index 索引名 on 表名(列名);
2、alter table 表名 add unique index 索引名 (列名);

主键
主键就是唯一索引的一种(同时注意键和索引在概念上的区别),主键要求建表时指定,一般用auto_increatment列,关键字是primary key
主键创建:creat table test2 (id int not null primary key auto_increment);

全文索引
InnoDB不支持,Myisam支持,可在 CHAR、VARCHAR 或 TEXT 列上创建。
Create table 表名( id int not null primary anto_increment,title,varchar(100),FULLTEXT(title))type=myisam

单列索引与多列索引
索引可以是单列索引也可以是多列索引(也叫复合索引)。按照上面形式创建出来的索引是单列索引,现在先看看创建多列索引:
create table test3 (id int not null primary key auto_increment,uname char(8) not null default '',password char(12) not null,INDEX(uname,password))type=myisam;
注意:INDEX(a, b, c)可以当做a或(a, b)的索引来使用,但和b、c或(b,c)的索引来使用这是一个最左前缀的优化方法,在后面会有详细的介绍,你只要知道有这样两个概念

聚集
    
[2]Code Review 版本收集
    来源: 互联网  发布时间: 2013-11-10

最近想利用空余时间做Code Review的相关事情,所以简单的整理了一下互联网上的文章。大家有兴趣的话,可以回复我,或者直接跟帖,我会尽量把大家的意见在我的新版Code Review中体现。

 

Code Review:代码审查是系统的计算机源代码的检查(通常被称为同行评审)[1]。

 

代码Manage工具:

Svn: Svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。

Cvs: CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。

Git: Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。[2]

       Git 是 Linus Torvalds为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Mercurial: Mercurial是一种快速,易于使用的,分布式版本控制工具,为软件开发人员[3]。

 

代码review 工具:

1. Review board (http://www.review-board.org/)是一个基于web的工具。可以帮助我们追踪待决代码的改动,并可以让Code-Review更为容易和简练。尽管Review board 最初被设计在VMware项目中使用,但现在其足够地通用。当前,其支持这些代码版本管理软件:SVN,CVS,Perforce,Git,Bazaar,和Mercurial.

2. Rietveld (http://code.google.com/p/rietveld/)由Guido van Rossum开发(他是Python的创造者,现在是Google的员工)。当前,任何一个使用 Google Code的项目都可以使用 Rietveld。

3. CodeStriker (http://codestriker.sourceforge.net/)是一个基于Web的应用,其主要使用 GCI-Perl脚本支持在线的代码审查。Codestriker可以集成于CVS,Subversion,ClearCase,Perforce和Visual SourceSafe。并有一些插件可以提供支持其它的源码管理工具。

4. Groogle (http://groogle.sourceforge.net/)是一个基于WEB的代码评审工具。Groogle支持和Subversion集成。它主要提供如下的功能:

1)    各式各样语言的语法高亮。

2)    支持整个版本树的比较。

3)    支持当个文件不同版本的diff功能,并有一个图形的版本树。

4)    邮件通知所有的Reivew的人当前的状态。


    
[3]老程序员与编程工作
    来源: 互联网  发布时间: 2013-11-10

大多数人都觉得IT业都是一个低龄行业,白发苍苍的老年人们跟“程序猿”这三个字是不会有任何联系的,他们不懂iPhone、Linux和云,只有那些精力旺盛的中青年人才能与代码进行无止尽的搏斗。但著名的IT老记者,56岁的史蒂文·沃恩·尼克尔斯却提醒人们:程序员,也是越老越辣的。

本文作者史蒂文·沃恩·尼克尔斯(Steven J. Vaughan-Nichols)算得上是一名骨灰级的老程序员和IT业者。早在上世纪七十年代,CP/M-80操作系统还是前沿技术,300bps还算很快的网络连接时,史蒂文就已经开始进行关于科技与商业相关文章的写作了,他也是第一个对万维网进行报道的记者。下面,就是他为广大老程序猿们发出的呼声:

我56岁了。虽然说我还不是真正意义上的爷爷,但是也老得差不多了。我最开始接触因特网是在上个世纪70年代。我使用的第一个编程语言是IBM 360汇编语言,第一个操作系统是IBM大型机OS/360系统。我是第一个报道万维网(Web)这个新的网络服务的记者,那时才1993年。不过其实我也只是知道了关于计算的一点点皮毛而已。

可是最近我注意到了很多言论,都在说我们这些老人们不能理解iPhone,Linux或者云之类的“新兴事物”。这让正在使用它们的我感到自己仿佛背叛了“老年人”这个群体一样。

但是,请大家看看我们IT领域的名人吧。丹尼斯·里奇(Dennis Ritchie),C语言之父,Unix的创建者,去年辞世,享年70岁。肯·汤普逊(Ken Thompson),Unix的另一位发明者,现在已经69岁。詹姆斯·高斯林(James Gosling),Java之父,现在已经57岁。比尔•盖茨(Bill Gates)和微软CEO史蒂夫·鲍尔默(Steve Ballmer)都是56岁。史蒂夫·乔布斯(Steve Jobs)离开我们时也是56岁。蒂姆·库克(Tim Cook),乔布斯的继承者,苹果现任首席执行官,51岁。

那对于Linux和开源呢?自由软件创始人理查德·斯托曼(Richard Stallman)现在已59岁。他的开源哲学的竞争对手埃里克·雷蒙(Eric S. Raymond)现在也54岁。而就连Linux之父李纳斯·托沃兹(Linus Torvalds)也已经过了不惑之年,虽然算不上老,但是也算是大龄中年人了。

当然,不仅仅只有这些著名老程序猿才能代表我们:有调查显示,2012年,有27%的社交网络用户年龄超过了45岁。

我们这代战后婴儿潮出生的人总愿意把自己想象成一个永远年轻的家伙,但事实很残酷,我们当中已经有一些人退休了,没退休的那些老头子们,却都身处在对老员工有敌意的IT业工作环境里。

我想这就是为什么一直有许多关于“老人不理解科技”的言论,也许是有些人为了隐藏“年龄偏见”,这个IT行业里公开的秘密。

确实,那些已经人到中年的人都有家有室,可能没有太多精力来一周工作80多个小时,但是那又怎样呢?早在几十年前,在佛瑞德·布鲁克斯(Frederick Brooks)的软件管理经典著作《人月神话》中就提到:在IT领域,人力和时间并不呈线性关系,大量人员和较短的时间,并不能缩短软件的开发进度。

代码好不好,经验最重要

可悲的是,这种早该摒弃的“工时越长越好”的想法却在IT领域一直存在着,事实上,真正重要的是谁工作得更有效率。在一些如法律和会计等行业里,计费工时是唯一的衡量标准,这种系统鼓励人们在每件任务上花的时间越多越好。然而在IT行业并非如此,我们需要的是高质量高效率的完成工作,在尽可能短的时间内犯尽可能少的错。

你知道吗,那些很早就开始使用C语言的老程序员不一定就比一个20岁“精通”JavaScript的天才效率低。

我也并不是说老员工总是更好的,我知道很多人处于“待退休”状态,他们也懒得去学习新的技能。他们不能理解以前的服务思维已经在这个每个人都移居到云端的时代行不通了。

但最重要的是,优秀的“祖父级”程序猿也可以做的和年轻员工一样好。记住,那些老爷爷们不仅仅理解技术,也很有可能是这些技术的发明者。

本文作者史蒂文·沃恩·尼克尔斯
作者:Jye13 发表于2013-1-11 14:11:45 原文链接
阅读:36 评论:0 查看评论

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2) iis7站长之家
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3