给程序员的几条建议,精彩配图
编程语言分为两种:一种是天天挨骂的,另一种是没人用的。
搞 C 的看不起搞 C++ 的, 搞 C++ 的看不起搞 Java 的,搞 Java 的看不起搞 .NET 的,搞 .NET 的看不起美工, 周末了,美工带着妹子出去约会了,一群SX还在加班。
编程语言分为两种:一种是天天挨骂的,另一种是没人用的。
搞 C 的看不起搞 C++ 的, 搞 C++ 的看不起搞 Java 的,搞 Java 的看不起搞 .NET 的,搞 .NET 的看不起美工, 周末了,美工带着妹子出去约会了,一群SX还在加班。
简单总结了一下个人技术配图的一些心得,总的大原则是:
1、区分:将组件、流程、趋势等之间的”区分“尽可能在图示中通过各种手段(如不同的颜色、形状、箭头)表达出来。
2、联系:组件之间的数据流动、状态切换等,都是它们之间的联系,也需要通过各种手段表达出来。
3、说明:可能的话,要在图中加上一些说明文字,如步骤说明、分类说明,等等。
本文主要按照 Mozilla 对于服务端 TLS 协议配置的建议来提供 nginx 的配置建议,按照这些建议进行配置可以让我们的站点更加安全。
本篇记录一下我传书到 Kindle 的「独特」方式——WiFi 传书插件。可以直接通过 WiFi 传输电子书到 Kindle,不需要使用 USB 线,也不依赖其它服务,只要 Kindle 和手机/电脑在同一个局域网内,就可以通过浏览器直接上传电子书到 Kindle。
在做新需求开发或者相关系统的维护更新时,尤其是涉及到不同系统的接口调用时,在可维护性方面,总感觉有很多地方差强人意。一些零星思考,抛砖引玉,希望引发更多的思考和讨论。
这篇准备了很久,又临时起意,而终于“完成”了的短文,旨在将一些我觉得重要的建议讲给渴望成长,又不知从何做起的同学们。这里分享的几个小的点,做起来难度应该都不算大,如果能持之以恒,我相信你可以看到自己成长的速度。
虽然通常很容易构建能够正常运作的软件, 但更难的是确定没有人能够以不是预期的方式使用它。
Solidity中,这更加重要,因为你会使用智能合约来 控制token,甚至可能是更加宝贵的东西。 此外,每次 智能合约的执行,都是公开的。并且, 代码也常常是开源的。
当然,你总是必须考虑这个问题有多大: 你可以用一个web服务来和智能合约进行对比,这个web服务向公众开放 (也可能是向恶意攻击者),甚至可能是开源的。 如果您只是在那个web服务上存储您的杂货列表, 您可能没有必要 关心太多,如果你使用这个web服务处理你的银行账户, 你应该更加谨慎。
本节将列出一些陷阱和一般安全建议,但 当然,永远不可能是完整的。 还有,请记住,即使你的智能 合约代码是没有bug的,编译器或平台本身可能有一个 bug。 编译器中一些已公开的安全错误列表 可以在 :ref:list of known bug<known_bugs>中找到, 这也是 机器可读的。 注意有一个覆盖Solidity编译器的代码生成器的 bug bounty 程序 。
到现在,我已经做了超过 21 年开发,可以说,我生命中超过一半的时间都在编程,那既是我的职业,也成了我的习惯。
通常能听到的答案是使用了NULL值的列将会使索引失效,但是如果实际测试过一下,你就知道IS NULL会使用索引.所以上述说法有漏洞
简历经常是给面试官的第一印象,但很多还没踏出校门的同学们不知道怎么写好简历,我时常有拿着一份简历不知道该怎么面试他的情况。而在秋招这种大规模招聘的季节,面试官刷简历时如果一份简历没法在很短的时间内吸引到注意力,那很容易就被漏过了,因为这样被淘汰岂不可惜。
那怎样的前端简历才算好简历?
有一种说法是,“一个伟大的程序员相当于10个平庸的程序员”。
没有人愿意被贴上了糟糕程序员的标签,但一个可悲的事实是,很多开发人员没有意识到他们自己就属于这一群体。没有人愿意问自己:我是一个糟糕的开发人员吗?