十亿行文本挑战赛(The One Billion Row Challenge,1BRC),是今年火遍外网的一项比赛,旨在测试利用Java从文本文件中聚合十亿行数据时的性能极限。参赛者可以使用并行处理、SIMD、优化GC或者其它方式,实现快速计算。
2024 Google开发者大会
开发者大会之于工程师,就像拉萨之于朝圣者。今年的Google开发者大会刚好在北京举办,我有幸前往参加,见到了来自世界各地的个人开发者和爱好者。参加开发者大会不仅能扩展视野,也能让自己显得比较Geek~。
Gitlet
很久没有更新博客了,曾经规划了很多plan都没有执行,前段时间看到的一个有趣的项目:UCB的CS61b课程,实现一个Gitlet。从今天开始,持续更新。
背景
Gitlet是一个类似于Git的版本控制系统,而版本控制系统本质上是计算机上文件的备份系统,Gitlet支持的功能主要包括:
- 保存文件目录的备份。在Gitlet中,这被称为提交(committing),而备份本身被称为commits
- 还原一个或多个文件版本或整个提交。在Gitlet中,这被称为check out
- 查看备份历史记录。在Gitlet中,使用log来查看历史
- 维护分支。维护相关的提交序列,称为branch
- 合并。将一个分支的更改合并到另一个分支中
ChatGPT应用场景
使用OpenAI API Key还可以做很多有趣的事情。
部署ChatGPT网页服务
简介
本项目Fork自开源仓库ChatGPT-Next-Web,基于Vercel部署个人的ChatGPT网页服务,优点是不需要服务器且域名是免费的,操作简单,可以在PC端和移动端使用。主要练习了Vercel的使用和ChatGPT官网OpenAI API Key的使用。
redis设计与实现
HashMap分析
HashMap结构设计。
快排源码分析
Linux内存分配与回收
redis缓存一致性
这里主要指mysql与redis的数据一致性问题。