技术阅读的书签: 工具、文档、Wiki、技术博客…
- json.cn
- bejson.com: JSON 校验 & 格式化,以及 Base64、Escape、URL 编解码等
- epochconverter.com: epoch & Unix timestamp conversion tools
- regex101.com: build, test, and debug regex
- crontab.guru: cron schedule expression editor
- freeformatter.com/json-validator.html: cron expression generator & explainer
- plantuml.com: uses simple textual descriptions to draw beautiful UML diagrams
- object oriented design: meanings of different class associations
最好的习惯:查阅官方网站的文档。
- PostgreSQL Documentation (current version)
- MySQL 8.0 Reference Manual
- Redis Docs
- Redis Commands
- Elasticsearch Cheatsheet
- HTTP status codes - wikipedia
- MDN Web Docs
- Node.js Docs
- Vim Cheat Sheet: 键位操作总结图
- PHP.net / Type Comparisons(变量比较结果参考表)
- Sorting Algorithms Animations
- Advanced Data Structures - todo
- Visual Algo - Visualising data structures and algorithms through animation - todo
- ACM Cheat Sheet - 入门范例 - todo
- Consistent Hashing 五分钟理解一致性哈希算法 - todo
- 尾递归调用 - todo
- 随机问题 - 洗牌算法 - todo
- 结构之法 算法之道
dwmkerr/hacker-laws & nusr/hacker-laws-zh
简介 Intro
- 💻📖 Laws, Theories, Principles and Patterns that developers will find useful.
- 💻📖对开发人员有用的定律、理论、原则和模式。
摘要 Abstract
-
布鲁克斯法则 - Brooks's Law
"九个女人不能在一个月内生一个孩子。"
-
盖尔定律 - Gall's Law
一个切实可行的复杂系统势必是从一个切实可行的简单系统发展而来的。
从头开始设计的复杂系统根本不切实可行,无法修修补补让它切实可行。
你必须由一个切实可行的简单系统重新开始。
-
汉隆的剃刀 - Hanlon's Razor
一个行为所产生的消极结果通常并不是恶意导致的。
相反,消极结果更有可能归咎于这些没有得到充分理解的行动或影响。
-
侯世达定律 - Hofstadter's Law
即使考虑到侯世达定律,它也总是比你预期要长。
-
复杂性守恒定律 - The Law of Leaky Abstractions
即使简化整个系统,内在的复杂性也不会降低。
它会转移到用户,并且用户必须以更复杂的方式行事!
-
抽象泄露定律 - The Law of Leaky Abstractions
过度依赖抽象,加上对底层过程的理解不足,实际上使得问题在某些情况下更加复杂。
-
帕金森定理 - Parkinson's Law
在工作能够完成的时限内,工作量会一直增加,直到所有可用时间都被填满为止。
-
帕金森琐碎定理 - The Law of Triviality
如果没有大量的专业知识或者准备,很难给非常大的复杂主题讨论提供宝贵的意见。但是,人们希望看到更多意见。
因此,他们倾向于将大量时间集中在很容易推敲,但不一定被看重的小细节上。
-
你不需要它原则 - You Aren't Gonna Need It
只有当你需要某些东西的时候,才去实现它们,而不是在你预见的时候。
- 编程的智慧 - 编码习惯!
- 一些软件设计的原则
- 变量命名指南
- 编程命名中的7+1个提示
- 你要避免的软件开发模式 - 歧途
- 从面向对象的设计模式看软件设计
- PHP PSR - 代码规范
- PHP Clean Code
- Google Style Guides - 代码风格
- 防卫性编程 - 小心多余的错误检查与处理
- 技术管理者的创业工具箱
- 编译器的工作过程 -
./configure
,make
,make install
- What are the main differences between Vim and Emacs? - Vim VS Emacs!
- 有哪些老鸟程序员知道而新手不知道的小技巧?
- 为什么文件名要小写?
- Python 3 Cookbook
- Python 高级编程
- PHP7 革新与性能优化
- The secret of PHP7's Performance
- 如何重构“箭头型”代码
- 炸!业界难题,跨库分页的几种常见方案
- 程序员必读书单 1.0 & 程序员必读书单 1.0 -- 六年后的回顾
- 面向对象编程的弊端是什么?Best
- 程序员博客墙 - 优秀程序员的个人博客索引
- 酷壳 - 左耳朵耗子 陈皓 的博客
- 阮一峰的网络日志
- 王垠的博客 - 一个很有争议的人物,但是读他的文章还是让人很有启发
- 开源许可证都有什么区别,一般开源项目用什么许可证?
- Choose License
- History of G_F-W - 功夫网与番羽_土啬 Best
- China’s Great Cannon
- “字节序”是什么?- 大端与小端,深入浅出
- 十分钟搞清字符集和字符编码
- 中文编码杂谈
- 程序员小灰 微信公众号 Best
- 抖音设局 - 一个极度理性自律的精英, 利用他人的不理性的放纵来挣钱
- Devops 中的 Overfitting - 我的感想
- "过度的自动化会浪费跟多的成本,只能得到很少的收益。" 连 Devops 领域也是. 为了低概率事件而做过度的自动化, 还不如留些 "余地" —— 有时允许适当频率和时长的人工介入处理, 可以降低系统的复杂性, 让运维任务更容易些 ( 系统不至于过于复杂难以理解 ) .
- HTTP Guide
- Nginx 教程
- Nginx 指南
- 一个故事讲完 HTTPS - 原理思想
- HTTPS 之难
- AJAX 知识体系梳理
- 大公司里怎样开发和部署前端代码?Best
- 前端工程:基础篇 - 分治:组件化开发与资源管理 Best
- TCP 协议简介 Best
- TCP/IP 协议栈及 OSI 参考模型详解
- TCP/IP 协议详解内容总结
- 高扩展性网站的50条原则
- WTF JS? - A list of funny and tricky JavaScript examples
- Chrome 开发者工具的小技巧
- 架构腐化之谜 Best
- 什么不要做?关于失败和优化
- MVC,MVP 和 MVVM 的图示
- 如何用消息系统避免分布式事务?
- 追求极致:从技术细节看美团架构
- 从无到有:微信后台系统的演进之路 Best
- 端游、手游服务端常用的架构是什么样的?Best
- 万亿级调用系统:微信序列号生成器架构设计及演变
- 千万级规模高性能、高并发的网络架构经验 - 微博平台架构
- 从优化性能到应对峰值流量:微博缓存服务化的设计与实践
- 谈谈系统设计的面试 - 服务端的扩容、缓存与架构升级(评论更精彩)
- 西乔的漫画《神秘的程序员们》- 此处推荐《架构师成长之路》系列:深入浅出!
- 常见的网站服务器架构有哪些?- 演进
- 缓存更新的套路 Best
- 工作线程数究竟要设置为多少
- 分布式服务化系统一致性的“最佳实干”
- 从 GitLab 误删除数据库想到的 - 自动化运维
- 关于高可用的系统
- Netflix 微服务技术架构
- 海量数据存储基础
- 淘宝服务端高并发分布式架构演进之路 - 层层递进, 简明易懂 ( 入门级 )
- 深度解读微博 Service Mesh 大规模实践 - 可以借鉴 "双发" 机制! Note
- 通过四道常问面试题,带你了解什么是数据库分库分表 - 较水, 但还能有点收获.
- "分库是啥意思?就是你一个库一般我们经验而言, 最多支撑到并发 2000, 一定要扩容了, 而且一个健康的单库并发值你最好保持在每秒 1000 左右, 不要太大. "
- "range 分发, 好处在于扩容简单, 只要预备好, 每月都准备一个库即可,到了新的月份时, 就会读写新的库了; 缺点,大部分请求都访问最新的数据. "
- "hash 分发, 好处在于可以平均分配每个库的数据量和请求压力; 坏处在于扩容麻烦,需要数据迁移,旧数据需要重新 hash 计算值分配到不同的库表. "
- Bash Guide - 简明入门
- Linux 命令大全 - 快速上手 Best
- The Art of Command Line Best
- Linux Tools Quik Tutorial todo
- Linux Netcat 命令——网络工具中的瑞士军刀
- 服务器操作系统的选择
- Filesystem Hierarchy Standard - 各目录用途
- Awesome Sysadmin - 译文:运维资源清单
- Comparative Introduction To FreeBSD For Linux Users 译文:FreeBSD 和 Linux 有什么不同?
- Unix 传奇(上篇)、Unix 传奇(下篇)
- Unix 40年:昨天,今天和明天
- Unix 现状与未来
- The Biggest Myths - systemd
- 理解 OAuth 2.0
- 图解 SSL / TLS 协议
- 知道创宇研发技能表 v3
- 总结 XSS 与 CSRF 两种跨站攻击 - INVALID
- Web 安全入门 - 国内安全专家,余弦
- 我的通行你的证 - 帐号体系的安全 Best
- 加盐密码哈希:如何正确使用 - 英文出处 Best
- CNNIC 干过的那些破事儿 - 警告:不要在国内注册和使用 CN 域名
- CNNIC 证书的危害及各种清除方法
- 矛与盾:二进制漏洞攻防思想对抗
- 关于移动端的钓鱼式攻击
- 刷题时代的困局
- 怎样花两年时间去面试一个人
- 计算机行业还能火几年?- 前景!?
- Why I Strive to be a 0.1x Engineer - 不折腾的哲学 简译
- 为什么有些大公司技术弱爆了?
- 再谈「我是怎么招聘程序员的」(上)
- 再谈「我是怎么招聘程序员的」(下)
- 白板编程浅谈——Why, What, How
- Don't Call Yourself A Programmer, And Other Career Advice 译文:不要自称是程序员,我十多年的 IT 职场总结
- 精益技术简历之道——改善技术简历的47条原则 - Google 工程师,Lucida
- 如何优雅地参加技术分享会?- 听技术分享的意义
- 左耳朵耗子:不灌鸡汤,说真的年龄渐长,技术人的发展之路该怎么走?
- 为何公司宁愿给新人开高工资,却不愿意给知根知底的老员工涨薪?
- 高级工程师的个人职业发展
- 怎样在大公司混成中层干部?
- Letter to a Junior Engineer - What I’d want to know at the beginning of my career.
- Hacker News
- 碎片化信息的价值:懒惰与慰藉 Best
- SteveY对Amazon和Google平台的吐槽 - Steve Yegge。 Best
- 链家全解剖:必须佩服、也必须警惕的巨无霸 Best (链家模式)
- 科技公司十大最愚蠢的错误
- 来信,创业和移动互联网
- 腾讯,竞争力和用户体验
- Facebook 广告系统比谷歌先进在哪里?
- 从空空狐谈信用卡套利
- 互联网阴暗前传:暗网“丝绸之路”覆灭始末
- 开发团队的效率
- 产品小团队
- 加班与效率 Great
- Good Practice in Agile Great
- 故障之后 - 故障之后,加流程还是改进技术?Best
- 为什么创业公司开除员工的速度越快越好(fire fast)?Best
- Why do business analysts and project managers get higher salaries than programmers? Best 译文:软件公司的两种管理方式 相关:Theory X and Theory Y
- 如何看待阿里巴巴安全部门的月饼事件?
- 从第三方服务角度看公司技术部门如何正确计算投入产出比~
- “钱”就一定能解决一切激励问题么?(leader 必读) - 内在激励 / 薪资激励的分配
- 受不了了! 是 leader 都管得这么细么??? - 管理策略因人而异
- 为什么我就遇不到,手摸手指导我的 leader? - 如何带新员工?
- 《程序员必读的职业规划书》《剑指 Offer》Note & 招聘相关微博摘录 & 简历上的 精通、熟练、掌握、理解 英语怎么翻译?