Roger's Blog

动机至善 私心了无

二宝出生

奥利奥于 2021 年 5 月 28 日出生,农历四月十七,跟我农历生日月和日都差了一。

鉴于生老大时媳妇对顺产的心理阴影,我们思考再三选择了剖腹产,宝宝距离预产期十天来到我们和身边。

第四医院虽然体验极其糟糕,但好在宝宝出生第四天我们就到了月子中心,这感觉简直是天差地别,同样的空间医院竟然能住六个产妇,简直难道想象。在此我强烈建议,如果想要大人恢复的比较好,一定不要在家做月子。根据自己的经济条件,能在月子中心多待几天是几天。

老大一到三岁,我陪伴的时间太少了,二宝我是几乎天天看着他长大的,真心体会到当妈妈的辛苦。出生时七斤三两,已经被媳妇奶成了二十二斤的大胖小子了。

二宝在年底最后的几天开始不停地喊”爸~爸,耙,爸爸“。

总之陪伴孩子成长的过程是一个不停学习,不停治愈自己的过程,孩子真的是来教育大人的。还没有准备要宝宝的小伙伴们,可以准备啦。陪孩子一起学习成长的感觉其实是非常不错的。

Read more »

以下内容是我在 Tony Bai · Go 语言第一课的分享用户故事|罗杰:我的Go语言学习之路
你好,我是罗杰,目前在一家游戏公司担任后端开发主程。今天,我想跟你分享一下我学习Go的一些经历,如果你还是一个Go新人,希望我的这些经历,能给你带来一些启发和帮助。

说起来,我接触Go语言已经很久了,但前面好多次都没真正学起来。

我第一次接触 Go 语言是在 2010 年,当时我还在读大二,一个学长建议我了解一下 Go 语言,毕竟是谷歌出的一门语言,可能未来比较有发展前景。所以我当时下载并安装了Go的开发环境,还写了个 “hello world”,但是由于没有中文的教程,也没有人一起学习,学习 Go 语言这件事情很快就被我抛在脑后了。

Read more »

以下内容是我在 陈天 · Rust 编程第一课的分享用户故事|绝望之谷:罗杰,改变从学习开始

你好,我是罗杰,目前在一家游戏公司担任后端开发主程。

到现在我也快工作十年了,作为一个从小学习能力很一般的人,这中间的打怪升级史可以说是相当惨痛。

我是13 年毕业的,在师范类院校学的软件工程专业。大四参加校招,历时三个月不断面试、笔试,勉强找到一份工作,做棋牌游戏后端开发,签到了深圳。这份工作实习不到半个月,我就开始失眠,因为在学校里从来没有深入学习,专业知识非常欠缺,代码几乎看不懂,当时也没有太多可以寻求帮助的途径,进入不了工作状态,非常痛苦。

Read more »

由于 Rust 安装需要从 github 下载资源,直接安装,速度会非常感人,而且安装到一半还可能会失败,即使使用源码也会面临相同的情况。

感谢中科大,Respect!!!

以下是简单的解决方法:

1
2
3
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

几乎不出一分钟,就安装成功了。

安装成功,执行个 cargo install ripgrep ,依然让人非常无语。

此时只需要添加 ~/.cargo/config 文件

文件内容如下:

1
2
3
4
5
6
[source.crates-io]                                                                                                                                                                                              
registry = "https://github.com/rust-lang/crates.io-index"

replace-with = 'tuna'
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

这样能就能愉快的 cargo install/run/build 了。

注意:ustc 的源已经不能正常使用了,tuna 速度还是不错的

某天,小伙伴反馈说程序 panic 在一个比较诡异的地方,差不多是下面的代码。

1
2
3
4
5
6
7
8
9
type Point struct {
X float32
Y float32
}

func Get(p Point) {
// import github.com/shopspring/decimal
x, _ := decimal.NewFromFloat32(p.X).Round(7).Float64()
}
Read more »

为什么会有 2.5 亿条数据

运营需求,需要提供查询用户登录的记录。

我一思索,这简单呀,就设计了如下的数据表。

1
2
3
4
5
6
7
8
9
desc login_record;
+-------------+------------------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------------+------+-----+-------------------+-------+
| user_id | int(10) unsigned | NO | MUL | NULL | |
| ip | varchar(40) | YES | | | |
| device_mark | varchar(500) | NO | | | |
| time | timestamp | NO | MUL | CURRENT_TIMESTAMP | |
+-------------+------------------+------+-----+-------------------+-------+
Read more »

今年 6 月,公司喊了两年的搬家终于看起来要搬了,而且我的 IKBC C87 服役超过三个年头了,我想是时候换个新键盘了,毕竟已经相当用了三年零三个月了。

Read more »

巅峰科技 重塑未来

这次举办的比上一次参加的 10 月 23 的能好一些,人也多一些。不过总体的感觉就是每次都是新产品推销会议。但是对于我们小公司而言,了解趋势有帮助。不然一直用着那些古老的技术也不太合适。

2020 主题分享

算是对于 re:invent 发布的内容的总体概览,讲解者的职位最高,也是最能将东西讲解的最清楚的。

自 2006 年发布 S3,AWS 已经持续创新 15 年。

2019,在拉斯维加斯举办的线上有高达 6.7 万的参会者,而且门票将近 1.8K 美金。

2020 年因为疫情的原因,在线上举行超过 3 周,有超过 50w 的注意用户观看。现在线上的版本已经有了中文版本,对于有需要的可以点击链接去观看了。

AWS 云市场的份额高达 45 %。

目前云计算本地部署高达 96%,而云上部署只有 4%,这个数字让我特别震惊。

Read more »

Security Day

责任共担 的安全模型

AWS 的安全责任:计算,存储,数据库和网络以及 全球基础设施

  • 安全可视化和安全可控
  • 服务之间高度集成,达到自动化布署 Macie 。。
  • 建立隐私数据保护
  • 丰富的使用场景
Read more »

go 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main

import (
"fmt"
"math"
)

func main() {
var count uint32
fmt.Printf("count: %d\n", count)
fmt.Printf("count - 1: %d\n", count - 1)
// num := math.Pow(2, float64(count-1))
fmt.Printf("math.Pow(2, float64(count-1)): %f\n", math.Pow(2, float64(count-1)))
fmt.Printf("int(math.Pow(2, float64(count-1))): %d\n", int(math.Pow(2, float64(count-1))))
fmt.Printf("uint32(math.Pow(2, float64(count-1))): %d\n", uint32(math.Pow(2, float64(count-1))))
fmt.Printf("int32(math.Pow(2, float64(count-1))): %d\n", int32(math.Pow(2, float64(count-1))))
fmt.Printf("uint64(math.Pow(2, float64(count-1))): %d\n", uint64(math.Pow(2, float64(count-1))))

fmt.Printf("int64(pow(2,1023): %d\n", int64(math.Pow(2, 1023)))
fmt.Printf("uint64(pow(2,1023): %d\n", uint64(math.Pow(2, 1023)))
}

Read more »
0%