• 定时从京东联盟拉取订单数据

    背景今年 6 月份加入帅张的知乎好物新手 2 群,佛系升级到 4 级进入老鸟群,中间写了一篇非好物推荐的文章,被知乎圆桌收录,目前超过 1k 赞,5k+ 收藏。虽然没有赚到钱,出单很少,但是每天还是得好几次点进知乎好物收入或者京粉里查看订单,为了减少麻烦,就通过一个简单的程序解决了。此项目逻辑很简单...

    Https 加密原理

    前言电影《模仿游戏》讲述了计算机之父——艾伦·图灵在二战期间,帮助盟军破译德国军事密码—— Enigma 的故事,为盟军的胜利起了巨大的推动作用,拯救了 1000 多万人的生命。加密加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信...

    谈谈 MySQL 锁

    一、前言MySQL的并发控制是在数据安全性和并发处理能力之间的权衡,通过不同的锁策略来决定对系统开销和性能的影响。只要存在多个客户端同时修改更新数据,就会存在并发问题,MySQL通过MVCC和锁来处理这一问题。二、锁的粒度LockTypeMySQL源码中定义了两种锁的粒度,分别是表锁和行锁。/**L...

    分布式 ID 生成策略总结

    对于一般应用来说,通常会需要用到业务唯一编码,比如订单流水号、操作记录流水号,关于它的生成方式有多种可以选择。1、UUIDUUID使用非常简单,全球唯一、本地生成,缺点是没有业务含义,且不能自增,作为数据库的字段有些太长。UUID.randomUUID().toString()2、数据库自增IDOr...

    Redis 锁续期的那些事

    1、Redis 锁的使用作为非常流行的 NoSQL 数据库,Redis 已成为后端开发非常熟悉的中间件,除了常被用来做缓存外,还经常被用做分布式锁。它的语法如下:setNx key valueSet key to hold string value if key does not exist. In...

    ThreadPoolExecutor 线程池使用

    开发规范阿里巴巴开发规范中指出了3点和线程使用相关的强制措施。1、创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。2、线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。3、线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式...

    OutOfMemory 问题排查

    现象线上环境,起初某一应用系统每隔几天就会出现频繁 Full GC,内存持续升高并且释放不掉,慢请求上升,如果不及时重启会导致服务不可用,经过后续需求陆续上线,出现问题的频率变高,隔两天就会崩。随后申请了线上临时 root 用户权限,在内存较高时,下线掉一台服务器并 dump 出内存做分析。排查思路...

    学习 OKR

    OKR,ObjectivesandKeyResults,即目标与关键结果。目标,是方向,并且要有意义,重要并且要鼓舞人心。关键结果,是怎么做达成目标,也是衡量指标。好的关键结果需要-结果明确-有完成时间-有挑战性-可以衡量OKR的好处聚焦重要且紧急的事情促进团队协作,公开透明对...

    MongoDB 修改数组对象中的属性值

    文档结构简版:{"_id":ObjectId("5d0cc849f7b9c23b1c49dd5f"),"inv_id":818400,"inv_no":779385470,"book":{"...

    MySQL 加索引会锁表吗

    代码上线一段时间后通过APM工具发现慢查询,有一些场景需要我们对MySQL表加索引来优化,利用索引本身会加速查询,或者利用索引覆盖、索引下推等方式来优化SQL的执行效率。通常这个时候我们会小心翼翼,毕竟在生产环境上加索引,如果导致锁表,对业务的影响巨大,甚至造成多个服务直接STOPTHEWORLD。...