ARTS|Week 01 (2020 第 22 周)

用户头像
MiracleWong
关注
发布于: 2020 年 05 月 30 日
ARTS|Week 01 (2020第22周)

ARTS是极客时间推出的一个打卡活动,通过100天的关于Algorithm、Review、Tip和Share的刻意训练,来实现进阶。



1. Algorithm

要求:每周至少做一个LeetCode算法题,为了编程训练和学习。

实际时间花费:90分钟

算法题目

算法题链接:Climbing Stairs



假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?



题目分析

这道题本质是一个斐波那契数列的显示例子,而可以通过递归和非递归两种形式实现。



代码

我是通过Python 3 来对算法进行实现。



class Solution:
def climbStairs(self, n: int) -> int:
if (n <= 2):
return n
f1, f2, f3 = 1,2,3
for x in range(3, n+1):
f3 = f1 + f2
f1 = f2
f2 = f3
return f3



2. Review

阅读并点评至少一篇技术文章,通过英文技术文章来学习英文。

实际时间花费:60分钟



文章链接:How to write CHANGELOGs



我的点评

  1. 文章讲解的是,维护一个大厂的开源项目,如何规范地撰写CHANGELOGs(变更日志)。作者给出了四点建议和一个CHANGELOG.md 模板

  2. 从使用者的角度,考虑如何写更便于阅读

  3. 每一次的变更日志,都应有具体时间和版本号

  4. 严格遵守Semver(语义化版本号)

  5. 每一次的变更日志应包含内容:

  • 增加的功能(added),更改的内容(changed), 废弃的功能(deprecated), 移除的功能(removed), 修复的Bug(fixed)

  • 是否是重大改变(breaking changes)

  • 相关依赖库的更新

  1. 适用于个人开源项目的实施时,README和变更日志的编写。

  2. 使用到的底层逻辑:同理心(用户角度)、规范化(Semver)、结构化思维(变更日志内容)



3. Tip

学习至少一个技术技巧,为了总结和归纳日常工作中遇到的知识点。

实际时间花费:20分钟



技巧



kubectl get pods --no-headers -o go-template --template='{{range .items}}{{range .spec.containers}}{{printf "%s\n" .image}}{{end}}{{end}}'



我的学习

  1. kubectl get相关资源,默认输出为kubectl内置,可以使用-o json或者-o yaml或者describe pods 查看。但如果需要的信息不多,我们需要自定义输出的列,那么可以使用go-template来进行实现。

  2. 之前自己查看部署服务的镜像时,都是采用kubectl get pods | grep XXX | awk '{print $1}' |xargs kubectl describe pods | grep Image: | awk '{print $2}'命令,针对单个服务还可以,如果想一次性将上百个服务的镜像进行统计时,效率很低。

  3. go-template还是有很多的形式,支持--template=具体文件等。



4. Share

分享一篇有观点和思考的技术文章,为了建立影响力、输出价值观。

实际时间:90分钟



文章链接:Elasticsearch7.X X-Pack基础安全实操详解

我的学习

  1. 这是工作日负责修复“ElasticSearch未访问授权漏洞”时,看到的文章,作者介绍了ElasticSearch X-Pack的认证。

  2. 自己按照文章,顺利的设置了,同时自己也思考并同步的将Kibana、Logstash、FileBeat进行了更改,配合ElasticSearch X-Pack的认证。

  3. 学习到了如何根据具体的知识点写一篇技术文章:具体原理,单机模式、集群模式,具体实操,图示展示,参考资料。

  4. 进一步观察作者的博客,看到其在ELK领域写了大量的文章,属于比较深入的模式,同时构建了自己的知识体系,同时扩大自己的技术影响力和个人品牌,如同名微信公众号和知识星球。

  5. 自己在学习《Elasticsearch核心技术与实战》 时,也可以学习这种模式,通过搭建知识体系的方式、设置学习目标的方式学习、



收获

  1. 设置一个“ARTS文章”的markdown模板,您所看到的本篇文章的大致布局就是模板的内容,参考Puran 的文章 《ARTS|Week 1 第一次使用LeetCode》

  2. 模板链接: https://pan.baidu.com/s/1N3fRYCyrbYBENS0BOJmCsQ ,提取码: 9fcp ,如果您喜欢,可以在文章底部评论,这是对我的一个正反馈。



下一步计划

  1. 将模板设置为VS CodeSnippets,并加入相关变量的设置,写文章时,逐步的填空就好。

  2. 《数据结构和算法之美》《算法面试通关40讲》以及LeetCode进行一个合理的计划,争取每天刷题。

  3. 之前加“极客时间”的运营人员,想要进入“ARTS”打卡群,但是一直没有被拉入,询问也没有回复,不知道是不是需要自己先要写一篇“ARTS文章”,等今天的文章发布后,再去问一下。

  4. 工作日每天针对“ARTS”一项进行快速记录,而不是等到周末花大块时间写,利用好碎片时间的收集,进行卡片式写作,最后拼接即可。



参考资料

  1. ARTS打卡活动

  2. 《ARTS|Week 1 第一次使用LeetCode》

  3. How to write CHANGELOGs

  4. Elasticsearch7.X X-Pack基础安全实操详解



发布于: 2020 年 05 月 30 日 阅读数: 50
用户头像

MiracleWong

关注

Hello World, Hello Miracle! 2017.10.24 加入

运维开发工程师!

评论

发布
暂无评论
ARTS|Week 01 (2020第22周)