Baymax Blog

翻开我的老相簿

Summary of Backend Knowledge - Big data & Deployment

简单整理一下自己点歪了的科技树 - 大数据轮子和部署工具

本系列参考了Github上诸多开源的学习资料: Snailclimb/JavaGuide CyC2018/CS-Notes taizilongxu/interview_python zpoint/CPython-Internals donnemartin/system-design-primer Hadoop 由于许多大数据处理框架都属于Hadoop生态圈,因此在学习其他框...

Summary of Backend Knowledge - Framework & Database

简单整理一下自己点歪了的科技树 - 后端框架和数据库

本系列参考了Github上诸多开源的学习资料: Snailclimb/JavaGuide CyC2018/CS-Notes taizilongxu/interview_python zpoint/CPython-Internals donnemartin/system-design-primer Django 基础架构 基于Python的Web框架 WSGI WSGI...

Summary of Backend Knowledge - OS & Language

简单整理一下自己点歪了的科技树 - 操作系统和编程语言

本系列参考了Github上诸多开源的学习资料: Snailclimb/JavaGuide CyC2018/CS-Notes taizilongxu/interview_python zpoint/CPython-Internals donnemartin/system-design-primer 前言 简单介绍一下我自己 笔者从毕业以后差不多都是在创业公司摸爬滚打,因此技...

Architecting Distributed Cloud Applications

分布式云服务的架构设计

本篇主要内容来自于油管系列视频课程:Architecting Distributed Cloud Applications 主要包含:基础认知、微服务、容器、网络、消息、服务更新、领导选举、数据存储等内容 分布式云服务 基础认知 为什么要使用云服务 特点 过去 现在 客户端 ...

PMP Notes - 项目管理学习笔记

结合实践记录PMP考试中学习到的经验

PMP考试 在去年就报名了今年三月份的PMP考试,着手学习,没想到由于疫情一延再延,等到能考试的时候,这个证书已经变得不那么重要了。 我主要是通过书和习题来准备考试的,外国人考试的思路和中国人非常不同,他们非常在意细节,所以给我的感觉是在看书阶段觉得获益良多,到了刷题阶段反而变得枯燥乏味了,但是这中间依然有很多收获,结合了之前的项目经历也发现了项目中存在的很多问题,整理了这些内容后形成了...

Leectode Magic - Lru Cache

算法笔记:使用函数缓存应对复杂的推导和动态规划

函数缓存 函数缓存属于一个更大的话题——记忆化(Wiki - Memoization),其定义是保存一部分运行的结果,增大空间开销从而减少时间开销。 在函数式编程里要求,参数一致的情况下函数返回的结果需要保持一致,因此会非常适合函数缓存。在Python3的官方库里,加入了lru_cache的装饰器,让我们可以非常方便的使用函数缓存: Python Doc - functools....

树型文件系统设计

基于django和mysql

PM:我们需要做一个简单的文件系统 臭开发:好呀,怎么样简单的文件系统呢 PM:很简单,像windows里面那样的就行了 臭开发:… 需求描述 产品的需求是做一个类似windows系统中的文件系统,同时支持文件的移动、删除、复制等常见操作,分析这个需求之后,可以引申出几个基本的需求要点: 文件系统是一个树型结构,其中文件夹内可以包含子文件,另外不排除非文件夹也包含树型结构...

Leectode Magic - DeepCopy

算法笔记:深度拷贝对象的新思路

DeepCopy的小魔法 浅拷贝和深拷贝的区别就不赘述了,这里给个传送门: Object_copying - wiki 其实在python中就已经有了deepcopy这个函数,有需求的话可以直接使用。但是在其他的语言里,很多就不包含这个了,如果需要深拷贝的话要自己实现。 在深拷贝一个对象的时候,对象可能会有很复杂的引用关系,一般可以画成一张有向图,但是需要注意的是,这个图是可...

倒排索引和ES坑

最早手撸了一个搜索引擎,如今被ES虐的醉生梦死

老板说了,想要知道我们新闻库里这些新闻有没有,明天能给个demo吗 搜索引擎的最小可用版本 第一次遇到这个项目是在2015年,那个时候ElsaticSearch还不流行,大家熟知的搜索系统还是Lucene,需要大量的额外工作量才能真正建立一个搜索引擎。由于当时的需求比较简单,没有很多时间开发,因此直接选择了自己实现一个简单搜索引擎的方案。 今天回想起了当时这个项目,依旧会觉得非...

Leectode Magic - Manacher

算法笔记:专门用于回文字符串的算法

Manacher算法 最近在Leetcode接连刷到了好几次关于回文字符串的问题,一般来说回文串问题都可以通过暴力来解决(当然其实所有问题都可以暴力),但是时间复杂度太高了,因此捡起了Manacher算法。 算法要点 其实Mancher是一种专用于回文串的算法, 讲解相对复杂,但是要点比较简单: 时间和空间复杂度为$O(n)$ 作用是查找某一个字符串内所有的回文子串 关...