2020

读《关键对话》3-5 章

最近在读了一本书《关键对话》,它的副标题是“如何高效能沟通”。 我和每个认识我的朋友说起“我最近在读一本书,关键对话”,大家的反应都是:“啊!2333”。

Back to Top ↑

2019

Socket FAQ 集锦

参考网上各大博客或者 RFC 以解决自己对 Socket 编程或者说 TCP/IP 协议的众多疑问。 感觉目前自己理解的也不成体系,记录的内容也都是一些零散知识点。

How collections.deque works?

前言:在 Python 生态中,我们经常使用 collections.deque 来实现栈、队列这些只需要进行头尾操作的数据结构,它的 append/pop 操作都是 O(1) 时间复杂度。list 的 pop(0) 的时间复杂度是 O(n), 在这个场景中,它的效率没有 deque 高。那 deque 内部是怎...

算是职业规划调研

我之前做过 工程效率、运维开发 两个岗位,这两个方向似乎都和 DevOps 挂钩, 我也没有深入对比过这几个岗位的差别。但自己最近一年都感觉这个方向, 是要求工程师有一定的技术广度(从前端到运维),但是对深度要求不高, 感觉一不小心就会被变成一个只会写 CRUD 的工程师。

揭开 asyncio 的神秘面纱 - 协程就是生成器?

在第一篇文章『揭开 asyncio 的神秘面纱 - 从 hello world 说起』中, 我们提出一个问题:Python 协程和生成器行为非常类似,它们究竟是什么关系? 在这篇文章中,我们就来探索、解决这个疑问。

揭开 asyncio 的神秘面纱 - 从 hello world 说起

asyncio 是用来编写并发程序的库。在爬虫、客户端应用、等开发场景中, 我们经常会需要将多个网络请求并行化来提高程序性能,而 asyncio 框架正好可以很方便的帮助我们实现这个需求。

小白扯淡-用 GDB 调试卡住的 Python 进程

某一天,我发现线上的一个进程不打日志了,我觉得很奇怪, 于是用 strace 命令(Linux 下) 看了写这个进程在干吗,结果发现: 它停在一个 read 系统调用上,我从下午 6 点开始盯着它,到晚上 9 点,它一直都没有动静,于是我确定,它卡住了(hang 主了,这个说法或许更专业一点)

读《PC Assembly Language》- 小结

摘要:学完第一章,了解了 CPU 相关的一些基础知识。8088 指什么?什么是寄存器?CPU 实模式是什么,保护模式是什么?A20 地址总线又是啥?32 位机器为什么只支持 4G 内存?这些小疑问都得到了比较好的解答。另外,看了下这本书的目录,其它章节似乎都是汇编语言语法细节,感觉暂时也没必要学习了。

本命年回忆

看了许多 dalao 的年终小结,挺好玩的,于是自己跟风记录一下。 最大的事应该是自己换了一个城市。

Back to Top ↑

2018

学习 Kubernetes 第三天 - Kubernetes API 学习

学习总结:这一节主要介绍了 Kubernetes API 的一些常见概念,以及这些概念之间的关系, 比如 group, resources,collections。接着简单介绍了 watch 功能,叙述了 Kubernetes 怎样处理大块的数据返回(其实就是分页)。总体来说比较简单。

React 基础知识学习笔记

前言:之前也写了上千行和 React 相关的代码了,不过都是复制粘贴,或者无脑模仿。 自己算是个后端工程师,自己经常会吐槽前端开发,尤其是现在的 React。 眼看着新的工作又要使用 React,赶紧把它的一些基础知识学习一下。

死锁学习笔记

学习完的几点个人感受 个人推荐的学习思路 先看死锁概念和四个必要条件 -> 看 wikipedia 然后大概的看一下哲学家就餐问题 -> 看 wikipedia 带着对哲学家问题的疑问,看处理死锁的几种方法 -> 可以看下面给的视频的某些章节 ...

试用 KDE - 扯淡篇

今天北京下雨,温度比前两天低了不少,不过我的笔记本好像丝毫没有受 到天气影响,手一放在键盘上,就有种暖暖的感觉。

iterable and iterator

以前经常看到这两个术语,但是感觉区分这两个东西并没什么用,而且 日常实践好像也不要求我区分他们。今天恰好自己碰到一个问题:

and 替换 all 过程的一些感想

今天在公司论坛上看到一个性能优化贴,其中一个童鞋讲了个例子: 用 a==a and b==b 替换 all([a == a, b == b]),然后接口 P95 从 110ms 降到了 65ms

Python Packaging 一些阅读笔记

Python Packaging Python 包管理工具怎样管理一个包的元信息?要考虑哪些问题(versioning, naming…)? wheel vs eggs? (50%) wheel vs sdist? (50%) 怎样优雅的发布 .proto/.thrift 等 RPC 接口定义文...

连接池-实践(待补充)

连接池是什么?它的实现原理? 连接池需要自动处理 Connection Reset 这类错误吗?为什么?不需要,上层做 When to use connection pool? typical usage? https 有什么区别吗?

pip 小吐槽

标题本来是 how pip works, 但是看了 pip 的部分代码,我把它改成了 pip 杂谈。

头疼的位运算

大学没学好也不能怪我,真的,况且我还盲羊补牢呐。。。

How venv works?

Table of Contents 1. How venv works? 1.1. 先来做个简单的实验 1.2. 神奇的 lib/pythonX.Y/os.py 1.3. 回到现象 1.4. 正题:venv 是怎样工作的? 1.5. 总结

Back to Top ↑

2017

软件工程一些方法

渐渐的发现一个问题:优雅的代码结构大概就是一种软件工程方法。优雅的代码是啥哩?还不知道

Django 使用笔记

了解 django REST framework(可以了解整个 API 设计所涉及的技术

构建系统,学到了啥?

结论一定要写在显眼的地方:(写着写着来个结论) 这些东西不及时记下来,或多或少以后都会忘记把,然后就是重复踩坑喽… 写文档并不是消磨时间的好方式,写代码才是

Back to Top ↑

2016

Back to Top ↑

2015

Back to Top ↑