越过山丘

不要虚掷你的黄金时代,不要去倾听枯燥乏味的东西,不要设法挽留无望的失败,不要把你的生命献给无知、平庸和低俗。

技术博客-测试管理

测试 TDD 理论 《深度解读 - TDD(测试驱动开发)》 基于测试用例编码功能代码,XP(Extreme Programming)的核心实践. 好处:一次关注一个点,降低思维负担;迎接需求变化或改善代码的设计;提前澄清需求;快速反馈; 单元测试 《Java单元测试之JUnit篇》 《JUnit 4 与 TestN...

技术博客-架构设计

架构师素质 《架构师画像》 业务理解和抽象能力 NB的代码能力 全面:1. 在面对业务问题上,架构师脑海里是否会浮现出多种技术方案;2. 在做系统设计时是否考虑到了足够多的方方面面;3. 在做系统设计时是否考虑到了足够多的方方面面; 全局:是否考虑到了对上下游的系统的影响。 权衡:权衡投入产出比;优先级和节奏控制;...

技术博客-数据结构

数据结构 队列 《java队列——queue详细分析》 非阻塞队列:ConcurrentLinkedQueue(无界线程安全),采用CAS机制(compareAndSwapObject原子操作)。 阻塞队列:ArrayBlockingQueue(有界)、LinkedBlockingQueue(无界)、DelayQueue、PriorityBlock...

技术博客-数据库

基础理论 数据库设计的三大范式 《数据库的三大范式以及五大约束》 第一范式:数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性; 第二范式(2NF):满足1NF后,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情; 第三范式:必须先满足第二范式(2NF),要求:...

技术博客-操作系统

操作系统 计算机原理 CPU 多级缓存 进程 线程 协程 Linux

技术博客-搜索引擎

搜索引擎原理 《倒排索引–搜索引擎入门》 Lucene 《Lucene入门简介》 Elasticsearch 《Elasticsearch学习,请先看这一篇!》 《Elasticsearch索引原理》 Solr 《 Apache Solr入门教程》 《elasticsearch与solr比较》 sphinx [《Sphinx 的...

技术博客-性能调优

性能 性能优化方法论 《15天的性能优化工作,5方面的调优经验》 代码层面、业务层面、数据库层面、服务器层面、前端优化。 《系统性能优化的几个方面》 容量评估 《联网性能与容量评估的方法论和典型案例》 《互联网架构,如何进行容量设计?》 评估总访问量、评估平均访问量QPS、评估高峰QPS、评估系统、单机...

技术博客-微服务

awesome-distributed-systems

技术博客-并发并行

并发 Java 并发 Java 并发知识合集 JAVA并发知识图谱 多线程 《40个Java多线程问题总结》 线程安全 《Java并发编程——线程安全及解决机制简介》 一致性、事务 事务 ACID 特性 《数据库事务ACID特性》 事务的隔离级别 未提交读:一个事务可以读取另一个未提交的数据,容易出现脏读的情况。 读提交:一...

技术博客-安全

安全 web 安全 XSS 《xss攻击原理与解决方法》 CSRF 《CSRF原理及防范》 SQL 注入 《SQL注入》 Hash Dos 《邪恶的JAVA HASH DOS攻击》 利用JsonObjet 上传大Json,JsonObject 底层使用HashMap;不同的数据产生相同的hash值,使得构建Hash速度变慢...