本文主要是介绍ARTS-for-week7-20181130,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
阅读文本大概需要 8 分钟。
每周完成一个ARTS:
每周至少做一个 leetcode 的算法题、阅读并点评至少一篇英文技术文章、学习至少一个技术技巧、分享一篇有观点和思考的技术文章。(也就是 Algorithm、Review、Tip、Share 简称ARTS)
ps:由于公众号不支持添加外链,所以大家遇到有链接的地方滑到文章最下面点击阅读原文就可以访问了哈,如果觉得文章不错,欢迎分享给周围的朋友们哈
又到周末啦,大家该吃吃该喝喝该玩玩,同时也不要抽点时间忘了学习哦。
下面更新 ARTS 第七周的内容。
1.Algorithm
LeetCode 35. Search Insert Position 链接 难度:[Eazy]
【题意】
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Example 1:
|
|
Example 2:
|
|
Example 3:
|
|
Example 4:
|
|
【思路】
这道题不是很难,比较简单,提供两种方法,一种是直接循环原数组判断,时间复杂度O(n),一种是用二分查找,时间复杂度是O(logn)。
【参考代码】
|
|
2.Review
十大GitHub最佳实践(英文)
本文作者在扫描了数千个存储库并访问了数百个客户之后,创建了一个常用最佳实践列表,在文章的最后,作者强烈建议我们在每个现代软件开发组织中采用这些最佳实践。下面我们来看看这十大最佳实践具体的内容。
按照 gitflow 工作流的方式工作,保护主分支防止直接提交。
避免提交者无法识别身份,确认提交者有明确的身份。
最好提交前定义好 codeowner,提交需要 code review。
一定不要把秘钥提交到代码中,使用 Valut 或者 AWS Secrets Manager等工具进行管理。
避免将依赖项提交到项目中,从而减小库的大小。
从源代码中分离配置文件之后,这些信息应当保留在本地环境。
建立有意义的 .gitignore 文件,可以从 Gitignore.io 选择相关模版。
不维护的库改成
只读
模式。指定依赖包的版本,从而防止使用 latest 版本导致升级后不可用。清单文件包含有关所有软件包版本的信息,以便在每次安装应用程序依赖项时不会破坏代码的情况下保持一致的结果( 最佳做法是使用清单锁定文件以避免任何差异,并确认每次都获得相同的软件包版本)。
如果有一个在多个项目中使用的包,请至少尝试在不同的存储库中使用相同的主要版本(虽然使用的是相同的软件包,但不同的版本分发将使在各种项目中重用代码和测试变得更加困难)。
个人 review:都说习惯养成不容易,但是一旦养成了一个好习惯,我们在提交代码,提交项目的时候就会更加有规范,有效率。希望我们不管在平时的生活还是工作当中都能慢一些,不那么急躁,细心一点,养成一个好习惯,后面的好处肯定会持续的积累。
3.Tip
这几天刚好在整理一些之前学过的常用的 Linux 命令。
关于 crontab 命令的用法,发现还是蛮多的,蛮实用的,总结常用的用法如下。
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行
如何往 cron 中添加一个作业?$ crontab –e
0 5 * /root/bin/backup.sh这将会在每天早上5点运行 /root/bin/backup.sh
Cron 各项的描述
以下是 crontab 文件的格式:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月.12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.Crontab 示例
在 12:01 a.m 运行,即每天凌晨过一分钟。这是一个恰当的进行备份的时间,因为此时系统负载不大。
1 0 * /root/bin/backup.sh
每个工作日(Mon – Fri) 11:59 p.m 都进行备份作业。
59 11 1,2,3,4,5 /root/bin/backup.sh
下面例子与上面的例子效果一样:
59 11 1-5 /root/bin/backup.sh
2.每5分钟运行一次命令
/5 * /root/bin/check-status.sh
3.每个月的第一天 1:10 p.m 运行
10 13 1 /root/bin/full-backup.sh
4.每个工作日 11 p.m 运行。
0 23 1-5 /root/bin/incremental-backup.sh
Crontab 选项
以下是 crontab 的有效选项:
o crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
o crontab –l : 显示 crontab 文件。
o crontab -r : 删除 crontab 文件。
o crontab -ir : 删除 crontab 文件前提醒用户。以上就是crontab命令的具体使用方法了。
4.Share
商汤公司正在帮助建立中国的全景监控。(英文)
商汤对政府工作和日常监控的接受与硅谷目前的基调形成鲜明对比。 今年早些时候,愤怒的 Google员工联名抗议他们的雇主放弃五角大楼项目,并承诺避免使用人工智能打击人类战争的自主武器,微软和 Salesforce.com 的工作人员抨击与联邦机构的合同,亚马逊的员工抗议向警察部队出售面部识别装备。 (据报道,亚马逊向美国移民局提出了这些工具。)
看看我们中国的高科技企业,“我们只想赚钱”,不得不说,这应该对比很明显,在中国,高科技公司不得不在企业的政策扶持下和特殊利益下生存。
推荐阅读
记一次大佬直播精华总结
ARTS-for-week6-20181124
爱学习,爱技术
这篇关于ARTS-for-week7-20181130的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!