启用 Brotli 压缩算法,对比 Gzip 压缩 CDN 流量再减少 20%
Google 认为互联网用户的时间是宝贵的,他们的时间不应该消耗在漫长的网页加载中,因此在 2015 年 9 月 Google 推出了无损压缩算法 Brotli。Brotli 通过变种的 LZ77 算法、Huffman 编码以及二阶文本建模等方式进行数据压缩,与其他压缩算法相比,它有着更高的压塑压缩效率。
Google 认为互联网用户的时间是宝贵的,他们的时间不应该消耗在漫长的网页加载中,因此在 2015 年 9 月 Google 推出了无损压缩算法 Brotli。Brotli 通过变种的 LZ77 算法、Huffman 编码以及二阶文本建模等方式进行数据压缩,与其他压缩算法相比,它有着更高的压塑压缩效率。
本文介绍了贪心算法在 CSP-J(信息学奥林匹克联赛入门级)教学中的应用。贪心算法通过每一步选择局部最优解,期望最终达到全局最优。作者强调了排序在贪心算法中的重要性,并提供了 sort 函数和自定义结构体排序的示例代码。文章还推荐了适合教学的题目,如 P2240 部分背包问题、P1223 排队接水等,并附上详细的解题思路和代码实现。适合正在备战 CSP-J 的学生和指导教师参考。
本文介绍了 Blink-Tree,这是一种 B+Tree 的并发优化结构。通过引入 high key 和 link 指针,解决了并发访问时的性能问题,特别适用于高并发环境的存储引擎优化。如果你对数据库存储引擎感兴趣,这篇文章不容错过!
企业网站的CDN流量被恶意刷爆怎么办?本文介绍了几种有效应对大规模流量攻击的策略,包括通过带宽限制、IP过滤和自定义脚本等技术手段,帮助企业有效防止流量被盗刷。如果你的网站也遇到类似问题,这篇文章提供了实用的解决方案!
本文整理自美团技术沙龙第80期《美团内容智能分发的算法实践》,分享内容主要包括三部分。第一部分介绍了大众点评内容搜索的场景特点以及面临的挑战;第二部分介绍了为应对这些困难和挑战,技术团队在链路各环节上做的实践优化,包括内容消费和搜索满意度的优化等等;第三部分是总结和对未来的展望。
本文对比游戏服务器中C++搭配脚本语言(Lua、Python)以及纯编译型语言(C++、Golang)来进行开发时,进行线上服务器热更新的方案。
在上一篇文章中,介绍了数据库索引的简单概念,以及B树的结构及核心算法,这一篇将继续介绍B树的变形B+树。
这一段时间由于在阅读boltdb代码的缘故,找机会学习了B树及B+树的算法原理,这个系列会花两个篇幅分别介绍这两种数据结构的实现,其用于数据库索引中的基本原理。
在密码学里面,最容易搞混的词估计就是「密码」了,cipher/password/passphrase 都可以被翻译成「密码」,需要注意下其中区别。
这篇文章介绍从零实现一个简单的 AES-128-ECB,其中 128 指采用 128 位密钥块,ECB 指采用 Electronic codebook 分组模式,并为长度不足 128 位的数据块填充 0x00。
本文代码部分选择使用 Python,因为其语法简单而强大,我想把更多时间、精力花在加解密流程上,而非语法细节上。本文所有代码仅供学习研究之用,不要用在生产环境!生产环境请使用流行、成熟的专用密码库,否则可能导致潜在的 Side-channel attack 和其它安全问题。
这两天遇到一个任务调度算法引起的性能问题,花了颇多精力排查和解决。问题出在我写的 ltask 这个 lua 多任务库上。ltask 最初是对 skynet 的一些反思中开始的,最初只是想换一种思路实现 skynet :做一个库而不是框架、更少的锁竞争、避免服务因为消息队列堆积而过载……