V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ninjadevops
V2EX  ›  程序员

DevOpsWeekly#18 Stack Overflow 发布 2017 程序员调查结果; 如何成为一个更好的程序员? 正确的对用户密码进行加密; 配置管理是一种反模式

  •  
  •   ninjadevops · 2017-03-25 16:37:12 +08:00 · 2267 次点击
    这是一个创建于 2802 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Stack Overflow 发布 2017 程序员调查结果

    超过 6 万 4 千名程序员参与了此次调查,有很多有趣的发现. 譬如: 有 56.5%的受访者认为自己工资过低; 有 13.1%的人表示他们在积极的找工作, 有 75.2%的人表示他们会考虑新的工作机会.

    Only 13.1% of developers are actively looking for a job. But 75.2% of developers are interested in hearing about new job opportunities.

    90%的受访者表示他们是自学成才(Self-taught); 72.6%的受访者认为自己是 Webdeveloper, 62.5%的受访者使用 JavaScript, 有 73.9%的 SysAdmin/DevOps 表示他们使用 JavaScript.

    详细的报告请阅读: Developer Survey Results 2017, 同时 Stack Overflow 也有一期关于调查结果的播客: Podcast #105: The Wait is Over! Developer Survey 2017 results are in.

    如何成为一个更好的程序员

    关于这个话题, 小编要推荐两篇文章:

    • How I Became a Better Programmer

      干货甚多, 翻译几条, 与君共勉:

      • 找到能激励你的人, 但不要盲从他们.
      • 即使你是新人, 也不要低估自己的工作.
      • 新技术层出不穷, 不要疲于奔命. 多数都是老调重弹, 革命性的创新并不是每年都有.
      • 忽略皮毛, 譬如新的语法, 新的 library APIs, 配置 build 工具等等.
      • 深入了解以往的研究结果, 譬如阅读Papers We Love GitHub repo.
      • 做点有挑战的事情. 譬如, 写一个 compiler.
    • Turning Tech Hobbies into Side Hustle

      四年前立下雄心壮志要学习某某语言, 结果到如今只是"从入门到放弃". 怎样高效的学习一门新技术? 找到动机 e.g. help who and do what. 找到潜在用户, 然后做成一个 side hustle.

      文中提到的另一篇关于程序员修炼的文章: Sharpening the Saw

    (中文) 如何正确对用户密码进行加密?

    还记得2011 年的 CSDN 密码泄露事件么? 用户密码到底该以哪种形式存储? 像曾经的 CSDN 那样明文存储吗?

    一起来读一读 InfoQ 翻译的如何正确对用户密码进行加密? 英文原文: Salted Password Hashing - Doing it Right

    配置管理是一种反模式 Configuration Management is an Antipattern

    谁来负责维护 Configuration? Ops? Dev? 总有那么几台机器因为各种原因而没有接收到最近的更新, 怎么办?  try/catch + monitoring tool?

    configuration management promises that you ’ ll know the complete state of your infrastructure, but it never works that way.

    解决方案 - immutable infrastructure: 先 build 一个 base image, 然后安装具体的 app, build 成为包含具体 app 的 image. 然后部署这些 image.

    Your base image should have the latest security updates as well as any base infrastructure packages that are run platform-wide. Things like your monitoring packages, or your service discovery. Now, you could use a configuration management tool to build your base image, but you could also use OS packages and a little python to install and configure your base image.

    Once you have that base image, you install your application and its dependencies on the base image using your standard package manager (like apt-get or yum). If you have your dependencies configured in your package correctly, this is basically one step.

    You compile that into a new application specific image, push that to all your was regions, and viola! Immutable infrastructure!


    by ninjadevops.com

    Rss 订阅: http://ninjadevops.com/feed.xml

    微信订阅:

    微信订阅:

    1 条回复    2017-03-25 19:19:19 +08:00
    kslr
        1
    kslr  
       2017-03-25 19:19:19 +08:00 via Android
    Nice
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3437 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:33 · PVG 19:33 · LAX 03:33 · JFK 06:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.