201512-07 程序员最不想听到的词就是“bug”了吧! HOT 在现今数字年代,计算机bug不但困扰着每个程序员,更会无可避免影响我们的生活,小到每个人的衣食住行,大到国家经济,世界局势。随着我们的生活方式渐渐的数字化、互联网化,数字世界的找虫和杀虫就变得越来越重要。软件史上有哪些著名的bug呢?让我们一起来回顾一下:1、万“虫”之母,史上留名(软件史上第一虫)1947年9月9日下午3点45分,GraceMurrayHopper在她的记录本上记下了史上第一个计算机Bug——在HarvardMark... 继续阅读 >
201512-07 程序员是否有必要读研究生 HOT 作为某计算机考研论坛曾经的「网红」,更容易给人一种「大牛」的错觉,所以这些年常常能收到不少咨询各类问题的邮件。给人以人生建议或者教人以努力的方向,这是一件轻巧容易的事情,只是事情真正落到「好为人师」者或「仁波切」自己身上,大多所作所为大概会并没有什么两样。所以,学会「独立思考」是更重要的事情,否则,任何咨询都是在找一个「附和自己的人」而已。这个「公众号」的目标当然不是做一个「咨询平台」,或者我自... 继续阅读 >
201512-05 Session的本质 有一点我们必须承认,大多数web应用程序都离不开session的使用。这篇文章将会结合php以及http协议来分析如何建立一个安全的会话管理机制。我们先简单的了解一些http的知识,从而理解该协议的无状态特性。然后,学习一些关于cookie的基本操作。最后,我会一步步阐述如何使用一些简单,高效的方法来提高你的php应用程序的安全性以及稳定行。我想大多数的php初级程序员一定会认为php默认的session机制的安全性似乎是有一定保障的,... 继续阅读 >
201512-05 程序员学习能力提升三要素 IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。众所周知,现在是一个知识爆炸的时代,知识更新非常快。据测算,一个大学毕业生所学到的知识,在毕业之后2年内,有效的不过剩下5%。对于软件行业而言,这种形势更为明显,我们赖以立足的,不在于我们现在掌... 继续阅读 >
201512-05 算法与算法工程师,技术与技术人员 标题里的算法,指机器学习算法,或者说“算法工程师”这个职位名称里的“算法”,不是“算法与数据结构”里的那个算法。谁能告诉我有没有什么更好的名字来区别这它们,或许是“机器学习算法”与“传统算法”?算法与算法工程师先来一段我在知乎里回答“做算法工程师是一种怎样的体验?”的答案(其中的思想并非原创,而是山寨自新加坡某大学一门Quanti... 继续阅读 >
201512-05 怎样在1秒内启动Linux 尽可能快的启动系统,对于自动化设备是非常重要的。系统能够在用户无法感知的时间内启动,也就意味着在不需要工作时,可以完全切断电源,而不是挂起进入休眠状态。本文基于AtmelAT91系列片上系统和NAND闪存,经过一系列的优化,将Linux系统启动时间,从最初的11秒,降低到最终的656毫秒。背景知识系统从上电到完全启动,需要经过许多过程。一个简化的启动流程大概包含:硬件重置启动引导程序(bootloader)... 继续阅读 >
201512-05 PHP 7 来了,PHP 6 去哪儿了? PHP7简介PHP7是PHP编程语言全新的一个版本,主要在性能方面获得了极大的提升。官方的文档显示,PHP7可以达到PHP5.x版本两倍的性能。同时还对PHP的语法做了梳理,提供了很多其他语言流行的语法格式。难能可贵的是,做了如此大的改动,PHP7的兼容性还是非常好的。对于绝大多数的应用来讲,可以不用做修改即可迁移到PHP7版本。PHP6版本去哪儿了?谈到PHP7,大家肯定会问,PHP6版本去哪儿来呢?这个说来话长。早... 继续阅读 >
201512-05 程序员必须了解的内存知识 推荐 在C和C++语言开发中,指针、内存一直是学习的重点。因为C语言作为一种偏底层的中低级语言,提供了大量的内存直接操作的方法,这一方面使程序的灵活度最大化,同时也为bug埋下很多隐患。因此,无论如何,我们都要对内存有一个清晰的理解。1.对内存的分配32位操作系统支持4GB内存的连续访问,但通常把内存分为两个2GB的空间,每个进程在运行时最大可以使用2GB的私有内存(0x00000000—0x7FFFFFFF)。即理论上支持如下的大数组:... 继续阅读 >
201512-03 程序员最恐怖的梦魇是什么? HOT 这是Quora上的一个问题,其中Mick的回答获得了13.5k“赞同”,他如此回忆道:曾经有位心理学的博士雇我查一个BUG,程序是他的一个学生写的,经常会出现奇怪的输出。程序的功能是,从文件中读取数据,提出50个问题,进行一系列计算,然后基于这位博士的研究来得出一个分数。程序跑在大学的一台3B2上。他给我演示了程序,确认这个Bug可以重现——每次在问题之间切换的时候,总会闪出一些奇怪的字符。我觉得这应该很简单,所以答... 继续阅读 >
201512-03 PHP 上传图片并压缩方法 推荐 使用到三个文件connect.php:连接数据库用test_upload.php:执行SQL语句用upload_img.php:上传图片并压缩用三个文件代码如下:connect.php<?php$db_host='';$db_user='';$db_psw='';$db_name='';$db_port='';$sqlconn=newmysqli($db_host,$db_user,$db_psw,$db_name);$q="setnamesutf8;";$result=$sqlconn->query($q);if(mysqli_connect_errno()){printf("Connectfailed:%s\n",mysqli_conne... 继续阅读 >
201512-03 Shell 编程快速入门 HOT 什么是Shell脚本?Shell脚本(英语:Shellscript)是一种电脑程序与文本文件,内容由一连串的shell命令组成,经由UnixShell直译其内容后运作。被当成是一种脚本语言来设计,其运作方式与直译语言相当,由Unixshell扮演命令行解释器的角色,在读取shellscript之后,依序运行其中的shell命令,之后输出结果。利用Shellscript可以进行系统管理,文件操作等。在Unix及所有的类Unix系统中,如Linux、FreeBSD等操作系统,都存在... 继续阅读 >
201512-02 web前端规范 1.规范说明此为前端开发团队遵循和约定的代码书写规范,意在提高代码的规范性和可维护性。此规范为参考规范,不全是硬性要求,部分硬性约定见下一条书写规范,统一团队编码规范和风格。让所有代码都是有规可循的,并且能够得到沉淀,减少重复劳动。1.1结构说明--项目结构----|----CSS文件结构----|----JS文件结构2.书写规范2.1样式与内容分离2.1.1项目结构---|----index.html入口页|----... 继续阅读 >
201512-02 PHP代码规范的10个好习惯 推荐 PHP被称为dirtybutquick的编程语言。尽管在其它编程语言使用者看来,PHP程序并不简洁美观,但是我们可以通过一些优秀的编程习惯,也能让PHP的代码看起来比较舒服优雅。有哪些方法呢?下面逐一说下。1.规划代码结构优秀的PHP代码应该有清晰的结构。PHP面向对象的特性允许程序员将应用程序分解为函数或方法。如果代码晦涩难懂,你也可以添加注释,使代码的功能一目了然。编码时应尽量将前端代码(HTML/CSS/JavaScript)与应... 继续阅读 >
201512-02 PHP多种序列化与反序列化的方法 推荐 序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。1.serialize和unserialize函数这两个是序列化和反序列化PHP中数据的常用函数。<?php$a=array('a'=>'Apple','b'=>'banana','c'=>'Coconut');//序列化数组$s=serialize($a);echo$s;//输出结果:a:3:{s:1:"a";s:5:"Apple";s:1:"b... 继续阅读 >
201512-02 MySQL时间日期查询方法与函数 HOT MySQL应用中,日期与查询是非常普遍的。比如要查某天、某个星期、或者某个月内的数据,查询两个日期之间的天数差,查询某天是星期几等等。下面就介绍一下相关的MySQL时间与日期函数,与它们的具体使用方法。NOW()函数MYSQL有没有像MSSQL的getdate()函数?有,就是NOW()。mysql>SELECTnow();+---------------------+|now()|+---------------------+|2011-10-2709:49:42|+---------------------+1ro... 继续阅读 >
201512-02 PHP转义Json里的特殊字符的函数 HOT 在给一个App做API,从服务器端的MySQL取出数据,然后生成JSON。数据中有个字段叫content,里面保存了文章内容,含有大量HTML标签,这个字段在转json的时候需要转义,因为有大量的特殊字符会破坏json的结构。比如这么一段content:'Loremipsum"dolor"sitamet,consectetur\adipiscingelit.'则必须要转化为:Loremipsum\"dolor\"sitamet,\nconsectetur\\adipiscingelit.那么有哪些字符是需要转义的... 继续阅读 >
201512-01 为什么年事已高的我还在编程? 每一个行业的从业人员都会有变老的那一刻,难道变老了之后还要继续从事之前的工作吗?估计没人愿意,除非是体力上吃得消的。接下来所讲述的就是作为程序员的码农们该如何迎接慢慢变老之后的工作转变!人们都会期望随着岁数的增加,个人条件受到限制的时候,你会放弃现实里的一些工作,如编程。从而转向更加高大上的任务,比如管理一个团队或者融资。这在“真正的教授”决定细节的学术界确实如此,只保留“大方向的东西”。... 继续阅读 >
201511-30 想拿到融资,千万别说这6句话 推荐 现在的身份很复杂,产品经理?创业者?创业服务者? 借着前几天在杭州云咖啡和创业者们交流的机会,从产品经理的视角,想了一下自己创业、做创业服务几个月以来,经常看到或自己犯过的错,其实,在公司里做产品也大同小异。 暂时有6点,没有体系,只有体会。 1、“我们就差个程序员了” 当然,我们说的创业是有创新的创业,而不是开个店做生意。创新成功,必须要克服两个风险——市场风险(真的有用户需... 继续阅读 >
201511-30 PHP 实现异步数据调用 HOT 浏览器和服务器之间只有一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端请求服务端,服务端根据请求返回相应的程序,不能保持持久连接。这样就出现了一个问题,一个客户端的相应服务端可能执行1秒也有可能执行1分钟,这样浏览器就会一直处于等待状态,如果程序执行缓慢,用户可能就没耐心关掉了浏览器。而有的时候我们不需要关心程序执行的结果,没有必要这样浪费时间和耐心等待,那我们就要想出办法让程序... 继续阅读 >
201511-29 2015最新Android基础入门教程 HOT 引言:从六月底就开始编写这套教程,历时将近五个多月,今天终于写完了,全套教程正文部分148篇,十大章,从基本UI控件到四大组件,Intent,Fragment,事件处理,数据存储,网络编程,绘图与动画,多媒体,系统服务等都进行了详细的讲解!代码都是都是在AndroidStudio上进行编写的,全文采用Markdown,行文结构清晰,还结合了实际开发中一些常见的问题进行了剖析...由于个人能力的局限,虽然竭尽全力,但是难免还有有一些错误纰... 继续阅读 >
201511-29 PHP接收json并将接收数据插入数据库 最近有一个需求,前端向后台提交json,后台解析并且将提交的值插入数据库中,难点1、php解析json(这个不算难点了,网上实例一抓一大把)2、解析json后,php怎样拿到该拿的值<?phprequire('connect.php');/*本例用到的数据:post_array={"order_id":"0022015112305010013","buyer_id":"2","seller_id":"1","all_price":"100.00","json_list":[{"product_id":"3","product_number":"3"},{"product_id":"8","product_numb... 继续阅读 >
201511-29 成为一名更好的程序员:如何阅读源代码 阅读源代码有许多益处。你会发现新的架构(construct)和库,与其他的代码维护者产生共鸣,但最重要的是学会如何组织代码,避免因内部极其复杂而变得不可维护。但是也有一个不好的地方,那就是阅读源代码太困难了。每当我看到一个新的代码库(codebase)时,这种让人眩晕的感觉就充斥了我的大脑。我的内心告诉我压根不想趟眼前这趟浑水。这是(希望是)正常的反应。当我们的大脑接触过多的新东西,就会产生排斥。造物主赋予我... 继续阅读 >
201511-27 中小型网站架构分析及优化 先看网站架构图:以上网站架构广泛运用中大型网站中,本文从架构每一层分析所用主流技术和解决手段,有助于初入网站运维朋友们,进一步对网站架构认识,从而自己形成一套架构概念。第一层:CDN国内网络分布主要南电信北联通,造成跨地区访问延迟大问题,对于有一定访问量网站来说,增加CDN(内容分发网络)层可有效改善此现象,也是网站加速的最好选择。CDN把网站页面缓存到全国分布的节点上,用户访问时从最... 继续阅读 >
201511-27 培训机构毕业的程序员被歧视的背后逻辑 HOT 现在,像达内、华清远见、国嵌、北大青鸟、传播智客等等IT培训机构很多,为尚未毕业的大学生、毕业了一时找不到工作的大学生、工作后想转行的再就业者提供了一个掌握新技能的机会,通过三个月或半年或更久的培训,你就可以掌握某一种技能,比如Android开发、JavaWeb开发、iOS开发、嵌入式Linux开发,然后,没然后了吗……Sorry,然后还是有的,只不过,“然后”并不是像培训机构的销售代表频频给你通电话时宣传的那样... 继续阅读 >