First, List your GPG key
# If folders does not exist will create be related automatically |
有幸赶上了公司的政策变化,我有 12 周的陪产假来做全职奶爸,照顾家人的同时希望挤出时间来学习,毕竟在职期间很有有机会能有近 3 个月的假期。
照顾孩子兼顾学习真不是一件轻松的事情,我尽力兼顾了两者,做了如下的流水账记录。
我知道 12 周会很快过去,就在已经快要过去了 2 周时我决定有计划的来完成一些任务,比如:
cpp-linter-hooks
也就是从休假的第 2 周开始,我开始记录每周的完成的小任务。
很久以来很多程序员都遇到过在 Windows 做开发的各种不便:
比如设置开发环境不能像 Linux 和 Mac 那样只需要输入一行命令就能安装各种 command 和 package,因此有的程序员从此转到了 Mac 上开发,也有的干脆就使用 Linux 作为开发机,只有那些不得不使用 Windows 作为开发环境程序员还一直留在了 Windows 上继续凑合中。
直到 WSL 的到来,准确来说是 WSL2。
WSL + VS Code + Docker Desktop 这三剑客的组合,开始让我觉得在 Windows 上做开发是一件非常爽的事情。
WSL 是 Windows Subsystem for Linux 的缩写,它是 Windows 10 操作系统的一项功能,使你能够在 Windows 上直接运行 Linux 文件系统,以及 Linux 命令行工具和 GUI 应用程序,并与传统的 Windows 桌面和应用程序一起运行。
WSL 的最低版本要求是 Windows 10 version 1903 及更高。
WSL 是专为那些需要使用 Linux 的开发人员所开发的,例如从事网络开发人员、开源项目、以及需要部署到 Linux 服务器环境的开发者。
WSL 适用于喜欢使用 Bash、常用 Linux 工具(sed、awk等)和 Linux 优先框架(Ruby、Python 等),同时也喜欢使用 Windows 作为生产力工具的人。
下面来看看 WSL 和虚拟机相比有哪些优势。
自 Docker 开启了使用容器的爆发式增长,有越来越多的工具和标准来帮助管理和使用这项容器化技术,与此同时也造成了有很多术语让人感到困惑。
比如 Docker, containerd, CRI, CRI-O, OCI, runc,本篇将介绍这些你听过但并不了解的术语,并解释容器生态系统是如何在一起工作的。
容器生态系统是由许多令人兴奋的技术、大量的专业术语和大公司相互争斗组成的。
幸运的是,这些公司偶尔会在休战中走到一起合作,商定一些标准,这些标准有助于使这个生态系统在不同的平台和操作系统之间更具互操作性,并减少对单一公司或项目的依赖。
这张图显示了 Docker、Kubernetes、CRI、OCI、containerd 和 runc 在这个生态系统中是如何结合的。
In organizations, using LDAP login very common way for users to log in with their credentials.
Preparation: Installed LDAP Jenkins plugin
About how to configure it, you can refer to Jenkins LDAP Plugin documentation https://plugins.jenkins.io/ldap/
This is my LDAP configuration just for testing.
有开发者、甚至公司可能会遇到过以下几个问题:
基于这些问题,开发者会考虑与父仓库进行分离,但目前 GitHub 没有提供 Unfork/Detach 的功能。
如果直接删除项目并重建可以达到分离的目的,但这样会丢失一些重要的信息,比如项目中的 Issues,Wikis 以及 Pull Requests 等。
Unfork 跟某节旗下某引擎白嫖 Apache SkyWalking 有本质区别,它更像是 Hudson 和 Jenkins 的分道扬镳。
在经过一番调查和测试,目前最可行的办法就是通过 GitHub Support 来处理,具体操作如下:
在使用 Jenkins 和 Groovy 越久,我就这样的疑问:
Groovy 到底是什么语言?
Groovy 有哪些特性?
Groovy 和 Java 有什么区别?
Groovy 和 Java 如何选择?
Groovy 在整个开发语言中占什么位置?要不要学?
本篇我的学习结果的分享,希望也能帮助你解答以上的这些问题。
Apache Groovy 是一种强大的、可选类型的动态语言,具有静态类型和静态编译功能,适用于 Java 平台,旨在通过简洁、熟悉且易于学习的语法提高开发人员的工作效率。
它与任何 Java 程序顺利集成,并立即为你的应用程序提供强大的功能,包括脚本功能、特定领域语言创作、运行时和编译时元编程和函数式编程。
翻译官方的说法,Groovy 有以下六大特性。
Failure: PIP - Pip Inspector |
For more output please click to expand.
[main] --- ======== Detect Issues ======== |
ENVIRONMENT:
DevOps 是 IT 界最近几年的一个热门话题,而且还会越来越热。
最近有幸和一位做传播咨询的读者朋友交流关于 2022 年最值得关注的 DevOps 趋势以及一些问题和回答,分享给大家。
无服务器计算是一种新兴趋势,实际上已经存在了十多年。企业购买无服务器框架需要一段时间,主要是因为对行业支持和对投资回报的担忧。
无服务器具有许多越来越难以忽视的优势,主要的两个最大好处是效率和可靠性。没有基础设施管理的负担,企业可以将资源集中在正重要的事项上。此外,无服务器还降低了传统框架可能出现的潜在维护问题的风险。
无服务器提供固有的可扩展性和可靠性并自动化开发人员不喜欢的日常操作任务,2022 年无服务器计算会经历下一次发展。
随着无服务器计算在 2022 年的发展,微服务也将如此。
微服务架构是将单体应用分化为小的独立单元,或服务,从而为大型团队提供了更大的灵活性。它有以下优势:
当然也必须认识到微服务的一个弊端,如果实施不佳可能导致严重问题,包括数据丢失、可靠性差和安全风险。
在写博客和公众号这件事上,不知不觉已经是我的第五个年头了,没想过能这么久。
借此分享一下这些年我的职业线路的变化,以及写博客&公众号有什么收获,算是自己过去的一个总结,如果能有点共鸣和帮助就更好了。
最早关注我公众号读者朋友大概都是因为软件测试而结缘的。是的,我做了近 10 的软件测试工作,先后在 SIMcom、东软、京东商城、外企从事过功能&自动化&性能测试工作。
从功能测试入行开始,我慢慢地感受到编程不是开发的独门武功,它也是测试工程师的必备技能,只有具备良好的编码能力,才能去做自动化、Unittest、以及测试开发等工作。
当我做了自动化测试工程师,我又发现相对于“发现”问题,“解决”问题更令我愉悦。我开始梦想有机会能去做开发,这样不但可以提高自己的编程能力,另外开发、测试都懂也能为自己今后的职业发展找到更多可能性。
最终是因为有这样的机会+自己的主动+编码过得去,我从测试转到了开发。起初的艰难和压力都是我工作近 10 年来前所未有的,白天看代码、晚上看代码、周末看代码… 天天如此。经过了半年多的努力,才终于上岸,可以做 C/C++ 项目的 Bugfix 了。
也正是因为有开发、自动化、持续集成的经验,在团队需要一名 Build/Release 工程师的时候,我知道这就是我最适合的岗位,负责产品的自动化构建、发布、基础设施建设、CI/CD 以及提高研发效能的相关开发工作。
就这样我从 QA 到 DEV 到 DEVOPS。公众号的更名记录也记录了我的职业路线变化:
写作是一项长期收益远超短期收益的事情。
对于绝大多数人在短期内几乎不会有什么实质性的收益,还会花费大量的业余时间,妥妥的是用爱在发电。从金钱角度来衡量这件事,这是一件投入和产出完全不成比例的事情,很难坚持。
如果从长期来看,坚持写作一定会带来价值的,我总结有以五个方面的好处: