程序猿

[转] 2017年PHP开发者大会 鸟哥 (惠新宸@Laruence)精彩问答

混江龙づ霸主 提交于 2019-11-29 08:51:16
php7.1那个诡异的函数返回类型限定是如何考虑的? 鸟哥:没什么特别考虑,投票投出来的。首先说明一点,我投的是反对票。包括php的命名空间反斜杠我也是非常反对的,但可能由于我并没有对这方面太深的认识,没有理解其他开发者的意图。不过这些问题用习惯了也不是什么大的问题 升级php7后,遇到了一个诡异的引用计数的问题。具体记不清了,大致是他们发现有个应该回收的变量在升级后没有回收 鸟哥:我现在不能给你准确答复,有可能是个bug,这个我随后跟进一下。但我想说的是你刚才介绍了你们在调试过程中对引用数的反复推算,其实不必纠结这,引用数用于垃圾回收时只有0和非0两种区别,我们在增加引用计数时可能有时候不是加1,而是加2,所以不要太在意具体是多少,确定大于0就行 一位学生提问者表示自己对高并发、分布式感兴趣,如何提升这方面的技能呢? 鸟哥:这里你有一个误区。我们研究学习技术并不是为了学习而学习,而是为了解决实际的业务问题。你没有接触过这方面的业务,自然没有这方面的经验,等你真正有这个业务需求时,好多东西原理都很简单,使用方法也很成熟,自然就会了,这是个水到渠成的过程,不必刻意去追求那个“术”。另外,我多说一句是,其实当你真正处在这样的业务中时,你会发现这些事情很少需要你操心的,OP通过各种集群就已经把这些问题给屏蔽了。 鸟哥你是怎样看待php的前景呢?现在黑php的这么多人 鸟哥

程序猿告诉你,没问题不用测,信了你就输了(首发公众号:子安之路)

只愿长相守 提交于 2019-11-29 01:46:29
用例千万条,质量第一条。 流程不规范,亲人泪两行! 昨天衬衫哥接到新的上线需求提交到测试,功能很简单。 程序猿童鞋告诉我,不用测了,没问题的。 这个时候,刚工作不久的测试童鞋可能本着相信同事,抹不开情面,选择不测或者少测,直接发给运维童鞋准备部署上线了。 如果是这样的话,测试童鞋准备被上课了:上线后有问题,都是测试的锅了。 测试第一准则就是:不要相信任何人说的话。眼见为实,任何事情都需要验证过,以可交付的文档,原型等文字内容为准。为什么? 因为要随时防止背锅啊。 上线前,项目经理催你进,产品经理催你,运维催你,销售也催你。 上线后,出问题了,他们第一反应就是,测试怎么没测出来? 所谓,催进度他们来,背锅测试去。 这个时候,需要需要把之前评审过的测试用例甩出来,漏了大家都有责任,有锅大家一起扛。 与产品的聊天记录,邮件把需求不清晰,上线前还在变更需求的锅甩回产品。 测试计划要把各种风险多描述清楚,特别是测试时间被压缩会导致漏测的风险标注出来。为什么?因为项目开发进度从来都是不够的,测试时间从来都是被压缩的。 没错,这就是it行业里的潜规则之一。 不要信什么敏捷开发,背靠背开发,都是为了减少程序猿们的文字工作。以前的开发模式,特别是需要CMMI3以上的,开发过程中各种文档,写的项目成员是欲仙欲死。 所以现在流行敏捷开发,开发文档少,程序猿童鞋举双手赞成

菜鸟、普通、老鸟程序猿如何写奇数判断?--位操作符妙用

独自空忆成欢 提交于 2019-11-29 00:33:57
背景: 在进行程序开发时,经常需要通过判断一个整数是奇数还是偶数,来实现一些特殊的效果和功能,例如,让表格的奇数行显示一种背景颜色,偶数行显示另一种背景颜色。那么该如何判断一个整数是奇数还是偶数呢? 让我们来看一下不同的程序猿都是怎么反应: 1. 菜鸟程序猿 代码就是一个撸字: public class TestOdd { public static void main(String[] args) { int oddNum=153; System.out.println(isOdd(oddNum)); int evenNum=9284; System.out.println(isOdd(evenNum)); } public static boolean isOdd(int i){ return i % 2 == 1; } } 搞定! 2. 普通程序猿 上面的代码一看就是菜鸟写的,都没有考虑int的取值范围,看老孙俺的! public class TestOdd { public static void main(String[] args) { /** * A constant holding the minimum value an {@code int} can * have, -2<sup>31</sup>. @Native public static final int

九张图带你了解全宇宙最神秘的团体——程序猿

隐身守侯 提交于 2019-11-28 17:33:00
性取向? 绝大多数的程序猿是没有时间发现自己的性取向,只有少数的程序猿是喜欢女的。 看看大帝都,大把大把的程序猿都是单身贵族哦,随便扔出一块砖头,就可以砸到一片单身贵族程序猿!!! 想加薪怎么办? 绝大多是程序猿想加薪都是直接跳槽,只有很少的程序猿跟领导套近乎。 去一家公司主要看什么? 程序猿去下一家的公司主要看什么?大多数都是看椅子舒服不,因为整天都是屁股粘在椅子上了。 其次看薪资待遇,很少的关心妹子多不多。 最孤独的时刻! 程序猿最孤独的时刻绝大多数是是程序报错,只能靠自己单兵作战,孤军深入。没有后背可以依靠这个时候就只能靠自己。 只有很少的时候才是加班到很晚,自己独自回家的时刻。 两个程序员见面聊什么? 两个程序猿见面了聊什么?绝大多数都是在谈论死人和死人打交道。“XXX公司的程序猿猝死了” 少数的是“XXX提的需求好变态” 人生理想! 程序猿的人生理想,绝大多是颈椎病康复,这个是程序猿的职业病,胃病,颈椎病。 少部分腹黑的程序猿想成为产品VP,自己也为难为难程序猿,提一个变态的需求,本自同根生,相煎何太急。 极少数想成为CEO,从这里也看出程序猿是单纯的,威胁不到领导。 最讨厌听到的话! 程序猿最讨厌听到的话:“这个实现起来很简单的,这个就是几行代码的事,分分钟就搞定了,这么久你没有完成啊” 程序员心声:MMP你行你来练练啊!!!站着说话不腰疼。 如何让一个程序员辞职?

Alfred上可提高工作效率的Workflow推荐

吃可爱长大的小学妹 提交于 2019-11-28 04:57:53
温馨提示:本文中Alfred是Mac平台的工具,不适用于其他平台。 Alfred 是Mac平台上被很多人吹爆的一款效率提升软件,我刚毕业工作的时候就看到公司内网有人推荐,但没有尝试。 后来我跳槽后自己买了Macbook pro,在努力把笔记本打造成高效开发工具时,又重新发现了这个app,又毫不犹豫的购买了Powerpack,结合一些workflow,很多繁琐的工作变得非常简单,比如之前百度搜索一个东西,需要打开浏览器,然后打开百度,再输入要搜的词,再点搜索一套组合拳下来几十秒就过去了,有了Alfred 快捷键+触发词+搜索词+回车 几秒钟搞定。下图是我最近一月来每天的Alfred的使用频率,工作日平均每天有30+次的使用率。 那究竟Alfred是啥?Mac又个功能叫“聚焦”,它可以帮你搜索本机的一些内容,比如文件、应用程序、浏览器书签……,但功能仅限于此。Alfred类似有聚焦,操作方式也类似,但功能比聚焦强大的多。除了聚焦搜拥有的简单搜索功能,Alfred还可以设置action,用某个关键词触发一个动作,或者设置快捷键。默认继承了一些系统快捷设置,比如mac用户从windows过来最不习惯的就是不能快速锁屏,甚至不知道怎么锁屏,通过Alfred的快捷命令就可以秒锁屏了。 我个人最喜欢也是最常用的就是ClickBoard Histroy,它可以保存你近期复制粘贴的所有东西

Alfred上可提高工作效率的Workflow推荐

六月ゝ 毕业季﹏ 提交于 2019-11-27 22:13:20
温馨提示:本文中Alfred是Mac平台的工具,不适用于其他平台。 Alfred 是Mac平台上被很多人吹爆的一款效率提升软件,我刚毕业工作的时候就看到公司内网有人推荐,但没有尝试。 后来我跳槽后自己买了Macbook pro,在努力把笔记本打造成高效开发工具时,又重新发现了这个app,又毫不犹豫的购买了Powerpack,结合一些workflow,很多繁琐的工作变得非常简单,比如之前百度搜索一个东西,需要打开浏览器,然后打开百度,再输入要搜的词,再点搜索一套组合拳下来几十秒就过去了,有了Alfred 快捷键+触发词+搜索词+回车 几秒钟搞定。下图是我最近一月来每天的Alfred的使用频率,工作日平均每天有30+次的使用率。 那究竟Alfred是啥?Mac又个功能叫“聚焦”,它可以帮你搜索本机的一些内容,比如文件、应用程序、浏览器书签……,但功能仅限于此。Alfred类似有聚焦,操作方式也类似,但功能比聚焦强大的多。除了聚焦搜拥有的简单搜索功能,Alfred还可以设置action,用某个关键词触发一个动作,或者设置快捷键。默认继承了一些系统快捷设置,比如mac用户从windows过来最不习惯的就是不能快速锁屏,甚至不知道怎么锁屏,通过Alfred的快捷命令就可以秒锁屏了。 我个人最喜欢也是最常用的就是ClickBoard Histroy,它可以保存你近期复制粘贴的所有东西

Appstore排名前十的程序员应用软件

十年热恋 提交于 2019-11-27 19:31:05
程序员又名程序猿,苦逼劳累的代名词,曾经一个朋友这么开玩笑说,如果你是富二代,你当程序员就是脑残,如果你是穷二代,当程序员的话,死的时候一定是趴键盘。 程序员   哦,可怜的 程序员 。在那山的这边海的那边有一群程序员,他们老实又胹腆,他们聪明又有钱。他们一天到晚坐在那里熬夜写软件,饿了就咬一口方便面,哦苦命的程序员,哦苦命的程序员,只要一改需求他们就要重新搞一遍,但是期限只剩下两天。   那么Appstore里面搜索“ 程序员 ”排名前十的推荐给程序员的应用软件都有哪些呢?    1,程序员读 - 精心为程序员打造的编程开发阅读软件   挖掘细致的阅读习惯,热门开发分类,每日内容更新,在线视频观看,下载离线阅读,片段选择分享,网络收藏摘抄,开发文章发表,附近猿媛查看,兴趣好友联系,二维码快速扫描,日夜间模式摇一摇轻松切换。    2,开发者头条 - 程序员的首选学习分享平台 | 技术极客的头条新闻   开发者头条是一个以程序员为中心,基于学习和分享的开发者社区。在开发者头条,你可以阅读头条新闻、分享技术文章、发布开源项目,订阅技术极客们创建的学习主题和关注编程牛人。开发者头条是由一群程序员创建的,我们运营了 developerWorks 的微博、微信,创建了码农周刊,目前已覆盖数十万的程序员,我们更懂程序员。    3,牛客-最大程序员笔试面试题库,IT求职神器   

Java学习建议

≡放荡痞女 提交于 2019-11-27 19:03:31
对于Java程序猿学习的建议      这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是LZ你是如何学习Java的,能不能给点建议?   今天LZ是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。   在大家看之前,LZ要先声明两点。   1、由于LZ本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬。   2、下面对于【第一部分】的推荐内容,目的是让你尽快成为一个可以参加工作的Java开发者,更适用于处于待业状态,准备转行Java的同学。如果你是在校学生,务必要在学好基础(比如计算机系统、算法、编译原理等等)的前提下,再考虑去进行下面的学习。      第一部分:对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学。   一、Java基础   首先去找一个Java的基础教程学一下,这里可以推荐一个地址,或者你也可以参照这个地址上去找相应的视频,地址为 http://www.runoob.com/java/java-tutorial.html 。   学习Java基础的时候,应该尽量多动手,很多时候

golang逃逸分析

一笑奈何 提交于 2019-11-27 09:58:45
带GC语言给我们程序的编写带来了极大的便利,但是与此同时屏蔽了很多底层的细节,比如一个对象是在栈上分配还是在堆上分配。对于普通的代码来说虽然不需要关心这么多,但是作为强迫症程序猿,还是希望能让自己写出来的代码性能最优,所以还是需要了解什么是逃逸,以及如何判断是否发生了逃逸。 什么是堆和栈? 首先需要知道,我们说的堆和栈是啥。这个可不是数据结构里面的"堆"和"栈",而是操作系统里面的概念。 栈 在程序中,每个函数块都会有自己的内存区域用来存自己的局部变量(内存占用少)、返回地址、返回值之类的数据,这一块内存区域有特定的结构和寻址方式,大小在编译时已经确定,寻址起来也十分迅速,开销很少。这一块内存地址称为栈。栈是线程级别的,大小在创建的时候已经确定,所以当数据太大的时候,就会发生"stack overflow"。 堆 在程序中,全局变量、内存占用大的局部变量、发生了逃逸的局部变量存在的地方就是堆,这一块内存没有特定的结构,也没有固定的大小,可以根据需要进行调整。简单来说,有大量数据要存的时候,就存在堆里面。堆是进程级别的。当一个变量需要分配在堆上的时候,开销会比较大,对于go这种带GC的语言来说,也会增加gc压力,同时也容易造成内存碎片。 为什么有的变量要分配在堆,有的要分配在栈? 这个问题要从C++说起了。在C++中,假设我们有以下代码: ```c++ int* f1() { int

参加胶东开发者技术大会有感

自作多情 提交于 2019-11-27 06:06:28
2015年的时候,也是在12月,我和 Bob 去北京参加了“全球架构师峰会”,在那次会议上,来自百度、腾讯、阿里巴巴、京东、美团、新浪微博、Twitter等公司的架构师、技术专家们分享了各自在架构方面的实战经验,让我大开眼界。 前几天,在 张善友 的公众号“dotNET跨平台”上看到了“胶东开发者技术大会”即将在烟台举办,毫不犹疑地报名参加,因为本次大会的主题基本都是围绕微软生态,包括Azure、.NET Core、微软IoT、微软人工智能、Visual Studio Code等, 自己则刚用 .NET Core写了一套物联网系统,对 .NET Core以及微软生态内的其它方面非常感兴趣。于是,在2018年最后一个月的第一天只身前往烟台,只是这一次身旁没有 Bob 。插句题外话, Bob 是我见过的.NET方面的翘楚之一,他对.NET有极大的热情,具备非凡的能力,大家有机会了解他一下。 感谢 衣明志 及他的团队 易云网络 组织的“胶东开发者技术大会”(公众号:jddevs),为了大家的邂逅,他们付出了很多,甚至赶在会议前夜奉上了特别的抽奖程序--在满屏二进制的背景下抽出中奖手机号码。对我来说,印象最深的还是台上的 衣明志 ,真诚、诙谐、幽默、热情,举手投足间彰显技术人的骄傲、极客精神。 见到了大神 张善友 ,我就像小粉丝一样,逮着他就是一顿天南海北、不着调的聊天