挂了电话后,心里想猫抓了一样,怎么可能出现这种问题呢? ......(各种搜索和尝试) 晚上九点后打了个电话,告诉现场人员问题已经解决了,原因是线程打满了,更新一个文件就OK了........线上环境出现这个问题的真正原因是什么?是开发人员的逻辑问题么,如果是?测试人员为什么不能在测试的时候发现呢?如果没有发现,灰度发布呢?对问题复盘了吗?...你花了将近一天的时间去解决一个bug,为了解决这个bug 你 修修补补,给后人留下了一堆无法扩展的代码,解决完成后自己不痛不痒的回家玩玩游戏,睡睡觉,然后时不时抱怨工资真特么低,天天还得拼死拼活加班干。...公司行情不行时,还无法逃脱被裁员的命运,但是这些问题的真正原因,你思考了么? 你是如何解决问题的?...网上的方法果然好使,存成书签,程序员这种工作果然好干,其实没啥,只要搜索引擎用的好,原来可以胜任一切工作,其实真的是这样吗?出了问题你有自己的一套解决问题的办法吗?如果网上找不到答案怎么办?
说人话就是: 【产品】:开发小哥,我这里有一份代码,你需要调用它的功能并补充公司的额外功能但是不能动它本身的内容,能做到吗? ? 【开发】:哈?怎么可能!怎么可能不改代码还要他功能,还得有额外的功能?...【BOSS】:你仔细看看原有的代码,它们都实现了同样的接口,这就是一个突破点 【开发】:我去研究研究.......,里面有具体的代码示例,链接在最下面 ❞ 遵循的设计原则 「对扩展开放,对修改关闭」:完美实现了不修改其代码达到增强方法的目的 「针对接口编程」:装饰器与其本身都有同样的父级 什么场景适合使用 在不影响其他对象的情况下...,以动态,透明的方式给单个对象添加职责 Code/生活中的实际应用 Java 中最著名的装饰者模式的应用,就是 java.io 包中的各种InputStream 、Reader和 Writer 的实现类了...(装饰者) ,这只需要改变一行代码就能实现 最后 「附上GOF一书中对于装饰器模式的UML图:」 ?
Vim允许高效的文本编辑,有时它甚至被视为程序员的完整IDE。为软件工程师编辑现有代码非常耗时且单调。...NERDTree是Vim编辑器的文件系统浏览器。 使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件以进行读取或编辑,以及执行基本的文件系统操作。...这在为大型企业或项目工作时效果最佳,因为很难找到包含您要更改的一行内容的一个文档的名称和区域。...轻快的按键操作将以垂直的方式打开浏览器窗口,您无需花太多时间就可以浏览所需的记录并打开它。 对于大量的代码分类来说,这是绝对必要的。 对于那些难以记住文件名的个人,同样也是如此。...这个特定的插件在Vim编码时基本上充当程序员的搜索工具。 我们时不时地要搜索包含特定行甚至只是一个单词的特定文件,而ack正是适合Vim用户的插件。
以下提供了一些建议,帮助大家把对博士学位的恐惧转化为富有成效的机会。 01 “这个烂摊子怎么可能变成博士论文” 每一篇博士论文,在某个阶段,看起来都像是一堆杂乱的笔记和不一致的数据。...但几乎可以肯定的是,这些朋友也会以某种方式嫉妒你正在做的事情,并担心他们不如你。这被称为“骗子综合症”或“欺诈综合症”。对于博士生来说,这是一个常见的问题,克服它很重要。...但是,如果你的一些朋友在博士研究的某些方面确实比你强呢?这没关系,你可能在其他方面比他们更强。 所以,不要嫉妒,要向他们学习!他们是怎么做到的?他们工作更努力吗?他们有很好的自我管理方式吗?...不管你刚开始的时候觉得他们有多好,你都不可避免地会时不时和他们产生分歧。有时这些情况会频繁发生。在学术讨论过程中这是正常的,但如果你是学术研究的新手,这可能会引起偏执。...如果他们不喜欢你的某部分作品,他们为什么不喜欢呢? 一个好的导师会提出有用的建设性批评。学会接受它是与导师一起工作的一个重要部分。
死党是当年的学霸,留学后留在了美国,先是在美国的几大征信公司工作,现在更是在美国最热的互联网金融公司高管,做的风生水起。...冰火不懂这些技术,但是作为一个普通消费者,倒是觉得如果分高可以让签证方便点倒也是件不错的事情啊。至少冰火身边的一些朋友因为这个原因也补充了个人信息。还时不时用支付宝互相转账提高芝麻分。...冰火同办公室的两个小伙伴通过每天相互转帐,坚持了两个月,终于成功地把芝麻分成功地从500多分提高到了700多分。...听到冰火的这番话,死党的笑容凝结了,一向有些严谨的他愤怒地指出这根本不是信用分而是会员分!...建立在这样基础上的所谓征信评分,怎么可能准确评价借款人的信用分。如果中国的互联网金融的风控判断都基于这样的信用评分,其风险可想而知。
这些问题也许最终并没有对代码开发有所帮助,但能帮助开发者锻炼抽象思维与理解业务场景。 第二层则是一种工作状态:不要闷头写代码,而应时不时确认方向的正确性。...在Coding时,有些人会陷入 心流 的状态,感觉如有神助,一下子写出几千行代码,但回过头却发现这些代码是无效的 - 不满足需求。...要解决这个问题,需要突破两个舒适区: 高频沟通:以文档或demo的方式与需求方沟通,而不要闷头“自嗨式”地闭门造车 放弃沉没成本:在软件行业高频迭代的场景下,很容易出现某项工作中途叫停的情况。...工作生活 - 更多维的视角 在春节的尾巴,我和朋友去吃了个自助餐。...入座后,我发现隔壁座有个小哥哥,穿着一身睡衣,一个人不紧不慢地吃着,时不时地和服务员闲聊两句,整个就餐过程表现得非常轻松;而到我这边,则一心想着“吃回本”,填鸭式地往嘴里塞,就餐过程非常仓促,最后挺着撑饱的肚子才离开
时不时地会出现服务器cpu占用率100%的情况,基本到这时候php基本就全挂了,而出问题的也是php-fpm这个进程。...图什么呢~~通过top命令以及trace命令,没有找到什么有用的线索。不过通过查看访问日志可以看到每秒都有数条请求,这尼玛就很神奇啊,每天的访问量不过1k多点,怎么可能会每一秒都那么多请求呢。...通过tail命令查看访问日志太蛋疼了,于是就想着找个更加可视化的工具,于是找到了goaccess:GoAccess是一款开源的且具有交互视图界面的实时Web 日志分析工具,通过你的Web 浏览器或者 *...nix 系统下的终端程序(terminal)即可访问。...请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。
虽然NumPy也有结构化数组和记录数组,允许不同类型的列,但它们主要是为了与C代码对接。...1.Sorting 用Pandas按列排序更有可读性,你可以看到如下: 这里argsort(a[:,1])计算了使a的第二列以升序排序的排列方式,然后外部的a[...]相应地重新排列a的行。...说到这里,你可能会想,既然Pandas这么好,为什么还会有人使用NumPy呢?NumPy没有好坏之分,它只是有不同的使用情况: 随机数(例如,用于测试) 线性代数(例如,用于神经网络)。...Pandas的速度 下面对NumPy和Pandas的典型工作负载进行了基准测试:5-100列;10³-10⁸行;整数和浮点数。...而对于行的数量,二者的对比关系(在对数尺度上)如下图所示: 对于小数组(百行以下),Pandas似乎比NumPy慢30倍,对于大数组(百万行以上)则慢3倍。 怎么可能呢?
有感触~ 我有时会缺乏明确的想要达成的目标,人不能漫无目的地一天一天地过着!有时候就挺盲目的,机器人一样的干活-_-||。 以上这段话,阿常总结关键词:把事做成、目标明确、内心坚决。...(这里体现了“知行合一”的思想,内心知道该怎么做,并且用实际行动去这么做) 橘长说: 贴便利贴放在身边是种好方式, 我所知道的飞哥有一好习惯,会把指导自己处事为人的一些原则记录在便签里面,时不时自省一下...(这里也体现了“知行合一”的思想,知道有哪些准则,并且时不时对照这些准则执行) 橘长分享飞哥便签: 以上,阿常总结关键词:谋大局、思长远、以终为始、知行合一。...还有,给我印象特别深的,飞哥很喜欢反复地去分享一些行为准则。 我想大概是因为适合自己本心的,值得遵循的大道理,不外乎就那些个吧。...那什么是“良知”呢?就是你知道什么是善,知道什么是恶。 阳明先生所说的“知”是指对本心的体认(通过体验观察去认识,强调了身体力行),“行”指的是在本心上做为善去恶的功夫。
研究在哪些情况下行得通,哪些情况下行不通的设计模式,能够让我们发现潜在的规则,了解看似不相关的概念和行为。为了更深层次地了解工作,你需要时不时地问问自己,“此处有没有设计模式?”。...这句话适用的不只是你的代码。在根据业务要求而变的类型变化中有没有模式?技术发展有没有模式?你是否经常看到同样类型的bug连连弹出? 理解其实就是一种感知模式。...——达芬奇 3.它为什么这么工作? 知道事物能工作,与知道它为什么这么工作是两个完全不同的事情。知道一些事物的行为原因,有助于你做出显然更好的决策。...如果你不知道是从哪里开始的,那么你怎么理解目前的发展进程呢? 6.我真的热爱我目前的工作吗? 首先让我们面对一个事实:编程很难。 即使很难,编程也在不断发展。...如果用现在的标准来看,2年前的框架简直笨拙地就像一头恐龙。要想留在这一行,那么你需要终生致力于学习和研究。 如果你确实不喜欢编程,那么要想跟上那些热爱的人的步伐,希望并不大。
ERTS 的方式构建,可以让目标机上完全不用关心 erlang VM 的版本。...每每我抛出一个试题,要应聘者选自己最熟悉的语言写个解决方案时,几乎所有人在我话音将落未落之际,就迫不及待地打开编辑器,或生成 skeleton 代码,或开始 google 某个函数的使用方法,或写下第一行代码...在公司里做事,一份代码维护地越久,在生产环境存活地越长,大家行事的风格就越谨慎。...想想看,你上一次从零到一把一个全新的项目从一个蓝图起,一行行代码垒起来,最终部署到生产环境或者用户手边,是什么时候?如果超过半年,那么,你可能需要停下来好好歇口气,认认真真从头造个轮子。...所以,时不时的,停下来,歇口气,把自己逼到墙角里,造点轮子。
JS 易于理解,也是前端开发中不可或缺的部分。但不同于其他编程语言,这玩意是单线程的,也就是说代码要依次执行。...因此一旦有代码占用时间过长,就会阻塞其他需要执行的代码 -- 所以以下画面在 Google Chrome 中时不时会出现。 ? 1....当然,由于 Chrome 还实现了 one-process-per-site 策略,打开同一域名页面的不同 tabs 间也会共享同样的 JS 执行线程,所以这样的 tabs 也将被冻结。...Philip Robers 已经创建了一个令人赞叹的在线工具以可视化 JS 底层的工作机理。上面的例子运行如下: ? 2....Node 遵循了类似于 Web APIs 的回调机制,并以和浏览器相似的方式工作。 ? 如果比较一下浏览器那张图和上面这张 node 的图,可以看到其相似之处。
时不时地会出现服务器cpu占用率100%的情况,基本到这时候php基本就全挂了,而出问题的也是php-fpm这个进程。...图什么呢~~ 通过top命令以及trace命令,没有找到什么有用的线索。不过通过查看访问日志可以看到每秒都有数条请求,这尼玛就很神奇啊,每天的访问量不过1k多点,怎么可能会每一秒都那么多请求呢。...通过tail命令查看访问日志太蛋疼了,于是就想着找个更加可视化的工具,于是找到了goaccess: GoAccess是一款开源的且具有交互视图界面的实时Web 日志分析工具,通过你的Web 浏览器或者...*nix 系统下的终端程序(terminal)即可访问。...请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。
,他不喜做官,在民间传道受业,弟子三千,人称“克” 有一天,克带着得意弟子谦子去溪边游玩,看到许多大大小小的石头在溪边,克拿起了四个大小不同的石子,摆成一行,如下: ?...咱们算法国以算法著称,就是让一切问题的解决都可以最终化为一个算法,可以用程序写出来”,克严厉地批评道 “那该如何找最大的呢?”...,谦子问道 “你看那水中的鱼,他们时不时地吐出泡泡,那泡泡越往上走就会越大 ?...,谦子挠了挠头,傻傻地笑了一下,克看了谦子一眼,转而在地下飞速地写了短短的几行代码 ? 谦子心中暗暗惊叹老师的功力 “这个第一层循环是控制趟数,第二行能具体讲讲吗?”...“看到了吧,原本同样大的石子,蓝色的在绿色的左边,拍完序后蓝色的仍然在绿色的左边,这就是稳定的”,克解释道 “哦,我懂了,那冒泡排序就是一个稳定的排序了,因为在交换的时候,如果两个石子相同,那么就不交换
这么多人推荐学 Python 入IT 行的,如果学完 Python这一套找不到工作怎么办? 这应该是最多人担心的吧。 到底学完Python是否好找工作,初级岗位多不多?...以我们的统计分析来看,真实世界的招聘中,大多数企业的招聘还是比较务实的,以考察基本功、对相关领域知识原理的理解程度来筛选员工(比如知乎招聘就是以考察能力为主) 当然了,硬卡资历的公司不是没有,但绝不是主流...找得到的,好吗?而且python非常重要非常重要,真的在工作中非常有体会,基础掌握好了,看源码,看各种开源代码,甚至一些库的实现都能自己探知一二。基础是值得花费很多很多时间掌握的。...想我当时也以同样的思路看待js,两天过了一遍基础,然后打开控制台看到一个对象的几十个属性和冗长的原型链我就惊了,深感到自己的无知。...然后比如你用python做web,你怎么可能不懂网络额知识呢?这个问题有存在的意义吗? 只懂python的人,难道只是像背书一样把语法背下来然后什么实际的事都不干?那这也能叫懂python?
如果不对老员工进行大幅度地加薪,将会出现大面积的严重倒挂现象,虽然出现这种自毁长城的可能性很小。 试想一下,技术水平和业务熟练度都要高出不少的老员工,怎么可能忍受菜鸟的薪水比自己还要高。...不管是不是泡沫,程序员这一行将会是未来几年最热的职业,可能没有之一。 我们是不是不应该太乐观 虽然钱途貌似一片光明,可是计算机专业的学生同样也面临着两个非常严峻的问题。...第二,对于科班出身的程序员来说,一个中专大专毕业的学生到社会上随便学一个android或ios的培训班就可以找到一份月薪非常可观的工作,读四年(名牌)大学的优势又在哪里呢?...底层知识永远都不过时;算法数据结构永远都不过时;分析问题和解决问题的能力永远都不过是;强大的学习能力和旺盛的求知欲永远都不过时;你大脑的思维方式永远都不过时。...已经工作的程序员们,下班之后也可以看看《代码大全》之类的书,学一学好的代码规范,借鉴一些前人的经验教训,夯实基础,让自己永不过时。
聪明的小伙伴们或许就该怼小编了,不是有电子手写笔记吗!哼,机智如我怎么可能没想过这个呢!...训练集 (training set) 由来自 250 个不同人手写的数字构成,其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员。...算上注释和空行,一共加起来30行左右,我们就可以解决手写识别这么困难的问题啦!请看代码: ? 经过100轮的训练,我们的准确率是92.36%。...请注意我们模型的核心那两行代码,完全就是无脑地全连接做了一个隐藏层而己,这其中没有任何的技术。完全是靠神经网络的模型能力。...0.98046875 13 0.99609375 14 0.9921875 15 0.99609375 16 1.0 借助Tensorflow和机器学习工具,我们只有几十行代码
维护者负责评审和合并提交评审的所有补丁,并在超级账本技术委员会的方针下指导项目的技术发展路线。 成为一名维护者 项目的维护者会时不时地考虑添加或者删除维护者。...每次变更都包含单元或者集成测试(或者对已有测试的修改)。这不仅仅意味着正确的测试。同样包括一些异常测试来捕获错误。在你写代码的时候,你有责任去测试它并且证明你的变更是正确的。为什么呢?...因为没有这些,我们无法知道你的代码是否真的正确地工作。 单元测试需要没有额外的依赖。你应该使用 go test 或者等价的语言的测试方式来运行单元测试。...请参考单元测试的定义在脑海中建立单元测试的标准,以此来写出高效的单元测试。 每个CR的最小代码行数。为什么?因为维护者每天同样也有工作。...如果你发送1000或者2000行的代码,你认为维护者需要多久才能审查完你的代码?保证你的变更在200-300行左右,尽可能地。如果你有一个比较大的变更,可以将它分解为比较小的几个无关的变更。
自研部分的代码,如果能合并到社区的,鼓励贡献到社区,各个企业要积极参与开源生态。 团队要采用和社区同样的流程、工具和要求。 团队:产品和产品经理 OpenStack二次开发往往是以一个项目形式进行。...OpenStack平台是要支撑业务的,而业务的需求对OpenStack平台很重要。OpenStack中的组件就像积木,不同的拼装方式,会有不同的结果。每个企业都有自己独特的业务场景。...我们做基础云,从不同维度有序地进行: 先搞OpenStack一个region,到两个再到三个region。 先用集中式存储,再搞分布式存储,数据逐步迁移。 从核心功能到扩展性功能。...比如,不能老想着搞云的人一天到晚写代码,人家还要学习新的技术,参加参加黑客松之类的码农聚会,平时还要时不时聚会讨论讨论技术呢。 云产品上线到稳定有个过程,不是上线了就稳定没有问题了。...是解散呢,还是去做外部市场呢?每种做法都需要有不同的方案,建议提前准备好。 做云是一个公司的事情,不是某个事业部的事情。要有公司层次的总体部署。
但如果日复一日、年复一年都在做这些重复性、机械性的工作,成就感和喜悦感就会慢慢地淡去,取而代之的是厌倦和困扰。 ? 可能有些人会觉得,厌倦和困扰也就算了,反正有钱赚,爱咋咋地。...于是我就设计出了类似下面的、模拟登录游戏的代码: ? 看看这界面,左侧有简易直白的输入框,点一下插入,就是一行代码。...当然上面只是模拟登陆一次的代码,如果要输入100遍,开头加一个For 100,结尾加一个Next就可以了。要怎么运行呢?最小化按键精灵软件,按一下启动键,就开始模拟100次登陆。...我准备将所有关于按键精灵理论和实操的经验心得,毫无保留地分享给大家,也欢迎大家加我微信进行交流。 都说程序员改变世界,现在,一个改变世界的机会就摆在你的眼前,你还在犹豫什么呢?...说不定明天的AI核心代码,就是基于你对工作流程的熟知和提炼而成的。
领取专属 10元无门槛券
手把手带您无忧上云