ARTS 005

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

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 失败。
  • : 当前进程的pid。
  • $0 : 当前当前进程的名称。

Share

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

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

相关帖子

回帖

欢迎来到这里!

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

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