不会飞的章鱼

熟能生巧,勤能补拙,静能生慧;念念不忘,必有回响。

开场闲聊

目标

语⾔深度

调度原理、调试技巧、汇编反汇编、内部数据结构实现、常⻅ syscall、函数
调⽤规约(待定)、内存管理与垃圾回收、并发编程

应⽤深度

阅读全文 »

学习架构能带来什么

夸夸其谈能帮你带来掌声
解决棘手问题能帮你带来名声
奠定架构师地位,是让别人依赖你写的代码

优秀的架构师必须是软件开发的全才

  • 卓越的编程能力
  • 解决棘手问题的能力
  • 广阔的知识面
  • 洞悉技术背后的本质和规律
  • 沟通和打动人心的能力

QA

阅读全文 »

Docker 核心技术

概念

  • 基于 Linux 内核的 Cgroup,Namespace,以及Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术,由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。

  • 最初实现是基于 LXC,从 0.7 以后开始去除 LXC,转而使用自行开发的 Libcontainer,从1.11 开始,则进一步演进为使用 runC 和 Containerd。

  • Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护,使得Docker 技术比虚拟机技术更为轻便、快捷。

为什么要用 Docker

1
2
3
4
5
6
更高效的利用系统资源
更快速的启动时间
一致的运行环境
持续交付和部署
更轻松的迁移
更轻松的维护和扩展
阅读全文 »

心就那么大,重了装不下,也跳不动,这是我最近悟出来的,也是道家的一种心法。(网上看的,是不是真的就不知道了…)

这段时间经历了我从毕业以来的低谷期,和安恒的面试官闲聊的时候眼泪和鼻血控制不住地都流了出来,我知道,这只是我人生路上的一道坎,跨过去就好,是的,说起来容易,但考虑的事情很多很多…

国庆回了趟家,彻底放松了一下,节后面试大厂,结束后闲聊了四十分钟,让我发觉大公司和中小公司面试的区别非常大。

我一直想把我最好的一面展现出来,以至于简历写了很多自以为曾经拿过奖就是自己能力的奖项,殊不知人会老,技能不练就倒退这个道理。

不过还好,一切都来得及。

阅读全文 »

使用Helm管理Kubernetes应用

什么是Helm?

Helm是一个kubernetes应用的包管理工具,用来管理charts————预先配置好的安装包资源,有点类似于Ubuntu的APT和CentOS中的yum。

Helm的三个组件

  • Chart: 一系列 k8s 资源集合的命名,它包含一系列 k8s 资源配置文件的模板 与参数,可供灵活配置
  • Repo: 即 chart 的仓库,其中有很多个 chart 可供选择,如官方 helm/charts
  • Release: 当一个 Chart 部署后生成一个 release
阅读全文 »

本文笔记源自专栏《职场求生攻略》

职业素养篇

优先级

优先级为什么重要

  • 手忙脚乱,工作不得法,往往是因为优先级没安排好;
  • 时间和精力有限;
  • 事情等不起;
  • 对事情的质量要求不同。
阅读全文 »

SRE方法论

确保长期关注研发工作

所有的产品事故都应该有总结,无论有没有触发报警。

在保障服务SLO的前提下最大化迭代速度

错误预算,发布策略。

阅读全文 »

作业

  • 必做:实现⼀个⾃⼰的 validator,⽀持通过 tag 对结构体中的字段进⾏⾮空校验
  • 选做:完成⼀个属于⾃⼰的 restful ⻛格 API 框架

整合 httprouter,sqlx
整合 validator,和 gin 的 binding 库
实现兼容 http.HandlerFunc 的 middleware