最新文章
编写Shell脚本的最佳实践 编程基础
前言 由于工作需要,最近重新开始拾掇shell脚本。虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看。而且当我在看其他人写的脚本的时候,总觉得难以阅读。毕竟shell脚本这个东西不算是正经的编程语言,他更像是一个工具,用来杂糅不同的程序供我们调用。因此很多人在写的时候...
为什么你该开始学习编程了? 程序人生
有一家饭店的大厨,烧得一手好菜,经过口碑相传,客人从五湖四海闻名而来。然而这对饭店的老板来说,并不单纯是一个好消息。因为客人不是奔着饭店,而是奔着大厨的手艺来的。老板必须想办法留住这位大厨,否则他一旦被别人挖走,饭店的生意就会一落千丈了。然而即便老板不惜血本保证了大厨的忠诚度,风险也依然存...
小printf的故事:什么是真正的程序员? 程序人生
英文原文:The Little Printf(PDF电子书) 第一章 (推荐看完整篇文章,再回过头看一遍第一章) 我非常幸运出生在一个电脑和电子游戏还没有普遍的时代。所以我可以和我的小伙伴们一起玩耍,同时发明属于我们的游戏。 我们十分会玩:用树枝做成弓箭。我们可以用树枝做出任何...
程序员的工作、学习与绩效 程序人生
工作中,碰到一些这样的例子,总有人提出疑问,为什么一个同事工作勤勉,完成了很多事情,季度绩效评定很高,但晋升却碰壁了。之前已经写过一篇《技术晋升的评定与博弈》,基本就能解答这个问题。但隐藏在背后的更深层次的本质却是:工作、学习与绩效的关系。 工作 程序员的主要工作是:编程,产出代码,...
软件开发为什么很难 程序人生
问题的分类 最初在1999年被Dave Snowden开发出来的 Cynefin 框架尝试把世界上的问题划分到了5个域中(大类): 简单(Simple)问题,该域中的因果关系非常明显,解决这些问题的方法是 感知-分类-响应(Sense-Categorise-Respond),有对应的最佳实...
唱吧DevOps的落地,微服务CI/CD的范本技术解读 软件工程
1、业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验。K歌亭在客户端有VOD、微信和Web共三个交互入口,业务复杂度较高,如长连接池服务、用户系统服务、商户系统、增量更新服务、ERP等。对于服务端的稳定性要...
程序员,如何从平庸走向理想? 程序人生
博主说:也许我们都不是天才的程序员,但至少我们都可以成为一个理想的程序员。 正文 我算是靠坑蒙拐骗进了程序员的门,然后一路狂奔。26岁之前几乎没有任何写代码的经验,研究生毕业却意外选择了一家不可能提供培训的初创公司,在每日担忧公司倒闭、害怕被炒鱿鱼以及同事冷落白眼的三重...
我为什么鼓励工程师写blog 程序人生
文/JoeyChen 工程师该怎样才能突破自己的能力瓶颈?写 blog! 工程师该怎样精进自己在职涯上所需要的能力?写 blog! 工程师该怎样才能保持学习与成长的动能?写 blog! 工程师该怎样才能证明自己的潜力与特质?写 blog! 工程师该怎样才能发挥与养成影响力?写 blog! ...
怎么轻松学习JavaScript Web前端
js给初学者的印象总是那么的“杂而乱”,相信很多初学者都在找轻松学习js的途径。我试着总结自己学习多年js的经验,希望能给后来的学习者探索出一条“轻松学习js之路”。js给人那种感觉的原因多半是因为它如下的特点: A:本身知识很抽象、晦涩难懂,如:闭包、内置对象、DOM。 B:本身内容很...
如何打好前端游击战 Web前端
一、前端游击战为哪般? 小鹿乱撞,心花怒放。终于有机会在梦寐以求的团队博客的评论以外位置留下自己的痕迹啦,撒花撒花!淡定淡定,官博是严肃的地方,要是随便侃大山侃小山,拙文估计会被“里德尔”砍成袁姗姗。 深吸一口气,闲话少说,放马入题。 首先有必要回答这个问题:“何为前端游击战?” ...
技术文章的阅读姿势 程序人生
阅读技术文章可以说是我们程序员的日常之一,Peak 君每天也会进行定量的阅读。特写一篇小文分享下心得,介绍下过去几年,在纠正阅读习惯上所做的一些努力和取得的成果,或许可以帮助一些朋友,节省少许阅读时间,提升一点学习效率。 差不多两年前,我开始搭建 Android 相关的知识体系。最开始的想法...
马拉松式学习与技术人员的成长性 程序人生
你的朋友圈里总有一些人具有某种特殊的技能点。比如我的一位铁哥们——波仔——就是这样的人。 波仔,江湖人送外号——波哥,是我认识的程序员里面最能跑的。国内的马拉松赛事,他几乎一次不落地参加。只要哪个城市举办马拉松比赛,不管多远,他都一路飞奔过去。这不,前两天刚冒雨跑完了无锡的马拉松。虽然淋得跟...
程序员的“认知失调” 程序人生
“不可能啊”、“一定是服务器的原因”、“我的程序不应该有问题啊”,这些年工作听到的最多的就是这些话了,程序员都是比较自信的,总是觉得自己的程序肯定没问题。 程序就是程序员的自我延伸,花了几个小时甚至几天时间构建的结果,最后它以“正确”的形象印入你的意识里,你自然不希望别人找出什么纰漏,即便找...
为什么有的人工作多年还是老样子 程序人生
1 前段时间面试了一位三年工作经验的程序员,期望薪资10k。在程序员这行业,三年工作经验,又是一线城市,这期望薪资算是一般。 面谈了一会,觉得该程序员技术水平一般,对多线程,线程池,动画属性这些并没有掌握牢固。虽然这三年期间做了好多项目,但大都是类似的,普遍是一些增删改查,项目核心技术较...
也许,这样理解HTTPS更容易 编程基础
摘要 本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程。 我们先不了聊HTTP,HTTPS,我们先从一个聊天软件说起,我们要实现A能发一个h...
程序员学习能力提升三要素 程序人生
IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。 众所周知,现在是一个知识爆炸的时代,知识更新非常快。据测算,一个大学毕业生所学到的知识,在...
为什么我要写自己的框架? 程序人生
我觉得编程的框架应该分为:直接用->抛弃->重拾 框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。 其实说白了使用框架就是使用别人造好的轮子。在软件开发里面就是command+C/comm...
垃圾回收原来是这么回事 编程基础
最近想复习一下JVM的知识。然后发现网上不少文章在写JVM的垃圾回收算法时,都比较偏向于具体实现,而少有站在更高角度来看垃圾回收算法的文章。而我本人想对垃圾回收算法有个全景的认识,所以,就找到了这本《垃圾回收的算法与实现》(以下简称《垃圾回收》)。本篇博客就是尝试对“全景”的总结。 以下为方...
「代码家」的学习过程和学习经验分享 程序人生
每天,都会有人在微博上私信我,问我关于学习和成长的问题。这种问题我一般都不会回复某个j,毕竟每个人的情况不一样,每个人对待事物的性格也不一样,我不能夸下海口的说,你看某本书几个月就能如何如何,我能做的多数时候只是鼓励鼓励,其次我也从不认为我已经成长到一个多高的境界上,让我去给别人做指导,我还是当...
写给未来的程序媛 程序人生
可能是因为正当校招季,最近关于程序媛(女性程序员)的话题很火,朋友圈里一下就冒出很多相关文章,有的写自己求职入职的心路历程,有的从客观数据角度分析女性优劣势,也有过来人分享自己和周围人的看法,加之几天前我所在的公司ThoughtWorks赢得了2016最佳女性科技人员雇主,忽然间,”程序媛”成了...