与其说 Andy Hunt 是敏捷宣言的创始人,不如说他是一名专业作家来得更为合适.他的<实用程序员><程序员修炼之道:从小工到专家><编程 Ruby:实用程序员指南>都是口碑极佳的程序员读物.50多岁的他从未离开敏捷,但又没有把自己的人生与敏捷绑在一起,他的精神生活丰富而充实:搞音乐.做木工.写科幻小说-- Andy 的职业生涯经历了很多阶段,从财富100强公司的在职程序员,到在"真正精英.有趣的高科技软件公司"工作,再到担任上述所有公司的顾问,再…
鸡仔说:今天介绍一位天才程序员--亚当·德安格洛(Adam D'Angelo),他被<财富>杂志誉为"科技界最聪明的人之一",大学去了被誉为"天才"摇篮的加州理工,毕业后成为 Facebook 的第一任 CTO,后创造全球领先问答公司 Quora.2016 年福布斯排行榜 40 岁以下最富有企业家中排名第 24 位.最可怕的是,这个身价数十亿的小伙子,是个 80 后(1984年出生),开挂的人生从来都不需要解释 竞赛获奖成为家常便饭 和很多天才一样,Ad…
<程序员的思维修炼:开发认知潜能的九堂课>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196325 内容简介 运用一门程序设计语言编程对大多数普通程序员来说是"小菜一碟",那么如何更上层楼成为一名专家级的软件开发者呢?本书给出了答案--优秀的学习能力和思考能力.作者从软件开发领域的角度,阐述了每一名程序员提升"内力"所需要的各种软性知识:从新手到专家的5个层次.人类大脑的运行机制.直觉和理性的利与…
JobDeer 的<程序员必读的职业规划书> 关键字 持续性,人生规划,职业规划 概念 职业规划三部分: 职业定位 目标设定 通道设计 职业价值论: 能为公司做什么 同样的能力再不同公司价值不同 -- 架构能力 高级开发的进化态时"专家"."架构师"."行业大牛",这些最重要的是架构能力. 如何提升: Don't Repeat Yourself 这正是逼近软件本质的一个原则,它指导我们把经常使用的功能抽象成库,把重复出现的代码重构为可…
我是一名普通的软件工程师,不是什么技术大牛.这篇文章所提到的"七种武器"只是我这些年工作经验的一点体会和感悟,如果有错误的地方,还请大家指正. (一)C语言 作为一名C程序员,熟练掌握C语言是最基本的一项技能.关于如何学好C语言,以及C语言话题的讨论,网上有很多经典的文章,我就不一一列举了.在这里,我只想谈一点我个人的体会:刚毕业时,我来到一家比较大的软件公司工作,而公司的工作模式是每个人只负责一个小模块.这样工作两年后,我自认为我的C语言水平已经很高了.后来,我来到现在这家公司.由于…
提出问题 今天突然想聊聊最近对职场的一些感悟. 这段时间,小端一直在思考一个问题:作为一个程序员,怎么才能成为团队的核心? 还记得刚入职场那几年,小端一直觉得,技术过硬,经验丰富,敢打敢拼,就是答案.并且也一直践行着这个认知,不断的学习新技术,巩固老知识.可是多年后回过头看下,惊讶的发现,新技术更新迭代的速度能让人发狂,老知识也逐渐成了海量,并且一旦一段时间不用,就仿佛自己曾经只是在梦里见过有没有.为什么?难道那些“核心们”,真的就有一颗最强大脑?似乎并不是那么回事. 有了疑问,就要调查研究,就…
第13章 写给C#程序员的UML概述 UML包含3类主要的图示.静态图(static diagram)描述了类.对象.数据结构以及它们之间的关系,藉此表现出了软件元素间那些不变的逻辑结构.动态图(dynamic diagram)展示了软件实体在运行过程中是如何变化的,其中描述了运行流程或者实体改变状态的方式.物理图(physical diagram)展示了软件实体不变的物理结构,其中描述了诸如源文件.库.二进制文件.数据文件等物理实体以及它们之间的关系. 查看如下代码,这段程序实现了一个基于简单…
首先,这本书值得再看一遍——这次的阅读,有很多东西都是知其“形”,不知其“神”的,这导致了我对其中某些建议持怀疑态度,接受了的建议也有待商榷. 总之,先记录本书的一些信息: Practices of an Agile Developer 高效程序员的45个习惯·敏捷开发修炼之道 美·Venkat Subramaniam和美·Andy Hunt著:钱安川.郑柯译. 人民邮电出版社,图灵程序设计丛书:2010年第一版. 于2017年12月1日读完第一遍. 1. “敏捷式的单元测试正是采取了相同.相似…
首先,“银弹”在百度百科中的解释是银色的子弹,我们更熟知的“银弹”一词,应该是在<人月神话>中提到的.银弹原本应该是指某种策略.技术或者技巧可以极大地提高程序员的生产力[1].此题目中关于中文编程是否是一个“银弹”的讨论,我所持的是否定的态度,我不认为中文编程会是一项提高中国程序员编程效率的一个秘密武器,相反,我还认为他会比现在的英文编程来说降低工作效率,造成很大的工作上的困难. 从上述给出的几个有关于中文编程的链接来看,我更加深了自己的看法.首先,中文编程中有很多词语或者是单个词都具有很多词…
从网上看到的,感觉挺不错的! Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't speci…
“历劫1”:你坚信你可以用Go来做面向对象编程? 在经历了一次Go应用之旅之后,你可能就会开始思考:“怎么样才能让这种语言更像面向对象的编程语言?”因为你已经习惯了这种编程,你想要制作健壮的代码.想要多态. 然后,你说:“一定有办法实现的!”再然后,你就发现了结构嵌入,它可以将来自封闭对象的方法巧妙的委托给嵌入对象,而无需重复代码.这简直是太伟大了! 当然,很快你就会发现这并不能真正解决问题.因为结构嵌入只允许委派方法调用,所以看起来你是在做多态方法调度,但关系并不是IS-A,而是HAS-A,方…
第11章      中断处理程序 本章将深入到DOS系统内部探讨中断处理程序的内容.与其他计算机编程不一样, 中断处理程序这个名词听起来就很难懂.用最简单的话来说,中断处理程序就是对应于中 断激活的程序. 读者可能已发现,中断处理实际上并不是件很难办的事.事实上,在某些地方中断处 理很容易管理.但是,其中仍然有些“黑洞”,一旦陷入便不能自拔.本章的信息可让你不 致于迷失在黑洞中. 人们谈论中断已有好多年了.当它第一次作为系统设计的主要部分而应用到计算机 上时,它就获得了不安全的名声.在早期的计算…
作为一名程序员,如果你想在这个领域内继续向前进步或者在当前的经济形势下保持不被炒鱿鱼,那么你就决不应当自满自足,你需要继续学习.近日,著名IT评论员Justin James在他的博客中列出了未来五年程序员应当具备的十项技能,如果照此实践,你未来的工作前景一定一片光明. 当前的经济形势下,很多程序员将目光聚焦在短期内的工作形式上,但是你仍然要抽出时间和精力学习新的技能.以下是作为程序员应当即刻学习的十项技能,以确保在未来五年内你的简历上有真材实料.当然这个名单很难做到详尽而没有遗漏,有些领域没有涉…
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们. 一.Java编程入门类对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说.用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”.1.<Ja…
首先声明,本文是一本正经的胡扯,绝不是随随便便的胡扯,请您不要随便攻击我胡说八道.我要反复星爷在<喜剧之王>里的台词:事实上.我是一本正经的喷子. 3D打印的定义 关于3D打印,以下是来自百度百科的解释: " 3D打印.即高速成型技术的一种,它是一种以数字模型文件为基础,运用粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术. 3D打印一般是採用数字技术材料打印机来实现的.常在模具制造.工业设计等领域被用于制造模型.后逐渐用于一些产品的直接制造.已经有使用这样的技术打印…
还有四个月,我就30周岁了.圈里都在传30岁程序员的焦虑,我也焦虑.身边的朋友,除了已经上岸的一部分,说不焦虑的,几乎找不到. 我们不妨认真地来聊一下这个话题:30岁,程序员,焦虑. 首先,什么是焦虑? 在这里,我们可以认为“焦虑”是指:对自己职业前景等的过度担心而产生的一种烦躁.着急.恐慌.不安的情绪. 没错,对未知我们都会容易产生焦虑情绪,可是: 为什么是“30岁”的“程序员”呢? 为什么是30岁而不是25岁? 大多数人在22岁左右本科毕业,再读个研究生的话是25岁左右,这个时候刚毕业的学生…
作者|池建强 编辑|小智   戳阅读原文,获得短信提醒,不错过下次InfoQ大咖说直播! 1 写在前面 加入极客邦的第一天就被拉到了「大咖说」的现场,这也是我始料未及的事情.从锤子科技正式离职之后,我享受了一个短暂的假期,随即投入了下一个战场,极客邦科技和内容服务领域. 很多人都在问我,为什么要离开锤子科技加入极客邦科技,其实这就是一个简单的职业选择.人生在世,一路向前,总会遇到各种各样的选择,有时候是被动选择,有时候是主动选择,仅此而已. 锤子科技是一家独特的,有趣的公司,由于种种原因,它的成…
今天给大家推荐一批 BAT 公司常用的开发工具,个个好用,建议转发+收藏. 阿里篇 一.Java 线上诊断工具 Arthas Arthas 是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊断工具. 使用场景: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下…
这是why技术的第32篇原创文章 春节期间读了两本技术相关的书籍:编程大师Bob大叔的<代码整洁之道>和<代码整洁之道:程序员的职业素养>. <代码整洁之道>出版于2010年,其内容主要是偏向于技术的"技".全书都在说一些如何让代码更加整洁的方法和规则. <代码整洁之道:程序员的职业素养>出版于2016年,其内容主要偏向于技术的"术".全书内容和代码整洁关系不大,更多的是阐述软件开发者的专业精神.书中给出了很多务实性的…
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 Java学到什么程度可以找工作? 最近总看到类似这样的问题,也有一些工作3年左右的小伙伴问小傅哥,该怎么进大厂.其实你说 Java 学多少可以找到工作,主要看你想在哪个城市找.找什么样的公司.找什么样的待遇.因你的要求高低不同,你遇到的面试要求也会随之改变. 因此,为了让大家更清楚的看到学多少Java能找工作,我抽取了北京头部互联网公司的大量职位招聘要求,分析出一份可以让你明卷面试…
Robert C. Martin( 罗伯特·C·马丁),作为世界级软件开发大师.设计模式和敏捷开发先驱.C++ Report杂志前主编,也是敏捷联盟(Agile Alliance)的第一任主席,我们尊称他为" Bob 大叔(Uncle Bob)".如今,年逾六十的 Bob 大叔过着典型的"斜杠"生活,他不仅是优秀的程序员.畅销书作家.演讲家,以及视频制作者,还是一名柔术爱好者. 多年学习柔术的经历,带给他的除了强健的身体之外,还有从中受到的有关"匠艺&qu…
一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测试中很难被发现.毕竟想要在测试环境完美的复制生产环境的所有情况也是不太可能的,导致出现了疏漏.对于这类情况,我们在想是否可以通过在线下做一些 Code Review(代码审查)假想线上的环境差异,通过在头脑中的假想上线运行来获得一些概念验证,这样是否能够减少上线后出现 bug 的概率呢? 感性 Co…
本文地址 分享提纲: 1. PHP 2. Linux 3. Apache/Nginx 4. Mysql 5.设计模式/架构 6. 缓存并发 7. 其他语言 8. 代码基础 9. 大前端 10. 管理生活 准备总结列出PHP程序员要读的书目,大部分是关于技术的,也有一些是关于管理和自我提升的,督促自己不断读书,实践,提高.大家共勉! 1. PHP 1)<PHP核心技术与最佳实践>(done) http://item.jd.com/11123177.html 2)<深入理解PHP内核>…
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). 本文目标是帮助 Java 程序员了解中级程序员应有的水平,避免陷入唯"高技术.新概念"的陷阱.Java 编程入门相对比较容易(推荐:Java入门教程).学完语法后,很多人希望作一些进阶学习,开始编写网站.访问数据库等应用.然而,当程序比较多时,你又觉得 Java 程序很复杂.因此,我们有…
http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/#rd?sukey=f64bfa68330f696aa05077dbb740f367870988360956e818b4f7074c49ab47258dc687689cc483391f771e27e2bca446 软件业的特点是变化.若要提高软件开发的技能,就必须跟上技术发展的步伐.埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难…
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照…
在腾讯的暑期训练营结识过不少鹅厂的前辈,他们对我的成长提供了很大的帮助,可以说有着知遇之恩,大部分现在还保持着联系,请教问题时会不吝赐教,以至于就在前两天11号企鹅18岁的成年礼,朋友圈刷满了领腾讯总办红包的消息,几乎一半的朋友圈成为了鹅厂的股东……(不可描述,上图.) 图1.小马哥的红包 因为腾讯内部都会起英文名,我也经常用英文名称呼前辈们, 所以一直想给自己也起个英文名字,这样注册微博等重名时我也好给自己打个英文标签,不过酝酿了很久一直没有好的想法,之前看“鹅厂卧谈会”说英文名一定要好好起,…
Java 几乎是许多程序员们的入门语言,并且也是世界上非常流行的编程语言.国外程序员 Andreas Kull 在其 Github 上整理了非常优秀的 Java 开发资源,推荐给大家. 译文由 ImportNew- 唐尤华翻译完成. 以下为具体资源列表. 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven 使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven 优于 Apache Ant.后者采用了一种过程化的方式进行配置,所以维护起来相当困难.…
本来这个是我给我们公司入职的新人做一个参考,由于 @张善友 老师在他的微信号转了我的这篇文章<<.Net WEB 程序员需要掌握的技能>>,很多人觉得比较有用,说是看了后知道一步步怎么学,这个让我受宠若惊,另外我看到有些同学文章引用了这部分,但是格式很乱看不清楚,所以我就重新整理一下在博客园发一下,希望对更多人有用,也希望大家补充. 基础部分 C# 基础语法 OOP的概念,面向对象的理解 继承 封装 多态 ASP.NET MVC ( Web Form 用的越来越少,如果你不熟悉We…
.NET程序员走向高端必读书单汇总 一.知识树 1. 基本能力 1.1 数学 1.2 英语 1.3 语言表达 2. 计算机组织与体系结构 3. 算法与数据结构 4. 操作系统 5. 计算机网络 6. 信息管理 7. 开发语言及框架(以.net平台为例) 8. 软件工程 二.学习方法 三.后记 如今程序开发工作越来越简单(丰富的API.智能的IDE.越来越多的开发框架),普通人通过简单的训练,通过组合和复制就能完成众多程序的功能.因此程序员这种过去高技术职业的代名词,现在却如此低贱,被称之为码农.…