分类

编程

全部文章
编程

如何组织一个 Go 项目?

Go 项目的目录该怎么分?结合开源项目,讨论入口、内部实现与公共库的边界,以及目录约定背后的取舍。

go
编程
Python 指北 / 2

Python 的 import 陷阱

《Python 指北》第 2 篇:同一份 Python 代码,换个启动方式就导入失败了?用具体例子说明模块所在目录与包身份为什么不是一回事。

python
编程

浅析 C 中函数返回值的一例 UB

本该返回整数的 C 函数漏写 return,会发生什么?从 GCC 生成的汇编追踪返回值,并观察优化选项的影响。

asmc
编程
Python 指北 / 1

PDB入门

《Python 指北》第 1 篇:程序跑到一半,变量究竟变成了什么?用 PDB 暂停 Python 程序,在现场执行表达式、验证猜测。

python
编程
深入 Spring 源码 / 6

MyBatis

《深入 Spring 源码》第 6 篇:把一条 SQL 变成一次 Java 方法调用,少写重复的数据库操作代码。实践 MyBatis 映射,并为应用接入登录与权限控制。

javaspring
编程
深入 Spring 源码 / 5

Spring Boot

《深入 Spring 源码》第 5 篇:一个启动类为何能带起整个应用?追踪 Spring Boot 源码,看框架怎样按条件补齐配置,把繁琐的启动工作接过去。

javaspring
编程
深入 Spring 源码 / 4

Spring MVC

《深入 Spring 源码》第 4 篇:一次 HTTP 请求如何变成 Java 方法调用?追踪框架调度源码,看请求怎样找到处理者,再把结果交还客户端。

javaspring
编程
深入 Spring 源码 / 3

JDBC 和事务

《深入 Spring 源码》第 3 篇:余额扣了,库存却没减成功,这笔操作该怎么算?追踪 Spring 事务源码,看一组数据库修改如何共同提交或回滚。

javaspring
编程
深入 Spring 源码 / 2

AOP

《深入 Spring 源码》第 2 篇:业务方法没有改,调用时却多出了日志和事务。追踪 Spring 代理的创建过程,看这些额外逻辑在何时被接入。

javaspring
编程
深入 Spring 源码 / 1

IoC

《深入 Spring 源码》第 1 篇:对象不再亲手创建,它依赖的对象由谁准备?跟着 Spring 源码看容器如何识别、组装并管理它们。

javaspring
编程
深入 Java / 3

Java 集合

《深入 Java》第 3 篇:同样是存取一组数据,换个容器为什么就会变快或变慢?借源码理解 Java 集合的成本,按访问方式选择容器。

javalistmap
编程
深入 Java / 2

Java 并发编程

《深入 Java》第 2 篇:多个线程各自执行正确,合在一起为什么会出错?理解共享数据的可见性与操作原子性,再看 Java 如何协调线程。

javathreadconcurrent
编程
深入 Java / 1

Java 进阶

《深入 Java》第 1 篇:运行中的 Java 程序如何检查一个类、调用未知的方法?以反射和注解为重点,补齐阅读框架代码常用的语言知识。

java
编程

Docker 底层原理浅析

同一份代码,怎样连同运行环境一起交付?跟着一次开发与测试的争执使用 Docker,再看容器为何能兼顾环境隔离与轻量运行。

dockerdockerfiledocker-compose
编程

伪随机数算法

同一个种子总能算出同一串数,它为什么还能叫随机数?拆开常用生成算法,看看确定性的运算如何产生近似随机的序列。

randomalgorithmcpp
编程

类型推导

C++11/14/17 学习第 2 篇:写下 auto 后,原本的引用还在吗?逐例检查推导结果,弄清编译器何时保留类型信息、何时将它丢掉。

cpptype
编程

右值的应用

C++11/14/17 学习第 1 篇:调用 move 就一定会移动对象吗?厘清左值、右值与引用,解释移动语义和完美转发。

cppmove

共 17 篇文章

搜索文章

ESC

输入关键词,搜索文章标题、标签与正文。

选择 · Enter 打开 · Esc 关闭