Home

给 Markdown 程序员的写作能力提升指南

前言最近完成了一次反复打磨的技术分享。在准备和进行分享的过程中,我遇到了不少问题,而这些问题的根源在于自己日渐下降的写作水平和表达能力。 在本文中,我会先从自己的角度分析写作能力对程序员的作用;再结合自己的参考和实践,总结一套相对标准的写作套路;最后分享一些常用的写作辅助软件,并分析这些软件的特点。 写作能力真的有用吗不少工科学生认为写作能力对个人水平的提升没什么实际作用,甚至会调侃:“代码写得好

自我时间管理

Overview现在开始尝试一套更规范的自我时间管理机制。这套机制主要由三个工具支撑:番茄土豆、坚果云、VSCode。其中,番茄土豆用于管理碎片化时间和待办事项;坚果云用于存储更宏观的计划与日志;VSCode 用于管理坚果云中的文件。 制定 OKR每两个月制定一次个人 OKR,并落实到 okr.md 文件中。为便于聚焦,Objective 通常控制在三个以内。每个 Objective 需要配套

在 macOS 中使用命令行打开 VSCode

VSCode 相信已经是大家的必备编辑器了,轻量,免费。在 Linux 环境中, VSCode 可以通过图标启动,也可以通过命令行启动。例如,我想在 VSCode 中打开这个文件夹,可以这样:1$ code someCodeProject 但是在 macOS 下默认是不能操作的,因为没有 code 这个程序。我们可以伪造一个: 12345678$ cat code#!/bin/bashTARGET

安装 Ubuntu Workstation 之后要做的事儿

最近自己心爱的 Dell Latitude E6430s 频繁死机,以为是硬盘问题,格式化硬盘重装系统问题依旧。硬件检查才发现是一根内存有了问题,取出问题的内存后一切正常。 但删掉的系统是需要重装的,经过一些实践后,我选择了 Ubuntu 16.04 LTS 作为我新的操作系统。 都 2019 年了,为什么还要选择老旧的 Ubuntu 16.04 呢?其实我之前试过了几个 Linux 发行版,都

那些年,我们一起改过的配置文件 -- 常见配置文件类型简介

Overview 在程序员日常开发中,配置文件是一个非常常见的需求。 配置文件可以定制程序的逻辑,一段代码生成的程序可以灵活地适应多个需求。几乎所有的程序都需要或者隐形需要配置文件,因为它们需要根据配置文件来决定在代码中使用怎样的逻辑来运行。 对于大部分的程序来说,他们需要的配置文件常常是一个 K-V 类型的结构,可以理解为一个 Key 为字符串, Value 也为字符串的一个 Map。字符串可以

常见数据库简介

Overview 数据库大概是后端程序员最常用的中间件之一,今天我们来聊聊常见的数据库。 MySQL 派系MySQL 无疑是世界上最热门的数据库之一。也正因为足够热门,它衍生出了不少分支,各自都有一些不同的特点。 MySQL在国内,MySQL 是最常见的数据库之一,也是 MySQL 派系中最主流的分支,目前由 Oracle 公司维护。 特点: 源代码使用 C 和 C++ 编写,性能稳定。 支持多

常用的文件系统简介

Overview 文件系统算是计算机软件中比较底层的一部分,可能很多程序员都不会直接接触到。今天简单学习了一下,做个笔记。 FAT 文件系统FAT 文件系统起源于二十世纪七十年代,最初用于 DOS 系统。早期设计比较简单,后来随着存储介质的发展,逐渐出现了一些增强版本。所以现在主要包含这几个版本:FAT8、FAT12、FAT16、FAT32。这些版本名后面的数字是什么意思呢?其实就是「簇」地址编码

多级缓存的设计与实现

在高并发的后端业务中,多级缓存是一种非常常见的设计。事实上,多级缓存策略在计算机硬件中也普遍存在。 为什么会有多级缓存?通常缓存都比原数据要小。设立缓存的目的很简单:某些数据经常被访问,我们不想每次都去最深的地方(这里一般是指数据库)查找,所以会在更方便取到数据的地方把这些数据保存起来。 那么,为什么要用多级缓存呢?对所有数据来说,访问频率并不一致。对于访问频率非常高的数据,我们称为热点数据。例

为什么不建议在 Redis 使用大 Key

Preview 公司里某位工程师小斌发现在一个 Redis 集群中的 some_big_list 经常出现慢查询,而且 QPS 特别高。初步定位是出现了一个热点的 Key。12newexplore> llen some_big_list500000 上面的命令发现,这个 some_big_list 是一个大 Key,导致 Redis Server 的服务器 CPU idle 很低,结果出现了

求一个数组的波峰

三个月前有人问我一道有趣的算法题,当时想了很久才想出来,现在写篇博客记录一下。 给定一个很长的数组 arr,已知数组长度为 length 且 length >= 3,数组的第一个元素不比第二个元素大,最后一个元素不比倒数第二个元素大。求这个数组中 任意一个 波峰的数组下标。PS:不比前一个元素小且不比后一个元素小的元素称为波峰。 既然 arr[1] >= arr[0],那么只要再满