程序员

掘金者说-第1期-个人性格

混江龙づ霸主 提交于 2020-01-27 23:29:29
第1期 | 个人性格是否和程序员话题无关 第一季-思想篇 第1期 个人性格 第2期 求知欲 第3期 人和领导力对拓展性的影响 第4期 个人的经验 第5期 可劲学开源佩格 第6期 反障碍 第7期 双活工程师 第8期 为圆满的人生作准备 第9期 时间管理 第10期 创作中 第11期 创作中 第12期 创作中   您好,我是小绪。从今天开始,我在这里开始一个掘金者说。文章来自《Code Complete》,中文版本叫《代码大全》,这本书一直是我最喜欢且反复翻阅的字典。就好像小时候经常放进书包里的一本工具书《新华字典》。现在,让我们开始品读吧!   在软件开发过程中,人们很少注意个人性格问题。每个行业的工程人员都了解其工作用的工具及材料的各种限制。如果是电器工程师,就该知道各种金属的电导率,以及电压表的上百种用法;如果是建筑工程师,就该知道木材、混凝土和钢铁的承载量。   假如你是软件工程师,基本的建造材料就是你的聪明才智,主要工具就是你自己。建筑工程师对建筑结构进行详细的设计,然后将设计蓝图交给其他人施工;而你一旦从细节上对软件做好设计后,软件就生成出来了。编程的整个过程如同建造空中楼阁一样--------这是人们能做的纯粹脑力劳动之一。   因此,当软件工程师研究其工具和原材料的本质时。会发现其实是在研究人的智力、性格,这些可不像木材、混凝土和钢材是有形的东西。  

最近对数据挖掘感兴趣了,为什么国外的课程会这么好

烈酒焚心 提交于 2020-01-27 14:09:46
贴上671coder的一篇帖子 : 原址见 : http://blog.csdn.net/liuqiyao_01/article/details/37904611 前言 事实上有许多的途径可以了解机器学习,也有许多的资源例如书籍、公开课等可为所用,一些相关的比赛和工具也是你了解这个领域的好帮手。本文我将围绕这个话题,给出一些总结性的认识,并为你由程序员到机器学习高手的蜕变旅程中提供一些学习指引。 机器学习的四个层次 根据能力可以将学习过程分成四个阶段。这也是一个有助于我们将所有学习资源进行分类的好方法。 初学阶段 新手阶段 中级阶段 高级阶段 我之所以把初学阶段和新手阶段区分开来,是因为我想让那些完全初学者(对这个领域感兴趣的程序员)在初学阶段对机器学习有一个大致的认识,以便决定是否继续深入。 我们将分别探讨这四个阶段,并推荐一些能够帮助我们更好地理解机器学习和提高相关技能的资源。对学习阶段进行这样的分类只是我个人的建议,也许每个分类的前后阶段中也有一些适合当前阶段的资源。 我认为对机器学习有一个整体性的认识是非常有帮助的,我也希望能听听你们的想法,通过在下面评论告诉我吧! 初学阶段 初学者是指那些对机器学习感兴趣的程序员。他们或许已经接触过一些相关的书籍、wiki网页,或者是已经上过几节机器学习课程,但是他们并没有真正地了解机器学习

学会对客户说“不”!

有些话、适合烂在心里 提交于 2020-01-27 07:45:04
本文内容仅代表个人观点,欢迎大家拍砖! 今天有一个朋友在msn上问我这样一个问题: 客户要求可以自定义报表的格式,如果自己去写一个报表设计器,太复杂了,请问你有没有什么好办法? 于是我就问:什么叫自定义报表格式?(我一开始还以为是指定报表的导出格式。)朋友说:就是客户要自己来设计报表,而且要求尽量简单,能够让只会Office的人来用(昏哦。。。) 我马上觉得比较纳闷,怎么会有这种需求,那岂不是要做一个Crystal Report出来?!怎么会有这种客户?那他干嘛不去买一套国外的报表设计系统呢?怎么可能有只会Office的人用的报表系统?微软的Excel也需要大量的培训才能让使用者作出报表来。一个又一个问题从我脑海里蹦了出来(还好没有buffer overflow,呵呵) 我很明确的告诉他:这做不到的,否则要开发人员干吗?!之后我还建议他说服客户,突出开发成本和后期维护成本之后,还有就是人员培训成本!举个很简单的例子,微软的Excel算够简单了吧,微软花费了大量的人力来开发这套产品,但到目前为止,有多少人能够在从来没有使用过Excel的情况下马上用Excel做出一个报表来,我相信大家也看到过外面有很多Office培训,还不是教人们如何使用Word和Excel,这样优秀简单的软件培训成本都如此之高,更何况自己做的报表设计系统呢?退一步讲,就算可以做,就算把这样的系统中做出来了

第1章《启蒙》. 5.从C到C++,谈谈人类的编程思维

亡梦爱人 提交于 2020-01-27 03:42:52
0. 引子 想要对着机器发号指令,但又不直接使用“机器语言”,我们就会想制定一门比较符合人类思维习惯的编程语言,然后再用“翻译/编译”器将它转成机器语言。简单地说,就是一个使用C(中间工具)将B(接近人类思维的语言所写的代码)转换成A(机器语言)的过程。 那么人类有什么思维习惯呢?比如人类都喜欢 “先入为主”,所以我们制定的新语言一定要每一个单词都看上去很惊艳;再比如,人类都容易“喜新厌旧”,所以我们的制定的新语言一定要三天两头就升级一下;再比如现代人做事都超爱“拖延”,所以我们制定的语言一定要让人容易用着用着就上瘾…… 这些都是胡扯。 应用在编程这件事上,最广泛的人类思维习惯或思维模式有:“面向过程”、“面向对象”等。 1. 面向过程 日常生活中要完成一件比较大的事,是不是就习惯将大事分解成多件小事?即:把一个相对大(复杂)的办事过程,拆分成存在时序关系的多个小过程。比如:家族主妇想做道菜,可以将做菜的事分成:备菜、炒菜、上桌等过程。其中备菜过程,又可以细分出买菜、洗菜、切菜等等。对应到编程语言,通常用“功能函数/function”代表过程,也有的语言更是直接对应到“过程/procedure”,所以面向过程被提前为“PO”,即“Procedure Oriented”。 2. 面向对象 面向过程的思路很直观(不就是大事化小,小事化了嘛!),但是,当一件事情庞大、复杂到某种程度时

程序员书籍PDF大收集

泪湿孤枕 提交于 2020-01-26 22:38:44
【HTML5 Canvas核心技术 图形、动画与游戏开发】 【编写可维护的JavaScript中文版】 【编译原理(本科教学版)】 【计算机操作系统原理与设计】 【图解HTTP+彩色版】 来源: CSDN 作者: since911 链接: https://blog.csdn.net/since911/article/details/104089423

程序员面对灵魂的拷问--'你自测了么?"

自闭症网瘾萝莉.ら 提交于 2020-01-26 03:25:26
大学学的是计算机科学与技术,毕业后从事iosAPP开发已有6年之久,从一个菜鸟到老兵,一直奋战在第一线,幸运的还有保留着一头乌黑的头发,回想起自己这些年的折腾,有些话真的可以触及到程序员的灵魂,例如"你自测了么?" 随着业务量和项目工期的压缩,工程师面临巨大的压力,确保开发进度和交付更高的产品质量,是很难抉择的,自己也吃过很多亏,自己辛辛苦苦做的出的产品,得不到用户和测试认可,客户的压力通过测试来提现到开发的身上,其实每个人都在为同一个目标而奋斗,对事不对人,有些时候我也在反思,是不是自己没有通过自测而草草交付给测试,测试由于项目繁多,而不能确保所有细节都可以覆盖测试,交付给客户并没有达到他们的要求,用在和客户沟通的时间增加这样会尾款交付. 一句话"你自测了么?" 包含了如下几点: 001 开发人员通过项目测试用例进行自测那么就可以及时发现一些重大问题,走通主要流程,例如登录注册和业务流程,通过自测可以将bug及时修改,提高程序健壮性; 002客户端开发也不要脱离后台管理系统,只有客户端和后端有效的配合才能让程序提高用户满意度; 003这样测试人员是代表用户或者客户来体验产品,就可以将精力更多的分配在用户交互,流畅度体验,以及深层次bug的检验; 004通过自测 让项目经理和团队之间可以交流顺畅,解决问题更加高效,能力提升更加快速; 005通过自测可以提高工作效率 增加生产价值

程序员硬起来太可怕了!所以你硬起来了吗?!

安稳与你 提交于 2020-01-26 02:53:49
2019年 是最好的一年 也是最坏的一年 有程序员的高光时刻 也有程序员的扑街时刻 但无论如何2020已经到来 希望新的一年我们能更加 “硬气” 01 问 "小哥哥在吗?" 的产品经理 "临时乱改需求" 的产品经理 开口就 "这个需求很简单" 的产品经理 2020年我只想做个冷漠.jpg boy 02 "我不管,今天就要上线" 的老板 "只画饼不发年终" 的老板 "没有补偿就裁员" 的老板 2020年我只想做个冷漠.jpg boy 03 "貌似拿数据说话" 的运营 "只会说我们离用户最近" 的运营 "拿老板压人” 的运营 2020年我只想做个冷漠.jpg boy 04 "瞎改代码" 的同事 "注释空白" 的同事 "没事也加班" 的同事 2020年我只想做个冷漠.jpg boy 05 "说程序员只穿格子衫" 的KOL "说程序员只能new对象" 的KOL "说程序员都是秃头" 的KOL 2020年我只想做个冷漠.jpg boy 06 "狂压薪资" 的HR "不懂技术还要bb" 的HR "冲KPI约面试却没有hc" 的HR 2020年我只想做个冷漠.jpg boy 07 "毁约应届生offer" 的互联网公司 "996不给加班费" 的互联网公司 "压榨完程序员就抛弃" 的互联网公司 2020年我只想做个冷漠.jpg boy 以上种种 大家或多或少都经历过 尽管都是互联网的社畜

代码质量保证体系——OpenStack

为君一笑 提交于 2020-01-25 08:05:34
在这个到处都是“云里雾里”的云计算时代,如果不知道点OpenStack、Kubernetes等,出门都不好意思说自己是个程序猿了。 编码规范与代码静态检查 程序员最讨厌的四件事应该是:写注释,写文档,别人不写注释,别人不写文档。那么对于这样一个貌似很不好相处的群体,有人说,如果莎士比亚生活在当下,他会是一名科技作家,而且他座右铭会变成:“消灭世界上所有的程序员。” 消灭当然是做不到的,于是有一种所谓的编码规范的东西就被推上了前台,来预防程序员的各种个性与创造力。 对于达到百万行代码这个量级的OpenStack来说,它当然也必须有自己的一套编码规范来约束以及预防自己的众多开发者们是在把自己的创造力作用在构建一个蓬勃发展的开源云项目上,而不是一个其他的什么怪胎。 至于这个编码规范的内容,我们尽可打开http://legacy.python.org/dev/peps/pep-0008/这个链接去仔细阅读,这里的内容将着重放在OpenStack编码规范检查工具,及其相关的一个子项目Hacking上。 Python代码静态检查Flake8 对于OpenStack息息相关的Python代码静态检查来说,目前的工具主要有Pylint、Pep8、Pyflakes、Flake8等。 Pylint据评价属于稍显变态的一种,违背了Python开发者Happy Coding的倡导

程序员如何迈过35岁的坎?

醉酒当歌 提交于 2020-01-25 08:05:21
· 2019是对中国困难的一年,这一年全球化退潮,各地保守主义上台,中国经济承压。2019也是对互联网严峻的一年,许多公司裁员,许多公司收到贸易战的波及,还有许多中小公司困难的发不出工资,甚至倒闭。而2020可能会更为严峻。对于我们程序员,如何在这个行业生存下来? · 程序员35岁是到坎,这个不是空穴来风,而是常常发生在我们身边的事情。 看到一篇文章中,讲到一个39岁的程序员,由于初创公司倒闭,之前心心念念的梦想破灭了,新找工作的工资只有原来工资的三分之一。这在大环境严峻的当下,生存问题更加严峻。我相信绝大多数人都是普通人,大家拥有相近的智商。那我们如何在众多程序员当中脱颖而出,在这个行业中活得越来越好? 1. 认清自己 · 在项目团队中,我们会看到,有些人非常忙碌,有些人经常很闲,是不是忙碌的人会活得更好呢?不是的。忙碌只能代表项目需要你,但是你的 不可替代性 如何呢,如果是重复性工作,虽然项目需要,但是与你自身是没有帮助的。如果公司一旦倒闭,你面临重新找工作的时候就会很惨,这就是那个39岁程序员遇到的问题。 · 所以首先我们要认清自己的现状,我给出一个模型来判断自我的位置,分为,技术能力,项目产出力,综合能力。有点像一个凳子的3个脚,只有3个脚够粗,我们才能立起来。 2. 技术能力 · 相比于其他行业,IT行业是工资比较高的,这一点是我们的幸运

2020年Java程序员必须要学习的10大技术,你会了那几个?

我怕爱的太早我们不能终老 提交于 2020-01-25 07:44:28
对于Java开发人员来说,最近几年的时间中,Java生态诞生了很多东西。 每6个月更新一次Java版本,以及发布很多流行的框架,如Spring 5、Spring Security 5和Spring Boot 2等,这些都给我们带来了很大的挑战。 在2019年初,我认为Java 10还是比较新的,但是,在我学习完所有Java 10的特性之前,Java 11、Java 12、Java 12 已经接踵而至,对于工作繁忙的程序员们来说,大多数人都根本没有时间看这些。 基本是都是了解一些有用的新特性而已。 Java的版本迭代速度实在是太快了,也带来了很多有趣的特性,如本地变量类型推断、switch表达式、文本块支持等。 Java系第一大框架,Spring亦是如此,很多人的项目还在用Spring Security 3.1 ,甚至不知道Spring 4.0和Spring Security 4.0都有哪些特性。 但是,Spring和Spring Security都已经出到了5.0版本。 以下是我列出的2020年Java开发者应该学习的技术: 1、DevOps (Docker and Jenkins) 过去的一年,越来越多的公司正在转型DevOps,DevOps非常庞大,需要学习很多工具和原理,但你不需要担心。 有大神已经分享了DevOps路线图 (https://github.com