说
CHARLIE SAYS
查理如是说
首页
HOME
项目
PROJECTS
文章
POSTS
系列
SERIES
标签
TAGS
历史
TIMELINE
工具
TOOLS
DATE
2026-08-24
THEME
日出
睡莲
历史
/
TIMELINE
编年记录 · 266 则
时间线 TIMELINE
2026
年 · 102 篇
2026-08-21
《度心术》读后:操纵人心的书,最好反着读
P-254
2026-08-21
《观人经》读后:知人者以目正耳
P-255
2026-08-21
《谏学》读后:大处惟争,小处惟让
P-256
2026-08-21
《解厄鉴》读后:厄欲减,才莫显
P-257
2026-08-21
《罗织经》读后:读懂它,认出它,走开
P-258
2026-08-21
《权谋书》读后:谋略的本质是信息差
P-259
2026-08-21
《仕经》读后:官者,管也
P-260
2026-08-21
《势胜学》读后:势是借来的风,不是攒出来的力
P-261
2026-08-21
《守弱学》读后:弱点是待经营的资产
P-262
2026-08-21
《韬晦术》读后:藏锋是为了出鞘
P-263
2026-08-21
《小人经》读后:在小人面前,不变傻子
P-264
2026-08-21
《予学》读后:先给出去,才拿得回来
P-265
2026-08-21
《止学》读后:利无尽处,命有尽时
P-266
2026-08-20
对于普通人而言,AI 解决了什么问题
P-247
2026-08-20
ELN 详解:电子实验记录本与数据完整性
P-248
2026-08-20
LIMS 详解:实验室信息管理系统的设计与实现
P-249
2026-08-20
EDC 详解:临床数据采集系统的核心设计
P-250
2026-08-20
MES 详解:细胞治疗数字化产线的制造执行系统
P-251
2026-08-20
PMS 详解:研发项目管理系统的架构思考
P-252
2026-08-20
BI 详解:从多源数据到管理层驾驶舱
P-253
2026-08-19
开发一个函数绘图工具:从需求到单文件落地
P-246
2026-06-20
JHipster 开发 01:为什么选 JHipster——一次生成,十年维护
P-216
2026-06-20
JHipster 开发 02:环境搭建与第一个应用
P-217
2026-06-20
JHipster 开发 03:技术栈全景图
P-218
2026-06-20
JHipster 开发 04:开发工作流——热重载与前后端联调
P-219
2026-06-20
JHipster 开发 05:微服务 vs 单体——怎么选
P-220
2026-06-20
JHipster 开发 06:实体代码生成深潜——JDL 从入门到驯服
P-221
2026-06-20
JHipster 开发 07:数据库迁移——Liquibase 不是可选项
P-222
2026-06-20
JHipster 开发 08:安全体系(上)——认证
P-223
2026-06-20
JHipster 开发 09:安全体系(下)——授权
P-224
2026-06-20
JHipster 开发 10:缓存——从 Hazelcast 到 Redis
P-225
2026-06-20
JHipster 开发 11:REST 层设计——生成的代码够用吗
P-226
2026-06-20
JHipster 开发 12:异步与消息——Kafka 集成
P-227
2026-06-20
JHipster 开发 13:Angular 端架构——生成的代码怎么读
P-228
2026-06-20
JHipster 开发 14:从登录页读懂前端安全流
P-229
2026-06-20
JHipster 开发 15:改造 UI——不动生成代码的优雅方式
P-230
2026-06-20
JHipster 开发 16:表单与表格的工程化
P-231
2026-06-20
JHipster 开发 17:测试全景——单元到端到端
P-232
2026-06-20
JHipster 开发 18:CI/CD——从零到自动发布
P-233
2026-06-20
JHipster 开发 19:容器化与 Kubernetes
P-234
2026-06-20
JHipster 开发 20:可观测性——日志、指标、链路
P-235
2026-06-20
JHipster 开发 21:多环境配置管理
P-236
2026-06-20
JHipster 开发 22:升级策略——JHipster 版本怎么跟
P-237
2026-06-20
JHipster 开发 23:自定义业务模块——不改生成代码的哲学
P-238
2026-06-20
JHipster 开发 24:子生成器二次开发与蓝图机制
P-239
2026-06-20
JHipster 开发 25:微服务拆分实战
P-240
2026-06-20
JHipster 开发 26:性能调优实战
P-241
2026-06-20
JHipster 开发 27:国际化与本地化
P-242
2026-06-20
JHipster 开发 29:踩坑全集——我们交过的学费
P-243
2026-06-20
JHipster 开发 30:复盘——JHipster 三年使用总结
P-244
2026-06-20
JHipster 开发 28:生产上线 Checklist
P-245
2026-05-21
Angular 22+ 教程 01:初识 Angular——框架定位与技术选型
P-167
2026-05-21
Angular 22+ 教程 05:angular.json 配置详解
P-168
2026-05-21
Angular 22+ 教程 04:Angular CLI——工程化的瑞士军刀
P-169
2026-05-21
Angular 22+ 教程 13:组件生命周期钩子
P-170
2026-05-21
Angular 22+ 教程 03:环境搭建与 Getting Started(TS 6 / Node 22+)
P-171
2026-05-21
Angular 22+ 教程 06:Angular Compiler 漫谈
P-172
2026-05-21
Angular 22+ 教程 09:@let 模板局部变量
P-173
2026-05-21
Angular 22+ 教程 07:组件与模板——Template Binding Syntax
P-174
2026-05-21
Angular 22+ 教程 10:ng-template 与 TemplateRef
P-175
2026-05-21
Angular 22+ 教程 11:属性型指令 Attribute Directives
P-176
2026-05-21
Angular 22+ 教程 08:新的控制流 @if / @for / @switch
P-177
2026-05-21
Angular 22+ 教程 12:结构型指令与微语法
P-178
2026-05-21
Angular 22+ 教程 14:组件查询——@ViewChild / @ContentChild 与信号查询
P-179
2026-05-21
Angular 22+ 教程 15:动态组件 Dynamic Components
P-180
2026-05-21
Angular 22+ 教程 16:Angular 组件 vs Web Components
P-181
2026-05-21
Angular 22+ 教程 17:Angular 组件 vs Shadow DOM 与样式隔离
P-182
2026-05-21
Angular 22+ 教程 18:依赖注入——注入器层级与注入上下文
P-183
2026-05-21
Angular 22+ 教程 19:DI 进阶——provide / inject / @Service / injectAsync
P-184
2026-05-21
Angular 22+ 教程 20:Change Detection、OnPush 默认与 Zoneless
P-185
2026-05-21
Angular 22+ 教程 21:Signals——响应式编程新范式
P-186
2026-05-21
Angular 22+ 教程 22:Signals 与 RxJS 的共存之道
P-187
2026-05-21
Angular 22+ 教程 02:Angular 与 React / Vue / ASP.NET Core 的比较
P-188
2026-05-21
Angular 22+ 教程 23:HttpClient(Fetch 默认)与 resource / httpResource
P-189
2026-05-21
Angular 22+ 教程 24:路由原理篇
P-190
2026-05-21
Angular 22+ 教程 25:Signal Forms——v22 起稳定的表单方案
P-191
2026-05-21
Angular 22+ 教程 26:Animation 动画
P-192
2026-05-21
Angular 22+ 教程 27:内存泄漏、unsubscribe 与 takeUntilDestroyed
P-193
2026-05-21
Angular 22+ 教程 28:NgModule 到 Standalone 的演进
P-194
2026-05-21
Angular 22+ 教程 30:EventManagerPlugin 与手势事件
P-195
2026-05-21
Angular 22+ 教程 31:编码风格指南与命名约定
P-196
2026-05-21
Angular 22+ 教程 32:工程化三件套——Prettier / ESLint / Stylelint
P-197
2026-05-21
Angular 22+ 教程 33:v14 到 v22 的重大改变盘点
P-198
2026-05-21
Angular 22+ 教程 34:框架的局限与边界
P-199
2026-05-21
Angular Material 22+ 教程 38:Form Field 表单容器
P-200
2026-05-21
Angular Material 22+ 教程 39:Icon 与 Tooltip
P-201
2026-05-21
CDK 22+ 教程 40:Overlay——浮层的基石
P-202
2026-05-21
Angular 22+ 教程 29:构建自己的 Library
P-203
2026-05-21
CDK 22+ 教程 41:Portal——内容投射
P-204
2026-05-21
CDK 22+ 教程 42:Drag and Drop 拖拽
P-205
2026-05-21
CDK 22+ 教程 43:Scrolling 虚拟滚动
P-206
2026-05-21
CDK 22+ 教程 44:Table 与 DataSource
P-207
2026-05-21
Angular 22+ 教程 35:学以致用——综合实战
P-208
2026-05-21
Angular Material 22+ 教程 36:Get Started 与主题体系
P-209
2026-05-21
Angular Material 22+ 教程 37:自定义主题 Material Design 3
P-210
2026-05-21
CDK 22+ 教程 45:Accessibility——FocusTrap 与焦点管理
P-211
2026-05-21
CDK 22+ 教程 46:ListKeyManager 键盘导航
P-212
2026-05-21
CDK 22+ 教程 47:Layout 断点与 Observers 观察者
P-213
2026-05-21
Angular 全家桶 48:大杂烩——杂项技巧与经验合集
P-214
2026-05-21
Angular 全家桶 49:总结与进阶路线图
P-215
2026-04-01
龙虾终归被吃了(OpenClaw 最终还是会渐渐消失)
P-166
2026-03-05
Manim 入门:把数学画成动画的造物快乐
P-165
2025
年 · 2 篇
2025-08-08
K8s 真的适合小型公司吗
P-164
2025-05-09
HTTP 协议详解:读后心得
P-163
2024
年 · 162 篇
2024-12-31
开发工具 001:常用开发库知识体系详解
P-162
2024-12-30
网络协议 012:工具:netstat查看服务及监听端口详解
P-161
2024-12-29
网络协议 011:工具:网络抓包神器 tcpdump 使用详解
P-160
2024-12-28
网络协议 010:工具:Wireshark介绍及抓包分析
P-159
2024-12-27
网络协议 009:知识点串联:输入URL 到页面加载过程详解
P-158
2024-12-26
网络协议 008:DNS 相关详解
P-157
2024-12-25
网络协议 007:HTTP 协议详解
P-156
2024-12-24
网络协议 006:UDP 协议详解
P-155
2024-12-23
网络协议 005:TCP 协议详解
P-154
2024-12-22
网络协议 004:网络基础(3):IP相关协议详解
P-153
2024-12-21
网络协议 003:网络基础(2):7层协议,4层,5层
P-152
2024-12-20
网络协议 002:网络基础(1):计算机网络基础部分梳理
P-151
2024-12-19
网络协议 001:网络协议和工具知识体系详解
P-150
2024-12-18
开源合规 009:能力成熟度模型集成认证 - CMMI
P-149
2024-12-17
开源合规 008:信息安全管理认证 - ISO27001
P-148
2024-12-16
开源合规 007:信息安全等级保护认证
P-147
2024-12-15
开源合规 006:常见企业开发和系统认证
P-146
2024-12-14
开源合规 005:知识共享许可协议文本
P-145
2024-12-13
开源合规 004:国产开源:木兰许可协议系列
P-144
2024-12-12
开源合规 003:AGPL v3 开源协议(慎用)
P-143
2024-12-11
开源合规 002:常见软件开源协议详解
P-142
2024-12-10
开源合规 001:开源协议知识体系详解
P-141
2024-12-09
软件工程 020:Twitter Java Style Guide
P-140
2024-12-08
软件工程 019:Google Java 编程风格指南
P-139
2024-12-07
软件工程 018:阿里巴巴 Java 开发手册
P-138
2024-12-06
软件工程 017:常见企业级代码规范
P-137
2024-12-05
软件工程 016:精益企业:集成精益、敏捷、DevOps 等
P-136
2024-12-04
软件工程 015:开发实践:领域驱动开发(DDD)
P-135
2024-12-03
软件工程 014:开发实践:测试驱动开发(TDD)
P-134
2024-12-02
软件工程 013:面向工程管理:极限编程(XP)
P-133
2024-12-01
软件工程 012:面向过程管理:Kanban方式
P-132
2024-11-30
软件工程 011:面向过程管理:Scrum方式
P-131
2024-11-29
软件工程 010:敏捷软件开发理论及流程
P-130
2024-11-28
软件工程 009:典型的中小团队开发流程详解
P-129
2024-11-27
软件工程 008:传统模式:结合软件测试的过程模型演化:V模型,W模型,X
P-128
2024-11-26
软件工程 007:传统模式:软件开发生命周期与过程模型(瀑布模型,原型
P-127
2024-11-25
软件工程 006:软件开发模式知识体系详解
P-126
2024-11-24
软件工程 005:微服务:康威定律
P-125
2024-11-23
软件工程 004:分布式理论 - BASE
P-124
2024-11-22
软件工程 003:分布式理论 - CAP
P-123
2024-11-21
软件工程 002:事务理论 - ACID
P-122
2024-11-20
软件工程 001:常见开发理论
P-121
2024-11-19
设计模式 026:访问者(Visitor)
P-120
2024-11-18
设计模式 025:模板方法(Template Method)
P-119
2024-11-17
设计模式 024:策略(Strategy)
P-118
2024-11-16
设计模式 023:状态(State)
P-117
2024-11-15
设计模式 022:观察者(Observer)
P-116
2024-11-14
设计模式 021:备忘录(Memento)
P-115
2024-11-13
设计模式 020:中介者(Mediator)
P-114
2024-11-12
设计模式 019:迭代器(Iterator)
P-113
2024-11-11
设计模式 018:解释器(Interpreter)
P-112
2024-11-10
设计模式 017:命令模式(Command)
P-111
2024-11-09
设计模式 016:责任链(Chain Of Responsibility)
P-110
2024-11-08
设计模式 015:代理(Proxy)
P-109
2024-11-07
设计模式 014:享元(Flyweight)
P-108
2024-11-06
设计模式 013:外观(Facade)
P-107
2024-11-05
设计模式 012:装饰(Decorator)
P-106
2024-11-04
设计模式 011:组合(Composite)
P-105
2024-11-03
设计模式 010:桥接(Bridge)
P-104
2024-11-02
设计模式 009:适配器(Adapter)
P-103
2024-11-01
设计模式 008:单例模式(Singleton)
P-102
2024-10-31
设计模式 007:原型模式(Prototype)
P-101
2024-10-30
设计模式 006:生成器(Builder)
P-100
2024-10-29
设计模式 005:抽象工厂(Abstract Factory)
P-099
2024-10-28
设计模式 004:工厂方法(Factory Method)
P-098
2024-10-27
设计模式 003:简单工厂(Simple Factory)
P-097
2024-10-26
设计模式 002:SOLID 设计原则
P-096
2024-10-25
设计模式 001:设计模式知识体系详解
P-095
2024-10-24
算法 045:头脑风暴题目
P-094
2024-10-23
算法 044:一些领域算法知识体系
P-093
2024-10-22
算法 043:大数据处理:Bitmap & Bloom Filter
P-092
2024-10-21
算法 042:大数据处理:双层桶划分
P-091
2024-10-20
算法 041:大数据处理:分治、Hash、排序
P-090
2024-10-19
算法 040:大数据处理:Overview
P-089
2024-10-18
算法 039:字符串匹配:文本预处理:后缀树(Suffix Tree)
P-088
2024-10-17
算法 038:字符串匹配:模式预处理:BM 算法 (Boyer-Moore)
P-087
2024-10-16
算法 037:字符串匹配:模式预处理:KMP 算法(Knuth-Morris-
P-086
2024-10-15
算法 036:字符串匹配:模式预处理:朴素算法(Naive)(暴力破解)
P-085
2024-10-14
算法 035:字符串匹配:Overview
P-084
2024-10-13
算法 034:算法思想:搜索算法
P-083
2024-10-12
算法 033:算法思想:动态规划算法
P-082
2024-10-11
算法 032:算法思想:回溯算法
P-081
2024-10-10
算法 031:算法思想:分治算法
P-080
2024-10-09
算法 030:算法思想:贪心算法
P-079
2024-10-08
算法 029:算法思想:二分法
P-078
2024-10-07
算法 028:算法思想知识体系详解
P-077
2024-10-06
算法 027:图:AOE & 关键路径
P-076
2024-10-05
算法 026:图:最短路径(Dijkstra & Floyd)
P-075
2024-10-04
算法 025:图:最小生成树(Prim & Kruskal)
P-074
2024-10-03
算法 024:图:拓扑排序(Topological sort)
P-073
2024-10-02
算法 023:图:遍历(BFS & DFS)
P-072
2024-10-01
算法 022:图:基础和Overview
P-071
2024-09-30
算法 021:树:前缀树(Trie Tree)
P-070
2024-09-29
算法 020:树:哈夫曼树(Huffman Tree)
P-069
2024-09-28
算法 019:树:红黑树(R-B Tree)
P-068
2024-09-27
算法 018:树:平衡二叉树(AVL)
P-067
2024-09-26
算法 017:树:二叉搜索树(BST)
P-066
2024-09-25
算法 016:树:基础和Overview
P-065
2024-09-24
算法 015:基数排序(Radix Sort)
P-064
2024-09-23
算法 014:桶排序(Bucket Sort)
P-063
2024-09-22
算法 013:堆排序(Heap Sort)
P-062
2024-09-21
算法 012:快速排序(Quick Sort)
P-061
2024-09-20
算法 011:归并排序(Merge Sort)
P-060
2024-09-19
算法 010:Shell排序(Shell Sort)
P-059
2024-09-18
算法 009:插入排序(Insertion Sort)
P-058
2024-09-17
算法 008:选择排序(Selection sort)
P-057
2024-09-16
算法 007:冒泡排序(Bubble Sort)
P-056
2024-09-15
算法 006:常见排序算法知识体系详解
P-055
2024-09-14
算法 005:散列表:哈希表
P-054
2024-09-13
算法 004:线性表:栈和队列
P-053
2024-09-12
算法 003:线性表:链表
P-052
2024-09-11
算法 002:线性表:数组和矩阵
P-051
2024-09-10
算法 001:数据结构基础知识体系详解
P-050
2024-09-09
集合源码 009:WeakHashMap源码解析
P-049
2024-09-08
集合源码 008:TreeSet & TreeMap 源码解析
P-048
2024-09-07
集合源码 007:LinkedHashSet&Map源码解析
P-047
2024-09-06
集合源码 006:HashSet & HashMap 源码解析
P-046
2024-09-05
集合源码 005:PriorityQueue源码解析
P-045
2024-09-04
集合源码 004:Stack & Queue 源码解析
P-044
2024-09-03
集合源码 003:LinkedList源码解析
P-043
2024-09-02
集合源码 002:ArrayList 源码解析
P-042
2024-09-01
集合源码 001:类关系图(Overview)
P-041
2024-08-31
Java 基础 010:去除多余的if else
P-040
2024-08-30
Java 基础 009:去除不必要的!=
P-039
2024-08-29
Java 基础 008:SPI机制详解
P-038
2024-08-28
Java 基础 007:异常机制详解
P-037
2024-08-27
Java 基础 006:反射机制详解
P-036
2024-08-26
Java 基础 005:注解机制详解
P-035
2024-08-25
Java 基础 004:泛型机制详解
P-034
2024-08-24
Java 基础 003:图谱 & Q/A
P-033
2024-08-23
Java 基础 002:知识点
P-032
2024-08-22
Java 基础 001:面向对象
P-031
2024-01-30
开发安全 012:渗透测试流程示例
P-030
2024-01-29
开发安全 011:Web安全测试平台(DVWA)
P-029
2024-01-28
开发安全 010:国密算法
P-028
2024-01-27
开发安全 009:摘要算法
P-027
2024-01-26
开发安全 008:加密算法
P-026
2024-01-25
开发安全 007:DDoS 详解
P-025
2024-01-24
开发安全 006:点击劫持详解
P-024
2024-01-23
开发安全 005:注入攻击详解
P-023
2024-01-22
开发安全 004:CSRF 详解
P-022
2024-01-21
开发安全 003:XSS 详解
P-021
2024-01-20
开发安全 002:OWASP Top 10
P-020
2024-01-19
开发安全 001:开发安全相关知识体系详解
P-019
2024-01-18
开发工具 019:Linux:ab压力测试
P-018
2024-01-17
开发工具 018:Linux:创建自建服务
P-017
2024-01-16
开发工具 017:Linux:Curl使用
P-016
2024-01-15
开发工具 016:开发百宝箱 New
P-015
2024-01-14
开发工具 015:正则表达式:在线工具汇总
P-014
2024-01-13
开发工具 014:正则表达式:常用正则表达式
P-013
2024-01-12
开发工具 013:正则表达式:知识点学习
P-012
2024-01-11
开发工具 012:Maven项目构建
P-011
2024-01-10
开发工具 011:Git 详解
P-010
2024-01-09
开发工具 010:其它常用类库
P-009
2024-01-08
开发工具 009:日志类库详解
P-008
2024-01-07
开发工具 008:Spring常用工具类
P-007
2024-01-06
开发工具 007:MapStruct工具库详解
P-006
2024-01-05
开发工具 006:Lombok工具库详解
P-005
2024-01-04
开发工具 005:JSON库详解
P-004
2024-01-03
开发工具 004:Hutool包
P-003
2024-01-02
开发工具 003:Google Guava包
P-002
2024-01-01
开发工具 002:Apache Common包
P-001