ARTS 005

本贴最后更新于 2028 天前,其中的信息可能已经时移世异

ARTS 是由左耳朵耗子陈皓在极客时间专栏《左耳听风》中发起的一个每周学习打卡计划。

Algorithm:至少做一个 LeetCode 的算法题。主要为了编程训练和学习。

Review :阅读并点评至少一篇英文技术文章。主要为了学习英文,如果你英文不行,很难成为技术高手。

Tip:学习至少一个技术技巧。主要是为了总结和归纳你日常工作中所遇到的知识点。

Share:分享一篇有观点和思考的技术文章。主要为了输出你的影响力,能够输出你的价值观。

Algorithm

二分查找求平方根精确六位小数

package main import ( "fmt" "testing" ) func TestPrescibe(t *testing.T) { //找一个正数的开方值 var showNum float32 = 8 res := Prescibe(showNum) fmt.Println(res) } func Prescibe(n float32) float32 { var start, end, mid, res float32 if n > 1 { start = 1 end = n } else if n > 0 { start = 0 end = 1 } for end > start { if (n-res)*1000000 < 1 && n-res > 0 { return mid } if (res-n)*1000000 < 1 && res-n > 0 { return mid } mid = (start + end) / 2 res = mid * mid fmt.Println(res) if res > n { end = mid } else if res < n { start = mid } else { return mid } } return mid }

Review

最近在做支付相关业务,用到消息队列配合全局 id 做幂等,这里是一个 go 实现的全局 id 的雪花算法。
https://github.com/sony/sonyflake/tree/master/awsutil

Tip

bash 的运行方式

  • bash filename.sh
    • 不需要执行权限,以子 shell 的方式运行
  • ./filename.sh
    • 需要执行权限,以子 shell 的方式运行
  • source filename.sh
    • 需要执行权限,以当前的 shell 运行
  • . filename.sh
    • 同上

变量的作用范围为当前的 shell,代码如下

LucianodeMacBook-Pro:~ Luciano$ demo_var="hello world" LucianodeMacBook-Pro:~ Luciano$ bash bash-3.2$ echo $demo_var bash-3.2$ exit exit LucianodeMacBook-Pro:~ Luciano$ echo $demo_var hello world LucianodeMacBook-Pro:~ unset demo_var LucianodeMacBook-Pro:~ demo_var="hello shell" LucianodeMacBook-Pro:~ Luciano$ bash bash-3.2$ echo $demo_var hello shell unset demo_var

如果在子 shell 中使用变量,需要用到 export,如果想让所有终端和 shell 都能共享变量需要加入环境变量

预定义变量

  • $? :上一条命令的执行结果: 0,成功 ;非 0 失败。
  • $0 : 当前当前进程的名称。

Share

  1. 最近开发机的 redis 的三个实例经常挂掉,经过简单排查发现是系统内存不足导致的 OOM,占用内存越大的进程越容易被系统杀掉,正好是 linux 性能优化第 15 讲的内容,等后续自己阅读后,补充详细知识点。

  2. 最近学习英语用,看文章用到一个人觉得很不错的插件 rememberry,可以实时查单词,并且加入单词记录卡片,方便后面复习。

相关帖子

回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...