201511-19 微信红包的技术实现原理 HOT 以下内容来源于QCon某高可用架构群聊天记录整理背景:有某个朋友咨询微信红包的架构,在官方或非官方同学的解释和讨论中得出以下讨论内容,在此期间有多个同学发红包做现网算法测试。抢红包过程当有人在群里发了一个N人的红包,总金额M元,后台大概发生的事情如下:一、发红包后台操作:在数据库中增加一条红包记录,存储到CKV,设置过期时间;在Cache(可能是腾讯内部kv数据库,基于内存,有落地,有内核态网络... 继续阅读 >
201511-19 注定要被淘汰的十大安全技术 系统性漏洞和瞬息万变的威胁环境将毁灭许多当今值得信赖的安全技术。你是否曾有过这样的经历:启动软盘上的写入保护开关,以防止启动病毒和恶意覆写;关闭调制解调器,以防止黑客在晚上打来电话;卸载ansi.sys驱动,以防止恶意文本文件重新排布键盘,让下一次敲击直接格式化你的硬盘;检查autoexec.bat和config.sys文件,以确认没有恶意条目通过插入它们进行自启动。时过境迁,上述情况如今很难见到了。黑客们取得了进步,技术替... 继续阅读 >
201511-19 七大招教你如何应对黑客的wifi攻击 推荐 不得不说,现在人们已经越来越离不开wifi了,不管是台式机还是笔记本,虽然还含有网线接口,但其基本上都已经被弃用了,手机平板更是如此,他们只能利用运营商网络以及wifi上网,而一旦智能家居普及开来,wifi的应用领域亦将极大地扩展。wifi最大的好处就是无需布线,方便快捷,但本身在稳定性与安全性都先天不足,黑客攻破wifi设备,获取用户信息的事件屡见不鲜。总之,wifi也是一把双刃剑,也有危险的一面。还好,面对黑客的... 继续阅读 >
201511-18 态度以及业余付出决定程序生涯 本篇只是随便侃侃,有感而发,如有中伤,请不(说)要(明)自(做)行(得)套(不)入(够)。关于程序生涯如题,关于这点,有道是“一朝误入此门中,从此红尘了如空。”我们经常可以发现:同样的一批从事开发的小伙伴,在短短的几年后(有时候1年就有差距了),有的人可以成为项目组长或者核心技术,有的人可以成为项目经理,有些人可以成为技术总监……当然,有的还是码农。码农之中... 继续阅读 >
201511-18 2016年百度校招小结:我做技术面试官的一些思考 一个多月前,作为技术面试官参加了百度2016年的校园招聘深圳站面试,主要目标学生是清华/北大/哈工大/中科院在本地的研究生院(实际上并没有设限,有不少江西广西福建的同学过来面试了),这里和大家分享一点自己的思考。我们一般有3轮技术面试,一面二面通常是由资深的工程师面试,三面一般是技术经理面试。我负责的是一面和二面,面试过程中除了给全公司层面的统一招聘人才,我们还随时要准备物色合适的人加入自己的... 继续阅读 >
201511-18 PHP编程中的锁 最近看了《理解Linux进程》这本开源书,链接。该书描述了linux中的进程概念,对锁和进程间通信(IPC)有一些总结。不过该书的描述语言是golang,平时用的比较少,就想对应概念找找php中的接口。文件锁全名叫advisoryfilelock,书中有提及。这类锁比较常见,例如mysql,php-fpm启动之后都会有一个pid文件记录了进程id,这个文件就是文件锁。这个锁可以防止重复运行一个进程,例如在使用crontab时,限定每一分钟执行一个任... 继续阅读 >
201511-18 为什么Laravel会成为最成功的PHP框架? 推荐 2011年,TaylorOtwell将Laravel作为一种包含全新现代方法的框架介绍给大家。Laravel最初的设计是为了面向MVC架构的,它可以满足如事件处理、用户身份验证等各种需求。另外它还有一个由管理数据库强力支持,用于管理模块化和可扩展性代码的软件包管理器。Laravel以其简洁、优雅的特性赢得了大家的广泛关注,无论是专家还是新手,在开发PHP项目的时候,都会第一时间的想到Laravel。本文我们将讨论为什么Laravel会成为最成功的PHP... 继续阅读 >
201511-17 Web应用程序遭黑客入侵的五大征兆 大多数针对Web应用程序的攻击都非常隐蔽,不容易发现。从2015威瑞森数据泄漏调查报告来看,攻击者平均可以在网络上潜伏205天不被发现。许多组织都是从其他人那里发现安全受到了威胁。近日,InfoWorld资深编辑FahmidaY.Rashid在一篇文章中分析了Web应用程序遭黑客入侵的五大征兆,并提出了一些确保应用程序安全的建议。征兆1:应用程序行为反常应用程序监控是发现可疑行为的最好方式。Fahmida提到了以下几种异常... 继续阅读 >
201511-17 不会写代码?这耽误不了你创业 如果你仔细研究一下科技行业中新崛起的「独角兽」们(译者注:特指估值10亿美元以上的创业公司),以及那些已经公开上市了的巨头玩家,如苹果、微软、IBM以及亚马逊,就会发现这样一个事实——这些公司的创始人通常都是软件或者电子工程师。亚马逊的CEO杰夫•贝索斯以最优等成绩毕业于普林斯顿大学,拥有电气工程与计算机科学双学位。IBM的研究人员在一项研究中发现,在那些标准普尔500指数所收录的大企业里... 继续阅读 >
201511-17 史上最全面的程序员招聘建议 没有灵丹妙药能让你成功应聘为开发人员。但是,在此过程中却有一些非常有帮助的建议。我最近采访了MattLangan和ChristianMacolino,Atlassian公司两名最顶尖的高级技术招聘人员。我想知道他们——来自于一家为共计33亿美元的软件公司招聘高科技人才——的看法 。本文着眼于招聘的周边问题,其中包括一些实用的技巧和面试指南。简历首先要有拿得出手的简历。我们需要通过这些,... 继续阅读 >
201511-17 如何给网页内容上所有的img标签加上alt属性 如何给网页上所有的img标签加上alt属性给img标签加上alt属性是为了更好的让搜索引擎识别,告诉它这是什么东西,但有时页面内容非常多的时候,有些img标签的alt属性就会漏写,检查起来非常烦,或者想让页面上布局更多的关键词,这就可以利用Jquery的一段代码来填补这些不足了,原理是这样的,先得出页面上所有的img标签的总数量,然后用一个for循环去查找每个img标签中有没有alt属性,如果没有,则就加上自己定义的alt属性,如果存... 继续阅读 >
201511-17 知道 Git 这些操作技巧吗? HOT 用git有一年了,下面是我这一年来的git使用总结,覆盖了日常使用中绝大多数的场景。嗯,至少是够用一年了,整理出来分享给大家,不明白的地方可以回复交流。 创建和使用gitsshkey首先设置git的username和email:gitconfig--globaluser.name"xxx"gitconfig--globaluser.email"xxx@gmail.com"查看git配置:gitconfig--list然后生成SHH密匙:查看是否已经有了ssh密钥:cd~/.ssh如果没有密钥则不会有此文件... 继续阅读 >
201511-17 MySQL 主从复制的原理和配置 推荐 工作原理图:主从复制的原理:分为同步复制和异步复制,实际复制架构中大部分为异步复制。复制的基本过程如下:1).Slave上面的IO进程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;2).Master接收到来自Slave的IO进程的请求后,通过负责复制的IO进程根据请求信息读取制定日志指定位置之后的日志信息,返回给Slave的IO进程。返回信息中除了日志所包含的信息之外,还包括本次返回的信... 继续阅读 >
201511-17 当你输入一个网址后按回车,实际会发生什么? HOT 英文原文:WhatreallyhappenswhenyounavigatetoaURL,编译:寒冬星空作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~1.首先嘛,你得在浏览器里输入要网址: 2.浏览器查找域名的IP地址导航的第一步是通过访问... 继续阅读 >
201511-16 移动端web开发技巧 HOT 这是一个最好的时代,因为我们站在潮流中;但也是一个最坏的时代,因为我们站在潮头上。META相关1.添加到主屏后的标题(IOS)<metaname="apple-mobile-web-app-title"content="标题">2.启用WebApp全屏模式(IOS)当网站添加到主屏幕后再点击进行启动时,可隐藏地址栏(从浏览器跳转或输入链接进入并没有此效果)<metaname="apple-mobile-web-app-capable"content="yes"/><metaname="apple-touch-fullscreen"conte... 继续阅读 >
201511-16 JavaScript与PHP中正则写法 推荐 一、JavaScript有个在线调试正则的工具,点击查看工具。下面的所有示例代码,都可以在codepen上查看到。1.创建正则表达式varre=/ab+c/;//方式一正则表达式字面量varre=newRegExp("ab+c");//方式二RegExp对象的构造函1)正则表达式字面量在脚本加载后编译。若你的正则表达式是常量,使用这种方式可以获得更好的性能。2)使用构造函数,提供了对正则表达式运行时的编译。当你知道正则表达式的模式会发生改变,或... 继续阅读 >
201511-16 我想对所有新程序员说的一些话 推荐 我从学习编程开始已经累计超过二十年了。截至现在,我开办过的编程入门课程的数量也有半打之多。我在教授编程上花费的所有时间,总数大约是一千多个小时。以下是我的一些肺腑之言,至少给我的学生反复唠叨过不下一次。注意,这些内容没有前后顺序之分。欢迎来到编程世界编程的确很难。不管你有多么擅长编程,你的学习能力和解决问题的经验始终是拖慢你前进脚步的唯一因素。等你更加擅长编程这门技艺的时候,你就会对此更加确... 继续阅读 >
201511-16 Perl、PHP、Python、Java和Ruby的比较 HOT 预览◆语言的发展趋势一定是动静结合、刚柔并济◆Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯◆或许优雅正是来自对细节和规范的重视◆(RoR)与Ruby结合之后,便如一只猱身而上灵猫,立刻衬托出Java和.NET大象般的身影提问◆Perl、Python、Ruby和PHP各自有何特点?◆为什么动态语言多作为轻量级的解决方案?◆LAMP为什么受欢迎?◆RubyonRails为什么会流行?◆编程语言的发展趋势是什么?讲解“... 继续阅读 >
201511-16 在源码阶段写出更快Ruby的秘诀 优化可以采取许多不同的形式,但程序员关注何处以及如何开发项目的过程中进行优化。这个讲演来自RubyConfIndia2015,总部位于柏林的SoundCloud开发者ErikMichaels-Ober对于在源码这个层级如何提升Ruby性能优化,进行了一次演讲。Michaels-Ober首先注意到的是,大多数开发人员对过早的性能优化有偏见。他引用了斯坦福教授、算法设计和分析之父DonaldKnuth,在1974年的一句话"过早的优化乃万恶之源"。Michaels-Ober指出适当的但... 继续阅读 >
201511-16 提升你代码质量的10个Ruby小技巧 推荐 在Ruby中有很多你可能并不知道,但实际上非常实用的小技巧。下面笔者就结合自身经验,向大家分享一些。1.构造Hash你可以用一个列表一系列的值构造Hash通过Hash[...]方法,它将会像下面的方式创建一个Hash:Hash['key1', 'value1', 'key2', 'value2']# => {"key1" => "value1", "key2" => "value"}2.Lambda字面量->定义一个lambda可以使用在Rails中也用的比较流... 继续阅读 >
201511-15 十种更好的表达“你的代码写的很烂”的方法 推荐 如果你有一个同事,他写的程序与其说是代码,不如说更像希腊神话中女妖美杜莎的头发,你当然不能熟视无睹,你应该做出一些反应,但你可选的合适的反应方式并没有多少:自己默默的帮他整理清楚、向上级抱怨、向其他同事背后唠叨此事、闷在心里直到憋不住,或者这最大胆的方法:走上去直接对烂程序员说他的代码很烂。 事实上,这最大胆的方法其实也是最好的方法。大多时候,你可以做的巧妙些,从而... 继续阅读 >
201511-14 PM 帮程序员提高效率需要做的 5 件事 HOT 作为一个软件开发人员,只有卓越的技术是不够的。更重要的是应该专注一些作为一个专业人士应该了解的内容。在我的排序中,与参与项目的其他人的交往能力是名列前茅的。无论项目是什么性质的,你都需要与其他人互动:作为一个开源贡献者,你必须合作审查补丁或让别人来审查你的补丁,你必须解决用户提出的问题,你需要与其他提交者或共同维护者一起规划好如何同新用户交流功能作为一个自由职业者,你必须与现有的和潜在的客... 继续阅读 >
201511-14 10个实用的PHP正则表达式 正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符、词或算式等。但在某些情况下,用正则表达式去验证一个字符串比较复杂和费时。本文为你介绍10种常见的实用PHP正则表达式的写法,希望对你的工作有所帮助。1.验证E-mail地址这是一个用于验证电子邮件的正则表达式。但它并不是高效、完美的解决方案。在此不推荐使用。$email = "test@ansoncheung.tk";if (preg_match('/^... 继续阅读 >
201511-13 提高程序员工作效率11招让你远离加班 吃苦耐劳”、“加班积极”真的是优良品质吗?与你怎么做相比,老板更关心的是你做了什么、达到的效果。一句话,效率,还是效率。下面的几点技巧希望可以对程序员远离加班有所帮助。1、两分钟法则如果一件事可以在两分钟内完成,比如回复邮件,就立即完成,因为记住它、计划时间、在后来完成它,可能会花费五分钟甚至更多的时间。2、五分钟法则拖延症是影响工作效率的大魁首之一,想要治愈它不是给自己定下目标、下定决心... 继续阅读 >