logo

All Posts

  • Published on
    文章介绍了 AutoMQ 如何通过创新的存储架构,让 Kafka 完全运行在对象存储上。它通过堆外缓存处理实时读写,使用 EBS 作为预写日志确保可靠性,并将所有数据最终存储在对象存储中。这种设计既保持了 Kafka 的高性能,又解决了传统 Kafka 存储扩展的局限性。
  • Published on
    本文介绍了如何在Windows系统上下载、解压、配置和安装Office部署工具,并激活Office许可证。通过详细步骤和图片说明,帮助用户顺利完成Office的安装和激活过程。
  • Published on
    安全存储密码需要三步:哈希将密码不可逆转为指纹,避免明文泄露;加盐为每个用户生成唯一盐,抵御彩虹表攻击;延展重复哈希多次,延缓暴力破解。结合 bcrypt 等算法,确保密码保护更安全高效,切勿直接存储明文密码。
  • Published on
    Go 的代码生成功能虽然简单,但非常强大和实用。通过 go generate 命令,我们可以实现自动化重复性代码的生成,实现类似泛型功能(在 Go 1.18 之前特别有用),生成高效的查找表和常量,自动化字符串表示的生成,集成各种代码生成工具。通过正确使用这些功能,我们可以大大提高 Go 开发的效率和代码质量。
  • Published on
    Postgres 的 LISTEN/NOTIFY 功能通过通知器模式优化了连接管理,减少了每个程序需要的数据库连接数量,避免了为每个主题创建多个连接。通过使用缓冲通道和非阻塞发送,通知器能够高效处理大量通知。同时,结合上下文超时机制和“让它崩溃”策略,可以确保系统在出现问题时快速恢复。PgBouncer 的会话池模式支持 LISTEN,提高连接效率。