虽然代码写的很水,但是我对各种编程语言一直比较感兴趣. 除了工作中使用的Java之外,自己也了解Python,Groovy,Scala,Kotlin,Clojure,Go,Rust.其中Python和Scala在工作中也偶尔使用. 了解不同的编程语言语法对于编程思维的影响还是蛮有意思的.
例如, 只会Java的开发者可能没有听过模式匹配(pattern match).在我学习了Scala之后,我对模式匹配的理解就是更强更优雅的switch+if. 而在我看过rust和elixir语言中关于模式匹配之后,我对模式匹配的理解就完全不一样了.
Highlights in Scala for Impatient 2nd
key points in scala-for-impatient 2nd book, best book for java developer to use scala in a rush.
scala-for-impatient章节摘要, 这本书对于Java开发者快速上手Scala帮助很大.
Functions
• if expression has a value.
• A block has a value — the value of its last expression.
• The Scala for loop is like an “enhanced” Java for loop.
• Semicolons are (mostly) optional.
• The void type is Unit.
• Avoid using `return` in a function.
• Beware of missing = in a function definition.
• Exceptions work just like in Java or C++, but you use a “pattern matching” syntax for catch.
• Scala has no checked exceptions.
Rust Packages Crates Mod Notes
初学rust对于项目的package和crate的关系,module和文件的关系有点理不清.做了一点笔记.
packages, crates and modules
A Cargo.toml is a package. and must have a package name, like
[package]
name = "actix-web"
git 常用命令备忘录
记录日常开发中偶尔会遇到的但是总是记不住的git命令.
以下技巧都来自于oh shit git 和 stackoverflow. 版权归作者所有.
DevOps能力成熟度模型
之前听说过AWS的软件工程师是需要自己写需求说明书,前后端代码,测试和上线.还有instagram的工程师可以做到python的代码提交如果合并到主分支后可以在一个小时内自动部署到生产被用户使用到,感觉这个非常神奇.如果需要做到这个,对组织级与个人都有极高的devops能力成熟度要求.
上周代表CRM项目通过了信通院的DevOps三级认证.感觉提升的空间很大. 专门看了一下成熟度模型的标准.