上海红楼秘史:性贿赂,圈养性奴,手段残忍,伤天害理

​没有新闻自由,我们都是乌合之众

上海红楼特大性奴案,我有六个问题要问

恒大躺平,滴滴退市,中概股血崩:我们见证了太多历史事件

大案:男子在上海一大厦圈养十几名性奴 手段残忍令人咋舌

分享到微信朋友圈

点击图标下载本文截图到手机
即可分享到朋友圈。如何使用?

填写问券帮助你更迅速地找到相关搜寻

码农翻身

Redis作者“不懂”分布式锁?

是否可以设计这样的方案:加锁时,先设置一个过期时间,然后我们开启一个「守护线程」,定时去检测这个锁的失效时间,如果锁快要过期了,操作共享资源还未完成,那么就自动对锁进行「续期」,重新设置过期时间。
6月17日 上午 8:53

我决定辞掉工作,全职开发我的操作系统!

我想最有可能的原因是:中国有很多像Andreas这样的天才程序员,只不过他整天被需求压得喘不过气来,业余时间被996榨干,回到家中,累得根本没有时间和精力去鼓捣自己的兴趣和爱好了......
5月31日 上午 8:55
5月24日 上午 8:51

JetBrains又出编程神器!

张大胖和何小痩不用坐在一起,张大胖只要把自己的IDE分享出去,何小痩就能看到并且控制,这样两人交替着做“领航员”(思考、提醒)和“驾驶员”(写代码),时不时通过语音和视频交流,高效地完成任务。
5月21日 上午 8:51

史记 · 码农列传

吾尝闻鸿儒谈笑于高堂之上,曰分布式、曰微服务、曰大数据、曰云计算。心窃羡之,而恨己无孔明之才,少管仲之略,欲与其把臂而谈,援疑质理,又恐才薄智浅,难通迂曲之理,是故不敢妄言。
5月21日 上午 8:51

这位技术总监,我喜欢!

为什么要记大家的名字呢?再说个我的经历。之前一个领导,比我高两级,我和他平时也没啥交集。一次偶然的机会他叫出来我的名字,我当时的感觉就是“领导居然知道我的名字?”,感觉非常好。
5月20日 上午 9:00

我们计划招收300人,免费学习数据分析和Python

在学习这门课程后,很多学员成功转行商业数据分析行业。其中一位更是跳槽至某知名广告公司,一份数据报告就卖到数千美金。如果你在这个行业多磨砺几年,一份数据报告卖到十几万美金也不是不可能。
5月20日 上午 9:00

如何驾驭MySQL架构设计,实现千亿级数据分库分表?

不仅在面试环节是被反复考核的考点,在实际工作中更是能够发挥极大价值。但对于很多开发者来说,常常会有一个错觉,面试造火箭、入职拧螺丝…我曾经也有这种感受,后来慢慢理解了这并非
5月19日 上午 8:50

天天说要做性能优化,到底在优化什么?

性能看护篇:从性能测试前置这一核心的性能看护出发点着手,深入产品的组件级、系统级的多层级性能测试,让你在理解性能看护核心理念的基础上,清楚地知道如何实现性能测试用例自动化,并能集成到
5月18日 上午 8:50

两位巨佬的一顿晚饭,整个互联网被改变了

大家知道英文字母用一个字节保存就够了,如果Unicode规定每个英文字符也用两个字节或三个字节来保存,那每个英文字母前面势必要补上0,
5月18日 上午 8:50

对不起,你的密码被破解了!

Diffie不信这个邪,生于1944年的Diffie非常迷恋数学,长大后又迷上了计算机安全,可以说是个密码学极客。
5月17日 上午 8:51

你管这破玩意叫 RDB?

本来想着让大家分享到朋友圈获取,但想想看算了,加我好友(公众号低并发编程-菜单栏-关于),即可获取这个精致的小
5月14日 上午 8:51

GitHub刷题笔记“封神”!有人靠它连拿5个offer

正好Clay最近在准备面试,于是他就花了一个多月的时间用来刷题背模板,不试不知道,面试中有很多题都可以套模板,全程有种手撕算法面试的感觉,顺利拿下5个offer!
5月13日 上午 8:51

漫画 | 给乔布斯提供肩膀的巨人

当年的各类计算机八仙过海,各显神通,不仅各个指令集标新立异,而且几乎所有方面都彼此不一,甚至连基本的字宽度和内存寻址方式都不一样
5月13日 上午 8:51

面试被刁难仍能拿到offer,就凭这三点

大厂面试题的重难点都分别是什么?
5月12日 上午 8:50

程序员,你敲键盘的声音暴露了你的秘密!

大部分人流连于短视频、娱乐八卦等纯粹感官刺激世界,并不珍视真正的宝藏——曾经无限进化的“超级大脑”。若想在未来与时代共舞,我们亟需重塑数理思辨能力和深度思考能
5月12日 上午 8:50

计算机女神,互联网第一夫人!

说自己为这张照片感到骄傲,但如今这一切已经变得极为遥远。她的儿子偶尔会向她解释她的形象带来了怎样的意义,但作为对计算机一点不懂的人,她只是表示:“我弄不明白这些事,但我觉得我应该是做得不错。”
5月11日 上午 8:51

软件设计没做好,让你多加了多少冤枉班!

编程范式:选择了几个最主流的编程范式,包括结构化编程、面向对象和函数式编程,帮你建立起软件设计的根基;
5月11日 上午 8:51

漫画 | 三千年的密码战争,人类天才的巅峰对决

因为发信人和收信人可以协商采用字典上的任何一个单词、任何单词组合,乃至杜撰的单词。译码人根本没法通过尝试的方式来破解。
5月10日 上午 8:51

看完粉丝和他女朋友的爱情故事,我泪目了。。。

BAT码农,转行程序员,Bug小王子,著名背锅侠。西二旗风中之狼,211院校挂科之神,真·搬砖者,伪·小说家。
5月8日 上午 8:51

程序员孔乙己

又好笑,又不耐烦,懒懒的答他道,“谁要你教,不就是打通信息屏障,聚焦用户感知赛道,复用打法达成持久收益,抽离透传归因分析,最后作为抓手为产品赋能吗?”
5月7日 上午 8:51

阿里为啥放弃Oracle,选择全面拥抱它?网友:断臂求生?

12年后才开始对性能优化有比较明确的认知。以前靠异步处理机制和共享内存的使用解决大数据频繁请求的问题,可一旦数据关系变得复杂,就躲不过去了,必须硬着头皮研究。每次跟团队年轻人唠叨最多的,也是数据库。
5月7日 上午 8:51

非常适合做副业的技能,体面、有趣,且门槛不高!

12月8日,在央视网主办的2020年度央视网教育盛典中,开课吧荣膺2020年度口碑影响力职业教育品牌。想要职场进阶,先要擦亮双眼,选行业内首屈一指的靠谱大公司,绝对错不了。
5月6日 上午 8:50

不把脖子伸出去,美帝不就卡不住了吗?

慢慢生态就扶持起来了嘛。无锡56所不就在从指令集,编译器,编程语言,系统全重新造车,这样的家伙亮出来,他难道还能把手伸过太平洋,伸进你家卡你脖子?
5月6日 上午 8:50

如何突破越忙越穷的困境?

两年前,小镇姑娘小雨选择当“北漂”,从3k底薪的销售,到如今每月靠理财收入超越工资,即便遇上股市震荡,但她有一项目盈利率竟高达69.84%,妥妥成了宝宝的未来学业基金~
4月30日 上午 8:50

和首席架构师吃了一顿米线,被吓住了!

架构师:你看,这就是异步处理,我们下了单,就可以离开等待,米线做好了会通过小喇叭“回调”我们去取餐;如果同步处理,我们就得在收银台站着等餐,后面的请求无法处理,客户等不及肯定会离开了。
4月30日 上午 8:50

这个公众号很有前途!

你刚刚看到的《你管这破玩意叫多路复用》,背后是闪客用几年时间,研究并自制操作系统,而产生的对内核层无微不至的细节把控,才能在用户层讲得如此透彻。
4月29日 上午 8:51

漫画 | Unix/Linux 比 Windows 差远了!

Gancarz根据自己的经验以及和其他领域使用Unix系统的资深程序员们的讨论结果,写成了The
4月28日 上午 8:51

死磕FB大佬算法“标答”,一个月上岸Google!

FLAG一线大厂算法标答(共38页),拉到文末免费领取:
4月27日 上午 8:51

介绍一位超级大美女

但是,她又对表演感兴趣,有一次,好奇心极强的她伪造了母亲的签名,在奥地利的萨莎电影公司谋得了一个场记的活儿。很快,美貌的拉玛就在一个叫做《街上的钱》的电影中出镜。
4月26日 上午 8:51

看产品经理怎么用360实现Java垃圾回收!

最后就是产品未来,如果这个产品上线之后,我绝对不满足只回收垃圾,我要把工具平台化,那些不符合设计模式的代码、很久没有查过的数据库数据,都可以直接回收删除,打造一体化、全方位Java垃圾回收平台!
4月25日 上午 8:51

老婆离家三周,我写了一个操作系统!

(注:第二系统效应,意思是在首个系统(如CTSS)创建成功以后,打算创建一个新系统,修正旧系统的遗留问题,添加新特性,结果塞进去太多东西,得到了过于复杂的系统)
4月19日 上午 8:50

漫画丨让你专心干技术,没让你干到35岁啊…

而现在,当一切“漏洞”几乎被全方位无死角的堵上后,我们就会看到这样一个拼命内卷的人才市场
3月3日 上午 8:50

漫画 | Linux之父:财务自由以后,我失眠了!

Linux如果早几年出现,没有踏上互联网的大潮,就不会有大规模的使用和全球范围内的协作,如果晚出几年,很可能会被别的操作系统所替代。
3月2日 上午 8:51

重磅!七国首脑会议决定制裁Go语言!

JavaScript则辩解说C/C++/C#也可以写代码运行在浏览器端中,不信你们去看WebAssembly,还有Java也做桌面开发例如IDEA和Eclipse.....
2月28日 上午 9:30

漫画 | 打死我也不搞负载均衡了!

本文所描述的,其实就是著名开源软件LVS的原理,上面讲的两种负载均衡的方式,就是LVS的NAT和DR。LVS是章文嵩博士在1998年5月成立的自由软件项目,现在已经是Linux内核的一部分。
2月22日 上午 8:51

世界上有两种公众号,我坚持做第二种

相比而言,第二种比较吃亏,推送过的文章很少人会往后翻,精心写的技术文章就被淹没、遗忘了。但是我还是想做第二种,因为我想在这个世界上留下一点有价值的东西。
2020年12月31日

漫画 | 最让程序员抓狂的7件事

这也是非常常见的情况,如果没有管理好客户需求,很容易让开发人员加班熬夜。三、任务时间估算,
2020年12月28日

漫画 | 程序员必须要小心的7个潜规则

这篇文章也借用了“潜规则”的概念,可能不太准确,试图讲述那些实际上你可能在使用,却没有注意到的一些原理和规律,这些东西很重要,掌握了能够指导你以后的开发和设计。
2020年12月24日

漫画 | 康熙学不了二进制

布尔英年早逝,不过他的名字永远刻在了编程语言中,因为几乎每一门编程语言,都有一个数据类型叫boolean。布尔还有两个后代特别出名,一个是他的小女儿,艾捷尔·丽莲·伏尼契,即《牛虻》的作者;
2020年12月21日

漫画 | 程序员,你得一条道走到黑!

更多精彩技术漫画,尽在码农翻身
2020年12月16日

漫画 | 从量子力学到抖音

Python,JavaScript等这些运行在虚拟机中,实现业务逻辑非常高效的语言。
2020年12月10日

漫画 | Java小子和C老头儿的硬盘夜话

C语言生来就是做系统级编程的,就是要贴近硬件,追求性能和效率,所以不能有虚拟机这样的抽象层,在虚拟机上运行,对程序员写代码非常友好,但是想要操作底层,需要用JNI这样的技术,也挺麻烦的。
2020年12月9日

再见,MySQL !

http://www.odbms.org/blog/2011/09/mariadb-the-new-mysql-interview-with-michael-monty-widenius/
2020年12月2日

漫画 | 我把面试官搞崩溃了!

后记:经过了技术面试的重重考验,面试官终于提出了这个拷问灵魂的问题:“你对我们公司或者这个岗位还有什么问题吗?”
2020年12月1日

漫画 | 再见!外包!

更多精彩技术漫画,尽在码农翻身
2020年11月30日

公司代码太烂,我学的东西都用不上!

有了榜样成果以后,就是展示和说服了,你要展示出你是怎么做自动化测试的,遇到了哪些障碍,取得了哪些显著效果,例如通过自动化测试捕捉到了错误,修改代码更有信心,
2020年11月25日

漫画 | 在中国,程序媛到底有多难?

4.已婚有孩子底气会稍微足一点,为了提高找工作效率,我甚至会把已婚有孩直接标注在简历上。因为你不说清楚,到头来和男的竞争同一个岗位,你肯定会被刷掉,前期的所有准备就会浪费。
2020年11月24日

人到中年,一地鸡毛

互助分享,亲如家人的朋友圈;讨论咨询,各抒己见的火热论坛;好玩的活动,新鲜的资讯,实用的信息,生活在回龙观,这里是你我共同的家园-回龙观社区网(www.hlgnet.com)!
2020年11月23日

漫画 | Code Review的巅峰

review)是个非常重要的编程实践,是指对计算机源代码系统化地审查,通常用软件同行评审的方式进行,其目的是在找出及修正在软件开发初期未发现的错误,提升软件质量及开发者的技术。
2020年11月18日

漫画 | 程序员,你得学会踢皮球!

大家都没猜中,最终CEO揭开了谜底:“整整28次!”我当时被惊到了,什么事情需要28次的审批才能通过,这样的效率该有多低?
2020年11月17日

半夜,我差点儿揍了十年前的自己

司机师傅打开车门,一把就把张大胖拖了出来,揪住张大胖的衣领吼道:“我真TMD想揍你一顿,我给你指了好几条光明大道你不走,为什么非要去挤那独木桥?!”
2020年11月16日

漫画:从今天开始,我不再买书了!

更多精彩技术漫画,尽在码农翻身
2020年11月12日

漫画:你们这些奇葩的代码!

后记:变量是写程序中司空见惯的东西,可是到了机器层面,一切都消失了,只剩下地址,地址,地址。所以CPU和内存非常疑惑,变量到底是什么东西?
2020年11月9日

达到年薪百万,就算码农翻身了吗?

为什么说互联网大公司呢,因为它们站在最前沿,能看到的东西更多更广泛,能开阔眼界。大公司里有不少人能力真是超强,真是能学到很多东西。另外经过在正规军中的锻炼,做起事情来会更有章法。
2020年11月4日

漫画:程序员的幸福指数是如何下降的?

后记:程序员的幸福指数下降了吗?看起来随着时代的进展,程序员越来越苦逼了,但是文章的背后有两点没有讲出来:
2020年11月3日

漫画:从架构师“沦落”为普通程序员

满400减200,使用博文视点联合码农翻身公众号特别送出的优惠码,还可以再优惠40
2020年11月2日

漫画:昨天晚上我去这个奇葩餐厅吃饭,被打出来了!

注意:这篇漫画描述的不是OS实际的工作方式,并没有那么严谨,比真正的如时钟中断并不是200毫秒才发生一次,时间间隔要小得多;再比如操作系统调度的是进程,不是程序,
2020年10月28日

漫画:烂代码传奇

新项目来了,大家很兴奋,有机会从头开始构建一个东西,是很难得地,于是仔细小心的设计架构,定下规矩和原则,约定大家都要遵守,刚开始时运转正常,平安无事。
2020年10月26日

漫画:从新手到老油条

高级程序员由于积累了很多的开发经验,他在任务估算是会比较谨慎,出发时身上装备了很多的工具,在执行时会采取很多预防性的措施,能检测到问题,并且很快找到解决方案,所以基本上按时完成了任务。
2020年10月23日

两个月薪10万的Lisp程序员

在《黑客与画家》中说他和同事用Lisp开发了一个网上商店:ViaWeb,非常成功,击败了竞争对手。后来以一大笔钱卖给了Yahoo,改名为Yahoo
2020年10月21日

漫画:程序员,你得熬过这最难的一天!

Windows各自又有一批忠实的支持者。IDE之战更是常见话题,Eclipse
2020年10月19日

中国程序员发明不了Node.js?

于是在7月份他退学了,买了一张单程票去了南美洲的智利(为啥?),没想到南美的7月份是冬天,把他冻得够呛,租了房子之后,手头就没啥钱了,饥寒交迫之下,前博士生Ryan开始在智利教英语赚钱。
2020年10月14日

漫画:JavaScript咸鱼翻身记

更多精彩技术漫画,尽在码农翻身
2020年10月12日

漫画:为什么C语言永不过时?

每门语言都有自己的特点和适用的范围,并没有什么高下之分。2.
2020年10月9日

漫画:如何才能搞定老板?

P(网络分区)其实是不可避免的,是必然存在的,只能在C和A之间做权衡,因为要实现高可用性(A),必然要出现冗余,有了冗余那就很可能会出现网络分区(P)。
2020年9月29日

漫画:兄弟,下班别走啊,一起填坑!

RPC的调用协议,数据的格式和次序也是自己定义的,现有的HTTP根本玩不转,那使用Netty就是绝佳的选择。一个更加知名的例子就是阿里巴巴的Dubbo了,这个RPC框架的底层用的就是Netty。
2020年9月25日

漫画:如何盗刷别人的支付宝?

one-time-password,如果你搜一下otp或者totp(基于时间的一次性密码),会发现很多的资料,这是个公认的可靠解决方案,已经被写入国际标准
2020年9月21日

我养了一只神奇的函数狗

这位大牛的名称非常有意思,世界上唯一一位其firstname、middlename和lastname同时都是计算机编程语言的学者,Haskell语言、Curry语言、Brook语言。
2020年9月19日

你屯的几百G电子书没啥用,删了吧!

我工作以后,很快就发现基础薄弱,于是暗下决心,三年内一定要把基础搞上去,但是计算机基础这么多内容,从哪里开始呢?于是我就把基础课罗列了一下,买了一批纸质书,日拱一卒,就这么看了下去。
2020年9月17日

不好!我中了美人计!

同样,没有类型继承使得Go语言中的对象用起来比C++或者Java更加轻量级。
2020年9月16日

漫画:兄弟,今晚又得熬个通宵了!

为了增加一点儿戏剧性,我给张大胖和何小瘦安排了一个悲惨的结尾,其实也不悲惨,他们俩拥有积极进取的心态,可以不断学习掌握新东西,并且能把事情做成,无论走到哪里都是有价值的人才。
2020年9月14日

五次面试,程序员的悲催轮回

“会,我会用Dreamweaver/FrontPage写HTML页面,不仅是文字,我还能在里边添加图片,JPEG,GIF的都行,比纯文字的漂亮多了。奥,不懂这些高深的技术名词啊,
2020年9月10日

我是如何纯靠「编程技术」在大学月入上万,收获人生第一个10W

不过亲身体会之后,我不建议你去上面做,为啥?因为上面的外包基本就是让你开发个小程序、APP、网页,这种一般少则几周,多则几个月的开发周期,太耗时间了,而且往往好多甲方经常变更需求,这就很恶心了。
2020年9月9日

漫画:量子计算为什么这么牛?

Ps:这篇文章开头的例子改编自一个Quora的问题,点击阅读原文可达。
2020年9月7日

如果现在只能用汇编和Goto编程......

表面看,这两项技术没什么大不了的,但是它们都降低了软件开发的复杂度,使得普通人也能参与到搬砖的伟大事业当中,这才造就了繁荣的软件编程行业和互联网。
2020年9月2日

谁说程序员不浪漫?!

不过,严格意义上来说不算夸,大家都知道优秀的程序员都是工作认真,干活拼命,还有加不完的班,有时为了赶项目进度,通宵或住在公司都是常有的事。
2020年8月25日

架构师劝退指南

随时准备好做一个演讲:总会有人问架构师问题,你也想快速地给出正确答案,这该怎么办呢?你可以把最重要的PPT挑出来,放在一起,随时展示并且给他们做展示,避免在一堆资料中找来找去,那样会浪费太多时间。
2020年8月24日

逃离Java多年,历经艰辛,他终于回家了

后记:这篇漫画讲述了小函数在三个王国的遭遇,在Java这个纯粹的面向对象的世界中,类是一等公民,函数是依附于类存在的,是类的奴隶;到了Python王国,函数们都摆脱了奴隶的身份,已经是一等公民了,
2020年8月18日

如何正确地向程序员提Bug?

如果你有好的想法和文案,也想改编成漫画分享给大家,欢迎和我联系:微信onlyliuxin97,稿费从优!
2020年8月17日

将来,你会成为这三种程序员之一

记者:码农翻身的朋友们,你们觉得这三位怎么样?你有什么想法?欢迎扫描下方二维码参与我们的实时互动!嫌麻烦的话直接在留言区留言也行,谢谢大家收看本期的《码农访谈》节目,我们下次再见!
2020年8月12日

开源是如何统治全世界的?

Stallman等人就发起了自由软件,最后发展成一场轰轰烈烈的开源软件运动,直接导致软件商业模式的改变:软件本身可以开源,但是更加专业的版本、服务、技术支持可以收费。
2020年8月10日

JavaScript最大的秘密

不知道JavaScript的创始人在10天里是怎么怎么想的,为什么会用原型法?我搜了一些资料,没有找到答案,很多都是讲Brendan
2020年8月7日

我终于实现了前辈的梦想!

如果你有好的想法和文案,也想改变漫画分享给大家,欢迎和我联系:微信onlyliuxin97,稿费从优!
2020年8月5日

干翻一切的王者语言到底是谁?

core要做的事情,别的语言和系统都能干,它想能吸引程序员从一个生态转移到另外一个生态,这是非常难的。
2020年7月29日

你们这些偷代码的程序员!

如果你有好的想法和文案,也想改变漫画分享给大家,欢迎和我联系:微信onlyliuxin97,稿费从优!
2020年7月27日

Nginx终于当上了霸主,但是降维打击来了

如果你有好的想法和文案,也想改变漫画分享给大家,欢迎和我联系:微信onlyliuxin97,稿费从优!
2020年7月23日

计算机系的同学应该有更高的雄心壮志

前些天有个计算机系的同学和我聊天,想在暑假做个人网站,博客之类的系统,我劝他说计算机系的学生(其实不止是计算机系,可以扩展到所有热爱编程的在校同学)应该有更高的雄心壮志,去挑战更有难度的东西。
2020年7月22日

我发现,我一直是站在巅峰啊!

张大胖不以为然嗤之以鼻,他认为除了在面试时会用到计算机底层的基础知识,别的地方根本用不到,工作中主要是实现业务,连个稍微复杂一点儿的算法都用不到。
2020年7月20日

我的年龄又快被5整除了......

换到什么地方呢?如果你的眼界已经足够宽,愿意挑战的话,可以到中小公司试一试,甚至去创业。那里的风险更大,但机会也更多。如果还没有,当然还可以去大公司,但别让自己真的变成一颗生锈的螺丝钉被钉死在船上。
2020年7月17日

程序员的宿命

如果你有好的想法和文案,也想改变漫画分享给大家,欢迎和我联系:微信onlyliuxin97,稿费从优!
2020年7月14日

哪有那么多BAT的逆袭?

这就是我这几年的工作经历,没有BAT的逆袭,我觉得做编程,这行还是要技术过硬,学历的确也很重要,本科选择权更高,未来发展更好,但是这些东西我改变不了,我只能提升技术来实现自己的价值,希望未来会更好。
2020年7月12日

芯片战争70年,真正的王者即将现身!

芯片行业战争更是是综合国力之争。芯片产业代表了当前人类科技的最高水平,也是人类社会重要的基础设施。芯片技术的产生与发展源自国家的科技、经济与社会积累,芯片企业的发展壮大离不开政府的保驾护航。
2020年7月6日

统治软件开发的著名定律,让你无处可逃!

context)来规划团队,像微服务这样的架构就是围绕服务边界而不是孤立的技术体系划分来组织他们的团队。还有伯斯塔尔定律(Postel's
2020年6月30日

局域网的战争,从夏威夷冲浪开始

转眼间10多年过去了,我希望用一种轻松的方式来传播计算机的基础知识,就像这一篇一样,希望大家能够喜欢。
2020年6月29日

历经60年,数据库的王者终于出现了......

列式数据库等也没有介绍,在数据库的发展历史中,一共产生了4位图灵奖获得者,文章中提到了两位,分别是开发网状数据库的Charles
2020年6月22日

软件开发就是“坑”

有趣且硬核的技术文章!
2020年6月18日

救命,Linux正在吃掉我的内存!

文章的内容参考了https://manybutfinite.com/post/page-cache-the-affair-between-memory-and-files/
2020年6月15日

干掉软件开发的超级怪兽:狼人!

这篇论文发表于1986年都柏林IFIP研讨会,几十年来,我们一直致力于用各种语言、工具、流程、方法来控制复杂度,但是正如漫画所说,我们还没有找到一个有效的银弹,这样的银弹会存在吗?
2020年6月11日

软件巨头卧谈会

Node.js:简单啊,执行下一个任务!但是,在执行之前,要给0x7954安插一个回调函数,等到数据库返回数据了,通知0x7954执行这个回调函数,处理返回数据不就行了!
2020年6月8日
2020年6月4日

抱歉,这个忙我帮不了

@Transactional,就可以自动实现事务呢?我怎么看不到学习JDBC的时候那些conn.setAutoCommit(false)
2020年6月2日
2020年6月1日

公众号看不到的东西,都“藏”在这里了

大家都喜欢看故事,因为轻松愉快,可是构思一个故事挺难的,得整一个吸引人的开头,一个转折有惊喜的结尾,还得把技术不着痕迹地揉进去,所以没办法每天都给大家推一篇故事或者漫画,望大家谅解。
2020年5月29日

为什么大家说Java落伍,Python太慢,JavaScript太烂,OOP已死

OOP,设计模式二三十年后依然不过时,依然是每个程序员都必须要掌握的基本思想。
2020年5月28日

HTTP Server : 一个差生的逆袭

我成绩不太好,典型的差生,四级补考了两次才过,被发配到了一个不知道什么名字的村庄,据说要处理什么HTTP请求,这个村庄其实就是一个破旧的电脑,令我欣慰的是可以上网,时不时能和死党们通个信什么的。
2020年5月27日

用费曼技巧自学编程,香不香?

“我们家有《大不列颠百科全书》,我还是小孩子的时候,父亲就常常让我坐在他腿上,给我读些《大不列颠百科全书》。比如说,我们读关于恐龙的部分,书上可能讲雷龙或其他什么龙,书上会说:“这家伙有
2020年5月22日

这才是程序员理想的工作!

你看到的漫画只是冰山一角,在公众号回复关键字“漫画”可以看到更多精彩文章
2020年5月21日

Java对Python的渗透能成功吗?

Java动态代理搞的事情。而Python等语言则灵活得多,在运行时想怎么改就怎么改。所以Java要想拿自己“静态”之矛去攻击Python的“动态”之盾,肯定会死得很惨。
2020年5月18日

坑人的“杀手”组织

如果你也“痛恨”这样的资料和文章:一上来就是技术细节,安装步骤、配置方法,让初学者晕头转向,不知所云,看完了以后也不知道为什么有这个东西,解决了什么问题,它有什么来龙去脉,
2020年5月13日

是谁拯救了数据库?

Gray于2007年1月28日独自驾船出海,去一个叫Farallon小岛洒他母亲的骨灰,不幸在外海失踪,直到现在也没有他的任何消息。
2020年5月8日

操作系统是个大骗子?

主要的原因还是资源太少,CPU只有一个,内存只有一份,但是人们的要求又太高,总是想“同时”运行多个程序,所以只好施加一点骗术了。但这恰恰是操作系统设计的精华所在,通过虚拟化来解决实际问题。
2020年4月27日

程序员的崩溃很简单

朋友给我推荐了一个叫做“微服务”的视频,讲了在极其复杂的微服务架构下,一个简单的需求就让程序员崩溃的故事,非常有趣。我把它翻译了一下,分享给大家,enjoy!
2020年4月23日

编程语言圣经(卷一)

那些支持类型声明的人很生气,他们自称为静态类型,并且对动态类型展开了强大的攻势:编译器查不到错误,IDE中代码提示弱,代码不好阅读,动态一时爽,重构火葬场......
2020年4月22日

不要和Java“结婚”

张大胖不以为然,他太喜欢Java了,喜欢Java那严谨的语法,优美的Lambda表达式,漂亮的注解,无所不包的类库。还有,一个简单的单例模式用Java都有七种写法!这是其他语言根本无法比拟的!
2020年4月20日

漫画:什么是Linux管道

眼尖的同学可能已经看出来了,文章的最后三幅图来源于《Unix环境高级编程》,它和《Unix网络编程》一样,都是值得放在案头,随时翻阅的好书。
2020年4月16日

微服务把我坑了!

经过几个月的996的开发,微服务改造过的系统隆重上线,各种新技术在其中闪闪发亮:服务发现,负载均衡、网关、故障转移,最终一致性,链路跟踪,日志分析,契约测试,docker,
2020年4月13日

扫地僧回来了

虽然我们现在极少用汇编来编程了,但是理解他们对于理解计算机的底层知识还有极大的帮助。
2020年4月9日

操作系统没啥用,不用学了

操作系统很无奈,又拿起内存映射的资料和写时复制的资料,说到:Kafka在消费消息的时候会用到零Copy,很多Web服务器(如nginx)利用sendfile来实现文件快速发送,
2020年4月7日

写文档没啥用,别写了!

我觉得一个项目的文档没有必要写得面面俱到,事无巨细,那样确实费时费力,但是有几类文档是必不可少的。首先是需求文档,一般是Use
2020年4月3日

程序员,你得选准跑路的时间!

原文链接:https://www.zhihu.com/question/365343579/answer/967299388
2020年3月31日

两个程序悲催的进化旅程

后记:用这个漫画是想讲述进程、线程、协程这些基本概念的来龙去脉,为什么会出现这种技术,解决了什么问题。其实计算机发展到今天,本质上没什么变化,就是计算能力越来越快,存储能力越来越大。
2020年3月25日

曾经废寝忘食学到的技术,现在都没用了......

我:是啊,时间证明了一切,C和Linux太重要,我后来才意识到你们的好处,能让我对系统级的东西有更深的理解,对学习OS,网络编程都有极大的帮助。《深入理解计算机系统》这本神书,通篇用C和汇编来描述,
2020年3月23日

面向需求编程才是常态,聊聊我的经历

server中才能测试,并且只能手工测试,费时费力,我当时就想能不能像Junit那样写好脚本,然后自动化地去测试啊,把这个想法给Leader说了,他非常支持,就按照这个想法去实现,
2020年3月20日

朋友送了我一个会编程的机器人,说程序员可以下岗了!!!

多年前我在看《敏捷软件开发:原则、模式与实践》这本书的时候,发现其中有一章,讲的是《源代码就是设计》,让我印象深刻,我把这个概念借了过来,让机器人认为:源代码才是精确的、没有歧义的文档,
2020年3月17日

畅销25年,销售百万册,这本神书和背后的软件大神

在微软做的第一项工作就是Monaco,一个用JavaScript实现的编辑器,在浏览器中运行,可以看出Erich还没有离开他的老本行:编辑器和IDE,只不过编程语言从Smalltalk,
2020年3月16日

隔离做得好,谁都没烦恼!

你看到的漫画只是冰山一角,在公众号回复关键字“漫画”可以看到更多精彩文章
2020年3月12日

一次地狱级面试

https://www.pythonforengineers.com/the-programming-interview-from-hell/
2020年3月9日

我觉得有不少人被Spring带着跑偏了!

我不清楚为什么这个项目能获得这么高的star数,如果大家真的觉得这个项目质量好,那就太可怕了。我更倾向于相信很多人觉得这个项目有用,改一改就能当毕业论文,或者当简历中的项目经验吧。
2020年3月6日

如何获得关系数据库王国的永久居住权?

范式化消除了数据的冗余,不会产生数据的插入、修改、删除的问题,但需要提醒大家注意的是,完全范式化,和完全的反范式化都是不切实际的,在真实的项目中不会非黑即白,经常需要混用,比如漫画中订单表的例子。
2020年3月4日

如何降低程序员的工资?

搞点公司聚会,周五啤酒日,打打保龄球,给员工过生日,用这些方法让他们觉得公司就像他们的家庭一样。既然已经在家里了,讨论工资不妥吧?升值加薪就像是对家庭价值观的背叛,程序员们是不好意思这么做的。
2020年3月2日

那些神一样的程序员

使用ex这个“趁手”的工具,很快就把Thompson留下的“烂摊子”Pascal编译器给收拾好了,新的Pascal编译速度很快,运行起来也很快,深受学生们的喜爱。
2020年2月28日

找对“关系”后,办事果然轻松了!

关系数据库支持范式,支持数据的完整性,更重要的是:支持事务,这一点能极大地降低应用程序开发的工作量,要是每个程序都需要考虑事务,我估计程序员会疯掉。
2020年2月27日

为什么大多数人永远不会真正成功?

久而久之,就越来越喜欢那些轻松的、不用思考的文章,喜欢算法根据个人爱好的推送,被算法“饲养”是挺可怕的事情,必须得改变,去挑战困难的事情,去学习和成长。
2020年2月20日

抱歉,我觉得程序员副业赚钱并不靠谱

录制课程和写付费专栏,看起来不错,但是如果你没有丰富的实战经验,没有一定的知名度和影响力,很难吸引粉丝来听你的课,看你的文章。投入很多时间录制的视频可能就打水漂了,没人看,广告费自然也赚不到。
2020年2月18日

笨蛋!连0.2这么简单的数字都搞不定!你被炒了!

这个存储格式略为复杂,但其不能精确表示十进制小数的本质是不变的。想要了解存储细节的同学可以参考这篇文章《看完这篇文章,你一定理解什么是浮点数了!》
2020年2月17日

当15年的老司机遇到烂项目、烂代码时,他会做这5件事!

我不反对技术上的追新,但是同样的,这里的问题是:他们对于大手术的风险和副作用,对如何避免重蹈覆辙用新技术架构做出另一个烂项目,没有把握也没有深入思考的,只是盲目乐观的认为新技术能带来成功。
2020年2月13日

这才是JavaScript的本质!

时间久了,我就觉得很奇怪,公司似乎只有我一个打工的,Netscape老板立的规矩很奇葩:所有的JavaScript代码,不管有多长、多复杂,都由我一个人一行一行地执行。
2020年2月10日

被拆分的身份证

后记:我最早开始学习计算机网络的时候,不太理解为什么网络是“分层”的,因为在我看来,这明明就是把数据不断地打包,不断地拆包嘛。就像这副漫画所画的那样:应用层的数据被放入到TCP的箱子中,
2020年2月5日

我写公众号这1460天

这4年一共写了520篇原创,每篇技术故事和漫画都需要翻阅多方资料,精心构思故事,融入技术,真是累死了不少脑细胞。我老是觉得,写文章的过程就像一个在地里弯腰辛苦劳作的老农,一滴滴的汗水落地田地里。
2020年1月20日

一位程序媛妹妹的半年成长总结

这一次非常深刻提醒了我,开发前要主动思考需求,甚至说在某些时候细节的考虑要做得比产品还充分,做之前和产品充分交流,随时提出问题,解决问题,开发前是万万不能少了思考的,要培养自己产品思维。
2020年1月14日

讨厌的人类居然让我们掷骰子,这实在太难了!

Linux老大:其实不是真正的掷骰子,是生成随机数,随机数在我们计算机里用途极为广泛,生成密钥,进行通信,生成盐(salt)......
2020年1月13日

上帝托梦给我说:一切皆文件

当然“一切皆文件”也不是完美的,因为不同的设备是有差别性的,“文件”这个抽象层次比较高,只能提供最基础,最通用的方式来操作文件,这也是抽象所要付出的代价。
2020年1月8日

硬盘太慢!内存太慢!网络太慢!全靠我来拯救!

由于网络情况复杂,如果客户端离服务器比较远,网速慢,体验会很差;海量的用户给后端服务器带来巨大压力,所以CDN就采用了就近访问的方案:
2020年1月6日

十年,两次实习

当时系统有个任务,需要做一个自动化的部署脚本,由于项目的特殊性质,没办法用市面上的通用工具,只能自己在AIX上开发,这对她来说是一个完全没有接触过的、全新的开发环境,有不小的挑战,就让她去做了。
2019年12月31日

世界上最牛的网络设备,价格低廉,其貌不扬......

如果你关掉我的路由功能(各个路由器具体做法不同),我就可以变成一个交换机,在数据链路层来转发同一子网内的数据包。我本身还有简易的防火墙,具体细节就不说了,你自己可以登录到路由器的管理端去看看。
2019年12月30日

为什么HikariCP是性能最好的数据库连接池?

https://dzone.com/articles/jooq-tuesdays-what-it-takes-to-write-the-fastest-java-connection-pool
2019年12月27日

我是一个内向的人,也是一个不善交际的人

而且根据邓巴数字定律,大多数人最多只能与150人建立起实质关系,不可能比这个数字多出太多,就像人类无法在水下呼吸、两秒半内跑不完百米、用肉眼看不到微波那样,你每多见一个人,它的成本是固定的。
2019年12月20日

我们都是抛石机程序员

冯·诺依曼是个伟大的天才,他不仅是现代计算机和博弈论的重要创始人,还在数学,量子力学,经济学等领域有重大贡献。
2019年12月18日

每个程序员都应该挑战的6个项目

第三,你会学会如何处理用户的输入,我之前从未注意过按下,按住,释放一个按键或者鼠标的细微差别,更不用说处理双击操作了。另外你多久检查一次用户输入?如果一直检查,那游戏的其他部分就被冻结,无法工作了。
2019年12月17日

记住这两幅重要的图

这里可以开一个脑洞,如果硬盘的速度和内存的速度一样快,并且可以持久化存储,不会像内存一样断电以后数据就丢失了,那我们的电脑和系统会变成什么样子呢?
2019年12月16日

Hello World的秘密

但是Unix提供的系统调用是sbrk,只会按照字节数增加或减少进程地址空间,这对应用程序来说是不够的,这时候C函数库的封装函数malloc就可以发挥作用了。
2019年12月12日

我能够快速读书的秘密:主要靠“猜”!

当然,由于每个人的基础不同,可能刚开始读书的时候提不出问题,或者提不出有价值的问题,这时候可以去直接看具体内容,但是不能放弃思考:这个技术点是要解决什么问题的?是怎么解决的?
2019年12月11日

为什么Python赢了,别的语言都干嘛去了?

Pavel告诉Jim,有一门叫做Python的语言,非常的酷,用Python编程就像用自然语言一样,Python就像是可执行的伪代码,当程序员想快速地分享想法时,使用Python最合适不过了。
2019年12月9日

字节码万岁!!!

引擎最初是把JavaScript编译成了机器指令,后来发现了一些弊端,转而使用了字节码。这就激起了我的好奇心,又去看了一下别的语言,发现真是不得了,大部分的语言都采用了字节码的实现方式,Java,
2019年12月4日

我到Python虚拟机里逛了一圈,回来就被干掉了!

0x7954执行完一条STORE_FAST指令以后,居然停了下来,我心中大喜,Account.class告诉过我,一旦停下来,那就是程序员要调试了,他们的一秒是我们的十多天,将会有个漫长的假期。
2019年12月2日

一直996,一直CRUD,我烦透了,我要转型!

这篇文章本来是想写一个技术管理者的特点,没想到写着写着“跑题”了,其实也不算跑题,只是就技术管理者的一个特点——快速地学习能力——展开了,最终单独成了一篇文章。
2019年11月28日

悲催的中国式项目开发

李总说:“会后你去找XX科的老张,XXX科的老方,别以为我什么都不知道,这个系统已经存在了,你们只要稍微改改,再弄个App就行。下月初上线啊!能不能干?不能干我找别人啊。”
2019年11月25日

去死吧,你这个Python异教徒!

后记:这是个老段子了,它的模式来自于一个经典的宗教相关的笑话,我在网上搜了一下它的起源,最早是在2005年的一个关于宗教的笑话征集大赛中出现,想看的话只要搜一下"Die,
2019年11月20日

我是世界上最重的编程语言,100斤!

还是那句话:世界上没有最好的语言,只有最适合的语言。每个编程语言都有自己的适用领地,找不到一个通用的算法测试出来哪个语言最厉害。
2019年11月18日

Linux的修炼之道:从小工到专家

在Linux上做开发和在Windows上的体验不同,这里通常没有一个强大的IDE。大部分时候,你的工具链是一系列的小工具,你需要在shell中把他们“连”在一起。
2019年11月13日

这个世界根本没有什么面向对象!

仔细看看上面这张图,在内存中,三个方法和两个对象是分开的,这里没有Class的概念,多态是通过虚函数表实现的。如果我们写程序的时候,写下这样的函数Shape_draw(),
2019年11月11日

两年,我学会了所有的编程语言!

另外,学完了一门新语言以后,如果项目中用不到,是无法熟练使用的,也有可能很快忘记那些语法,因为编程确实需要不断的练习,尤其是项目的历练,从这个意义上来说,学习并理解那些基本概念会更加重要。
2019年11月5日

技术人员需要“巴结”领导吗?

这个小伙子是个极端的例子,但是我觉得他挺上进的,从他的提问中我能看出一个新人加入项目面临的问题和困惑,这也是以后应该改进的地方。他对新技术也很热衷,吃饭时和我讨论起来,也会让我学到新的东西。
2019年11月4日

内存老弟,这才调用两层函数,别晕倒啊!

理解了函数在最底层的表示,你就能轻松理解递归是怎么回事,不就是把一个个栈帧压入到栈中吗?调用结束在一个个地弹出,还能理解那个“时髦”的名词:尾递归,其实就是复用同一个栈帧。详情可见《张大胖学递归》。
2019年10月29日

一次成功的黑客欺骗攻击,没想到结局如此悲催

张大胖没声好气地说:“别提了,小黑的电脑玩不了游戏,到隔壁宿舍一转,就知道游戏服务器好好的,自己是被黑了,然后就把我从床上拉起来揍了一顿......”
2019年10月28日

这个奇葩的语言,代码写完后连作者自己都看不懂了!

注视着他的背影,心中感慨,这个Forth是一个老兵,他和Lisp一样,那种“古怪”的表达方式对广大程序员来说都不太友好,想流行起来很难啊。编程语言就是这样,没有完美的东西,有所得必有所失啊。
2019年10月24日

短短三个月,我的GitHub开源项目已经有21.2k的star了!

用这篇漫画,我想表达的是没有必要为了GitHub的星星数而跑偏了。在上面分享电子书,面经之类的东西并不能证明程序员真正的能力。
2019年10月22日

内存里都装了些什么?

那是因为你写的程序主要在应用层,离底层比较远,不用考虑底层这么多细节,这也是我们软件行业的特点,不断地做抽象,不断地做隐藏和隔离。
2019年10月20日

为了爱情,我发明了一个算法

“就是把要发送的消息转换成一个巨大的二进制数,然后用咱们俩协商好的二进制数字去除,并从中得到余数。把这个余数当成校验和,与消息一并发送。你收到以后也用同样的除法除一下,验证校验和就行了。”
2019年10月18日

这个游戏太难了,我花了15年功夫,还没有通关!

发现市场需求(也可能只是一个自我感觉良好的点子),和公司业务不符,或者公司不愿进入,自己想实现最大价值,横下一条心:还是自己干吧!
2019年10月14日

相声:CPU和内存是怎么一起“鬼混”的

但是,仅仅是完成简单的计算对于人类来说还远远不够,CPU还必须得具备和外部的I/O设备打交道的能力,这是通过中断的方式来完成的。通过中断,CPU才可以和网卡,磁盘它们进行通信,具体的细节下次再讲。
2019年10月8日

C语言这么厉害,它自身又是用什么语言写的?

虽然这个XCodeGhost和Thompson的后面相比差得远,但是提醒我们,下载软件的时候要走正规渠道,从官方网站下载,认准网站的HTTPS标准,甚至可以验证一下checksum。
2019年9月27日

当世界上只剩下最后一个Java程序员

看来用自然语言描述逻辑还是挺啰嗦的,还是用脑电波编程吧,带上一个头盔,你想到了什么,立刻就可以在软件世界中创造出来......
2019年9月25日

为什么面向对象糟透了?

C语言说:“他说得很有道理啊,函数是实现算法的,就像一个黑盒子,只要理解了它的输入和输出,就理解了它的功能,而数据结构呢就是单纯的‘声明’,为什么要把他们绑在一起呢?”
2019年9月23日

一件程序员必备武器的诞生

今日GUI大臣上奏,说帝国子民抱怨运行速度慢,这一点Java国王也没有好办法,解释执行嘛,肯定比不上编译好的程序,不过Java国王已经下令去研发HotSpot了,等到儿子即位就会大有改观。
2019年9月18日

一位“坑人”的编程大师

看到这儿的都是铁粉,咱们再多说几句,这篇漫画提到的是高效率的程序员,其实业界有一种10x程序员,甚至100x程序员的说法,这种厉害的程序员,我还没见过。
2019年9月17日

我是高级程序员吗?

张大胖说:“这我理解,就是这个人发出的声音会被大家倾听,被大家信服。我发现我的组中有几个人,每次讨论的时候只是带着耳朵去听,坐在哪里一声不吭,还有个爱发言的,但是经验和技能都不够,
2019年9月12日

我每年得忽悠10万程序员上车

这部电影由黄渤和高虎主演,讲述他们俩到北京打工闯荡的故事,电影中高虎在北三环上开着302路公交(没错,就是农展馆到巴沟村),黄渤操着一口青岛话招揽顾客:上车了,走吧!
2019年9月11日

为什么你的需求估算老是翻车?看看这个故事就明白了......

我慢跑45分钟到了Pescadero,带回一些邦迪来拯救我的队友。回来的时候,太阳已经落山,精疲力竭的我决定结束今天的行军。虽然只前进了6英里,但有了新鲜的补给,我们坚信明天可以赶上落后的进度。
2019年9月6日

全球最大同性交友平台的“黑历史”

GitHub,意识到它特别适合全球程序员在开源软件的协作,相比原来的SourceForge,只能通过邮件的方式来发送补丁,相互沟通,再由项目负责人合并,这是一次不折不扣的革命。
2019年9月5日

用你的技术能力赚更多的钱

这一句话把我给点醒了,是啊,我钻研了这么多技术,这几年的工资好像也没涨多少。有时候和同事聊起来还对销售的高工资(提成)愤愤不平,觉得软件是我们开发的,我们的收益反而这么低。
2019年9月2日

纪念一位大师中的大师

这些书都是上世纪90年代写的,那个时候互联网还没有普及,大家基本上都是做一做网页,在应用层编程,能够用Unix,Socket在系统级编程的人凤毛麟角,资料也少得可怜,Richard
2019年9月1日

抱歉,软件开发不是你想的那样

在处理它们的时候得战战兢兢,只有经验非常丰富的老家伙才能游刃有余地在其中来回游走。但是作为新人,你必须得迈过这一关。建议你看看这篇文章《没有文档,没有老员工讲解,悲催的新人如何快速熟悉一个新项目?》
2019年8月30日

自从我学了Rust,就开始了受虐之旅,连编译都没成功过!

张大胖无语了,这家伙的目标是要替换C/C++,自己也写过不少C代码,由于内存问题,不知道搞垮过多少个程序,悬空的指针就像幽灵一样到处飘荡,无踪可循,然后在一个未知的地点,未知的时刻突然爆裂。
2019年8月27日

VS Code为什么能这么牛?

其次这是一个基于JSON的协议,JSON可以说是最易读的结构化数据格式了,大家看看各个代码仓库里的配置文件都是啥格式就知道这是个多么正确的决定了,现在还有人在新项目里用XML吗?又一次——“简单”。
2019年8月22日

想找到女朋友,你得掌握这些算法

算法在生活中无处不在,如果你也有不错的例子,欢迎在评论区分享一下哦!
2019年8月19日

一个30岁男人转型码农的平凡之路

公司内部群里有一个共同维护着的客户资源库,那里面大大小小的公司有八百多个吧,但真正有稳定可观销售额的客户是个位数,而且大都是在老板自己手里捏着。留给销售人员的,就是一些“路人甲路人乙”之类的客户了。
2019年8月15日

她刚来,我就失宠了

后记:这篇文章的idea来源于《计算机网络:自顶向下的方法》第5章的一个综合例子,“码农翻身”用漫画的方法又重新解读了一下,希望大家能够喜欢。
2019年8月12日

帝都搬砖四年,我决定回老家考公务员

入学不久的某个晚上,我站在学校旁边的过街天桥上,看着下面马路上的车水马龙,灯光汇聚成了一条流淌的河流,而马路两边的高楼灯火辉煌,说不出的繁华。那时的我暗暗做了一个决定:我将来一定要留在北京!
2019年8月11日

这4种难学又“没用”的语言!

Raymond说得好:Lisp之所以值得一学是基于另外的理由——当你最终掌握了它的时候,你将会获得巨大的启迪。它将使你成在今后为一个更好的程序员,即使你实际上很少使用LISP本身。
2019年8月9日

Google下的这盘“小”棋

Google是在下棋吗?我也不知道,我能看到的这家公司把重要的点都给占住了,实在让人佩服。估计在相当长的一段时间内,都会对后端开发产生重大影响,甚至占据统治地位,大家可以关注一下。
2019年8月7日

垃圾面试官让我回去等通知!

按照我的计划,以后每周至少会发送一篇技术漫画,感谢大家的支持!
2019年8月5日

我是一个交换机,集线器你一边呆着去!

后来我们几台电脑发现了集线器的秘密,实际上它根本不懂得网络协议这一套东西,它不懂得MAC地址,IP地址,数据帧,IP包,对它来说,就是0和1这样的二进制流。
2019年7月31日

漫画:HTTP之大明邮差

由Google开发的实验性协议SPDY发展而来,实际上Google还提出了传输层协议QUIC,在此基础上提出了HTTP
2019年7月29日

Lisp的“失败”就是由于它太成功了

Lisp真的失败了吗?No!Lisp的思想已经进入到了现在主流的语言中,无论是Python,JavaScript,甚至Java都具备函数式编程的能力,还有像Scala这样既能OOP,又能FP的语言。
2019年7月22日

硬盘就是一个旋转餐桌!

你可能明白为什么机械硬盘这么慢了,因为我们读取(或者写入)一个数据的过程太复杂了,因此消耗的时间也就长很多,具体时间包括寻道时间(伸胳膊时间)、旋转延迟(转餐桌时间)和传输时间(夹菜的时间)。
2019年7月16日

漫画:我才是世界上最好的编程语言!

很多读者都说码农翻身的故事很有画面感,把我写的技术故事变成漫画形式,一直以来也是我的愿望,但是这种漫画不好画,因为除了能画画之外,还得懂技术。
2019年7月11日

微服务之赤壁大战

诸葛亮:“曹操百万大军看似很多,其实都是纸老虎。你想,曹军大部分都是收编其他势力,比较杂乱,什么Python、JS、PHP、Ruby、C++,这些人在一起,相互之间无法配合,战斗力要大打折扣的。”
2019年7月8日

讲一点分布式的基础知识,图解!

这是个非常麻烦的问题,把问题抽象一下:这相当于在一个分布式环境下(通常有着不可靠的网络),各个节点要达成共识:同意一个节点当老大。
2019年7月5日

JavaScript会是Web开发的未来吗?

大家一致表示:早就看JavaScript这小子不顺眼了,一定想办法把它“干掉”。为了取得最大的共识,会谈并没有定义一套新的运行在浏览器中的高级语言,相反,大佬们定义了一套Web时代的汇编语言。
2019年6月24日

看问题要看到本质:从Web服务器说起

程序员很高兴,只需要写简单的Servlet就行了,HttpRequest和HttpResponse对象由Tomcat来创建,可以从HttpRequest中获得Header,
2019年6月21日

从这个角度,我终于理解为什么需要Kafka这样的东西了!

Kafka出现了,它也是一个消息队列,但是它能保存很长一段时间的消息(因为在硬盘上),队列中每个消息都有一个编号1,2,3,4....
2019年6月17日

有这么一个软件大神, 他很少谈论操作系统、网络、高并发、海量用户......

Fowler做了很多年的ThoughtWorks首席科学家,ThoughtWorks是敏捷软件开发践行者和领头羊,记得他们最早是做定制的软件开发,就是给客户开发项目软件,
2019年6月13日

If语句:你们到底想把我放到哪儿?

Spring接管了对象的创建,不用在应用代码中写if语句创建对象了,但是在业务逻辑中,if语句还是跑不掉的,我下次再说说发生在那里的故事吧。
2019年6月11日

升职是个陷阱

《楚门的世界》是一个很不错的电影,述了楚门是一档热门肥皂剧的主人公,他身边的所有事情都是虚假的,他的亲人和朋友全都是演员,但他本人对此一无所知。最终楚门不惜一切代价走出了这个虚拟的世界。
2019年6月10日

MySQL:硬盘在24 * 7工作中罢工了,我该怎么办?

“这你不用担心,张大胖昨天已经给你做了一个快照,他把快照已经复制到了那两个小弟那里。接下来你只需要把今天早上产生的新的数据发过去就行了。”
2019年6月3日

你这辈子可能都不需要看《计算机程序设计艺术》了!

我在大学的时候并不知道《计算机程序设计艺术》(简称TAOCP)有多牛,他的作者有多牛,人家计划写七卷,写了三卷以后,图灵奖的评委们就“迫不及待”地把图灵奖版给他了。
2019年5月30日

我发现一个新的软件,用自然语言编程!非常酷!

“可以这么说,你看,这DSL是不是很有用,可以让我们抛弃细节,在一个更高的层面的编程,能极大地提升编程的效率。RoR刚诞生的时候,号称比Java编程快10倍呢!”
2019年5月27日

为什么“无人问津”的Lisp可以这么狂?

Lisp懒懒地说:“没兴趣了解,理论上计算能力是等价的,但并不代表在语言层面的表示一样,比如说,在我这里非常自然的函数式编程,在你们那里看起来就很别扭,是不是啊Java老弟?”
2019年5月23日

可能是全网最高的稿酬?速来!

当然,能拿到稿费的前提是能在码农翻身公众号标记原创。如果你在自己的博客上发过,需要给我一个独家授权,要不然会有人投诉。
2019年5月17日

机器学习能革了数据库索引的命吗?

最后一层为有序的数据页,每个页包含指向下一个数据页的页号(也就是地址),这里假设一条记录占据一个数据页,那么第一条记录在1号数据页,第二条记录在2号数据页,依次类推。
2019年5月13日

激烈竞争的时代,哪些能力可以帮你脱颖而出?

现在自媒体兴起,微博,微信公众号可以让你近距离接触到牛人,大V,和他们进行互动,看到他们日常的所思所想,甚至能直接加到他们的微信,直接进行交流。
2019年5月10日

为什么996工作制只提互联网公司,其他行业没有吗?

而开发行业,公司接项目或者自己开发项目的时候,是以项目为单位计算成本和收入,但是给工作人员的工资是以“有效工时”来计薪的,有一些会有项目奖金的也是少数。
2019年4月30日

邪恶的Java帝国是怎么欺负小函数的?

这是一个运行在JVM上的Lisp方言,小函数看到Clojure似乎就看到了自己在Java帝国悲惨的遭遇。不过Clojure告诉他,Java第8代国王已经登基了,年号定为Lambda,
2019年4月28日

四次面试:程序员越来越悲催了

“会,我会用Dreamweaver/FrontPage写HTML页面,不仅是文字,我还能在里边添加图片,JPEG,GIF的都行,比纯文字的漂亮多了。奥,不懂这些高深的技术名词啊,
2019年4月26日

必须要裁掉那些老家伙

“你还真不糊涂,他们都是直接给你创造价值,创造利润的。不过也是,工作了10多年,要么是走上了管理岗位,有资源有人脉;要么是成为了技术专家,有了技术有影响力,最怕就是高不成低不就,那就危险了。”
2019年4月24日

为什么学编程要从Web开始?

Web开发分为前后端,前端包括HTML、CSS和JavaScript等,后端包括Node.js、JAVA、Python、PHP、Ruby等。如果你想做一个静态网站,只需要学习前端技术即可。
2019年4月22日

Z语言传奇

编程的关键根本就不是编程语言,而在于背后的思想,能不能分层,抽象,分而治之,能不能把变化的部分和不变的部分给隔离开,能不能让各个功能独立地变化和扩展,
2019年4月17日

我建议你了解一点儿Serverless

如果没有人访问你的应用,就不要部署它,这样只会占用一点点存储空间,不用使用CPU和内存;如果有人访问,把应用部署到某个服务器上,执行这次请求,返回给用户,然后卸载这个应用。
2019年4月15日

计算机基础知识的最小集合

最后想说的是,不能带着特别功利的目的去学习这些基础,不能想着立刻、马上就应用到实战中,从中获益。更重要的理解掌握它们背后的思想,有一天你会发现:奥,这个问题我在哪里见过,可以用类似的办法来解决啊!
2019年4月12日

程序员的宿命

工期一下子就变成了原来的一半,张大胖心中叫苦,但是毫无办法,和另外几个兄弟没日没夜地干活,根本顾不上什么代码的质量,心里安慰自己说下一个版本再改吧。
2019年4月10日

我逛了一下JDK一条街,发现了不少好东西!

JDK12,13,14,15,16全是半年一发布的短期版本。还有啊,即使是长期支持版本JDK11和将来的JDK17,你们也只是免费支持6个月啊,
2019年4月8日

图解:从单个服务器扩展到百万用户的系统

你去过游乐园吗?你是否走到售票柜台去买票?也许不是这样,可能是排队等候。政府机构、邮局、游乐园入口都属于并行概念的例子,多个售票亭同时售票,但似乎也永远不足以为每个人立即服务,于是队列形成了。
2019年4月4日

为什么中国没有诞生世界流行的编程语言?

美帝的IT行业雄霸全球,引领世界潮流,基础软件像操作系统,数据库,编译器,网络协议栈都是他们搞出来,技术实力超强,他们是新技术的发源地,编程语言层出不穷也很正常。
2019年4月3日

码农们的聚餐,会复杂到什么程度?

他们说:“刘瘦子,我们很想答应你,可是,我们已经答应吃火锅的建议了,不能再变了,但是,为了表示对您的尊重,我们以后就认定确定吃火锅是得给我们介绍4位女生。”
2019年4月1日

什么是财务自由?

但还是那句话:时代在不断变化,并且变得越来越快,现在的赚钱模式过了几年也许就玩完了,比如说写公众号,有了流量,有了广告,收入还不错,但是你敢说再过五年,还能如此吗?必须得不断地调整,适应变化才行。
2019年3月31日

我是一条内存

,由于这些电容不能持久地保持电荷,我得定期地去刷新,如果不及时刷新,那些0和1的数据就会丢失,这将是极为严重的事故,主人就会把我从主板上拔掉,用另外一个家伙来替换我,决不允许这样的事情发生!
2019年3月26日

我的梦想是十年内成为架构师,该怎么办?

“软件架构师自身需要是程序员,并且必须一直坚持做一线程序员,还需要承接编程任务,如果不亲身承受因系统设计而带来的麻烦,就体会不到设计不佳所带来的痛苦,接着就会逐渐迷失正确的设计方向。”
2019年3月20日

分布式系统的“流言蜚语”

假设你有一个集群,这个集群中有上千台服务器,现在客户对服务器A上的一个数据做了改动,你想让这个改动迅速地传遍整个集群中的服务器,换句话说,让这些服务器的数据都达到一致性的状态,
2019年3月18日

无责任书评:每个Java程序员都应该深入理解Java虚拟机!

这本书体现了周志明的深厚功力,把JVM的很多知识讲得深入浅出,有很多也是面试之必备。例如Java虚拟机的运行时数据区域,对象的内存布局,垃圾回收算法,性能调优,代码优化,Java内存模型等等。
2019年3月14日

统治软件开发中的著名定律

相反,提高编程效率、审查软件开发方法和技术架构是否合理,几乎总是会比增加人力带来更好的效果。如果没有,这可能意味着霍夫施塔特定律在起作用。
2019年3月12日

为什么Python不用设计模式?

吉森被送回Java王国,成为了人们心目中的英雄,回家他仔细对比了Java和Python,在Java虚拟机上把Python语言给实现了!国王为了表彰他的英勇事迹,把这个语言叫做Jython。
2019年3月11日

技术菜鸟如何开始写作?我写了一段时间,感觉没有一点阅读量,怎么办?

我只会用故事讲技术,这在微信公众号时代就很吃亏,因为公众号文章基本上是看过就可以扔掉那种,没人看历史文章,没人搜索(不信你看微信公众号的搜索功能隐藏得多深)。
2019年3月8日

Spring WebFlux 要革了谁的命?

看到国王不说话了,老头儿继续说:“你们得建立变量tax和变量salary之间的关联,让他们像Excel一样,一个单元格的值变了,Excel的公式自然会更新另外一个单元格,让它随之变化。”
2019年3月4日

我在知识星球这一年

我一直在说,无论看多少文章,专栏都很难变成自己的内在能力,还是要去刷题,可以和球友@吾是峰子一起组队刷Leetcode,他已经立下flag,今年要刷300道题。
2019年2月28日

Spring:一个Java框架15年的演化

Johnson,其实在写这本书之前,Rod已经是一个知名的Java架构师了,还是JSR154专家组成员,负责定义Servlet2.4规范。
2019年2月27日

Java帝国对Python的渗透能成功吗?

IO大臣赶紧为君主分忧:“陛下,现在群雄涿鹿,八分天下,边境战火连年不息,陛下不仅维持住祖宗的基业,还有不小的扩展,已经是一代圣主了,不过多年征战,民力维艰,老臣有一计,也许能换来奇效。”
2019年2月25日

当你在纠结学Python还是Java时,大二学生已经开始造编程语言了!

https://withas.me/2019/02/the-feeling-of-making-an-interpreter/
2019年2月22日

没有AST, IDE中的错误提示、自动补全、重构、语法检查......都玩不转了

使用正则表达式,只能把JavaScript源代码当做文本来处理,能力很弱,无法触及到JavaScript的语法层面,正则表达式没法知道这个地方是变量,那个地方是函数名.....
2019年2月20日

C语言:春节回家过年,我发现只有我没有对象!

奥,你是说面向对象编程吧!其实吧你亲爹把你设计出来,主要是做系统级编程的,要的是贴近硬件,要的是效率,要那复杂玩意儿干啥?中看不中用,再说了,你和Go一样,不是有struct吗?
2019年2月12日

我是一个Bug, 终极大Bug

每个Bug想要在系统潜伏,都需要有个介绍人,这个介绍人就是程序员,他们的名字会出现在源文件当中,有些人还会写点注释,描述这次改动的目的,通常都是驴唇不对马嘴,
2019年1月28日

无责任书评:《深入理解计算机系统》这本神书到底好在哪儿?

(强势插播一则广告,老刘的知识星球18年搞了一个死磕《深入理解计算机系统》的活动,采用对赌的办法,每个阶段交100元赌资,要求每周输出读书笔记,完不成的就出局,赌资发红包,完成的到期返还100元。
2019年1月24日

Java能抵挡住JavaScript的进攻吗?

线程大臣马上开始拍马屁,与此同时,巧妙地把矛头转向老不死的IO大臣:“我Java帝国在第4代国王的时候就出现了非阻塞IO,这么多年过去了,居然还没发展出类似Node.js的系统,实在是不应该啊。”
2019年1月21日

自己不付出努力的话,就别指望别人帮你了!

Overflow啊),后来发现,这些问题,身边没几个能问的,怎么办,想到的办法就是加各种技术交流群,记得当时加了很多交流群,可是每次遇到问题,去这些所谓的交流群去咨询,通常情况下都是没人鸟你。
2019年1月18日

看看你处于哪一层?

在这一层工作,关注点是如何更好更快地实现业务需求,及后续的变更,所以要有面向对象的设计,设计模式,敏捷开发,持续集成,持续交付,DevOps,领域驱动开发,TDD,
2019年1月15日

旺财和小强的三生三世

STM老头儿说:“不错,想得挺深,你说的这些操作,我把他们叫做副作用,不能重复执行,不能放到atomic代码块中让STM管理。换句话说atomic中的代码应该是幂等的。如果违背了这一点,后果自负!”
2019年1月14日

没有文档,没有老员工讲解,悲催的新人如何快速熟悉一个新项目?

如果说站在整个业务的本质上看,业务无非就是一堆代码运行在一堆机器上。那么站在单个项目来看,一个项目无非就是对数据库的增删改查操作而已,或者从使用者的角度看,一个项目就是输入一些参数得到一些返回结果。
2019年1月11日

知识星球2018盘点,2019关键词:执行

我一直在说,无论看多少文章,专栏都很难变成自己的内在能力,还是要去刷题,可以和球友@吾是峰子一起组队刷Leetcode,他已经立下flag,今年要刷300道题。
2019年1月10日

小心 !跨站点websocket劫持!

它把这个Cookie记录了下来,以后张大胖每一次再向stock.com发起Http请求,浏览器都会兢兢业业地把Cookie加入到Http请求的Header中,一并发到stock.com
2019年1月9日

千万别用设计模式?

看设计模式书有时候很无聊,我们不妨先来考察一下设计模式这本书的4位作者,结合一下马云的讲话,看看他们是不是『骗子』,是不是早就消失了,是不是搞了一个『设计模式』这个骗局之后就不干这一行当了。
2018年12月26日

为什么RESTful很糟糕?

比如我还要把作者的朋友同时显示到手机端,这SQL就不好写了,文章和作者是一一对应的,但是作者的朋友可能有多个,这样SQL的结果集中就会有重复的文章id
2018年12月24日

别再学习框架了

在网上看到了这篇文章,有标题党嫌疑,虽然作者说得有点极端,但是把大部分时间投入到学习那些基础的、不变的知识中去,这个观点我也认可,翻译过来大家看看。
2018年12月20日

咖啡馆的故事:FTP, RMI , XML-RPC, SOAP, REST一网打尽

RMI说道:“在概念上其实极其简单,无非就是自动生成客户端代理和服务器端代理,这两个代理完成了大量的脏活和累活,比如:网络通信,参数序列化......
2018年12月19日

从明年1月开始,Oracle要对JDK8就要收费了,怎么办?

https://blogs.oracle.com/java-platform-group/end-of-public-updates-is-a-process%2c-not-an-event
2018年12月17日

分布式的事务该怎么做?(文末问卷抽奖)

在原来的单体应用中,订单模块想要调用库存和支付,只要调用相关的类或者接口就可以了,只有一个数据库,轻轻松松就可以把所有操作放到一个事务当中,保证不会出现扣了库存但是支付失败的情况。
2018年12月10日

超出期望

对于一些人来说,答应别人的事情,总是很用心,能尽最大能力做到最好。他们也许并没有图什么立刻的收益和回报,但是当这种潜移默化的优秀习惯在学习和工作中施展出来以后,威力非常惊人,
2018年12月6日

聊聊微服务的隔离和熔断(送10本书)

Netflix把这些功能(当然,这里只是概要介绍,还有很多其他功能)给组装起来,形成了一个开源的库,叫做Hystrix,就是豪猪,浑身是刺,自我保护,还是挺贴切的。
2018年12月5日

我才是世界上最好的编程语言

我还是Google的主力编程语言,IBM的主力编程语言,谁的腿粗我就抱谁的。”Java对Python颇为不屑,“有了这些大公司的支持和信用背书,才好发展啊,那些程序员才会相信,才敢使用啊。”
2018年12月3日

网络创世纪

人类中的程序员发现,蒂姆·伯纳斯·李发明的HTTP协议实在是笨拙:每次请求,都得打开一个连接,用完就关,下一个请求,又得开新的连接,在需要高度交互的系统(如聊天、游戏)中浪费至极。
2018年11月28日

别吵吵,分布式锁也是锁

昨天MySQL偶然说起隔壁机器入驻了一个叫做Node.js的家伙,居然只用一个线程来执行JavaScript代码,实现各种业务逻辑,JavaScript也能到后端来?还用回调?
2018年11月26日

你从未听说过的最重要的数据库,人类登月计划的功臣

1965年,NASA命IBM和北美航空公司以及卡特彼勒公司展开合作共建数据库。到1968年,IBM已在NASA安装有IMS的工作版本,尽管当时称其为ICS/DL/I,即信息控制系统和数据语言/接口。
2018年11月23日

简单易懂的自动驾驶科普知识

激光雷达提供了极高精度和极其丰富的感知信息,这使自动驾驶车自如处理极端工况成为可能。激光为主,视觉为辅,再加上车上各种功能冗余的传感器及高精度电子地图,在开放道路上实现A点到B点的自动驾驶不再遥远。
2018年11月22日

那些让你起飞的计算机基础知识

还有一些概念能用到很多地方,例如CAS,不仅仅是编程语言的概念,还能在更新数据库时使用。再比如你理解了线程的实现方式,迅速就能掌握go语言中并发的手段:goroutine。
2018年11月21日

自我反省一下:我不是大佬

还有一点就是知识结构比较完整,能满足架构师所要求的知识的广度。年龄大了,我发现我似乎更喜欢做某一个方面的专家,往深度发展,比如Linux内核、数据库、虚拟机等等,不过老天不会再给我时间让我再转型了。
2018年11月19日

程序员的进化

https://www.improgrammer.net/evolution-of-a-programmer/
2018年11月16日

我也是一个线程,为什么每天累得像狗一样?

Redis老大说:“所以嘛,那Tomcat肯定要建立一个线程池,里边养一堆线程来干活喽。并且,一个Tomcat还不够,需要多个Tomcat组成集群来分担压力,他是不得已而为之。”
2018年11月15日

我的大脑越来越喜欢那些碎片化的、不用思考的文章了!

我这两天一直在思考这个问题,因为我发现自己的大脑也越来越喜欢碎片化的,不用思考的那些文章,遇到稍微长一点的,需要大脑运转的文章,大脑就会温柔地发出信号:省省劲吧,关掉它,再找一篇好玩的。
2018年11月14日

编程语言的巅峰

汇编老头儿没想到C小伙儿连这个问题都没弄清楚,说道:“我这里只认寄存器和内存,你这所谓数组,就是内存的一段连续的空间嘛,我只要知道开始地址就可以了。”
2018年11月12日

程序员需要能show出来!

但是如果你觉得准备数据的方式将来可以复用,就写了一个程序去把它自动化了,交活的时候除了数据,还有一个能极大提高生产力的工具,那就大大超出领导的期望了。
2018年11月7日

Redis:MySQL算老几?

Tomcat说:“对,比如我们可以把所有的用户ID建立一个布隆过滤器,这样当那些黑客的请求过来以后,先用这个过滤器拦截一下,如果黑客要访问的用户ID不在这个过滤器中,我们就直接把他踢出去了。”
2018年11月5日

一段程序的奇妙旅行(附送10本码农翻身签名版)

(图片来源:https://www.computerhope.com/jargon/h/harddriv.htm,这是一种垂直的数据记录方式,还有一种是水平的方式)
2018年11月2日

MySQL:缓存算什么东西?!

过了几个月,张大胖把系统的架构做了升级,为了应对高并发的访问,他用一个nginx来搞负载均衡,分发用户的请求,在后面搞了很多Tomcat和很多进程内的缓存,我们的系统变成了这个样子:
2018年10月29日

入职三天,公司给了100块钱叫我走人

学会js的基础(变量、函数、数组、字符串等)、理解JavaScript的面向对象思想;会用一些常用的js库(如jQuery、bootstrap等);能用js写出一些常用的插件(轮播组件、选项卡等)。
2018年10月24日

后端风云

有些微服务是主人的心头肉,他们“霸占”了一台或者多台机器,像我这个积分模块,哦不,是积分系统,不受人待见,只能委屈一下,和另外几个家伙共享一台机器了。
2018年10月22日

每个人的宿命都是从文本走向二进制,你也不例外 !

老A轻蔑地说道,“我当然知道,计算机中的一切都是二进制的,我说的是站在程序员的视角,当程序员把我们从硬盘唤醒,进入IDEA或者Eclipse,会把二进制的我们变成ASCII码形式来展示。”
2018年10月16日

为什么C语言不会过时?

先上一个表,这个就是著名的TIOBE语言排行榜。目前它是一个最权威的一个语言流行度的排行榜,从这个排行榜上看,你会得到一个最直观的结论。Java和C都在下降,而下降的部分被第三名以后的语言所瓜分。
2018年10月15日

我是如何从一个新闻狗转行成为程序猿的?

回头看16、17年这两年,做这个转型的过程是痛苦和快乐交织着的:做自己不熟悉而且风险很大的方向,自然是有很多痛苦的,跑不起来代码又自己解决不了不得不到处微信上问人的经历我真的是每天都有;
2018年10月12日

学习还是得死磕啊

坚持读了下来,理解了程序在内存中到底是怎么执行的,如何用栈实现函数调用的,缓冲区溢出是怎么回事,栈的随机化是怎么回事。程序的运行状况尽在心中,这种成就感太美好了。
2018年10月10日

什么是元编程?

这Ruby的元编程能力很强大啊,可惜的是,我们的项目都是Java的,这动态的脚本语言Ruby没法直接使用,如果是微服务,对外提供的是HTTP的API,我可以学学Ruby,单独写个Ruby项目。”
2018年10月9日

到底是Java好还是Python好?

Java呢,语法相对Python啰嗦,表达力要弱一些,开发起来一板一眼,有很多规范,适合集团军的大规模协同作战;有很多著名的框架和类库,性能不错,系统稳定而成熟,是开发大型系统的极好选择。
2018年9月26日

操作系统和Web服务器那点事儿

让人烦恼的是,新来的家伙们很无知,几乎就是一张白纸。有些老实本分的会按照自己的规矩来做事,有些刺头儿喜欢问这问那,时不时还想搞点非法的访问,想访问别的进程的地址空间,甚至想访问内核的代码和数据!
2018年9月25日

送大家一波中秋福利!价值2200元,火速戳>>>

以下几个专栏是我挑选的,其中不乏前一阵被刷屏的《数据结构与算法之美》专栏以及目前订阅数No.1的《从0开始学架构》,其他的也是我觉得内容很不错的,统统免费送。
2018年9月24日

深入浅出Python元编程

Person类中没有,就去它的父类中去找,如果也没有,就继续向父类的父类去找,如果在任何父类中都找不到Metaclass,就去模块中去找,如果还是找不到,就用缺省的Metaclass,即type。”
2018年9月18日

当创建对象时......

Spring看了看:“嗯,看来是'儿子',JVM老兄,你去把CGLib叫来吧,我得请他在运行时生成一个新的Class,这个新的Class要继承PetStoreService。”
2018年9月17日

你的标签是什么?

等到整个业界敏捷之风盛行,我发现这项技能就可以大显身手了,在领导的支持下,经常出去帮助别的公司做一些敏捷实践的咨询服务,锻炼了自己的能力,又提升了一下“标签”的含金量。
2018年9月14日

编程语言名称背后的有趣故事

这是MIT开发的一个用于教育的一门语言,作为LISP的一个方言,可以用来教授很多的编程概念,它也影响了很多后来的致力于教育的编程语言,例如Scratch。
2018年9月9日

看完这篇文章,你肯定理解什么是浮点数了!

上图表示的数值就是182.375,由于小数点固定在了第23位和第24位之间,这种方式可以称为“定点数”。
2018年9月5日

Java国王:我来告诉你什么才是真正的封装!

大臣甲从Python王国“倒戈”而来,怀着对故国的歉意,十分想把Python的语法带来一点给Java,听到国王这么问起,赶紧说到:“Python的处理比较简单,用两个下划线来表示私有的属性和方法。”
2018年9月3日

程序员应该如何自我驱动,迅速获得成长?

要掌握公司的技术栈,要刨根问底,公司用的什么rpc框架?怎么使用?原理是什么?公司用的nginx,nginx怎么配置的。公司用了配置中心,配置中心是什么?公司的负载均衡框架用什么做的,存在什么问题?
2018年8月29日

简单的this,麻烦的this

Python笑道:“我这不是为了和你Java老弟保持一致嘛,反正只是个变量名,你想用this就用this,想用that就用that,只不过我们习惯于用self
2018年8月27日

工作没有挑战性,怎么办?

记得有位同学是在SaaS的平台上做需求开发,这其实是个不错的机会,可以研究下SaaS的理论,架构,具体技术(如何保证安全,如果扩展,如何计费等等),都是很有意思的、很有挑战的技术。
2018年8月23日

搜索之路:Elasticsearch的诞生

随着互联网应用的爆炸式增长,搜索变成了网站的一个常见需求,各个网站都想搜索产品,搜索帖子,搜索服务......张大胖的“业务”变得十分繁忙,经常在业余时间给人做Lucene的咨询,赚了不少外快。
2018年8月20日

终于入门:一个渣渣专科的菜鸟,学习编程近一年的感悟

第四家,我自己投的让我去的,把机构发的面试宝典背的比我们还熟练,笔试题也全是面试宝典上的。无语……然后和我纠结重写与重载的区别,玩文字游戏,最后说,我们这3年经验才给8000,一年的最多给4000。
2018年8月15日

搜索之路

张大胖已经变成了利用Lucene做搜索的高手,各种细节和最佳实践尽在掌握。随着互联网应用的爆炸式增长,搜索变成了一个常见的需求,他甚至在业余时间专门去给人做Lucene的咨询,赚了不少外快。
2018年8月13日

我从容器来

这些都是钩子函数,如果你想在Bean的实例化或者初始化前后做点事情,就可以写一个类,当然得实现特定的接口(如InstantiationAwareBeanPostProcessor,
2018年8月6日

程序员必备的两项基本技能

总之,单元测试和重构是程序员的两项基本技能,他们和编程语言无关,如果你没有掌握的话,很难说是一个合格的程序员。
2018年8月1日

ReactJS :我就是想把代码和HTML混在一起!

当我走进这个著名的咖啡馆,这里已经有很多人了,我环顾四周,看到远处的JSP同学和ASP同学正聊得火热,他俩,还有今天没看见的Velocity同学每次都会占据最里边的座位,似乎故意要逃避大家。
2018年7月30日

Java 帝国之建造者模式

Square();2square.setColor(Color.Blue);3square.setBorderSize(5);4square.setBorderColor(Color.Black);
2018年7月27日

我把这两年的精华文章都整理出来了

应读者要求,把码农翻身的所有文章做了一个分类,方便大家出查找,欢迎转发,分享。
2018年7月26日

JVM和Python解释器的硬盘夜话

“然后我就发个信号给操作系统老大喽,让他去调度那些因为没有获得GIL锁而挂起的线程,大家去竞争这把锁,当然线程A也会参与竞争,大家都站在同一个起跑线上,谁获得了GIL,
2018年7月23日

哪些人创业更可能成功?

在这个行业中摸爬滚打多年的老司机才有可能告诉你:老师和学生的线上沟通一点儿都不重要,营销和招生才是关键,如果你能想办法把这两块儿帮我做好,把学生给我拉来,我肯定用你的系统。
2018年7月20日

论球迷和程序员

比如张路指导,每次世界杯,那是央视必请的解说员/嘉宾,充分展示了影响力。张指导写的关于校园足球的发展建议确实是高屋建瓴,当然足协能不能把它搞起来就不得而知了。
2018年7月16日

欣哥,你是怎么提高设计能力的?

终于逮到一次机会,我负责的模块业务逻辑非常复杂,我就想办法把这一块逻辑从增删改查的框架中剥离处理,好好设计了一番,应用了一些设计模式,效果还不错,基本达到了OCP的原则:对修改封闭,对扩展开放。
2018年7月14日

一个想休息的线程:JVM到底是怎么处理锁的?怎么不让我阻塞呢?

可是老大又说:“每次设置锁我都得和操作系统打交道,请他在内核中维护一个什么Mutex(互斥量)的东西,他还得把你们这些线程阻塞,切换,这可是一笔巨大的费用啊,所以这些锁还是少用为妙。”
2018年7月11日

由“面经”引发的思考

我不由得想起新东方刚刚起步的时候出现的所谓“机经”,经过几千年考试的中国人在考试这一块儿非常有天赋,即使是上机考试,那些聪明的同学也能把题目背下来,考完以后整理成题库,
2018年7月9日

大牛是怎么炼成的?

本文来自王镜鑫的投稿,老刘做了修改,王镜鑫是山东大学软工专业大三学生,学校ING工作室后台组组长,工作党,参加了18年实习生春招,在三周的时间内"收割"了三家大厂的Offer:美团、百度和阿里巴巴,
2018年7月3日

一个学渣的阿里之路

部门在做的事情上确实更加有诱惑力,之后我表达了有一个面试正在流程中的顾虑;对方表示可以私下和我快速的进行三面,如果一切没问题再交由我自行选择。至少对双方都是一个双赢嘛。
2018年6月27日

黑客攻防日记

我尊敬的大哥给了我几台服务器的信息,他说通过这几台服务器能够偷窥,不,是监视发往博客平台服务器的HTTP数据,还能通过这几台服务器当个中间人,拦截修改请求和响应,
2018年6月25日

一个著名的任务调度系统是怎么设计的?

“原来如此,以后任何一个调度器实例想要获取Job的运行时间,设置Job的下一次运行时间的时候,都必须先获得这个锁。这样这些分布式的调度器就不会冲突了,只会运行一个特定时间的Job。
2018年6月21日

做一个普通人

我觉得我达不到这样徐霞客的境界,我还是一个普通的、世俗的人,但是我确实可以在这个浮躁的社会里坚持着做一点事情:专注技术,然后用通俗易懂的语言给大家普及技术。
2018年6月15日

Java虚拟机的Heap监狱

有一次要通过Socket向外发送数据,我明明把数据准备好了,就在我的Heap中,可是JVM老大竟然把数据复制了一份到Heap之外的内存中去,然后才能通过Socket发送。
2018年6月11日

除去大公司的光环,你还剩点啥?

你试图等待新项目、新系统,这样就可以大展宏图,从头开始大干一番,但实际上,这样的机会很少,碰上了是你的运气,遇不上是正常情况。
2018年6月5日

我是一个爬虫

有时候,有些HTML页面是受到保护的,必须登陆以后才能够访问,这也难不住我,人类早已经申请了很多的账号。我把这些用户名和密码拿过来,找到对应的登录框,向服务器端发送一个请求,就可以顺利登录了,
2018年6月4日

集线器、交换机、路由器有什么区别?

比如我把小A的网口命名为macA,将小C的命名为macC,这时如果小A想要将数据传给小C,则设备会根据网口名称macA和macC自动将资料从A的电脑传送到C的电脑中,而不让小B、小D和小E收到。
2018年5月31日

从零开始造Spring

总之,利用这种从零开始,一步步逼近Spring的办法,相当于重现了Spring框架的诞生过程(当然具体的思路和原作者不一定相同)既使得造轮子过程不那么枯燥,又能理解Spring源码的核心思想。
2018年5月30日

一个故事讲完进程、线程和协程

这一天,旺财被一个叫做生产者和消费者的问题折腾地死去活来,两个线程,一个线程向队列中放数据,另外一个从队列中取数据,处理起两个线程的协作就显得很麻烦,不但需要加锁,还得做好线程的通知和等待。
2018年5月28日

你是怎么管理时间的?

后来慢慢就发现,事情就越来越多,每天要开各式各样的会,回复各种各样的邮件,时不时有人在MSN上找自己(嗯,估计很多人都不知道MSN是啥了吧),还经常被人拉到会议室讨论线上的紧急Bug,
2018年5月25日

Servlet:我还活着呢!

Container当中,Container这个词有点高大上,但是说白了,无非就是能执行Servlet和JSP的一个东西,比如说Tomcat,
2018年5月23日

千呼万唤始出来

此外,书中的每篇文章都是独立的,不用你正襟危坐,从头到尾去读,完全可以挑选自己感兴趣的章节,例如对于半路出家的初学者,想了解计算机基础,可以去看看第一章,想了解Web技术的,可以去第三章逛一下。
2018年5月18日

小白科普:线程和线程池

这就对了,你想创建一个新的线程出来,肯定得有准备工作啊,设置好这个线程的上下文,比如这个线程的栈(用于函数调用),线程的状态,这个线程的PC(Program
2018年5月16日

Python和Java的硬盘夜话

Java把这个大杀器给抛了出来,Python的表情立刻就不对了,因为自己虚拟机的性能确实不怎么样,但是Python非常狡猾,他立刻就把话题给转移了:“现在的速度瓶颈不是CPU,
2018年5月10日

关系型数据库为什么能活这么久?

为了应对这些问题,你们人类可以说是想了很多办法,比如什么NoSQL数据库,什么分库分表,在比如你们发展了BASE理论,不追求ACID中的强一致性,只要达到“基本可用”,最终一致性就可以了。
2018年5月7日

双机热备的原理

如果在一个特定的时间(嗯,这个时间应该可以设置)内收不到心跳,那就认为Master完蛋了,就需要挺身而出,擦干眼泪,继承前任的遗志,很Happy地绑定VIP
2018年5月4日

跃迁:化学系女生的工程师之路

我常常会难过,不相信自己,觉得自己长了个假脑子,但我始终很倔强,不肯放弃。学了IT以后,我发现很多问题你如果没有迈过去,后面的内容你也学习不了了,所以我只能上Google上Stack
2018年5月2日

程序员发展得好不好,就看这三个维度了!

那么程序员的规范知识体系和技能又包括哪些?我在知乎看到过一个抽象的类比,它用我们在学校学习的各种学科体系来类比程序员的专业知识体系和技能,我结合自己的理解做了一些延伸,包括下面这些方面:
2018年4月27日

你要选择哪条路?

我估计你啊就是一个Web服务器程序,你就是等待客户端的请求,请求来了以后你用fork创建子进程去处理(进入了代码的另外一个分支),然后你继续等待。”
2018年4月25日

负载均衡的原理

思考片刻,发现了漏洞:“这样做有个很要命的问题,由于DNS这个分层的系统中有缓存,用户端的机器也有缓存,如果某个机器出故障,域名解析仍然会返回那个出问题机器的IP,那所有访问该机器的用户都会出问题,
2018年4月23日

看书好还是看视频好?

自己的知识大厦一旦建立起来,应对层出不穷的新技术就会轻松得多,因为真正颠覆性的、革命性的技术并不多,大部分新的工具和框架都是巧妙地充分地利用了现有技术,很好地解决了某一方面的问题。
2018年4月19日

裸辞两个月,海投一个月,从Android转战Web前端的求职之路

还有一种人的选择是:“就算我现在的工作不够理想,但也不算太差,我可以继续待着,我可以不做选择。”是的,你当然可以让一切保持原状。但是,你就不要一边指望着发家致富、财务自由,一边还待在原地不动。
2018年4月16日

程序员七问

共同打造的实战项目,学习来自硅谷最前沿的应用,一年成为高薪抢手的机器学习工程师。扫描二维码,免费体验硅谷仿真课堂!
2018年4月11日

分布式一致性算法:可能比你想象得更复杂

节点B和节点C收到了投票要求,如果自己还没有发起竞选投票(等待时间未到),那只好同意节点A当老大,与此同时要重置自己的计时器,重新从0开始计时,也就是说重新开始新一轮的等待。
2018年4月9日

扒一扒那些和编程语言无关的技术

说起来简单,做起来确很难,因为这个东西有点“玄妙”,需要自己去修炼,去体会哪些SOLID原则,去领悟设计模式背后的思想,而不是学习招式。
2018年4月3日

小白科普:“无状态”那点事儿

对,垂直扩展就是通过增加CPU,内存,硬盘等方式来提高单个服务器的处理能力。由于单台机器总是有上限的,所以想应对海量用户的访问,提高可用性,还得靠水平扩展。现在你体会到无状态的好处了吧?
2018年3月28日

数据库村的旺财和小强

“按照可重复读的要求,我开始了一个事务,无论我读多少次,我总是能读到age=20的那行记录,即使小强修改了age,我也不受影响。你这个结构该怎么实现啊?
2018年3月26日

什么是好代码?

我相信Linus在开发第一版Git的时候,肯定对它要解决的问题--分布式源码配置管理--有着深刻的洞察,实际上Linux内核的开发就是一个典型的、分布式的架构和流程,
2018年3月21日

Java帝国之安全争斗

“这个比较简单,角色可以简单地认为是一些权限的集合,比如admin这个角色,它的权限可能有删除用户,查看用户,修改用户等,再比如viewer这个角色,可能只有查看用户的权限了。”
2018年3月19日

阅读源码的三种境界

再比如阅读Spring源码,肯定得先了解IoC是怎么回事,AOP的实现方式,CGLib,Java动态代理等,自己动手,写点相关的代码,把这些知识点掌握了。
2018年3月15日

你真的理解了MVC, MVP, MVVM吗?

但是Presenter还是需要调用View的方法,也就是说Presenter对View有依赖,这样Presenter就没办法单独做单元测试,非得等到界面做好以后才行。
2018年3月12日

想得太多,做得太少

经过考研锻炼的同学,应该有这个特质,在长期的复习和准备中,要耐住寂寞,经受住诱惑,全靠自觉,没有自我激励和自我约束,是坚持不下来的。
2018年3月8日

数据分布式了,计算也得跟上!

“有意思,看来保持程序的并行执行是关键,我注意到一个现象,那就是程序1和程序2都不维护内部状态,他们就像一个函数,根据输入进行计算,输出结果,就这么简单。”
2018年3月5日

Lambda 表达式有何用处?

processing等。总之,我只是一如既往地介绍个大概,让你大概知道,哦!原来是这样子就OK了。网上关于Lambda有很多相关的教程,多看多练。假以时日,必定有所精益。
2018年3月2日

HDFS的诞生

互联网尤其是移动互联网发展得极快,公司网站的用户量暴增,访问量也水涨船高,日志量也很感人,每小时都能产生好几个G,张大胖实习期间“引以为傲”的小程序没法再用了,数据库根本就放不下啊。
2018年2月28日

聊聊过去十年新出现的一些开发职位

还有一个不得不提的是人工智能,2017年大热,由于数学和算法的关系,导致门槛较高,还未像前面几个职位那样,基本普及了。机器学习,深度学习什么时候能“飞入寻常百姓家”,让我们拭目以待!
2018年2月26日

请问你为什么学习Lisp?

如果是你想问“作为一门语言,而且是一门极为小众的,上手门槛貌似巨高的,乍一看语法诡异到反人类的语言,到底还有没有学习的意义?既然这么小众难道学来就为了装逼?”这个问题的话,那我就一个一个回答。
2018年2月23日

对于培训出身的同学,接下来该怎么学习技术?

需要提醒大家的是,我这里所说的只是一个大概的分层,在学习过程中很有可能一下子从最上层的应用跳到最底层的基础概念,这很正常,很多知识点之间都是相互关联,不是完全隔绝的。尤其是在原理层次。
2018年2月5日

2018,开通一个交流新渠道!

我希望这是一个活跃的社群,不只是我在分享,希望大家也主动发起、参与讨论,主动分享有价值的资料,把好的内容都沉淀下来,对于入选精华的主题,我会进行打赏,5元起步。
2018年2月1日

一个故事讲明白线程的私家领地:ThreadLocal

调用了其他Java类,不知道经过了多少层调用以后,最终来到了一个叫做AccountUtil的地方,在这个类中需要使用Context中的trackerID来做点儿事情:
2018年1月31日

一个项目做完以后,不能就让它这么“完”了

拿我个人的经历举例,在做一个欧洲税务相关的项目时,把一些看起来很复杂的税务逻辑抽象成二维坐标上点的移动,降低理解难度,简化了代码逻辑,这就是亮点。
2018年1月29日

CPU阿甘之缓冲区溢出

我告诉你吧,现在的计算机语言,甭管你是面向对象还是函数式、动态还是静态、解释还是编译,只要想在我们冯诺依曼体系结构下运行,最终都得变成顺序、循环、分支,以及函数调用!”
2018年1月25日

如何维护一个好的技术博客?

拿我的微信公众号码农翻身来举例吧,我把它定位成用故事讲解技术,并且是通俗易懂地讲解技术。我也见过好几个公众号是用漫画或者简单漫画的方式,去讲解一个东西,都算特色。
2018年1月23日

函数式编程圣经

编程的世界是由许多平行宇宙组成的,面向对象宇宙中的上帝给人类讲述了OO大法,形成了《面向对象圣经》。与此同时,在编号为C-137的平行宇宙中,函数式上帝开始工作了......
2018年1月22日

普通本科没毕业的我,收到年薪30w的offer...

2017年7月,国务院发布了《新一代人工智能发展规划》,大力支持人工智能领域人才发展和培养。希望更多志同道合的朋友一起加入我们,不仅能够成就自我走向未来,还可以搭上这波发展红利扩充自己的钱包。
2018年1月21日

当多线程并发遇到Actor

“我发现了一个漏洞,你这个转账虽然看起来很美,没有加锁,但是和原来的是有区别的,原来多线程思路是会把旺财和小强的账户同时锁住,然后转账,在这个过程中,别人是不能操作这两个账号的!
2018年1月17日

黑客三兄弟(续)

还有一种就是查表,我事先把明文密码和计算好的hash值形成一个对照表,然后用数据库中密码的hash值去对照表中查找,如果找到了,明文密码也就有了。当然为了提高效率,人们还制作了所谓彩虹表。”
2018年1月15日

什么是DevOps

"我知道张大胖的团队正在实施微服务的改造,将来再部署的话就不是以一个巨无霸应用为单位了,而是以一个个微服务为单位,那样就简单得多,频繁部署是有可能的,并且出了错回滚也便捷得多,肯地不用你们熬夜了!"
2018年1月8日

面向对象圣经

上帝看到人类发明了计算机,但一直在用汇编语言艰难地写程序,很是伤心,就把编译器的秘密告诉了约翰·巴科斯,让他带领大家写出了编译器,从此人类可以用高级语言写程序,然后编译成机器语言去运行了。
2018年1月5日

小白都能看懂的神经网络入门,快收下吧~

上述的线性节点输入是多维的,但输出只是一维,即一个实数。如果我们想要多维的输出,那么就可以并列放置多个节点。设
2018年1月4日

小白科普:从输入网址到最后浏览器呈现页面内容,中间发生了什么?

如果是静态的请求(HTML文件,JavaScript文件,CSS文件,图片等),也许自己就能搞定了(当然依赖于Nginx配置,可能转发到别的缓存服务器去),读取本机硬盘上的相关文件,直接返回。
2018年1月2日

推荐十个优质技术公众号

(Android/音视频/多媒体/编解码)技术干货,问题深度总结,FrameWork源码解析,FFmpeg研究,直播技术,职场思考等。务实、勤恳耕耘于多媒体技术领域。是个纯粹的技术人。
2017年12月29日

告别2017,码农翻身全年文章精华

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2017年12月29日

作为一个有追求的程序员,你应该掌握的七种武器

假如你刚刚从Wiki的设计文档把一个API的URL复制下来准备写代码,发现经常聊天的一个技术群弹出一个消息,有个妹子问一个技术问题,凭借自己对技术的感觉很快在Stackoverflow搜到了答案,
2017年12月27日

什么是volatile关键字?

主内存可以简单理解为计算机当中的内存,但又不完全等同。主内存被所有的线程所共享,对于一个共享变量(比如静态变量,或是堆内存中的实例)来说,主内存当中存储了它的“本尊”。
2017年12月27日

黑客三兄弟

icbc.com就会检查从浏览器发过来的数据中有没有token,并且这个token的值是不是和服务器端保存的相等,如果相等,就继续执行转账操作,如果不相等,那这次POST请求肯定是伪造的。
2017年12月26日

沸腾!阿里给程序员送了一份圣诞大礼

2017年,在技术发展的历史上,一定是个特别的一年:柯洁与AlphaGo的惊世大战,无人咖啡店开放体验,AI设计师“鲁班”横空出世、三年投入千亿的达摩院正式成立……
2017年12月25日

从今天起,码农翻身的号内搜索功能也可以使用了!

码农翻身公众号写了两年,文章慢慢地也积累了不少,我除了定期地整理文章形成目录之外,在早期还会定义一些关键字如“https”,当大家通过公众号给我发这些关键字的时候,就可以得到自动的回复。
2017年12月25日

图解冒泡排序

“所谓稳定性,其实就是说,当你原来待排的元素中间有相同的元素,在没有排序之前它们之间有先后顺序,在排完后它们之间的先后顺序不变,我们就称这个算法是稳定的”,Bill说道,顺便画了一个图举了一个例子
2017年12月22日

在AI“看起来已成大势”的情况下,传统Java后台开发,前景如何?

但是围棋象棋都还是在一个规则非常明确的领域,稍微复杂点的领域,例如魔兽,星际争霸等电子游戏中,AI表现得就很弱了。据说DeepMind也开始游戏的研究,希望它能做出真正击败人类的AI出来。
2017年12月20日

浏览器家族的安全反击战

我和FireFox在会议上声讨现在的人类实在是喜欢访问那些不良网站,族长Mozilla说没办法这是人类的本性,无论如何也无法改变,如果改了就不是人类了。
2017年12月19日

后端程序员都做些什么?

往广度发展,各个技术领域都要了解,对于某种需求,能够选取合适的软件和技术架构来实现它,把需求转化成合适的技术组件,让这些组件以合适的方式连接、部署、运行,这也需要持续地学习和不断的经验积累。
2017年12月14日

浏览器:一个家族的奋斗

向我们家族里安装插件的尝试并不成功,但是我们还是想和桌面应用竞争,让浏览器应用有着桌面应用的体验,这时候有个叫JavaScript的屌丝自告奋勇,说自己可以在浏览器中执行代码,提高页面的动态性。
2017年12月12日

为什么能力优秀的人当了主管以后反而不行了呢?

入职的第一天,码仔激动得很早就醒了,来到了公司,居然还没开门!什么鬼?掏出手机一看才8点,公司正常上班9点,他站在公司门口干等了1个小时。但是这丝毫不影响码仔对这份新工作的激情,心中默默给自己打气。
2017年12月8日

只是Work还不够,更重要的是Think

但是作为一个普通的程序员,很难像科学家那样天马行空地去创造出东西出来,即使是是从自己的工作中挖掘,提炼,找出对某个问题的新的、更有效的解决方法,想搞出一个专利的难度还是挺大的,专利只属于少数人。
2017年12月6日

什么是Zookeeper?

所使用的树形结构和自己想象的非常类似,更重要的是,人家实现了树形结构数据在多台机器之间的可靠复制,达到了数据在多台机器之间的一致性。并且这多台机器中如果有部分挂掉了/或者由于网络原因无法连接上了,
2017年12月4日

为什么要学习HashMap的底层原理?

年年:你学了这个一是能够证明你对编程的兴趣不是停留在表面、二是证明你比较有学习的能力。最重要的一点是企业通过这个筛选招聘,你不会就不能进入好的公司,参与大的工程,难以提升自己的水平。
2017年12月1日

90后“老头儿”和00后Go小子的硬盘夜话

有个好处是Hotspot的虚拟机,能把部分热点代码变成机器指令,在硬件CPU上执行,这已经让Java吹嘘很多天了,没想到又来了一个直接生成exe执行的。
2017年11月27日

什么是HashMap?

众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。
2017年11月24日

小白科普:Netty有什么用?

这种方式写起来倒是挺简单的,但是连接(socket)多了就受不了了,如果真的有成千上万个线程同时处理成千上万个socket,占用大量的空间不说,光是线程之间的切换就是一个巨大的开销。
2017年11月20日

想当高薪码农,请收好这份职场通关宝典!

数据连接未来!围绕数据库、大数据、PaaS云,顶级大咖、技术干货,每天精品原创文章推送、每周线上技术分享、每月线下技术沙龙,场场爆满、受众过十万,成为运维圈最专注围绕“数据”的学习交流和专业社群!
2017年11月20日

小心,别被今日头条给困住了!

朋友圈中各种带着“吓人”标题的文章也越来越多,只不过它不会给你推荐同类文章而已。想想也挺有意思的,今日头条是机器推荐/算法推荐,这朋友圈是好友推荐,你会喜欢哪一个?
2017年11月17日

Java帝国之泛型

国王的第一道命令就是要求各位大臣展开一场轰轰烈烈的自检运动,对自己负责的领域好好检查一遍,倾听一下帝国臣民们的呼声,半个月以后,每个大臣至少要报上来三条合理化建议。
2017年11月13日

书写「简历」时,需要规避的错误。

如果你大学期间比较贪玩,忽略了项目经历和实习经历,那校园经历是你最后一根稻草。因为你必须向招聘方证明你有能力担任这个职务,你既没有项目经历,又没有实习经历,招聘方如何相信你有能力承担这个职务。
2017年11月10日

在大学期间更应该学习什么?

如果你是科班的,老老实实地把《计算机组成原理》和《数字电路》这两门课学了,把那些实验内容(如门电路,半加器,全加器,触发器等)兢兢业业地做好。
2017年11月8日

爱炫耀的数据库老头儿

Tomcat端了一杯啤酒来到老头儿桌前:“嗨,老头儿,我知道你说的事务有个重要的特性:原子性,就是说在一个事务中不管有多少操作,都是要么全做,要么全不做,是这样吧!”
2017年11月6日

小白科普:悲观锁和乐观锁

这种方式就是所谓的乐观锁了,旺财和小强这次乐观了一点,觉得一般情况下不会有太多人修改库存,所以没有加锁,放心地去操作,只有在最后更新的时候才去看是否冲突。
2017年11月3日

Python这么简单还用学吗?

回到文章最初的话题,我其实想表达的是:不用着急去追逐那些热门的编程语言,只要把一门语言学精了,把一些基础概念和基础知识掌握了,再去学别的,真的不难,
2017年11月1日

从兄弟到父子:动态代理在民间是怎么玩的?

虽然对字节码操作做了封装,但是非得理解JVM指令才行,张大胖不得不去学习一下JVM字节码的知识,两个月后,他终于能够使用ASM动态的在内存中创建类了。
2017年10月30日

一个著名的日志系统是怎么设计出来的?

首先要记录日志,肯定需要一个类来表达日志的概念,这个类至少应该有两个属性,一个是时间戳,一个是消息本身,把它叫做LoggingEvent吧,记录日志就像记录一个事件嘛。
2017年10月23日

不想做技术了,还有一条路

他们的主要工作就是分析欧洲各个国家的税务知识,梳理其中的业务逻辑,形成相对通用的业务模型,划分成各个业务模块,交给中国团队,让中国的“廉价劳动力”开发出来。
2017年10月20日

Java EE要死掉了?

现在很多后端开发,用Tomcat这种主要支持Servlet/JSP的Web服务器,再配上轻量级的SSH,或者SSM就足够了。
2017年10月18日

纪念我最有效率的一次加班

和这种加班形成鲜明对比的是长期的加班,我也经历过多次,有一次加班时间太长,导致握鼠标的右手开始疼痛,不得以切换到左手用鼠标。
2017年10月17日

Java注解是怎么成功上位的?

这个东西有点意思,在一个方法上添加了简单的修饰性注解@Test以后,这个方法突然间就有了额外的语义,变成了可以执行的测试用例了
2017年10月11日

Java帝国之动态代理

对于所有以DAO结尾的类,所有的方法执行之前都要调用TransactionManager.begin(),执行之后都要调用TransactionManager.commit(),
2017年10月9日

C老头和Java小子的硬盘夜话

把一个符号(add函数的名称)和这个符号的地址(add函数的真正地址,那里有add函数的指令)给绑定起来。
2017年9月26日

上天还是入地?

经过长时间的实践、历练和经验的积累,把很多东西都研究透了,知道了各种技术的优缺点,终于迎来了质变的一天:突然发现自己具备了技术选型的能力,对于某种需求,能够选取合适的软件和技术架构来实现它。
2017年9月22日

操作系统是个大骗子?

但是game老兄说的也不对,那其实并不是我,只是我的一个化身而已。这个化身是一个正在运行的进程,CPU阿甘不停地读数据、写数据。
2017年9月20日

小白科普:LDAP有什么用?

除了学到技术外,还得到了公司的认可,年底的时候给他发了一个领导力的奖,奖励他勇于走出自己的工作岗位、跨部门的与同事沟通,用自己的专业能力带来大家完成了用户的统一认证,极大提高了工作的效率。
2017年9月18日

微信公众号有搜索功能啊, 老刘你还不知道?

这让我感到很欣慰,因为我这个号不是个蹭热点、卖鸡汤的号,里边的文章大多是用故事通俗易懂地讲述技术本质,
2017年9月14日

小白科普:服务那点事儿

小明的公司向电子商务领域进军,开发了一个电商系统,功能没什么新奇的,无非就是用户管理、商品管理、订单管理、商品详情页、库存管理、支付管理等等。
2017年9月13日

我是一个函数

现在这个函数都搬走了,新的地址我也不知道,就是知道了,跨域网络的调用,据说得使用什么socket,建立连接,在连接上按双方商量好格式、次序来发送数据,
2017年9月11日

小白科普:分布式和集群

用户的后续访问就找不到服务器1.1了,这时候就要做失效转移,让另外几个服务器去接管、去处理用户的请求。
2017年9月7日

对自己狠一点,开始写作吧

大脑只是对这个技术建立了一个整体的概念,在一些细节处做了想当然的假设,等到你用语言再来表达的时候发现,哦,
2017年9月4日

从读写分离到CQRS,张大胖是如何解决性能问题的?

从业务上看数据的延迟可以忍受,比如过去24小时的热门产品,一点点过时的数据对用户不会产生重大的影响。只要你能达到最终一致就可以了。”
2017年8月31日

工作6年,半路出家到CTO

很幸运的是,我还真的被这家公司顺利录取了,进入了这家公司实习,毕业后顺利留在这家公司,并且在这里工作也非常开心,在这个公司的工作经历,让我成为了一个职业的开发者,在行业里面叫:软件开发工程师。
2017年8月28日

写给初学者:编程的本质

初学者完全可以先学会编程语言和框架,先具备工作能力,然后必须加强数据结构和算法的训练,随着经验的积累,慢慢地扩展到设计和架构层面。
2017年8月25日

关于老刘和码农翻身

敏捷软件开发专家,敏捷教练,曾经给多家企业做过敏捷咨询和培训,包括华为杭州研发中心,工商银行广州开发中心,工商银行北京开发中心,鼎桥科技等。
2017年8月18日

开源代码啃不动,不如先定个小目标

Bill意识到自己犯了一个错误,不应该让刚刚工作的,经验还不足的张大胖同学去啃这些大块头,相反应该让他先去读一些小而美的源码,逐渐适应,等到有经验了再去努力驾驭那些巨无霸。
2017年8月16日

Java帝国之宫廷内斗(2)

更没有想到的是,幸亏自己没有管理JTA,这个官方标准太强调强一致性,和民间的高并发系统要求的最终一致性不合拍,用不起来,变成了JTA大臣的烫手山芋。
2017年8月14日

Java帝国之宫廷内斗

这是一个看起来很美的理想方案,但是他意识到其中有漏洞,自己的幕僚曾经告诫过:一旦涉及到分布式,事情就不会那么简单,任何地方都有失败的可能。
2017年8月10日

你真正付出了全部努力了吗?

这让我想起了在大学时做的一个铁路局的项目,有一大段代码是为了选出列车轴承的,读起来很痛苦,后来我把他打印出来,整整用了十几页的打印纸,静下心来一行一行的看,
2017年8月7日

当世界上只剩下一个Java程序员

“设计模式嘛,就是大家设计经验的总结,一共有23种,在我看来都非常优雅,要不我教你个最简单的单例模式吧,一共有7种写法,很有意思。”
2017年8月4日

时间是这么被浪费掉的

大致知道DropWizard是怎么回事了,无非就是把一些好用的类库组织起来,让你快速地开发Web应用尤其是RESTful风格的应用,
2017年8月2日

持久化:Java帝国反击战

国王听说过这个东西,在Java帝国东边的大海上,有一个叫做数据库的岛屿,那里有几个很大的部落,好像有什么Oracle,
2017年7月31日

javascript王国之函数教主

“不错不错,我看你这位朋友的来头可不一般啊,新加入的信徒大多都经过漫长的适应期才能理解,他却立即悟出这些道理来。”邱大教主对小王子赞赏有加,或许以他的智慧已经识破了小王子的身份。
2017年7月27日

javascript王国的一次旅行,一个没有类的世界怎么玩转面向对象?

另一位戴眼镜的则低声说:嘘,噤声,国王刚颁布命令,原型法是我们帝国的秘密,禁止公开讨论,以防被Java帝国给学了去。
2017年7月24日

给设计模式说句公道话

这个NEXTSTEP可是上个世纪80年代,乔布斯被从苹果扫地出门后搞出的操作系统,实在是太古老了,所以不会引起读者的注意。
2017年7月20日

一个故事讲完https

(公众号码农翻身注:这些CA本身也有证书来证明自己的身份,并且CA的信用是像树一样分级的,高层的CA给底层的CA做信用背书,而操作系统/浏览器中会内置一些顶层的CA的证书,相当于你自动信任了他们。
2017年7月17日

2017上半年的精华文章全在这里了

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2017年7月14日

你必须理解的计算机核心概念

应用层,传输层,网络层,链路层,物理层。你一定得理解所谓的分层只不过是把你的数据层层包装而已,在传输的过程层中每到一个节点都会拆开某一层的包装,查看一下数据,
2017年7月13日

XML的传奇人生

可扩展性极强,标签随意定制,即使是在复杂的逻辑下,我XML也是得心应手,我给你看个web.xml的例子吧:
2017年7月10日

凡事必先骑上虎背,给性格内向的程序员聊几句

别看在网络上,在QQ群里边谈笑风生,幽默有趣,但是回到到现实中,面对一群人的时候,连准确的表达自己的观点可能都做不到,更不用说去柔中带刚,唇枪舌战地争抢某个东西了。
2017年7月7日

从密码到token, 一个授权的故事

它是网易认证中心颁发的,实际上就代表了你对信用卡管家访问邮箱的授权,所以有了这个token
2017年7月3日

你的需求是怎么描述的?

更要命的是,需求澄清的时候,王总从来都是高谈阔论,一个会议他自己都能说2个小时,只说愿景和战略,夹杂着自己对计算机的理解,
2017年6月29日

JDK先生最近有点烦

就是说别人只能访问com.foo.db.api这个package下面的类,
2017年6月27日

我们向印度人学习什么?

可以说是在一个普通得没法再普通的传统应用中生生地杀出了一条血路,不但积累起了自己的信誉值,还让老板经常露脸,
2017年6月21日

烂代码传奇

不过张大胖还算良心,写了“长达”10个字的注释,努力地辩解代码的意图,实际上我内心非常清楚,这10个字完全词不达意,把人带沟里的可能是99%。
2017年6月19日

机房夜话

这时候你需要做一件额外的操作,就是重定向到认证中心,www.sso.com/login?redirect=www.a.com/pageA”
2017年6月14日

你去下家面试,怎么评价你在这家公司做的工作?

这种状况在一定程度上反应了管理的成熟程度,管理规范的公司对于一个维护多年的系统,会积累不少的文档(虽然有些文档过时了,但总归有迹可循。)
2017年6月7日

两个程序的爱情故事(续)

还不泄露最终的密钥。解决了在一个不安全的通信环境下,生成密钥进行加密和解密的问题。
2017年6月5日

2017编程提高群第二季火热招募中

想写出漂亮优雅的代码,除了一些表面的技巧之外,更重要的是面向对象的设计(OOD)能力,简单来讲,就是能不能把职责划分到合适的类中,
2017年6月2日

加锁还是不加锁,这是一个问题

只是我们发现小李的这些工具类只支持简单的类型,对于一些复杂的数据结构,就不好使用CAS了,因为使用CAS需要频繁的读写内存数据,并且做数据的比较,
2017年5月31日

那些年,我后悔没做好的事情

当时的互联网还发达,上网都按小时甚至分钟计费,上了网除了快速的浏览新闻,收发邮件,还真干不了什么别的事情。想在网上看看大牛的经验之谈,根本就没有。
2017年5月27日

对Java Inputstream的一次采访

要从很久很久以前说起。那时候Java刚刚诞生,我也幸运地被创造出来。那时候帝国实施严格的计划生育,我还没有任何子孙,很是寂寞。一天,有一个叫小霍的年轻人找到了我。他说他要让我飞黄腾达,子孙满堂。
2017年5月25日

从SOA到微服务

document.getElementById('js_content').addEventListener("selectstart",function(e){
2017年5月22日

Kotlin初体验

你要是不嫌麻烦,写成java.lang.System.out.println("hello
2017年5月18日

学习Java虚拟机没用? 听听当事人是怎么说的!

不愿意了解背后的原理,如果你不愿意像一个调皮捣蛋的熊孩子那样把一个玩具变成零件,然后再组装起来(嗯,
2017年5月15日

学习编程的四兄弟

优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。
2017年5月12日

我为什么对后端编程情有独钟?

别小看后端编程,后端是非常有技术含量的,像什么高并发、缓存、负载均衡、分布式、消息队列、安全、搜索、数据复制....
2017年5月10日

编程世界的那把锁

人口多而资源少,为了争抢有限的资源,大家都在自己能运行的CPU时间片里拼了老命,经常为了一个变量的修改而打的头破血流。
2017年5月8日

想成为编程高手,一定要学汇编吗?

毕业后对操作系统痴迷,去看MINIX的源代码,一开头就被吓住了,在bootstrap阶段竟然是通篇的汇编!
2017年5月4日

什么是框架(续)?

优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。
2017年5月2日

张大胖的docker之路

往日按照项目经理的要求,搞一个可用的演示系统那可是费了劲了,现在只需要把镜像copy给项目经理,直接就可以用了,
2017年4月26日

什么是框架?

也只需要声明一下,框架就可以帮你把数据取出来,填充到Java对象中去,这就极大的减轻了你的工作量。”
2017年4月21日

这个动物园, 两年也逛不完

它做的最多工作就是把你的代码从代码仓库里下载下来,编译,测试,打包,部署到测试环境甚至生成环境,
2017年4月17日

说“空话”,做实事: 谈谈多态

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2017年4月12日

序列化: 一个老家伙的咸鱼翻身

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年4月10日

看看“悲催”的码农得学多少东西?

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年3月31日

一个翻译家族的发家史

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年3月29日

编程需要多少数学知识?

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年3月27日

干掉状态:从session到token

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年3月20日

白话敏捷软件开发

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年3月16日

张大胖和CAP定理

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年3月13日

我所尊敬的三位女程序员

她当着我的面打开MSDN,在索引页输入了两个关键字,出来几个搜索结果,选了一个打开,
2017年3月8日

当我们在学习编程语言时,我们在学习什么?

是对计算机硬件的抽象,命令式程序本质上就是一个冯诺依曼机的指令序列。如果你学的是函数式编程,
2017年3月6日

Java IO 的自述

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年3月3日

两个程序的爱情故事

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年2月27日

聊聊Java 平台上的非Java语言

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年2月22日

ASM: 一个低调成功者的自述

掘金是一个高质量的技术社区,从移动开发到架构设计,编程语言到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2017年2月20日

张大胖和单元测试

当然,张大胖也遇到了一些有一定业务逻辑的模块,但是这些模块患有重度依赖症,依赖10几个其他模块的接口,为了单独测试他们,张大胖废了九牛二虎之力,做了10多个mock对象才把依赖给解除开。
2017年2月16日

Java帝国之JMS的诞生

自从张家村的ZhangMQ问世以来,大家都看到了消息队列在分布式系统中的巨大好处,纷纷另起炉灶搞一套自己的消息队列,各种MQ产品如雨后春笋班出现,各家都疯狂的宣传自己的宝贝。
2017年2月10日

Java帝国之单例设计模式

当调用FileIO.TYPE_MP3的时候,INSTANCE实例也会被初始化,这显然不是我们需要的。所以,我们Java帝国的高手们又想出了一种叫静态内部类的单例模式,它简单又保证实例能进行懒加载。”
2017年2月8日

Java 帝国之消息队列

前钦差王大人对张家村做了回访,发现了消息队列,赞不绝口,回去后就发来了褒奖令,还下令在帝国推广,
2017年2月6日

码农翻身全年文章精华

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。
2017年1月20日

张大胖的需求估算

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。
2017年1月18日

小张的Duck Typing

当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。
2017年1月16日

关于2017编程提高群

很多人对《2017,提升你的编程能力》中提到的编程技能提升群感兴趣,也提出了很多问题,
2017年1月15日

2017 , 提升你的编程功力!

当别人在玩游戏的时候你在写代码,别人在追剧的时候你在看书、别人在刷微信的时候你在写作......
2017年1月11日

为什么敏捷开发难于成功?

又有开发人员,还有测试人员,文档人员等并没有建立起来。负责需求的业务分析师和开发团队若即若离,测试团队还是按照自己的步点来干活,
2017年1月9日

Java帝国之拨云见日识回调

的onResult(false)方法,但实际上回调的是XiaoZhang的onResult(false)方法,因为传进来的实例实际上是继承了ZhangClient的小张(作者:感觉像披着羊皮的狼)。
2017年1月5日

从1加到100:一道简单的数学题挑战下你的大脑

这才是码农每天打交道的代码,不过这种高级语言写的代码最终也要被编译成“低级”语言代码,
2017年1月3日

从一道面试题谈谈一线码农应该具备的基本素质

作为一线开发者写出来应该不成问题吧.然而…理想和现实还是有差距的.很多人都喜欢用递归写,
2016年12月30日

张大胖的加法器

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。
2016年12月28日

Google 为什么要把 20 亿行代码放到一个仓库中?来QCon,聊详情

年间建立了完整的云端开发工具链,这个工具链完美地整合了各个工作流程,极大提供了工程师的工作效率以及员工的培训成本。其他的互联网公司如
2016年12月27日

Http Server : 一个差生的逆袭

有些连接持续的时间还相当的长,所以我经常得创建成百上千的进程来处理他们,每个进程都得耗费大量的系统资源,
2016年12月26日

为什么说“远离企业应用开发”?

对于创业期的企业,最好不要跟他们做生意!他们不但资金紧张(大多数),而且主意变化得快,这个月告诉你他们要做生鲜电商,可能2个月后告诉你他们觉得还是开个淘宝店比较合适,陪他们玩不起。
2016年12月23日

什么是企业应用?

毕业后第一份工作就是做很热门的OA系统,就是所谓的办公自动化,包括了邮件、工作流、表单、文档系统等公司信息化需求,
2016年12月21日

张大胖改Bug

我听说过的极少,要么是业务发生了变革、要么是技术进行转型,例如从C/S转到B/S
2016年12月16日

一个不安分的JDBC驱动

要么是使用DataSource来得到Connection;关闭的时候,只需要调用Connection.close()
2016年12月14日

JDBC后传

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。
2016年12月12日

JDBC的诞生

他给了我一个号称性能更强劲的升级版mysql-connector-java-5.0.jar,
2016年12月9日

数据库村的旺财和小强

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。
2016年12月7日

张大胖学数据库

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。
2016年12月5日

从厨师到码农

我隐隐感觉不对劲,觉得这种感情像是乞求而来的,但是她是初恋,我对这份感情倍加珍惜,一退再退。
2016年12月2日

JSP: 一个装配工的没落

后端只负责提供接口以及页面模板,我在浏览器中读到页面模板和JSON以后直接在浏览器中进行装配,
2016年11月30日

命令式编程 vs 声明式编程

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。
2016年11月25日

三层架构和MVC那点事儿

Native,性能优化到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2016年11月23日

看看你的“易燃性”

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年11月18日

编译还是解释?

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年11月16日

张大胖学递归

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年11月14日

localhost vs 127.0.0.1

(0000:0000:0000:0000:0000:0000:0000:0001)
2016年11月11日

张大胖的socket

当年DARPA(美国国防部先进研究项目局)和一个叫做BBN的公司签署了一个合同,要把TCP/IP协议加入到Berkeley
2016年11月9日

TCP/IP之蓟辽督师

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年11月7日

懒就一个字

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年11月4日

TCP/IP之大明内阁

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年11月2日

那些烦人的同步和互斥问题

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年10月31日

漫画:什么是机器学习?

上个世纪90年代,沃尔玛超市已经是美国最大的零售企业,拥有大量的顾客资源。那时候的沃尔玛已经采用了先进的计算机技术,随时记录着每天众多顾客购物车中所挑选的商品明细。
2016年10月27日

从增删改查中突围

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年10月24日

学习面向对象的令狐冲

尽可能的从中提取出互相独立的概念出来,就像刚才你做的PaymentMethod,
2016年10月20日

谈谈培训班的作用

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年10月17日

小王买房记

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年10月14日

“架构师"小赵

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年10月11日

冯·诺伊曼计算机的诞生

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年10月8日

节约标兵IE的自述

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年9月30日

计算机语言之战

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年9月26日

唯一不变的是变化: 谈谈微信应用号

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年9月23日

小李在外企

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年9月19日

苹果手机变砖头以后

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年9月17日

小李的数据库之旅(下)

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年9月13日

小李的数据库之旅(上)

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年9月11日

码农小王的一天

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年9月7日

勿以浮沙筑高台

Native,性能优化到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2016年9月5日

我是一个键盘

你们的中断请求统统发给我啊,我来裁决谁的优先级高,谁能“调戏”CPU。
2016年9月2日

想写框架的看过来

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年8月30日

我是一块硬盘(下)

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年8月28日

我是一块硬盘(上)

Native,性能优化到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2016年8月25日

我是一个进程

本文的插图来源于《现代操作系统》和《操作系统概念》(恐龙书)这两本书,
2016年8月22日

"饿了么"初体验

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年8月19日

搞懂了这几点,你就学会了Web编程

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年8月16日

小超穿越记

Native,性能优化到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2016年8月14日

编程的自学方法

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年8月9日

我和编程语言的爱恨情仇(下)

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年8月5日

CPU阿甘之烦恼

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年8月3日

如何选择入行语言

Native,性能优化到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2016年7月31日

师姐说

写在前面的话:老刘微信上问我能不能给他写篇师兄说,我想都没想就给回绝了“在我人生最低谷的时候,如果一定要让我给年轻人提些建议,也许只有一句话,不要走我当年的老路。”
2016年7月28日

我和编程语言的爱恨情仇(上)

又看了一堆书像什么《COM本质论》,《COM技术内幕》,《COM原理与应用》。
2016年7月26日

师兄说

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年7月22日

动词 or 名词 :这是一个问题

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年7月14日

小李的Build之路(下)

是一款革命性的应用运营平台,融合了「在线聊天」、「客服支持」、「用户画像」、「行为引导」等功能为一体,
2016年7月12日

小李的Build之路(上)

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年7月10日

小李的版本管理系统

参与方法:扫描下方二维码,关注「DaoCloud公众号」,并在公众号内回复关键词「手机壳」,并花
2016年7月7日

谁是互联网之父?

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年7月5日

零Bug的代码是怎么炼成的?

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年7月2日

Spring本质系列(2)-AOP

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月30日

码农和英语

什么新技术,新语言,新硬件,新系统都是他们先折腾出来的,然后才漂洋过海到我们手里。
2016年6月28日

Spring 的本质系列(1) -- 依赖注入

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月25日

2016年春季互联网高端人才流动报告

比如他们通过组建线下团队,对每一家在100offer招聘的雇主进行严格筛选、实地考察。目前BAT、滴滴、今日头条、美团点评等优质雇主,当然还有不少优秀创业公司,均在100offer活跃招聘。
2016年6月23日

我是一个路由器

比如说我(ip地址192.168.1.2)会主动的要求你建立一个NAT映射
2016年6月23日

来自大脑的控诉

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月20日

学习编程的加速度

和之前自己学过的javascript版本的Selenium非常相似。
2016年6月18日

我是一个网卡

这篇文章其实来源于《计算机网络:自顶向下的方法》第5章的一个例子,我相当于又重新解读了一下。)
2016年6月16日

一个高中生是怎么玩自媒体的?

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月14日

Java 帝国之函数式编程(下)

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月12日

Java 帝国之函数式编程

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月10日

什么样的学生适合报考计算机?

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月8日

浮点数为什么不精确?

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月6日

尝试"分答"

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月4日

文章错误大全

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月3日

iOS为什么选择了Object-C?

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年6月2日

Android 为什么选择了Java

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年5月31日

Java 帝国之Java bean(下)

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年5月29日

Java 帝国之Java bean (上)

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年5月27日

一声叹息

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年5月25日

Basic : 一个老兵的自述

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年5月23日

码农需要知道的“潜规则”

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年5月20日

Java : 一个帝国的诞生

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年5月17日

码农在工作中的必备能力

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年5月14日

TCP/IP 之 大明王朝邮差

第一次握手:京城发信,县衙收到了,此时县衙就会明白:京城发信能力和自己的收信能力是没问题的。
2016年5月12日

小王的架构师之路

工作15年的IBM软件架构师分享编程和职场的经验和教训,
2016年5月10日

Email诞生记(下)

工作15年的IBM软件架构师分享编程和职场的经验和教训,
2016年5月8日

EMail诞生记

进入了很多人梦寐以求的MSHP公司,一入职老板就给小王安排了一个导师:资深的程序员老周
2016年5月6日

Http历险记(下)-- Struts的秘密

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年5月4日

Http 历险记(上)

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年5月2日

15年编程生涯,资深架构师总结的7条经验

我在上公司的一个关于Leader的培训课的时候,老师一直在说Passion(激情),Passion,Passion,但我一直觉得没有好奇心,没有兴趣,怎么会产生Passion呢?
2016年4月30日

抽象:程序员必备的能力

工作15年的IBM软件架构师分享编程和职场的经验和教训,
2016年4月28日

Javascript:一个屌丝的逆袭

工作15年的IBM软件架构师分享编程和职场的经验和教训,
2016年4月25日

有时候,沉默是金

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年4月23日

Node.js : 我只需要一个店小二

是个CPU密集型的计算任务,Node.js那个唯一的线程就会忙于执行这个计算任务而被阻塞住,就无法响应其他的请求了,带来的后果很严重,整个服务器都无法响应了!
2016年4月21日

CPU阿甘:函数调用的秘密

但是你一旦理解了,绝对物超所值,因为你会了解到汇编,寄存器,指针,以及他们在一起到底是怎么工作的。
2016年4月19日

让自己与众不同 - 提升工作的价值

Directed),我觉得非常重要。这一篇结合自己的一些小故事,从几个方面和大家分享一下。
2016年4月17日

CPU阿甘

工作15年的IBM软件架构师分享编程和职场的经验和教训,
2016年4月15日

我的编程之路--大学趣事

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年4月13日

对浏览器村的第二次采访

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年4月11日

学会编程, 而不是学会Java

但是我发现其中很多初学者,尤其是半路出家的遇到了一个很普遍的情况:
2016年4月9日

IE为什么把火狐和Chrome给打伤了?

工作15年的IBM软件架构师分享编程和职场的经验和教训,
2016年4月7日

我是一个Java class

----------------------------------------------------------------
2016年4月5日

一个价值百万的创业教训

----------------------------------------------------------------
2016年4月4日

我是一个线程(修订版)

可怜的0x7954被迫交出了所有的资源以后,很不幸地被kill掉,消失了。我拿到了导演的锁,可以开始干活了。大Boss“操作系统”如一阵风似的消失了,身后只传来他的声音:
2016年4月2日

学好编程必备的一个品质你知道吗?

-----------------------------------------------------------------------------
2016年3月31日

动物王国的面向对象

------------------------------------------------------------------------------
2016年3月22日

为什么自学中最好有个师傅指导一下?

------------------------------------------------------------------------------
2016年3月20日

请开往十年前的今天

------------------------------------------------------------------------------
2016年3月17日

通过外包进入名企

------------------------------------------------------------------------------
2016年3月16日

假如时光能够倒流, 我会这么学习Java

------------------------------------------------------------------------------
2016年3月14日

假如我是计算机系老师

看一看《深入理解计算机系统》,它把操作系统,计算机组成原理,数字电路,编译原理,网络,计算机体系结构等程序员需要了解的核心知识汇集在一起,
2016年3月7日

谈谈程序员的职业方向(下)

------------------------------------------------------------------------------
2016年3月3日

谈谈程序员的职业方向(中)

-----------------------------------------------------------------------------------
2016年3月1日

谈谈程序员的职业方向(上)

-----------------------------------------------------------------------------------
2016年2月29日

Open Source--不要为了开源而开源

-----------------------------------------------------------------------------------
2016年2月28日

JUnit你不知道的那些事儿

-----------------------------------------------------------------------------------
2016年2月24日

关于Java 初学者需要知道的10件事

-----------------------------------------------------------------------------------
2016年2月22日

这个网站值得你花时间投入

-----------------------------------------------------------------------------------
2016年2月16日

自学编程中遇到问题怎么办?

-----------------------------------------------------------------------------------
2016年1月27日

给小白的Java EE生存指南(6) :Java 反射

-----------------------------------------------------------------------------------
2016年1月19日

给小白的Java EE指南(5) : AJAX

-----------------------------------------------------------------------------------
2016年1月17日

给小白的Java EE生存指南(4) : 一只叫Tom的猫

-----------------------------------------------------------------------------------
2016年1月14日

给小白的Java EE生存指南(3) : XML

同时随着Web上数据的增多,这些HTML存在的缺点就变的不可被忽略。W3C提供了HTML的几个扩展用来解决这些问题,最后,它决定开发一个新的SGML的子集,称为XML。
2016年1月13日

从现在开始,丰富你的简历

-----------------------------------------------------------------------------------
2016年1月12日

给小白的Java EE指南(2)

由工作15年的IBM架构师刘欣创建,致力于帮助在校学生和刚工作的同学提高编程水平,多年的工作经验,肯定能让你少走弯路。
2016年1月8日

给小白的Java EE指南

-------------------------------------------------------------
2016年1月7日

Java EE读书指南

工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训,
2016年1月4日

到底应不应该上培训班?

由工作15年的IBM架构师刘欣创建,致力于帮助在校学生和刚工作的同学提高编程水平,多年的工作经验,肯定能让你少走弯路。
2016年1月2日

对一个死锁问题的思考

由工作15年的IBM架构师刘欣创建,致力于帮助在校学生和刚工作的同学提高编程水平,多年的工作经验,肯定能让你少走弯路。
2015年12月28日

圣诞礼物:Java EE的历史

-----------------------------------------------------------------------
2015年12月25日

码农必备技能:烂代码的处理之道(下)

这里不会再展开讲设计模式,我记得我的IBM经理说过:”10年前我们面试的时候,还会问懂不懂设计模式,
2015年12月23日

码农必备技能:烂代码的处理之道(上)

类起个好名字实在是太重要了,不知道你有没有听说过“代码就是文档“的说法,良好的代码结构,
2015年12月21日

不加断点调试的程序员是好程序员

我打字比较快,所以我坐在电脑前,Ken站在我身后看我编程。我们开发的很快,但经常会遇到问题,而且可以看出来出错了——毕竟这是一个图形化的编程语
2015年12月14日

先做个“键盘侠”, 再来写程序

我们现在还没有办法直接把自己的思维告诉电脑,编程的过程就是把你大脑的思维通过肌肉,通过手指传递给键盘,然后转化成电脑中的二进制,
2015年12月12日

一不留神,代码就腐化了

联想到我2010年做的咨询项目,客户是行业的领导者,软件和产品运行在世界各地,原以为代码质量会很不错,进入项目组一看,好家伙,代码够乱的,项目组成员在实现新特性的时候,好多copy&paste
2015年12月9日

一行代码引发的“血案”

我们就开始严格的审查这个新需求新加的,和改动的代码,10几双眼睛不知道看了多少遍,
2015年12月7日

学习数据结构有用吗?

你就发现其实大部分编程任务都没什么难度了,更难的其实是对编程更高的要求:抽象的能力。
2015年12月6日

聊一聊那些神一样的程序员们(下)

“程序员是最好的职业”,Anders说:“每两年,CPU的速度要加倍,内存容量是原来的四倍,但是我们的大脑还是原来的大小,很显然,将需要更多的程序员来补充这些。”
2015年12月5日

据说99%的初级程序员看完后都不迷茫了

你在以后的职业发展中,需要无数次先理解别人的“烂”代码,然后在上面修修补补,所以还是先适应吧。
2015年12月2日

为什么你无法坚持自学编程?

通过这种方式,我相信能最大程度消除孤单感和挫败感,因为你知道有一群志同道合的人和你在一起,
2015年11月30日

那些永不过时的书,你看过几本吗?

其实讲的更多的是面向对象的设计,行文流畅,读起来酣畅淋,我认为此后所有讲面向对象设计的书都无法超越,
2015年11月28日

聊一聊那些神一样的程序员们(中)

有个很有趣的故事,传说KenThompson在贝尔实验室,大摇大摆的走到任何一台Unix机器前,输入自己的用户名和密码,就能以root的方式登
2015年11月27日

聊一聊那些神一样的程序员们(上)

于1968年推出,可真正能读完并且真正读懂的人并不多,比尔.盖茨在1995年接受一次采访时说,“如果你认为你是一名真正优秀的程序员,就去读第一
2015年11月26日

从无聊的工作中寻找价值

我遇到很多程序员都说自己的工作很无聊,很无趣,想跳槽干点更有技术含量的、更有挑战性、甚至是更炫的工作。
2015年11月25日