IC Blog

Thinking will not overcome fear but action will.

2023年总结

"bye 2023"

12月还剩下2天,趁着记忆还未消散,还有余温,写点文字记录这一年的总结复盘吧。 整体上,23年不算太顺利,但在泰国工作生活一年了,让我觉得不可思议,让我这一年很快乐,是这一年最重要的一点 – 如果缺失快乐,在生活中遇到的各种问题: 挣不到钱,孤独,人生方向在哪里… 会让人更加迷茫,但我可以找到自己的快乐,享受生活,过日子就容易多了。 我喜欢把事情简化,把事情的结果量化,不相信各...

2022,走向`多元`

"Diversity"

罗素: Diversity is essential to happiness 王小波在《思维的乐趣》中引用了这句话,翻译为 参差多态,乃是幸福的本源。 年龄又渐长一岁,22年的生活/工作变化很大,写一些记录,往后也可回顾下当下做出选择的思考。 多元化的公司 22年,离开了“狗咬狗”的狼性文化互联网公司,很幸运地加入了一家多元化的公司。 在多元化的组织里面,会有各种不同履历背...

读薄凤凰架构系列 - 事务2

"Transaction"

全局事务 单个服务使用多个数据源场景下,本地事务(数据库事务)是无法解决事务强一致性问题。 还是前面的场景,账单、库存和资金 分别是不同的数据库,事务还是使用Spring的声明式 – @Transactional注解,那么,实际上是使用了多个本地事务 – 分别为 账单数据库的事务、库存数据库的事务、资金数据库的事务。假设 账单事务和库存事务都commit()后,操作库存时出现错误,是无法...

读薄凤凰架构系列 - 事务1

"Transaction"

这里,展开讲讲事务。 事务处理的意义是为了保证系统所有数据状态的一致性(Consistency)。 基础理论 最早了解到的事务一般都是数据库事务,数据库事务的经典理论是 通过以下三个方面来达到这个目的: 原子性(Atomic):在同一项业务处理过程中,事务保证了对多个数据的修改,要么同时成功,要么同时被撤销。 隔离性(Isolation):在不同的业务处理过程中,事务保证了...

搭建现代化的(时髦的)Windows开发环境 - my win setup

"mini-rpc 01"

背景: 因公司的上市it审计要求,公司要求使用内部配置的电脑(Lenovo)。 另外出于个人私心,借此机会突破下自己的圈子,打破信息茧房。 作为5年MAC老兵拥抱Windows,开始搭建现代化的(时髦的)Windows开发环境。 以下是个人如何配置Windows的记录,让Windows用起来跟Mac OS X一样轻松愉悦。 第一步 做的第一件事就是启用Windows开发...

mini-rpc-framework篇1 - zookeeper简介

"mini-rpc 01"

mini-rpc-framework 是结合了个人对 RPC 框架的原理,及基于 Netty/Socket + Kyro + Zookeeper 而实现的一款轻量级 RPC 框架。(致敬 Dubbo 框架 这里就简单介绍下 ZooKeeper 及安装、常用命令。 介绍 ZooKeeper 是一个开源的分布式协调服务,它的设计目的是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个...

简历模板及突击资料参考集

"awesome resume"

近期开始寻找下一份挑战(工作)的准备,希望获得大厂的青睐,加油。 可第一步 – 写简历,真是困扰我了,尤其是毕业后就没有写过简历的理工男T T。 简历是一张名片,不仅表达自己,也是尊重你的客户(HR,面试官)的表现方式,我觉得,两个要点: 突出表达出自己的亮点,以及提升客户的体验,都不能缺失。 另一个需要注意点是,HR的工作方式 – 在千万份简历中挑选自己想要的,如何才能做到高效的呢?...

算法专题02 - 养成树的思维方式

"tree-way thinking"

论「树」思维的重要性: 任何知识体系都是一个树,想要掌握一个知识体系关键是要这些知识变成一个树状结构。 二叉树是最容易培养框架思维的,而且大部分算法技巧,本质上都是树的遍历问题: 明确一个节点要做的事情,然后剩下的事抛给框架。 二叉树的模板(框架)一般都是递归,以下是递归的心法: 心法1: 写递归算法的关键是要明确函数的「定义」是什么,然后相信这个定义,利用这个定义推导最...

算法专题01 - 双指针

"two point sulution"

本文罗列下双指针技巧 及常规的题目: 快慢指针: 判断链表是否有环的问题(141题),查找重复数字(287题目); 左右指针: 二分查找; 滑动窗口算法; k-sum 问题 题目实战 快慢指针相关 判断链表中是否有环 用两个指针,一个跑得快,一个跑得慢。如果不含有环,跑得快的那个指针最终会遇到 null,说明链表不含环;如果含有环,快指针最终会超慢指针一...

软件工程师的收藏周刊第90期

"weekly 90"

这里记录过去一周,我看到的值得记录的东西,每周五总结、发布。 教程 justjavascript 著名程序员 Dan Abramov 正在撰写的 JavaScript 教程,他还没有写完。只要在上面网址报名,每写好一部分就会通过邮件发给你。https://justjavascript.com/ 资料 Google Android官方培训课程中文版 Google Android团队在2...