0%

学习笔记

零零散散

stdin模式详解
利用__attribute__((section))实现C语言反射
macOS交叉编译Linux避坑指南

树莓派驱动开发实战

00 Hello World
01 GPIO驱动之LED
02 GPIO按键中断
03 设备IO访问技术
04 PWM呼吸灯
05 PWM音乐盒
06 红外接收
07 PDD与设备树

嵌入式Linux驱动学习

一 环境准备
二 HelloWorld
三 rootfs启动过程详解
四 字符设备
五 调试技术
六 并发和竞态
七 中断与时钟

《GO语言实战》学习笔记

第一章 开篇
第二章 RSS阅读器
第三章 打包和工具链
第四章 数组、切片和映射
第五章 类型系统
第六章 并发
第七章 并发模式
第八章 标准库
第九章 测试和性能

【译】GitHub API 手册(未完成)

一 起步
二 概要

【译】每个程序员都应该知道的97件事

1 谨慎行动
2 应用函数式编程原则
3 问”用户想做什么”(你又不是用户)
4 自动化你的代码标准
5 美源自简约
6 在你重构之前
7 小心分享
8 童子军法则
9 责怪他人前,先检查自己的代码
10 谨慎选择你的工具
11 编写领域语言
12 代码即设计
13 代码布局很重要
14 代码审查
15 推理代码
16 注释的注释
17 只有在代码表达不清时才注释
18 持续学习
19 便利不是一种能力
20 提前并经常部署
21 辨别来自技术中的业务异常
22 做大量刻意练习
23 领域专用语言
24 不要惧怕打破事情
25 不要恶搞你的测试数据
26 不要忽略错误
27 不要只是学语言,要理解它的文化
28 不要僵直钉死你的程序
29 不要依赖“魔法出现”
30 不要重复自我
31 别碰代码
32 封装行为,而不仅仅是状态
33 浮点数不是实数
34 通过开源实现你的抱负
35 API设计黄金法则
36 大师神话
37 高强度工作不会得到回报
38 如何使用Bug追踪器
39 通过删除来改善代码
40 安装我
41 进程间通信影响应用响应时间
42 保持构建的干净
43 理解如何使用命令行工具
44 掌握两种以上的编程语言
45 了解你的IDE
46 了解你的限制
47 知道你的下次提交
48 大型互联数据属于数据库
49 学外语
50 学会估算
51 学会说:“Hello, World”
52 让你的项目自己说话
53 链接器并不是一个神奇的程序
54 临时解决方案的持久性
55 让接口易于正确使用并难以出错
56 让不可见更可见
57 消息传递可提高并行系统的可伸缩性
58 写给未来的消息
59 错失多态的机会
60 怪诞新闻:测试者是你的朋友
61 一个二进制
62 只有代码会说实话
63 拥有(或重构)构建器
64 结对编程并体会流
65 首选领域专用类型而非原始类型
66 阻止错误
67 做一名职业程序员
68 把每件事都放入版本控制
69 放下鼠标,离开键盘
70 阅读代码
71 阅读人文科学
72 重新发明轮子
73 抵住单例模式的诱惑
74 脏代码炸弹搅乱性能之道路
75 简单源自减法
76 单一职责原则
77 从yes开始
78 退一步,然后自动化、自动化、自动化
79 运用代码分析工具
80 测试规定行为,而非次要行为
81 严谨而具体地测试
82 在你睡觉(以及周末)时测试
83 测试是软件开发的工程严谨性
84 思考状态
85 两个脑袋常常比一个好
86 两个错误导致一个正确(而且难以修复)
87 为你的朋友“乌班图”编程
88 Unix工具是你的朋友
89 采用正确的算法和数据结构
90 繁琐的日志会打扰你睡觉
91 WET稀释了性能瓶颈
92 当程序员和测试员合作后
93 编写代码,余生都要支持它
94 用示例编写小函数
95 为人们编写测试
96 你得关注代码
97 你的客户言非其意