程序员

程序员修炼之道读后感(二)

Deadly 提交于 2019-12-02 05:20:43
俗话说,工欲善其事,必先利其器。作为软件工程师掌握好几门工具是取得成功的根本。花时间去学习这些工具,你会有意想不到的收获。用纯文本来保存知识,但其也有一些缺点如所占空间较大,但其优点也很明显如永不过时,杠杆作用,易于调试。 学会使用shell,使你的生产力提高。至少用好一种编辑器,彻底了解他,掌握它,因为它是可扩展,可配置,可编程。 使用源码控制系统来追踪你在源码和文档中所做的每一项变动,将自己日常工作保存在仓库中。不要恐慌,当调试时产生了BUG,要理清自己的思路,不要在一些不切实际的地方浪费时间。 作为程序员要明白自己不可能写出完美的软件,但是你可以让自己的程序变得更好,所以当有问题出现时不要害怕,去勇敢的解决他,你自己将会变得更加完美,能力将会更强。 学会断言时编程,计算机是不会说谎的,跟它打交道比与人更简单,它会如实的反应你的问题,你只需要改正就可以了。因此在编程是不要进行自我欺骗,而是尽快找到它的问题,加以解决,而断言则可以帮助你更好解决这一问题。 注重实际的程序员谁也不信任,包括我们自己。 来源: https://www.cnblogs.com/haheihei/p/11731605.html

1024,程序员“赚钱”秘籍倾囊而赠!

笑着哭i 提交于 2019-12-02 05:08:48
按照常规,今天应该更新技术干货,但今天是程序员的节日——1024,那就来点特别的——分享秘籍,程序员如何赚钱。 先看一下昨天,在微信群流传着这样一张图片,又一位战友倒下了,而你是旁边麻木的看客么? 鲁迅先生在《藤野先生》里写到: 但偏有中国人夹在里边:给俄国人做侦探,被日本军捕获,要枪毙了,围着看的也是一群中国人;在讲堂里的还有一个我。“万岁!”他们都拍掌欢呼起来。 如果你意识到这事发生在谁身上只是个概率问题时,你就应该为以后的职业生涯及人生做好规划。 但要放弃现在所拥有的高薪,从零开始,又有几人有这样的勇气和魄力?可随着岁数的增长,你又能继续熬几个通宵?过一日算一日?如何兼顾身体和挣钱?如何平稳转型,不再担心失去工作? 如果你有幸看到这篇文章,或许能给你一些方式方法和思维上的启示和思考,那这篇文章也就物尽其用了,也不枉费关注我的公众号“程序新视界”了。首先为大家分享一些业余模式的挣钱方式。PS:本文不含任何广告。 投资 说起投资,很多人心生敬畏,因为已经当了不止一次的“韭菜了”。但不得不承认投资是来钱最快,被动收益很高的方式。 作为程序员,工资高花销少,手头还是有不少闲钱,让它们躺在银行贬值或随便投资成为“韭菜馅儿”?这都不是最好的方式。 不得不说程序员是一群高智商同时又对代码研究是再勤奋不过的人了,但对于理财投资为什么却随性而为,人云亦云呢?那股钻研的精神去哪里了?

程序员,你是选择25K的996,还是选择18K的八小时?

杀马特。学长 韩版系。学妹 提交于 2019-12-02 05:06:05
“996+ICU”瞬间火爆程序员所在的圈子。有个“胆大包天”的家伙在GitHub上发起一个联合抵制项目,号召被压榨的程序员们联合起来抵制互联网公司的996工作制(不过见效不大,该加班的公司还是在正常加班)! 很多互联网公司早八晚五,早九晚六,甚至一部分创业公司Google范儿,不打卡,弹性工作制,讲究效率至上,快乐至上!(国内这种公司还是不算多的) 那么,作为程序员,你是选择哪种工作方式呢?如果是相等的报酬,那么肯定是要选择更快乐的工作方式。 那么,如果996的公司给你25k,八小时工作日的公司给你18k,你会怎么选择? 或者说,你现在的工资是18k,早九晚六,那么你会跳槽到一个月薪25k,强制996的公司吗? 其实老板喜欢玩996的更多的是创业公司,一些情况是工作真的做不完,还有一些情况是老板为了心里满足,让自己的钱得到充分的价值体现。很多人都说,强制996必然导致效率低下,身心疲惫。 说实话,部分996制度只是为了加班而加班,对真正问题的解决帮助不大,对工作效率更是没有根本性提升。有的员工一周996机制做出的成绩,还不如朝九晚五员工的工作业绩,这很能说明问题! 选择哪种方式去上班,只需要思考:你想拥有什么,就去追求什么! 下边我们来比较一下两种上班的情况。 996上班和八小时分别带来了什么? 月薪25K,扣完五险一金到手大概17090,不过有5100的公积金。 月薪18k

从程序员到项目主管再到项目总监,一个IT从业者三个职业生涯阶段的工作生活日常

自闭症网瘾萝莉.ら 提交于 2019-12-02 04:40:34
这是王不留的第 8 篇原创文章 前段时间写过《 王不留的十多年工作和生活的流水帐 》,在知乎、简书,还有不少微信的朋友私信问我每天四点钟是如何做到的?你现在的作息时间是怎么安排的? 于是,我将工作十多年的三个生活片断按时间轴的方式梳理了出来,写就了这篇文章。也算是一位普通程序员不同职业生涯阶段生活方式的一个缩影。 01 2007年-2010年,那时大学刚毕业,一个人,无忧无虑。一人吃饱,全家不饿。 作为单身狗,当时的作息时间是这样的: 8:00-8:30 赶紧起床,买早点,飞奔到班车停靠点,争取达到班车停靠时间与自己到达时间两者之间误差小于30秒。 9:00-12:00 忙碌的一天正式开始。听从领导安排,完成自己的开发任务。没有任务时,我就看小说。嗯,是的,这样不好。 “记得昨晚《平凡的世界》田晓霞去矿区找少平了,不知接下来的剧情怎么样?我只看一会儿”,偷偷点击电脑桌面隐藏的文件,把TXT小说帖到WORD中,伪装成文档资料,开始和主人公一起品尝人生的喜怒忧思悲恐惊。 12:00-13:30 吃午饭,和同事们嬉笑怒骂,没有拘束。然后趴在桌子上小睡一会儿。 办公室的空调真凉快,比租的房子舒服多了。因为房租高,空调舍不得开。在办公室睡觉真是一种享受,还做了一个好梦。 13:30-18:00 美梦被领导无情打断,睁开惺忪的双眼,伸个懒腰,继续专研字母组成的一坨坨花花绿绿的程序代码。

libev与libuv的区别

最后都变了- 提交于 2019-12-02 04:29:56
libev与libuv的区别 https://www.cnblogs.com/charlesblc/p/6341280.html 参考: http://blog.csdn.net/w616589292/article/details/46475555 libuv 和 libev ,两个名字相当相近的 I/O Library,最近有幸用两个 Library 都写了一些东西,下面就来说一说我本人对两者共同与不同点的主观表述。 高性能网络编程这个话题已经被讨论烂了。异步,异步,还是异步。不管是 epoll 也好, kqueue 也罢,总是免不了异步这个话题。 libev 是系统异步模型的简单封装,基本上来说,它解决了 epoll , kqueuq 与 select 之间 API 不同的问题。保证使用 livev 的 API 编写出的程序可以在大多数 *nix 平台上运行。但是 libev 的缺点也是显而易见,由于基本只是封装了 Event Library,用起来有诸多不便。比如 accept(3) 连接以后需要手动 setnonblocking 。从 socket 读写时需要检测 EAGAIN 、 EWOULDBLOCK 和 EINTER 。这也是大多数人认为异步程序难写的根本原因。 libuv 则显得更为高层。 libuv 是 joyent 给 Node 做的一套 I/O

揭开算法的神秘面纱

断了今生、忘了曾经 提交于 2019-12-02 02:42:26
前言 其实我一直想写一篇揭秘算法的文章,因为,据我所见,大多数写算法的软件工程师,其实,就是普通程序员,并非高人一等。 但我一直不知道从何下手,今天姑且尝试着乱写一点。 最唬人的高大上 算法最唬人的东西莫过于公式了。 而公式中最唬人的摸过于∑了;这个符号叫sigma,如下图: 举个例子: 某公司开会讨论项目功能实现,与会人员有:一个项目经理,三个A组成员,三个B组成员和一个算法工程师。 然后,讨论着,讨论着,就遇到了一个争议功能。 A组成员认为该功能应该循环来处理,B组成员认为应该使用递归来处理,双方争议不下。 此时,项目经理为了搁置争议,共同开发。。。然后,请算法工程师发表意见。 算法工程师走到黑板,刷刷刷写下了上图的公式。。。然后开始了表演。。。呃,是讲解。 “我们这个功能,我觉使用这个公式来实现最好,这个Ki乘以Mi,然后我们求一下和,巴拉巴拉。。。” 然后,A组B组成员就都蒙了,因为他们看不懂,也没听懂。因为程序员的特质是严谨,所以一旦遇到不懂的事情,他们通常是不发表意见的。 然后,在这小小的会议室中,算法工程师的形象就瞬间高大了起来。 "沉默就表示同意了,那这个功能就这么处理吧"项目经理说道。 最后,会议结束,因为没人能看懂这个公式,所以,A组组长和B组组长私下讨论了一个解决方案把问题处理掉了。。。 ------------------------------------

我的后端开发书架2016

旧巷老猫 提交于 2019-12-02 02:27:58
本书架主要针对Java后端开发与架构。 更新记录:4.0版把第五部份-具体技术的书整块拿掉了。《TCP/IP详解 卷1:协议》出到了第二版,增加《SRE:Google运维解密》,《Java8 实战》。 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录。 1. 操作系统与网络的书 《Linux内核设计与实现 第3版》 Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚了, 《深入理解Linux内核》 , 《深入Linux内核架构》 之类厚厚的全是代码,不是专门的内核程序员看这本足够了。 《Linux系统编程 第2版》 继续是Robert Love,比起APUE也是以薄见长,专门针对重要的系统调用讲解。 《性能之巅》 操作系统的性能调优、监控、工具和方法论,看这本就够了,已经足够厚,可能是书单里最厚的一本。 《TCP/IP详解 卷1:协议》 这么多年过去了,TCP的书好像主要还是只有这一本,有点旧了,看了也还是半懂不懂的。后人在2011年写了第二版。 《WireShark网络分析就这么简单》 和 《WireShark网络分析的艺术》 多少人,是看了这两本轻松又实战的书,才真正理解TCP的细节。 PS: 《UNIX环境高级编程》 和 《UNIX网络编程》

项目管理经验

冷暖自知 提交于 2019-12-02 00:41:23
如果你与软件行业有若干联系,但是还不知道Joel这个人以及他的博客,那么赶快拿起百度,然后尽可能多的了解他和他的思想,对你肯定有好处。这篇是他博客中的经典之作,收录在他的两本书中:《Joel on Software》和《Smart & Gets Things Done》,这两本书主要收录和整理了他的博客中的经典文章,有必要一看。 要翻译出原作者的味道真的很难,所以我们经常骂一些翻译过来的中文书籍太烂,特别是由那些不懂技术的人翻译的技术书籍。所以如果你是是程序开发人员,再次善意的提醒您:“学好英文”,这句话被很多人重复,也不多我一个了,当然听不听由你。 你有没有听说过 SEMA ?这是一个非常复杂的软件开发团队评价体系。等等!千万别去研究它!仅仅是理解它就将花掉你六年时间。所以我自己搞了一套软件开发团队评价体系,信不信由你,这套体系最大的优点就是只需三分钟就可掌握!你可以把省下的时间去读医学院了。 Joel 的12条测试问题 你们用了源代码管理软件吗? 你们是否一步就能实现从源代码到可发布的产品? 你们每天都把源代码管理系统的代码做一次生成操作吗? 你们有软件Bug管理系统吗? 你们在编写新代码前解决bug吗? 你们有没有一个时常更新的进度计划? 我的这套体系非常简洁,你只需对每个问题回答“是”或者“否”就可以了,你不需要去算什么每天写的代码行数或者平均bug数等等,回答“是

刚入行的程序员,怎么继续混下去?

為{幸葍}努か 提交于 2019-12-02 00:23:38
跨过找工作这个坎,还需要不断提升自己,才能真正成为程序员队伍中的一员。作为一名刚迈过找工作这个坎的人,应该怎么做,才能继续混下去呢?有三点,值得学习。 刚入职时 一般公司是不会在你入职的第一天,就给你安排工作,通常会有两种安排,一种是让你看几天的需求文档,另外一种是给你一些bug处理,边处理bug边熟悉文档。 接下来就是搭建开发环境,最好像你的上级领导,要一下搭建环境的文档,项目中需要什么东西,要了解清楚,哪些软件需要装,哪些不需要装,不要自己随便装几个软件了事,造成不必要的麻烦。 最后就到了了解业务和技术的环节,你需要看看公司的代码规范和风格,项目都用到了哪些技术,有哪些流程,尽可能的了解公司的核心业务,这些都弄明白了,你的程序员职业生涯就正式开始了。 在刚入职的这一段时间,有两点需要注意,一是摆正心态,而是尽快熟悉。 对于新手程序员而言,自己学习的知识,和真正的应用场景会存在偏差,容易造成心理的不平衡,比如公司还在使用远古时期的技术,自己学的很多新技术都用不到等等。 我要说的是,入职后,先不要想着如何才能快速提升自己的技术,而是应该先快速掌握和熟悉公司需要的技术,学会适当的做一些减法,学了Vue用不到,没有关系,学了一些算法,用不到也无所谓,因为编程本质就是为了解决问题,只有你的技术能帮公司解决问题,才是好技术。 第二点是要尽快熟悉,熟悉什么

月薪5k与月薪15k程序员的区别

ぃ、小莉子 提交于 2019-12-02 00:18:42
月薪5k与月薪15k程序员的区别https://blog.csdn.net/qq_30225725/article/details/86740740同一个城市,同一个行业,同一个公司,为什么有的程序员可以拿到3万的薪水,而有的却只能拿到3千?这里我们首先排除一系列的杂的东西,比如裙带关系,我们只谈能力和技术,假设公司已经给到程序员能力匹配的薪水,那么薪水高的程序员和薪水底的程序员,在思维模式、行为举止、做事方式上到底差别在哪里呢? 代码和注释 看一个程序员的技术水平,不用问他太多问题,看下写的代码就知道了。有些语言的代码,比如像ruby这种的,一个新手的代码和一个老手的代码高低立判,就像学钢琴的音乐生一样,看他们的技术水平,不用讲和声、曲式,现场来一段琶音就知道你水平了,一样的道理。不用说两个级别的程序员,就是我们自己日常进步的飞快,我们在项目里看到半年前自己写的代码,都会很嫌弃:“这谁写的?我?不可能吧,我怎么会写这么烂的代码?好吧,我当时到底怎么想的?”除了代码以外,另外一种就是注释,注释是一个很好的编程习惯,大部分程序员都很不注意这个问题,相信所有的程序员一开始都很不喜欢写注释,因为在程序员眼里,代码就是语言,语言就已经说明了他要讲什么内容,没必要写注释,还有一个原因就是写注释太麻烦,浪费时间。但注释,真的很重要,对一个项目来讲,它不仅仅能让后来的人能看懂你这里写了什么