201604-06 易被遗忘的C/C++要点总结 CC++知识要点总结.png一、数据类型及运算求补码原码的基础上,符号位不变,其余各位取反,最后+1原码转补码不考虑符号位补码转原码,符号位不参与运算取反后+1==取反前-1科学计数法表示1.8*10^11-->1.8E119.34*10^-3-->9.34E-3相关细节sizeof()是一个运算,而非函数++运算不能用在实数上判断一个整数是否是2^n(2,4,6,8,16...)!(x&(x-1)... 继续阅读 >
201604-06 Scala学习资源整理 最近正在接触Scala,所以就顺手整理了一份我看到的关于Scala的教程、文章等相关内容,不为别的,只为自己方便查找,当然如果能给正在学习Scala的小伙伴一些参考倒也是非常开心的。1、Scala入门开发教程该课程主要是带我们入门学习Scala,比较详细,适合初学者。其中最爽的地方就在于拥有在线的开发环境,不必本地搭建环境。2、Scala教程这个教程呢,也是入门学习,比较系统,适合初学者。... 继续阅读 >
201604-06 JavaScript对象继承 开门见山,以下根据继承方式的不同逐一介绍:基于原型链的方式这应该是基于js中prototype的特点实现的最简单的继承varSuperType=function(){this.property=true;}SuperType.prototype.getSuperValue=function(){returnthis.property;}varSubType=function(){this.subproperty=false;}SubType.prototype=newSuperType();//继承SubType.prototype.getSubValue=function(){returnthis.subproperty... 继续阅读 >
201604-04 NoSQL就是把东西放在一起 NoSQL简介关系型数据库(relationaldatabase)从20世纪八十年代兴起,一直处于主流地位,它能保证数据的持久性、一致性,并且使用SQL进行数据库操作。关系型数据库表之间的关系需要用户自己进行设计,比如一个购物网站上客户Ann的购买信息其实需要用多个表进行存储,比如用户表、订单表等。所以我们查询用户Ann的所有信息时就需要查找不同的表,最后对所有查到的信息进行整合。现在非常火热的是NoSQL数据库,NoSQL名字的来源... 继续阅读 >
201604-01 Maven技术解析 Maven简单介绍Maven是一个项目管理工具。强大,但是很容易使用。它包含了:一个项目对象模型(ProjectObjectModel);一组标准集合;一个项目生命周期(ProjectLifecycle);一个依赖管理系统(DependencyManagementSystem);用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应... 继续阅读 >
201604-01 Git/GitHub学习第一天 GitHub介绍众所周知,GitHub是一个代码托管平台,可以依据现在目前最流行的版本管理方式Git进行管理,可以说,GitHub就是程序员的FaceBook,它让我领略到了开源的魅力。Git介绍Git是目前最流行的版本管理方式,其他的版本管理方式,我也有所了解,比如说SVN。和svn相比,git有太多的有点,比如,我在本地管理仓库的时候是不需要联网的,而svn不行,不联网它就不干活了。因此,Git就是一个分布式的版本管理工具,而svn只是一个... 继续阅读 >
201603-31 为什么你的android代码写得这么乱 Android上绝大多数的代码,都是由事件触发的,或者说,几乎所有代码都是写在某个回调上的,比如onCreate,onPause,onClick,onBind等等,而这些回调函数,全都是一个个的函数,也就是说,是一个一个小的过程。单个事件内完成的功能对于一些简单的情况,在某一个回调内部就能完成的事件,大致上都是在回调中创建一个A类的对象,然后调用A类的某个方法,这个方法里面又用到了B类和C类的对象,经过了一系列翻云覆雨的计算,我们最... 继续阅读 >
201603-31 说一说这“this” JS中不容易懂的概念除了闭包之外,还有一个应该是首当其冲:this,这个东西经常让人搞混,那么今天我们就来好好看看它的庐山真面目。定义一个对象:varCharles={living:true,age:23,gender:male,getGender:function(){returnCharles.gender;}};console.log(Charles.getGender());//输出:male下面的代码有一样的效果:varCharles={living:true,age:23,gender:male,getGende... 继续阅读 >
201603-30 40条Android开发优化建议 HOT 以下是开始Android编程的好方法:1、找一些与你想开发的功能类似的代码2、调整它,尝试让它变成你想要的3、回顾开发中遇到的问题4、使用StackOverflow来解决遇到的问题对每个你想实现的东西重复上述过程。采用这种方法能够激励你,因为你在保持不断迭代更新,在这个过程里面你会学到很多。当然,当你发布应用的时候你还要去做一些更深入的东西。从一些能够正常编译的代码到成为一个应用程序,这是一个质的飞跃,比起iOS,... 继续阅读 >
201603-26 学习yykit 一些小小总结 昨天看了yykit注意到有一段给category动态添加属性的宏,也没深入研究,今天来仔细看看#ifndefYYSYNTH_DYNAMIC_PROPERTY_OBJECT#defineYYSYNTH_DYNAMIC_PROPERTY_OBJECT(_getter_,_setter_,_association_,_type_)\-(void)_setter_:(_type_)object{\[selfwillChangeValueForKey:@#_getter_];\objc_setAssociatedObject(self,_cmd,object,OBJC_ASSOCIATION_##_association_);\[selfdidChangeValu... 继续阅读 >
201603-24 工具 | To-Do List,你选哪一款 在工作和生活中,我们经常做安排,下午三点去超市买8样东西,周三晚上去听公开课,周五要写周报,周六去打羽毛球,每月25号要还信用卡,21号还房贷,诸如此类,这就是我们的待办事项列表,也叫To-DoList。To-DoList的好处善用To-DoList可以提高我们的生活与工作效率(程序员在代码中写下的TODO是最大谎言之一,先按下不表)。我觉得主要有三点:聚焦。大脑容量有限,注意力资源很宝贵,应当关注重要的事儿,不断聚... 继续阅读 >
201603-24 谈谈编译和运行 [作者按]今天hackernews爆炸性的新闻是我们敬爱的葛老头:AndyGrove去了。70后,80后大多听过这个响当当的名字,也听过(或者读过)『只有偏执狂才能生存』这本书。在90年代,葛鲁夫和盖茨一样,基本上等同于他们所缔造的王国,以及他们创立的Wintel联盟。如今90后创业者们所津津乐道的所谓创业大师们总结的:专注,独特,10倍速因子等等其实是拾了老爷子牙慧的。老爷子还有一本据说更好的书:Highoutputmanagement... 继续阅读 >
201603-24 正则表达式30分钟入门教程 本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人:)别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有你想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么都记不得,... 继续阅读 >
201603-23 杂谈现代高级编程语言 几个月之前,Slashdot转载了RobertHarper教授的一篇博客,说卡内基梅隆大学计算机系把”面向对象编程“从大一新生的必修课中删掉了,其原因是Object-orientedprogramming…isboth anti-modular and anti-parallel byitsverynature.这两个原因(anti-modular和anti-parallel)都是很重的指责了;尤其是anti-modular,因为OO的基本思想通常被理解成“封装”,从而实现模块化。我是在1995年第一次... 继续阅读 >
201603-23 IBM中国编译器团队电面总结 燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢——如今又到了哪里呢?不知不觉,我们已经面临毕业的时候.此时,总是尴尬的.以前总有毕业遥遥无期的想法,但是未来的迷茫,面临的选择猛然向自己扑来时,不禁惊讶时间的流逝.lifeisshortlifeislong孔子认... 继续阅读 >
201603-22 初学者的编程自学指南 关于这份指南之前有不少学弟学妹问我如何学习编程,根据DRY法则(Don'tRepeatYourself),还是把自己学习过程中的一些经验整理成一篇博客吧。由于本人目前也处在学习的阶段,文章中列出来的内容也并未全部学习过,所以文章的客观性可能存在一些问题,还望读者自行判断。这份指南会不定期更新,有好的建议也可以留言或者给我发邮件。准备需要的所有工具就是一台可以连接上网络的电脑以及你本人。科学上... 继续阅读 >
201603-22 Spring Boot工程结构推荐 今天看了一位简书上朋友发来的工程,于是想到应该要写这么一篇。前人总结的最佳实践案例可以帮助我们免去很多不必要的麻烦。花点时间来看一下本文,绝对物超所值。工程结构(最佳实践)SpringBoot框架本身并没有对工程结构有特别的要求,但是按照最佳实践的工程结构可以帮助我们减少可能会遇见的坑,尤其是Spring包扫描机制的存在,如果您使用最佳实践的工程结构,可以免去不少特殊的配置工作。典型示例... 继续阅读 >
201603-22 iOS程序员必看之热门书单 只要是一说想学iOS,可能很多人都会建议你去学Swift,但是,这可能是个误区,iOS开发的第一技能是精通Objective-C,原因很简单,swift目前还不成熟,第三方库不够多,而且swift只是表面上简单,其实水很深。其实,小编建议的是,多看书!毕竟看一本适合自己的好书,就是和大神一次倾心的谈话。下面双手奉上iOS程序员应看的几大热门书单。(针对于下面推荐的书籍中大家可以先去关注英文原版,毕竟翻译的书籍中都有一定的语法... 继续阅读 >
201603-10 成为Web开发人员的7个简单步骤 你想成为一名Web开发人员,但现在你面前有这样一个问题,那就是你没有在高科技行业工作的经验。你上了一些课程,也花了时间在个人编码项目上,但是你的简历上关于“经验”的部分仍然不为企业承认。过渡到一个新的领域从来就不是一件简单的事。你不知道你是否准备好了,不知道是否有人会认真对你,也不知道你是否能得到工作。相信我,不要让那些怀疑阻碍你的前进。事实上,它并不难——只要你在跳跃前做好充分的准备。这七个... 继续阅读 >
201603-08 TIOBE 2016年3月编程语言排行榜:编程语言呈内部发展趋势 尽管软件行业发展迅速,热门编程语言的发展似乎却成了例外,始终未有太大改变。如果我们将当前TIOBE编程语言排行榜的前十拿出来,与十年前的前十做以比对,就会发现这两份名单完全相同!唯一的不同在于:其中VisualBasic、PHP和Perl与同为十大热门却更现代的C#、Python和JavaScript交换了位置。没错,在这十年间Objective-C确曾进入过十大热门语言,甚至还攀升到了前三的位置,不过在苹果宣布用Swift代替Objective-C之后,它... 继续阅读 >
201603-04 Jetty 8长连接上的又一个坑 Jetty8长连接的超时断开连接的机制:超时连接机制针对IO传输过程中的数据阻塞时间超过一定阈值时,断开该连接。阻塞指当前处于数据传输阶段,但是连续指定时间内都没有发出或者接收到任何数据时,Jetty系统断开该连接。强调一下,只有在数据传输过程中才会有超时机制。在服务端处理已经收到的数据时是不会检测该超时时间的。下面看一下具体的代码实现。在jetty8.1.17版本中,由以下代码控制一个连接的空闲、非空闲和断开检查... 继续阅读 >
201603-04 浅谈iOS的文件操作 一、沙盒路径沙盒主路径:是程序运行期间系统会生成一个专属的沙盒路径,应用程序在使用期间非代码的文件都存储在当前的文件夹路径里面我们通过以下代码可以打印出沙盒主路径NSString*homePath=NSHomeDirectory();NSLog(@"%@",homePath);我们根据打印出的路径前往文件夹可以进入包含DocumentsLibrary和tmp文件夹的文件夹这个就是沙盒主路径Documents:用来存储永久性的数据的文件程序运行时所需... 继续阅读 >
201603-03 编码过程中,需要注意的地方 记得之前写游戏玩家类的时候,对于玩家数据的修改,我们总是提供这样的接口。比如是对玩家金钱的修改。publicPlayer{privateintmoney=0;publicvoidaddMoney(intmoney){this.money=this.money+money;}publicvoiddeductMoney(intmoney){this.money=this.money-money;}publicintgetMoney(){returnthis.money;}}而避免提供这样的接口publicPlayer{privateintmoney=0;publicvoi... 继续阅读 >
201603-03 IO多路复用深入浅出 Java程序员进阶三条必经之路:数据库、虚拟机、异步通信。前言从零单排高性能问题,这次轮到异步通信了。这个领域入门有点难,需要了解UNIX五种IO模型和TCP协议,熟练使用三大异步通信框架:Netty、NodeJS、Tornado。目前所有标榜异步的通信框架用的都不是异步IO模型,而是IO多路复用中的epoll。因为Python提供了对Linux内核API的友好封装,所以我选择Python来学习IO多路复用。IO多路复用select举一个E... 继续阅读 >