20230211日志
2023年2月11日
算法 # 最大公约数 func (a, b int) int { for a != 0 { a, b = b%a, a } return b } golang # gin源码解读, 理解web后端框架 https://zhuanlan.zhihu.com/p/335779872
算法 # 最大公约数 func (a, b int) int { for a != 0 { a, b = b%a, a } return b } golang # gin源码解读, 理解web后端框架 https://zhuanlan.zhihu.com/p/335779872
心流 # 提前制定计划什么时候做什么事,而不是到了时间点再做安排 包括短期,中期,长期计划
思考 # 让所有类都同时具有一个新属性并不破坏原有代码 新建一个类, 包含新属性, 万能属性Object存放旧类
算法 # 矩阵对角线: 就是行index m*n的二位矩阵与一维的坐标转换, 在reshape时使用 (i, j) = i*n + j 阅读总结 # 新年新气象 思想斗争的武器: 行为心理学 英语语法复习 golang 100 mistakes 复习 算法每天2-5个 单词竞赛
命题 # 条件放在左侧,结果放在右侧 p是q的充分条件, p->q p是q的必要条件, p<-q p是q的重复必要条件, p<->q p的重复必要条件是q, q<->p 小范围能推出大范围
数学 # 排列组合 $$P(n, r) = \frac {n!}{(n-r)!}$$ $$C(n, r) = \frac {n!}{(n-r)!r!}$$ P(n, r)的含义:n 个元素中 r 个元素全排列,不考虑剩余的 n-r 个元素的顺序. 既 n!/(n-r)! C(n, r)的含义: 首先在P(n, r)的基础上,也不考虑 r 个元素的顺序, 既 n!/(n-r)!r!
english # 助动词 # 辅助主动词 不能像助动词一样单独作谓语动词 除此以外,情态动词能够表意,也归在助动词内 有些单词除了作为助动词,还可以作为实义动词 基本助动词 # 没有实际含义 be The rabbit is eating a carrot do The reabbit does like coins 构成强调 have The rabbit has eaten a carrot 情态助动词 # 有实际含义 can/could I can kill a wolf. 表能力 Could I borrow your book? 表请求, could 虽然是过去式, 但没有时间上的含义 Anyting can happen. ...
golang # sync.cond # type Donation struct { mu sync.RWMutex balance int } donation := &Donation{} // Listener goroutines f := func(goal int) { donation.mu.RLock() for donation.balance < goal { donation.mu.RUnlock() donation.mu.RLock() } fmt.Printf("$%d goal reached\n", donation.balance) donation.mu.RUnlock() } go f(10) go f(15) // Updater goroutine go func() { for { time.Sleep(time.Second) donation.mu.Lock() donation.balance++ donation.mu.Unlock() } }() cpu空转 type Donation struct { balance int ch chan int } donation := &Donation{ch: make(chan int)} // Listener goroutines f := func(goal int) { for balance := range donation. ...