Go中的Map和并发写入错误
了解Go中map的工作原理,为什么程序会因为"concurrent map writes"而崩溃,以及如何用sync.Mutex、sync.RWMutex、sync.Map来修复。
了解Go中map的工作原理,为什么程序会因为"concurrent map writes"而崩溃,以及如何用sync.Mutex、sync.RWMutex、sync.Map来修复。
生产环境日志配置:模块级 logger、dictConfig、JSON 日志、使用 contextvars 的 request_id、QueueHandler 和使用 caplog 进行测试。
使用 Testcontainers 和 @ServiceConnection 编写在真实 PostgreSQL 上运行的集成测试,在多个测试类之间共享容器并避免常见错误。
学习如何使用 Collectors.groupingBy、partitioningBy 和下游 collector(如 counting、mapping、filtering)在 Java 21 中分组和分割数据。
了解 slice 如何共享底层数组,len 和 cap 的作用,以及如何避免使用 append 时难以发现的数据覆盖错误。
使用 pathlib.Path 替代 os.path 和 os 进行路径拼接、拆解、读写和遍历文件。包括对比表、pytest 测试和常见错误。
在 Spring Boot 3 中使用 @Cacheable、@CachePut、@CacheEvict 与 Redis,配置 TTL、JSON 序列化器和使用 Testcontainers 编写测试。
学习使用 Go modules 来初始化项目、添加和升级依赖、处理主版本、replace 指令、go.work 以及私有模块。
如何使用try/except/else/finally、自定义异常、raise from、日志记录、ExceptionGroup以及如何使用pytest测试异常。
在 Spring Boot 3 中使用 Flyway 管理数据库 schema。本文介绍如何编写 SQL 和 Java 迁移脚本、配置、测试以及处理常见错误的方法。
用文本块优雅地编写多行字符串,掌握缩进和转义规则,学习 formatted、stripIndent、translateEscapes 等新的 String 方法。
掌握 Go 中的表驱动测试:使用 t.Run 创建子测试、处理错误检查、并行运行测试以及使用 go-cmp 比较复杂结构体,并学会避免常见错误。
理解为什么 List<Integer> 不是 List<Number>,何时使用 ? extends,何时使用 ? super,以及通过具体示例学习 PECS 原则。
如何使用Pydantic v2验证输入数据:BaseModel、Field、field_validator、model_validator、strict mode、TypeAdapter和如何用pytest测试。
使用 JWT 配置 Spring Security 的 REST API:登录时发放令牌、无状态认证、按角色分配权限,并使用 MockMvc 编写测试。
使用 FastAPI 和 Pydantic v2 构建 REST API,在入口处拦截错误数据,包括自定义 422 错误格式和使用 pytest 编写测试。
使用 Spring Profile 按 dev、test、prod 环境隔离配置和 bean,如何激活 profile、编写测试以及常见错误。
使用 sync.WaitGroup 等待 goroutine,用 sync.Mutex 避免数据竞争,用 errgroup 汇总错误、通过 context 取消和限制 goroutine 数量。
学会使用 try-with-resources 自动关闭资源,编写 AutoCloseable 类,理解 suppressed exception 和常见错误。
比较 HashMap、Collections.synchronizedMap 和 ConcurrentHashMap 在线程安全、锁机制、迭代器、null 值和性能方面的差异,附带示例和测试。