201503-01 如何向亲戚朋友解释什么是IP,端口和域名 IP,端口和域名对于专业的人来说并不陌生,但是对于非专业的同学可能并不熟悉,写这个文章的目的:一是想装“砖家”(事实上我也不是很懂)“科普”一下计算机的知识,二是想练习一下表达,把自己懂的知识梳理一下,转化成“人类的语言”。首先提出一个对应关系:1.简书——-》小明家2.www.jianshu.com——》xxx路xxx号3.180.150.186.235——》东经xxx度xxx分,北纬xxx度xxx分。想象一下:小... 继续阅读 >
201503-01 Facebook如何实现PB级别数据库自动化备份 Facebook的MySQL数据库,是世界上最庞大的MySQL数据库之一,在不同地区有数千个数据库服务器。因此,备份对他们来说是个巨大的挑战。为了解决这个问题,他们构建了一个高度自动化、非常有效的备份系统,每周移动多个PB的数据。Facebook数据团队的EricBarrett通过一篇文章分享了他们的做法。他们没有采用大量前载(front-loaded)测试,而是强调快速检测失败,并且进行快速、自动化纠正。部署几百个数据库服务器,只需很少人力干... 继续阅读 >
201503-01 PHP中return用法详细解读 在大部分编程语言中,return关键字可以将函数的执行结果返回,PHP中return的用法也大同小异,对初学者来说,掌握PHP中return的用法也是学习PHP的一个开始。首先,它的意思就是返回;return()是语言结构而不是函数,仅在参数包含表达式时才需要用括号将其括起来。当返回一个变量时通常不用括号,这样可以降低PHP的负担。基本用法:a)、returnexpression//返回一个表达式结果b)、return(expr)//函数表达式c)、return//... 继续阅读 >
201502-28 揭开计算机的神秘面纱 写在前面的话:从接触电脑以来,就一直对电脑充满好奇。当电脑连接上电源,按下开机键,我们就可以做所有我们想做的事情,打游戏、写文章、看电影、搭建web服务器、自己写程序等等。随着接触电脑的时间越长,反而对电脑更加的陌生,不断的问自己,计算机到底是怎么组成的?为什么就能够实现这些功能?如果让我穿越回多少年前,该如何搭建一台电脑?恰好这几天读完这本书《code:thehiddenLanguageofcomputerhardwareandso... 继续阅读 >
201502-28 Spring MVC 构建入门级 Web 应用程序 在本例中,我们将使用SpringMVC框架构建一个入门级web应用程序。SpringMVC是Spring框架最重要的的模块之一。它以强大的SpringIoC容器为基础,并充分利用容器的特性来简化它的配置。目录MVC框架是什么DispatcherServlet(Spring控制器)Spring入门示例运行时依赖库web.xml和spring-servlet.xml文件配置请求控制器EmployeeController.java视图模型EmployeeVO.javaDao类业务层类视图empl... 继续阅读 >
201502-28 Web服务器的工作原理 Web服务器工作原理概述很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了什么动作?JavaServletAPI(例如ServletContext,ServletRequest,ServletResponse和Session这些类)在其中扮演了什么角色?这些都是web应用开发者或者想成为web应用开发者的人必须要知道的重要问题或概念。在这篇文章里,我将会尽量给出以上某些问题的答案。请集中... 继续阅读 >
201502-28 Chrome使用技巧集锦(不看你真的错过了) Chrome的隐身模式先来说说隐身模式的启用方法吧1.键盘快捷:Ctrl+Shift+N。2.在Windows7下的任务栏处,右击“Chrome”图标,会出一个下拉菜单,点击“新建隐身窗口”。3.你还可以在一个正在浏览的页面中,通过“右键点击链接”出现下拉菜单,选择“在隐身窗口中打开链接”,直接进入隐身窗口(如下图)。简单一点的说,Chrome的隐身模式的好处就是保持你的隐私。具体表现在在此窗口中查看的网页不会显示在浏览器历史... 继续阅读 >
201502-28 HHVM 是如何提升 PHP 性能的? 背景HHVM是Facebook开发的高性能PHP虚拟机,宣称比官方的快9倍,我很好奇,于是抽空简单了解了一下,并整理出这篇文章,希望能回答清楚两方面的问题:HHVM到底靠谱么?是否可以用到产品中?它为什么比官方的PHP快很多?到底是如何优化的?你会怎么做?在讨论HHVM实现原理前,我们先设身处地想想:假设你有个PHP写的网站遇到了性能问题,经分析后发现很大一部分资源就耗在PHP上,这时你会怎么优化PHP性能?... 继续阅读 >
201502-26 客户端到服务器端的通信过程及原理 学习任何东西,我们只要搞清楚其原理,就会触类旁通。现在结和我所学,我想总结一下客户端到服务器端的通信过程。只有明白了原理,我们才会明白当我们程序开发过程中错误的问题会出现在那,才会更好的解决问题。我们首先要了解一个概念性的词汇:Socketsocket的英文原义是“孔”或“插座”。作为进程通信机制,取后一种意思。通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。(其实就是两个程序通信用的。)soc... 继续阅读 >
201502-26 Linux进阶:让效率翻倍的Bash技巧(一) 许多使用过Linux一段时间的人通过一些基础操作已经能够把Linux各方面基本玩转,但是如果没有经过系统学习的话就容易缺乏一些实战技巧。这系列文章介绍一些关于bash的能够提高效率的技巧,主要是关于历史命令操作和一些快捷键,让你在命令行下工作效率翻倍,而且这些技巧不失为装逼利器呀。历史命令操作篇最基本的查看历史命令historyhistory!n编号为n的历史命令不用再复制粘贴,或者照着历史记录敲了。执行历史命令... 继续阅读 >
201502-26 Linux命令技巧:如何在Linux下重命名多个文件 提问:我知道我可以用mv命令重命名文件。但是当我想重命名很多文件怎么办?如果为每个文件都这么做将会是很乏味的。有没有办法一次性重命名多个文件?在Linux中,当你想要改变一个文件名,使用mv命令就好了。然而mv不能使用通配符重命名多个文件。可以用sed、awk或者与xargs结合使用来处理多个文件的情况。然而,这些命令行即繁琐又不友好,并且如果不小心的话还很容易出错。你不会想要撤销1000个文件的错误名吧!当你想要重... 继续阅读 >
201502-20 7款最好用的网络监控工具 如果你有网络领域的经验,或者你正在网络公司做网络管理员或技术支持,那么你一定听说过网络监控工具。网络管理员总是在寻找最好的网络监控工具,因为这样才能了解系统状态,以便于优化性能并阻止潜在的问题。现在市面上有很多网络监控工具,可以帮助你了解系统性能和后续问题。下面我将介绍一些有用的系统和网络监控工具,如有不同意见,欢迎评论。1.CactiCacti是一个开源的,基于Web的网络监控和绘图工具,它被设计成一款前... 继续阅读 >
201502-13 如何使用Java、Servlet创建二维码 归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用。从候车亭、产品包装、家装卖场、汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们。随着智能手机的用户量日益增长,二维码的使用正在呈指数上升。让我们来看看QR码的简要概述,以及如何在Java中生成它们。QR码介绍QR码(QuickResponse快速响应码)是矩阵条形码(或二维码)的一种类型,最先为于汽车行业而设计。得益于其快速读取性和较大的存储容量,QR... 继续阅读 >
201502-13 PHP结合HTML5使用FormData对象提交表单及上传图片 FormData对象,可以把form中所有表单元素的name与value组成一个queryString,提交到后台。在使用Ajax提交时,使用FormData对象可以减少拼接queryString的工作量。使用FormData对象1.创建一个FormData空对象,然后使用append方法添加key/valuevarformdata=newFormData();formdata.append('name','fdipzone');formdata.append('gender','male');2.取得form对象,作为参数传入到FormData对象<formname="form1"id="form1">... 继续阅读 >
201502-13 你该学点HTML/CSS知识的9大理由 每个人都应该学写代码——这一观点简直就是铺天盖地地映入我们眼帘。或许你会莫名其妙,程序员学代码那是理所应当,但是作为一个作家、营销人员、财务工作者甚至是工人,为什么也需要学习代码呢?好吧,下面我会告诉你为什么懂点HTML和CSS会让你的职业生涯发生巨大的改变。学习技术不仅仅是生产助理亦或是印刷设计师的事——无论你是小企业主、销售经理、事件协调员还是魔术师,都能让你受益于HTML和CSS知识。不要怀疑,让我给... 继续阅读 >
201502-12 Java线程中yield与join方法的区别 长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。Java线程调度的一点背景在各种各样的线... 继续阅读 >