殷东亮的博客

Go 标准库中涉及 I/O 操作的几个包的区别

Jan 15, 2020
Go

工作中需要用 Go 读写一些 Excel 表等类型的文件,发现 Go 提供了很多关于 I/O 操作的包,比如 io、ioutil、bufio 等,于是在这里总结一下,主要目标是理清几个包之间在使用时如何选择。 io # io 库提供了底层的接口定义 ...

Redis 的分布式锁使用注意

Jan 3, 2020
数据库, 系统设计

为什么需要分布式锁 # 锁机制用于管理对共享资源的并发访问控制,当同一服务的多台机器间需要控制并发的时候,需要保证服务间在同一时间只能被一个线程访问。由于 Redis 的特点是单进程,并且具有高性能的特点,所以一般用 ...

学习钢琴半年的体会

Dec 27, 2019
生活

婚礼上为了给媳妇制造一个印象深刻的惊喜,我提前三个月去学了钢琴,现在回想起来也算是一件有意思的事情。6 月底报名后,经过和钢琴老师的讨论,对于我这种零基础短期想突击的,同时后期还想继续学下去的,最后老师 ...

Github Actions 实践总结

Dec 1, 2019
DevOps, 工具

Github Actions 发布有一段时间了,自己用的也挺嗨,过来总结一下。我主要在两个地方用到了,一个是博客,另一个是打包、发布前端项目。整体功能上 Actions 和 GitLab CI/CD 差不多,同样实现了项目的自动化测试、打包、部署,不过 Actions 利用了 GitHub 开源 ...

Redis 实现布隆过滤器

Nov 12, 2019
系统设计, 数据库, 数据结构

布隆过滤器(Bloom Filter,BF),能够确定一个东西一定不存在或可能存在,常用于在海量并发情况下防止缓存击穿,相比较传统的 List、Set、Map 数据结构,布隆过滤器能够在大数据量的情况下,相 ...

Redis 基础知识

Nov 5, 2019
数据库

Redis 介绍 # 历史 # Redis 是一个使用 ANSI C 编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库,由来自意大利西西里岛的 Salvatore Sanfilippo(Antirez)发起并编写。从2015年6月开始,Re ...

使用 Django 查询数据库的分表

Oct 18, 2019
Python, MySQL, Django

业务背景 # 最近已经转到 Go 下面进行日常工作的开发,我的一个后台项目有一些内部轻量的数据查询需要,考虑需求的复杂度不高,就平常自己和同事几个人使用,没必要专门开发一个前端项目来进行数据查询,于是我想到了老 ...

UTF、Unicode 和 ASCII 编码的关系

Sep 20, 2019
系统设计

说 UTF 需要先说 Unicode,而说 Unicode 需要先说 ASCII,这三者正好是历史的发展一步步进化而来的,是计算机领域为了解决全世界各种文字之间的编码统一问题而给出的通用解决方案。 ASCII 码表 # ASCII(Americ ...

AES 对称加密学习笔记

Apr 26, 2019
算法, 密码学

工作中的需求,需要一个基于 Django 的数据脱敏解决方案,我们的目标是要用 AES 对称加密算法,接入不能影响现有业务逻辑,数据迁移方便,失败可以回滚,最好可以开源。经过调研与开发,我最终产出了一个开源项目:luoji ...


© 2012-2024 YINDONGLIANG