zoukankan      html  css  js  c++  java
  • 每周学算法/读英文/知识点心得分享 8.11

     每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西!

    写在前面的话。不知不觉已经落下ARTS的操练快五个月了,期间经历了辞职、赋闲在家、找新工作、搬新家等阶段,到今天算是入职新公司两个月。

    之所以重新想起来要继续操练,主要是我在耗子叔的群里看到有人坚持完成了一年的练习。这激发了我,让我有种要重新捡起来的冲动。

    操练身体,操练敬虔,操练技术,任何一样坚持都会面对想要放弃的念头。我想最怕的不是停歇,而是就此止步了,而整装上阵,或许会是一个新的起点....

     

    Algorithm: 学习算法

    题目:38. 报数

    描述:报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:

    1.     1
    2.     11
    3.     21
    4.     1211
    5.     111221

    1 被读作  "one 1"  ("一个一") , 即 11。
    11 被读作 "two 1s" ("两个一"), 即 21。
    21 被读作 "one 2",  "one 1" ("一个二" ,  "一个一") , 即 1211。

    给定一个正整数 n(1 ≤ n ≤ 30),输出报数序列的第 n 项。

    注意:整数顺序将表示为一个字符串。

    解题过程:相对简单的题,不需要特别的算法知识,找到规律即可。基本上就是遍历字符串,记录字符以及重复出现的次数,然后转化为一个二位数。另写一个函数即可。

    解法:https://leetcode.com/submissions/detail/250705719/

    Review: 学习英文

    题目: 技术债务的隐喻

    马丁大叔于2003年首次写下这篇文章,最近重写一遍,发表在个人博客上。

    技术债务,作为一个隐喻,代表的是软件中的缺陷。这些缺陷由不太关心质量的程序员在做出改动时被引入到系统中, 分布在各处,会给未来的软件变动带来额外的开销,就好像财务负债里要还的利息一样。

    他给出的建议是,就像我们对待财务负债那样,一次偿还一部分。在变更的地方,花少部分时间,先把那些有缺陷的代码移除,引入更适合的结构。这样做的好处是,越是变更频繁的地方,有缺陷的代码就会消失越快,而那些稳定的问题代码则会被保留下来,不需要大力气去改动。

    对我的启发是,下次开发软件代码时,如果遇到技术债务,先偿还一部分,不用带着很大压力去做大改动。

    Tips: 知识点

     常用缓存更新的套路:

    失效: 程序从缓存中取数据,缓存没有,从数据库取数据,成功后放到缓存中。

    命中:程序从缓存中取数据,返回

    更新:程序先更新数据库数据,成功后,失效缓存数据

    Share: 价值观

     无

  • 相关阅读:
    (一)linux 系统命令与文件
    python(1)- 初识python
    四、计算机硬件知识整理
    三、计算机硬件历史
    二、网络基础之网络协议
    jmeter while循环使用
    gitlab分支管理
    gitlab基本操作
    JAVA多种向influxDB中插入数据方式
    JAVA类变量和实例变量
  • 原文地址:https://www.cnblogs.com/andrew-chen/p/11335969.html
Copyright © 2011-2022 走看看