201609-20 Android开发必须把握的七大开源项目 HOT 1,LoginButtons编写各类展示效果,项目代码量比较少,也很适合新手学习。2,MaterialAnimations演示View的平移、缩放动画,activity进入和退出动画,界面间元素共享,并且开发者在README中,对动画原理进行了精讲,是学习动画很好的项目,项目代码量比较少,也很适合新手学习。3,Meizhi每天推送一张妹子图、一个小视频和一系列程序员精选文章,数据来源于代码家的干货集中营。唯一不足就是视频解析还有bug,声音视频无... 继续阅读 >
201609-19 你真的需要掌握多种编程语言吗? 简述我刚刚断送了自己的职业生涯,没错,很多人都这样对我说。同事得知我即将离开公司的消息,大多数对此表示理解。但让他们困惑的是,我目前就职的公司是一家Windows商店,用C#.net编写代码,而我要入职的岗位要求在Linux环境下进行开发,以Java为主要的编程语言。他们认为编程语言的改变会让我丢失多年经验,许多人都赞同他们的观点。编程语言很多,数以百计。有些很常见,例如:Java、C#、PHP、Ruby、Python、和JavaSc... 继续阅读 >
201609-19 程序员 , 幸福感到底有多重要 不快乐的现实快乐与不快乐总是相伴的,总是相对地存在。没有快乐,便没有不快乐;没有不快乐,便不知道何为快乐。永远沉浸在快乐中,那是童话;永远生活在不快乐中,宗教也会教育人们说,那是命运,让人们麻木。正常的生活是一种平和,即我们能时时创造快乐、感受到快乐,以抵消种种不快乐。郁闷的生活是一种倾斜,快乐更多地在想象中,或极少真实地出现,人们在诸多不快乐中期待它,开始感到筋疲力尽。... 继续阅读 >
201609-19 技术之路:你认为的稳定,其实是最大的隐患 HOT 前言:你真的以为找一个大公司就是“稳定”了吗?你真的以为“工作稳定”就可以让你“生活稳定”吗?你真的以为现在很“稳定”吗? 一直以来,在生活方面,我们都想过“稳定”的生活,不想到处漂泊,不想到处奔走。在工作方面,我们不想折腾了,就想找一个稳定一点的,收入还可以的工作,不用担心公司发不出来工资,不用担心哪天公司突然垮了,自己措手不及。 其实,说... 继续阅读 >
201609-16 有关css栅格系统的故事 说到栅格系统(gridsystem),你也许见过这样的概念:像这样,通过固定的格子结构,来进行布局设计。这是一种设计风格,而且一直以来很广泛地应用于网页设计领域。这样的风格清晰、工整,可以让网页具有更友好的浏览体验。而随着响应式设计(responsivedesign)的流行,栅格系统开始被赋予新的意义,那就是,一种响应式设计的实现方式。栅格与响应式响应式的要点是为同一个页面设计多种布局形态,分别适... 继续阅读 >
201609-16 10 件在 PHP 7 中不要做的事情 10件在PHP7中不要做的事情1.不要使用mysql_函数这一天终于来了,从此你不仅仅“不应该”使用mysql_函数。PHP7已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的PDO实现。2.不要编写垃圾代码这一条可能易于理解,但是会变得越来越重要,因为PHP7的速度提升可能会隐藏你的一些问题。不要仅仅满足于你的站点速度,因为迁移到PHP7才让它变快。为了理解速度有多... 继续阅读 >
201609-14 从程序员到项目经理,没有捷径可走 HOT 从程序员到项目经理,这个标题让我想起了很久以前一本书的名字《从Javascript到Java》。然而,从Javascript到Java充其量只是工具的更新,而从程序员到项目经理,却是一个脱胎换骨的过程。从Javascript到Java,是一个取巧的方法;而从程序员到项目经理,却并无捷径可走,必须从内而外的改变和提升。一、为什么要当项目经理1、问题本质 如果我对一个老程序员说:有必要转项目经理啦,很多人第一反应是为什么... 继续阅读 >
201609-14 Python利用ctypes提高执行速度 HOT ctypes库可以让开发者借助C语言进行开发。这个引入C语言的接口可以帮助我们做很多事情,比如需要调用C代码的来提高性能的一些小型问题。通过它你可以接入Windows系统上的kernel32.dll和msvcrt.dll动态链接库,以及Linux系统上的libc.so.6库。当然你也可以使用自己的编译好的共享库我们先来看一个简单的例子我们使用Python求1000000以内素数,重复这个过程10次,并计算运行时间。importmathfromtimeitimporttimeit... 继续阅读 >
201609-14 效率提升jQuery的25个技巧 HOT 1、从GoogleCode加载jQueryGoogleCode上已经托管了多种JavaScript类库,从GoogleCode上加载jQuery比直接从你的服务器加载更有优势。它节省了你服务器上的带宽,能够很快的从Google的内容分布网络(CDN)上加载JS类库。更重要的是,如果用户访问那些发布在GoogleCode上的站点后它会被缓存下来。这样做很有意义。有多少站点使用了没有被缓存的相同jQuery副本,而这些很容易做到,引入:<scripttype="text/javascript"src="http:/... 继续阅读 >
201609-12 前端安全之路-代码保护 0x00前言在信息安全领域,可信系统(Trustedsystem)是一个让人心动的目标,它指的是一个通过实施特定的安全策略而达到一定可信程度的系统。在计算机中,可信平台模块(TrustedPlatformModule,TPM)已经投入使用,它符合可信赖计算组织(TrustedComputingGroup,TCG)制定的TPM规范,是为了实现可信系统目标的而打造的一款安全芯片。作为可信系统的信任根,TPM是可信计算的核心模块,为计算机安全提供了强有力的保障... 继续阅读 >
201609-10 React 入门实例教程 现在最热门的前端框架,毫无疑问是React。React起源于Facebook的内部项目,因为该公司对市场上所有JavaScriptMVC框架,都不满意,就决定自己写一套,用来架设Instagram的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。由于React的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来Web开发的主流工具。这个... 继续阅读 >
201609-10 JavaScript 中的面向对象编程 介绍JavaScript是一个强大的面向对象编程语言,但是,并不像传统的编程语言,它采用一个以原型为基础的OOP模型,致使它的语法让大多数开发人员看不懂。另外,JavaScript也把函数作为首要的对象,这可能会给不够熟悉这门语言的开发人员造成更大的困惑。那就是我们决定放在前面作为一个简短前言进行介绍的原因,并且在JavaScript里也可以用作面向对象编程的一个参考。这个文档没有提供一个面向对象编程的规则预览... 继续阅读 >
201609-10 20个编写现代CSS代码的建议 明白何谓MarginCollapse不同于其他很多属性,盒模型中垂直方向上的Margin会在相遇时发生崩塌,也就是说当某个元素的底部Margin与另一个元素的顶部Margin相邻时,只有二者中的较大值会被保留下来,可以从下面这个简单的例子来学习:.square{width:80px;height:80px;}.red{background-color:#F44336;margin-bottom:40px;}.blue{background-color:#2196F3;margin-top:30px;}在上述例子中我们会发... 继续阅读 >
201609-10 超级有用的前端基础技术面试问题收集 说说你对闭包的理解使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。闭包有三个特性:1.函数嵌套函数2.函数内部可以引用外部的参数和变量3.参数和变量不会被垃圾回收机制回收请你谈谈Cookie的弊端cookie虽然在持久保存客户端数据提供了方便,分担了服务器存储的负担,但还是有很多局限性的。第一:每个特定的域名... 继续阅读 >
201609-10 调试 CSS 的方法 我经历过许多CSS代码的调试工作,有别人写的也有自己写的,有移动端平台的也有标准桌面浏览器的,从陈旧的IE到最新的基于Webkit的每日构建。经验告诉我,很多人并没有一个标准的CSS调试流程。我发现在大多数情况下,拥有专业的解决问题的方法,能够节省花在bug上的时间。下面是我总结的经验。我不保证这是最适合的调试CSS的方法,但是确实对我很有效。如何CSS不是你的主要编程语言,调试它可能就像暗黑艺术一样... 继续阅读 >
201609-07 MySQL配置文件my.cnf优化详解 MySQL5.5.13参数说明:[client]character-set-server=utf8port =3306socket =/data/mysql/3306/mysql.sock[mysqld]character-set-server=utf8user =mysqlport =3306socket =/data/mysql/3306/mysql.sockbasedir=/usr/local/webserver/mysqldatadir=/data/mysql/3306/datalog-error=/data/mysql/3306/mysql_error.log... 继续阅读 >
201609-07 MySQL两千万数据优化&迁移 HOT 最近有一张2000W条记录的数据表需要优化和迁移。2000W数据对于MySQL来说很尴尬,因为合理的创建索引速度还是挺快的,再怎么优化速度也得不到多大提升。不过这些数据有大量的冗余字段和错误信息,极不方便做统计和分析。所以我需要创建一张新表,把旧表中的数据一条一条取出来优化后放回新表;一.清除冗余数据,优化字段结构2000W数据中,能作为查询条件的字段我们是预知的。所以将这部分数据单独创建新的字段,对于有规则的数... 继续阅读 >
201609-07 Android自定义控件常用方法总结 inflateinflate方法常常用来解析一个xml布局文件,在自定义组合式控件中常常使用,使用的姿势包括:View.inflate(context,resource,root)LayoutInflater.from(getContext()).inflate(resource,root);而View.inflate其实还是调用的LayoutInflater去解析一个xml:publicstaticViewinflate(Contextcontext,intresource,ViewGrouproot){LayoutInflaterfactory=LayoutInflater.from(context);returnf... 继续阅读 >
201609-06 你应该知道的计算机网络知识 前言作为一名程序员,不可能不与网络打交道.现在我们的手机,电脑,不夸张地说,离开了网络就是一块'废铁',它们的作用将大打折扣..本文的作用呢,主要是针对不是非网络专业开发的人员准备的,以'最短的时间,了解计网最多的知识'为前提起笔.目录概述物理层数据链路层网络层传输层应用层概述先来了解下各种我们知道,但是不太了解的专业名词的意思因特网因特网因特... 继续阅读 >
201609-06 论一个前端的自我修养 今天给大家分享的主题是前端的自我成长,这是一个关于成长的话题。很多人都有这样的感觉:听了很多技术圈子的分享,有的有深度,有的循循善诱,深入浅出,但是呢,几年下来,到底哪些用上了,哪些对自己真的有帮助了?反而有些模糊。2015年我在不同的场合分享了很多内容:有移动端的性能、有适配、有WebvsNative,也有hybrid,但是其实我一直比较担心,真正有深度的内容,其实面向的是比较小众的群体,比如说Hybrid,其... 继续阅读 >
201609-06 PM如何安排软件项目的进度? 制定软件项目进度表有两种途径:其一是软件开发小组根据提供软件产品的最后期限从后往前安排时间;其二是软件项目开发组织根据项目和情况制定软件项目开发的初步计划和交付软件产品的日期。多数软件开发组织当然希望按照第二种方式安排自己的工作进度。然而遗憾的是,大多数场合遇到的都是比较被动的第一种方式。在软件项目管理工作中,对软件项目的进度安排有时比对软件成本的估算要求更高。成本的增加可以通过提高产品定... 继续阅读 >
201609-06 IT项目如何控制成本 IT项目成本组成部分很多,要做好成本控制就要从方方面面入手,才能使项目成本更低,成本不是越低越好,我们要降低不必要的成本。有些做法也与公司管理制度有关,不见得是通用的。1、进度控制绝大多数项目费用超支都与项目延期相关,延期会造成人工成本、各种费用增加。所以,项目经理尽量不要让项目延期,尤其不能因为某一问题拖累整个项目延期,如果存在一些造成延期的因素一定要慎重对待。最常遇到的拖后腿问题... 继续阅读 >
201609-05 你真的了解一段Java程序的生命史吗 作为一名程序猿,我们每天都在写Code,但你真的了解它的生命周期么?今天就来简单聊下它的生命历程,说起一段JavaCode,从出生到gameover大体分这么几步:编译、类加载、运行、GC。 编译Java语言的编译期其实是一段“不确定”的过程,因为可能是一个前端编译器把.java文件转变为.class文件的过程;也可能是指JVM的后端运行期编译器(JIT编译器)把字节码转变为机器码的过程;还可能是指使用静态... 继续阅读 >
201608-31 如何实施代码重构? 阅读《重构》的笔记献上。重构的定义重构是在不改变软件可观察行为的前提下改善其内部结构。重构的节奏以微小的步伐修改程序。如果你犯下错误,很容易便可发现它。一个方法里面,不应该有很多的代码,我们可以通过分解后重组。好的代码应该清楚的表达出自己的功能,变量名称是代码清晰的关键。尽量减少临时变量,大量参数被传来传去,很容易跟丢,可读性差。提炼出逻辑代码,以便功能复用。... 继续阅读 >