diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 0000000..a55e7a1
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
+
+
+ \* Worst case complexity: exponential in number of states.
+ \* @param maxDeterminizedStates Maximum number of states created when
+ \* determinizing. Higher numbers allow this operation to consume more
+ \* memory but allow more complex automatons. Use
+ \* DEFAULT_MAX_DETERMINIZED_STATES as a decent default if you don't know
+ \* how many to allow.
+ \* @throws TooComplexToDeterminizeException if determinizing a creates an
+ \* automaton with more than maxDeterminizedStates
+ */
+```
+
+代码注释里说这个过程的时间复杂度最差情况下是状态数量的指数级别!
+
+为防止产生的状态过多,消耗过多的内存和CPU,类里面对最大状态数量做了限制
+
+```java
+ /**
+ * Default maximum number of states that {@link Operations#determinize} should create.
+ */
+ public static final int DEFAULT_MAX_DETERMINIZED_STATES = 10000;
+```
+
+在有首尾通配符,并且字符串很长的情况下,这个determinize过程会产生大量的state,甚至会超过上限。
+
+至于NFA和DFA的区别是什么? 如何相互转换?
+
+网上有很多数学层面的资料和论文,限于帅丙算法方面有限的知识,无精力去深入探究。
+
+但是一个粗浅的理解是: NFA在输入一个条件的情况下,可以从一个状态转移到多种状态,而DFA只会有一个确定的状态可以转移,因此DFA在字符串匹配时速度更快。
+
+**DFA虽然搜索的时候快,但是构造方面的时间复杂度可能比较高,特别是带有首部通配符+长字符串的时候。**
+
+回想Elasticsearch官方文档里对于Wildcard query有特别说明,**要避免使用通配符开头的term**。
+
+> " Note that this query can be slow, as it needs to iterate over many terms. In order to prevent extremely slow wildcard queries, a wildcard term should not start with one of the wildcards * or ?."
+
+结合对上面Wildcard query底层实现的探究,也就不难理解这句话的含义了!
+
+**小结: Wildcard query应杜绝使用通配符打头,实在不得已要这么做,就一定需要限制用户输入的字符串长度。**
+
+最好换一种实现方式,通过在index time做文章,选用合适的分词器,比如nGram tokenizer预处理数据,然后使用更廉价的term query来实现同等的模糊搜索功能。
+
+对于部分输入即提示的应用场景,可以考虑优先使用completion suggester, phrase/term suggeter一类性能更好,模糊程度略差的方式查询,待suggester没有匹配结果的时候,再fall back到更模糊但性能较差的wildcard, regex, fuzzy一类的查询。
+
+**补充**: 有同学问regex, fuzzy query是否有同样的问题,答案是有,原因在于他们底层和wildcard一样,都是通过将pattern构造成DFA来加速字符串匹配速度的。
+
+**回忆**:为啥之前挂了一次重启恢复了,马上又挂了?用户搜了两次。。。
+
+### 解决方案
+
+其实解决这种问题很简单,既然知道关键词长了会有问题,我就**做限制**嘛,大家可以去看看搜索引擎某度、某宝啥的,是不是都做了长度限制?
+
+我复制了很长的一段汉字进去百度就是这个结果咯,某宝过长都返回**默认页面**了。
+
+
+
+
+
+
+
+如果你的产品一定要给用户一点东西,简单,找出一些热词分析出来就好了,或者给点热搜商品**兜底**。
+
+我怎么做的呢?判断字符串长度大于50我就直接返回空数组了,这样对用户体验好点,你返回个参数错误或者默认错误别人还**以为你有Bug**呢对吧。
+
+### 总结
+
+其实敖丙我啥事故等级都没背哈哈,这个算是事故,但是敖丙我这么可爱,领导也心疼我啊,肯定不会怪我的拉,主要是我设计都考虑了很多方案和场景了,没想到有这个坑。(yy:敖丙你个渣男,又是标题党,人家还以为你没工作了要养你呢!)
+
+大家也可以通过这次事故体会到,技术选型的时候,**方案的重要性**了吧,就算你考虑不全,但是不至于真正的问题来了手足无措啊,并不是所有的事故都可以像这次这样重启就搞定了,**不要存有侥幸心理,心存敬畏**。
+
+### 絮叨
+
+敖丙啊,又有牌面了,得到**阿里云消息中间件团队**小伙伴的认可,并且发现居然是我学姐-**风云**(花名)!!!
+
+她是个好学的小姐姐,大家多多像优秀的仔学习,学姐不是做技术的,但是都在不断学习,说实话我的眼角又湿了。
+
+
+
+### 别跑,投票!!!
+
+我准备把我的公众号**JavaFamily** 这个名字改了,这个名字还是差点意思,但是又不能叫敖丙了,被注册商标了,我就问了下群里的人才,目前有两个我比较喜欢的
+
+- **帅丙**
+- **三太子敖丙**
+- 其他给我留言
+
+因为这个可能会陪伴我很久,甚至直到死去,希望大家都给点建议哈哈。
+
+别问我为啥要跟敖丙这个名字相关,**再问自杀**!
+
+我花名就叫这个,所以😂
+
+
+
+
+
+## 日常求赞
+
+好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是**人才**。
+
+我后面会每周都更新几篇一线互联网大厂面试和常用技术栈相关的文章,非常感谢**人才**们能看到这里,如果这个文章写得还不错,觉得「敖丙」我**有点东西**的话 **求点赞👍** **求关注❤️** **求分享👥** 对暖男我来说真的 **非常有用**!!!
+
+创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
+
+敖丙 | 文 【原创】【转载请联系本人】 如果本篇博客有任何错误,请批评指教,不胜感激 !
+
+------
+
+> 文章每周持续更新,可以关注我的公众号「 **JavaFamily** 」第一时间阅读和催更(公众号比博客早一到两篇哟),本文**GitHub** [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 上已经收录,有一线大厂面试点思维导图,欢迎Star和完善,里面也有我个人联系方式有什么问题也可以直接找我,也有**技术交流群**,我们一起有点东西。
+
+
+书三千,吾全取。
+
+人千万,独暖你。 ---暖男敖丙
\ No newline at end of file
diff --git "a/docs/creative/\343\200\212\345\220\220\350\241\200\346\225\264\347\220\206\343\200\213\345\215\201\345\271\264\351\243\216\351\233\250\346\212\200\346\234\257\344\272\272\347\232\204\344\271\246\345\215\225\346\225\264\347\220\206.md" "b/docs/creative/\343\200\212\345\220\220\350\241\200\346\225\264\347\220\206\343\200\213\345\215\201\345\271\264\351\243\216\351\233\250\346\212\200\346\234\257\344\272\272\347\232\204\344\271\246\345\215\225\346\225\264\347\220\206.md"
new file mode 100644
index 0000000..fae21c8
--- /dev/null
+++ "b/docs/creative/\343\200\212\345\220\220\350\241\200\346\225\264\347\220\206\343\200\213\345\215\201\345\271\264\351\243\216\351\233\250\346\212\200\346\234\257\344\272\272\347\232\204\344\271\246\345\215\225\346\225\264\347\220\206.md"
@@ -0,0 +1,790 @@
+## 《程序人生》十年风雨技术人的书单整理
+
+> 你知道的越多,你不知道的越多
+
+> 点赞再看,养成习惯
+
+> 给岁月以文明,而不是给文明以岁月
+
+> 本文 **GitHub** [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 上已经收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。
+
+### 前言
+
+王潇:格局决定了一个人的梦想,梦想反过来决定行为。
+
+那格局是什么呢?
+
+**格局是你能够看见的深度、广度和密度。**
+
+王潇认为,格局是一本本书搭建起来的,正如她所言:“**读书让我知道世界很大,然后才知道推开门去看看这个世界。**”
+
+之前有一篇文章我写到了几乎是一个技术人从0到1的整个生涯了,其实大家发现根本就没有终点。
+
+[《程序人生》风雨十年-从大学到技术专家我做了啥?](https://juejin.im/post/5ded1639e51d455830350da5)
+
+我们的一生其实也基本上都在学习,那提到学习,我第一时间想到的就是读书了。
+
+记得帅丙在自己21岁的那个夏天,当时拿到了自己的第一笔实习工资1400块,因为是110块一天嘛,而且入职的第一个月也没上满,但是还是很开心,第一个月师傅就给了一个建议,买本书吧。
+
+就这样我买了出社会之后的第一本技术书籍《Java核心卷一》,也是师傅推荐的,如获至宝。
+
+到现在我的书架都茫茫当当了,但是这本书还是一直陪伴我左右,也是我印象最深刻的技术书籍,因为那感觉就像是**初恋的味道**,甜甜的。
+
+为啥推荐大家读书呢,**书籍的作者都是几年甚至几十年的经验,最后总结为一本书,**那就算里面有错误的点,我想你花几十块,只用几个礼拜甚至几天就可以拜读人家十几年的经验,我觉得怎么算都是血赚?
+
+## 正文
+
+好了扯了这么多只是想要引出今天的主题,我会按照不同的类型把我知道的一些书籍,包括身边朋友推荐的书籍,都在这里列给大家,大家按需自取。
+
+我还推荐了很多非技术的书籍,人文地理悬疑情感都会涉及,反正很多书我是真的很喜欢。
+
+我上一篇提到的我亦师亦友的阿里技术专家朋友,他就是个很喜欢读书的人,说实话他的**学校背景不好**,刚开始出来也是在外包干活的,但是他有个习惯,就是看书,基本上闲暇时候,都能看到他看书的身影。
+
+看他的动态也都是分享各类书籍,**口吐芬芳**,我要是个女人,估计他跑不掉了。
+
+反正经常读书的人,你跟他说话,看他谈吐,自然就知道了,我经常说的那句:**腹有诗书气自华** 希望你能懂,不看真像网上的段子那样,看到美好的景色只能:卧*
+
+下面是我截图的他的几条动态,这种谈吐我爱了❤
+
+
+
+
+
+
+
+### Java
+
+#### Java核心技术·卷 I(原书第10版)| Core Java Volume
+
+> 讲的很全面,书中的代码示例都很好,很适合Java入门。
+>
+> 但是作者不太厚道的是把现在没人用的GUI编程放在了第一卷,基本上10~13章是可以不用读的。
+
+
+
+
+
+
+
+
+
+#### Java性能权威指南|Java Performance: The Definitive Guide
+
+> 市面上介绍Java的书有很多,但专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。
+>
+> 通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,最终使程序如虎添翼。
+
+
+
+#### 实战Java高并发程序设计|葛一鸣
+
+> 由部分段落的行文来看,搬了官方文档。
+>
+> 也有一些第一人称的叙述和思考,也能看出作者也是花了一点心思的。胜在比较基础,涉及到的知识点也还很全面(讲到了流水线计算和并发模型这些边边角角的),但是由于是编著,全书整体上不够统一和深入,适合作为学习高并发的第一本工具书。
+
+
+
+#### Java 8实战
+
+> 对Java8的新特性讲解的十分到位,尤其是lamdba表达式和流的操作。
+>
+> 再者对于Java8并发处理很有独到见解。对于并行数据处理和组合式异步编程还需要更深的思考才能更加掌握。
+>
+> 推荐给再用java8但没有去真正了解的人看,有很多你不知道的细节、原理和类库设计者的用心良苦在里面、内容没有很难,抽出几个小时就能看完,花费的时间和收获相比,性价比很高。
+
+
+
+#### Java并发编程实战
+
+> 先不谈本书的内容如何,光书名就足够吸引不少目光。“并发”这个词在Java世界里往往和“高级、核心”等字眼相联系起来,就冲着这两个字,都将勾起软件工程师们埋藏在心底那种对技术的探索欲和对高级API的驾驭感。
+>
+> 程序员嘛,多少都有点职业病。其实Java对“并发”优化从未停止过,从5.0到7.0,几乎每个版本的新特性里,都会针对前一版本在“并发”上有所改进。这种改进包括提供更丰富的API接口、JVM底层性能优化等诸多方面。
+
+
+
+#### Thinking in Java
+
+> 很美味的一本书,不仅有icecreamm,sundae,sandwich,还有burrito!真是越看越饿啊~
+
+
+
+#### Effective Java中文版(第3版)|Effective Java Third Edition
+
+> Java 高阶书籍,小白劝退。介绍了关于Java 编程的90个经验技巧。
+>
+> 作者功力非常强悍,导致这本书有时知识面迁移很广。总之,非常适合有一定Java开发经验的人阅读提升。
+
+
+
+#### 深入理解Java虚拟机(第3版)| 周志明
+
+> 浅显易懂。最重要的是开启一扇理解虚拟机的大门。
+>
+> 内存管理机制与Java内存模型、高效并发这三章是特别实用的。
+
+
+
+
+
+#### Java虚拟机规范(Java SE 8版)|爱飞翔、周志明
+
+> 整本书就觉得第二章的方法字节码执行流程,第四章的前8节和第五章能看懂一些。其他的过于细致和琐碎了。
+>
+> 把Java字节码讲的很清楚了,本质上Java虚拟机就是通过字节码来构建的一套体系罢了。所以字节码说的非常细致深入。
+
+
+
+
+
+### 数据&大数据
+
+#### 数据结构与算法分析|Data Structures and Algorithm Analysis in Java
+
+> 数据结构是计算机的核心,这部书以java语言为基础,详细的介绍了基本数据结构、图、以及相关的排序、最短路径、最小生成树等问题。
+>
+> 但是有一些高级的数据结构并没有介绍,可以通过《数据结构与算法分析——C语言描述》来增加对这方面的了解。
+
+
+
+#### MySQL必知必会
+
+> 《MySQL必知必会》MySQL是世界上最受欢迎的数据库管理系统之一。
+>
+> 书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经意间立刻功力大增。
+
+
+
+#### 数据库系统概念|Datebase System Concepts(Fifth Edition)
+
+> 从大学读到现在,每次拿起都有新的收获。而且这本书还是对各个数据相关领域的概览,不仅仅是数据库本身。
+
+
+
+#### 高性能MySQL
+
+> 对于想要了解MySQL性能提升的人来说,这是一本不可多得的书。
+>
+> 书中没有各种提升性能的秘籍,而是深入问题的核心,详细的解释了每种提升性能的原理,从而可以使你四两拨千斤。授之于鱼不如授之于渔,这本书做到了。
+
+
+
+#### 高可用MySQL
+
+> 很实用的书籍,只可惜公司现有的业务和数据量还没有达到需要实践书中知识的地步。
+
+
+
+#### 利用Python进行数据分析|唐学韬
+
+> 内容还是跟不上库的发展速度,建议结合里面讲的库的文档来看。
+>
+> 内容安排上我觉得还不错,作者是pandas的作者,所以对pandas的讲解和设计思路都讲得很清楚。除此以外,作者也是干过金融数据分析的,所以后面专门讲了时间序列和金融数据的分析。
+
+
+
+#### HBase
+
+> 看完影印版第一遍,开始以为会是大量讲API,实际上除了没有将HBase源代码,该讲的都讲了,CH8,9章留到最后看的,确实有点顿悟的感觉,接下来需要系统的看一遍Client API,然后深入代码,Come ON!
+
+
+
+#### Programming Hive
+
+> Hive工具书,Hive高级特性。
+
+
+
+#### Hadoop in Practice| Alex Holmes
+
+> 感觉比action那本要强 像是cookbook类型的 整个过完以后hadoop生态圈的各种都接触到了 这本书适合当参考手册用。
+
+
+
+#### Hadoop技术内幕|董西成
+
+> 其实国人能写这样的书,感觉还是不错的,不过感觉很多东西不太深入,感觉在深入之前,和先有整体,带着整体做深入会更好一点, jobclient,jobtracer,tasktracer之间的关系最好能系统化
+
+
+
+#### Learning Spark
+
+> 很不错,core的原理部分和api用途解释得很清楚,以前看文档和代码理解不了的地方豁然开朗。
+>
+> 不足的地方是后几章比较弱,mllib方面没有深入讲实现原理。graphx也没有涉及
+
+
+
+#### ODPS权威指南
+
+> 基本上还算一本不错的入门,虽然细节方面谈的不多,底层也不够深入,但毕竟是少有的ODPS书籍,且覆盖面很全,例子也还行。
+
+
+
+#### 数据之巅|徐子沛
+
+> 从一个新的视角(数据)切入,写美国历史,统计学的发展贯穿其中,草蛇灰线,伏脉千里,读起来波澜壮阔。
+
+
+
+### 消息队列&Redis
+
+#### RabbitMQ实战
+
+> 很多年前的书了,书中的例子现在已经不适用了,推荐官方教程。
+>
+> 一些基础还是适用,网上也没有太多讲rab的书籍,将就看下也行,我没用过所以....
+
+
+
+#### Apache Kafka源码剖析|徐郡明
+
+> 虽然还没看,但知道应该不差。我是看了作者的mybatis源码分析,再来看这本的,相信作者。
+>
+> 作者怎么有这么多时间,把框架研究的这么透彻,佩服,佩服。
+
+
+
+#### 深入理解Kafka:核心设计与实践原理|朱忠华
+
+> 通俗易懂,图文并茂,用了很多图和示例讲解kafka的架构,从宏观入手,再讲到细节,比较好,值得推荐。
+>
+> 深入理解Kafka是市面上讲解Kafka核心原理最透彻的,全书都是挑了kafka最核心的细节在讲比如分区副本选举、分区从分配、kafka数据存储结构、时间轮、我认为是目前kafka相关书籍里最好的一本。
+
+
+
+#### Kafka
+
+> 认真刷了 kafka internal 那章,看了个talk,算是入了个门。
+>
+> 系统设计真是门艺术。
+
+
+
+#### RocketMQ实战与原理解析|杨开元
+
+> 对RocketMQ的脉络做了一个大概的说明吧,深入细节的东西还是需要自己看代码
+
+
+
+#### Redis设计与实现|黄健宏
+
+> 部分内容写得比较啰嗦,当然往好了说是对新手友好,不厌其烦地分析细节,但也让整本书变厚了😂,个人以为精炼语言可以减少20%的内容。
+>
+> 对于有心一窥redis实现原理的读者来说,本书展露了足够丰富的内容和细节,却不至于让冗长的实现代码吓跑读者——伪代码的意义在此。下一步是真正读源码了。
+
+
+
+#### Redis 深度历险:核心原理与应用实践|钱文品
+
+> 真心不错,数据结构原理+实际应用+单线程模型+集群(sentinel, codis, redis cluster), 分布式锁等等讲的都十分透彻。
+>
+> 一本书的作用不就是系统性梳理,为读者打开一扇窗,读者想了解更多,可以自己通过这扇窗去Google。这本书的一个瑕疵是最后一章吧,写的仓促了。不过瑕不掩瑜。
+
+
+
+### 技术综合
+
+#### TCP/IP详解 卷1:协议
+
+> 读专业性书籍是一件很枯燥的事,我的建议就是把它作为一本手册,先浏览一遍,遇到问题再去详细查,高效。
+
+
+
+#### Netty in Action
+
+> 涉及到很多专业名词新概念看英文原版顺畅得多,第十五章 Choosing the right thread model 真是写得太好了。另外结合Ron Hitchens 写的《JAVA NIO》一起看对理解JAVA NIO和Netty还是很有帮助的
+
+
+
+#### ZooKeeper
+
+> 值得使用zookeeper的人员阅读, 对于zookeeper的内部机制及api进行了很详细的讲解, 后半部分深入地讲解了zookeeper中ensemble互相协作的流程, 及group等高级配置, 对zookeeper的高级应用及其它类似系统的设计都很有借鉴意义.
+
+
+
+#### 从Paxos到Zookeeper|倪超
+
+> 分布式入门鼻祖,开始部分深入阐述cap和base理论,所有的分布式框架都是围绕这个理论的做平衡和取舍,中间 zk的原理、特性、实战也讲的非常清晰,同时讲cap理论在zk中是如何体现,更加深你对cap的理解.
+
+
+
+#### 深入理解Nginx(第2版)|陶辉
+
+> 云里雾里的快速读了一遍,主要是读不懂,读完后的感受是设计的真好。
+>
+> 原本是抱着了解原理进而优化性能的想法来读的,却发现书中的内容都是讲源码,作者对源码的注释超级详细,非常适合开发者,但不适合使用者,给个五星好评是因为不想因为我这种菜鸡而埋没了高质量内容。
+>
+> 另外别人的代码写的真好看,即便是过程式语言程序也吊打我写的面向对象语言程序。
+>
+>
+> 作者是zookeeper的活跃贡献者,而且是很资深的研究员,内容比较严谨而且较好的把握住了zk的精髓。书很薄,但是没有废话,选题是经过深思熟虑的。
+
+
+
+#### 深入剖析Tomcat
+
+> 本书深入剖析Tomcat 4和Tomcat 5中的每个组件,并揭示其内部工作原理。通过学习本书,你将可以自行开发Tomcat组件,或者扩展已有的组件。 Tomcat是目前比较流行的Web服务器之一。作为一个开源和小型的轻量级应用服务器,Tomcat 易于使用,便于部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块。这些功能模块构成了Tomcat的核心结构。本书从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat中的应用程序,逐一剖析Tomcat的基本功能模块,并配以示例代码,使读者可以逐步实现自己的Web服务器。
+
+
+
+#### 深入理解计算机系统 | 布莱恩特
+
+> 无论是内容还是纸张印刷,都是满分。计算机学科的集大成之作。引导你如何练内功的,算是高配版本的计算机导论,目的是釜底抽薪引出来操作系统、组成原理这些专业核心的课程。帮助我们按图索骥,点亮一个一个技能树。
+
+
+
+#### 架构探险分布式服务框架 | 李业兵
+
+> 刚看前几章的时候,心里满脑子想得都是这特么贴一整页pom文件代码上来干鸡毛,又是骗稿费的,买亏了买亏了,后来到序列化那章开始,诶?还有那么点意思啊。
+>
+> 到服务注册中心和服务通讯,60块钱的书钱已经赚回来了。
+>
+> 知识是无价的,如果能花几十块钱帮你扫了几个盲区,那就是赚了。
+
+
+
+#### 深入分析JavaWeb技术内幕 | 许令波
+
+> 与这本书相识大概是四年前是在老家的北方图书城里,当时看到目录的感觉是真的惊艳,对当时刚入行的自己来说,这简直就是为我量身定做的扫盲科普集啊。
+>
+> 但是可惜的是,这本书在后来却一直没机会读上。然后经过四年的打怪升级之后,这次的阅读体验依旧很好。
+>
+> 其中,java编译原理、 Servlet工作原理、 Tomcat、spring和iBatis这几章的收获很大。
+
+
+
+### 前端
+
+#### jQuery 技术内幕| 高云
+
+> 非常棒的一本书,大大降低了阅读jquery源码的难度(虽然还是非常难)。
+
+
+
+#### Head First HTML与CSS(第2版)
+
+> 翻了非常久的时间 断断续续 其实从头翻到尾 才发现一点都不难。
+>
+> 可我被自己的懒惰和畏难情绪给拖累了 简单说 我成了自己往前探索的负担。网页基础的语法基本都涵盖了 限于文本形态 知识点都没法像做题一样被反复地运用和复习到。通俗易懂 这不知算是多高的评价?
+>
+> 作为入门真心算不错了 如果更有耐心 在翻完 HTML 后 对 CSS 部分最好是可以迅速过一遍 找案例练习估计更好 纸上得来终觉浅 总是这样。
+
+
+
+#### JavaScript高级程序设计(第3版)
+
+> JavaScript最基础的书籍,要看认真,慢慢地看,累计接近1000小时吧。而且对象与继承,性能优化,HTML5 api由于没有实践或缺乏代码阅读量导致看的很糊涂,不过以后可以遇到时再翻翻,或者看更专业的书。
+
+
+
+#### 深入理解ES6
+
+> Zakas的又一部杰作,他的作品最优秀的地方在于只是阐述,很少评价,这在帮助我们夯实基础时十分有意义,我也喜欢这种风格。
+>
+> 我是中英文参照阅读的,译本后半部分有一些文字上的纰漏,但是总体来说忠实原文,水平还是相当不错,希望再版时可以修复这些文字问题。
+
+
+
+#### 高性能JavaScript
+
+> 还是挺不错的。尤其是对初学者。总结了好多程序方面的好习惯。
+>
+> 不过对于老手来说,这些常识已经深入骨髓了。
+
+
+
+#### 深入浅出Node.js|朴灵
+
+> 本书是我看到现在对Node.JS技术原理和应用实践阐述的最深入,也最全面的一本书。鉴于作者也是淘宝的一位工程师,在技术总是国外好的大环境下,没有理由不给本书五颗星。
+>
+> 作者秉着授人于鱼不如授人于渔的精神,细致入微的从V8虚拟机,内存管理,字符串与Buffer的应用,异步编程的思路和原理这些基础的角度来解释Node.JS是如何工作的,比起市面上众多教你如何安装node,用几个包编写一些示例来比,本书绝对让人受益匪浅。
+>
+> 认真看完本书,几乎可以让你从一个Node的外行进阶到专家的水平。赞!
+
+
+
+#### Vue跟React的技术栈的书不多,很多也是官方文档的照搬照抄,我觉得看官网吧哈哈。
+
+### 非技术类
+
+#### 失踪的孩子
+
+> 整本书的能量太密集了,像一个源源不断喷发的火山,读完怅然若失。最后几页,莱农从时间中回望,生命的真相被自己毫不留情的剖白,而即使是这样的时刻,她依然能再次在对莉拉的爱和嫉妒中被激发开始进行她最为重要、最可能留在时间之中的作品的创作,如此的勇气,诚实和坚韧……反正我已经喜欢她了。
+>
+> 而莉拉依然是个迷。她和莱农是相反的人,莱农会攫住一切填充自己,去成为,但莉拉对任何事情的投入都不会滋养自身,而是燃烧掉自己的一部分。
+>
+> 她的激情,超越一切的理解和视野与她的情绪化,她的恐惧,都让人困惑。莉拉是所有人的镜子,任何人在她面前都不得不面对自己;同时,是不是没有人,或者说莉拉没有允许任何人了解她?因为她在与外界和自己的对抗中也未能真正看见自己?
+
+
+
+
+
+#### 人生|路遥
+
+> 想着和平凡的世界一个调子,都是乡村,都是文革的尾巴,都是那点家长里短绝对真实。
+>
+> 我总觉得那是作者的真实写照,一切都是从自己的记忆中提炼出来的故事。
+>
+> 只不过根据高加林我总在思考劳动人民是否应该有文化,有文化了以后就开始痛苦,开始怀春悲秋,开始事逼,开始怨天尤人。
+>
+> 知识分子那些臭毛病显露无疑。
+
+
+
+
+
+#### 丝绸之路 | 彼得·弗兰科潘
+
+
+
+> 书的颜值很高,厚厚的大开本,包装和纸张都不枉自己百元大洋。书名虽叫【丝绸之路】,但是读后发现其实是以中东为针,一路串起亚欧大陆各个文明两千多年间所发生的故事。
+>
+> 从史实、文化、宗教、政治、权力、金钱等多方面论述了以中亚和欧洲为主的发展史,信息量非常的大。每个章节的标题都用四个字直接道出当前世界的核心驱动,比如基督之路、铁蹄之路、西欧之路、纳粹之路、争霸之路。
+>
+> 视野广阔,大开大合,时间跨度可算是穿越千年中东。美中不足的是,中国作为丝绸之路东段上最为重要的国家,描述的篇幅却很少。
+
+
+
+#### 我的天才女友 | 埃莱娜·费兰特
+
+> 来自意大利作家的小说,“那不勒斯”四部曲的第1部,讲述了两个女主人公莉拉和埃莱娜的少女时代。
+>
+> 相比七月与安生,跨度更大,情节也要丰富很多,但是作为一个男性阅读角度似乎get不到小说所评价那样优秀的点,代入感很好,时间已经过去好久,现在留在记忆中的还是如西西里的美丽传说般暖色调的意大利小镇上有两个小女生在平淡的生活。
+
+
+
+
+
+#### 长安十二时辰 | 马伯庸
+
+> 开年第一单,阅读体验非常的好,完全是美国个人主义英雄大片的大唐版,而主人公张小敬身上却有着更多的坚忍和矛盾,中间有个片段,讲檀棋在元宵灯会的街上跟着张小敬,在万千盏灯笼一齐高高烛起,光彩明耀,火树银花中,看张小敬的背影显得很是落寞。
+>
+> 读完之后,这一幕仍然记忆犹新,靠整个故事的支撑,这一幕真的完全可以体会到落寞二字。
+>
+> 书中很认真的说了一些长安的城建和大唐的民俗,管制,可以看出来为了写出这本书,亲王的确是花费了不少心思的,很佩服。
+>
+> 一本非常非常适合改编成电影的小说(事实上也的确正在拍摄),值得推荐。
+>
+> ps:2019年同名电视剧已经上线了…
+
+
+
+#### 布谷鸟的呼唤 | J·K·罗琳
+
+> 大概三年前买的,今年回家整理新书架的时候发现了它,就带回杭州了。
+>
+> 故事情节比不上哈利波特,但是文笔是真的没得说,毕竟是能写出来哈利波特的人。
+>
+> 作为推理小说,怕是不及格,但是把它作为犯罪小说之类的非类型小说来看的话,其实阅读体验还是可以的。
+
+
+
+#### 欧洲:1453年以来的争霸之路 | 布伦丹·西姆斯
+
+> 自文艺复兴之后,欧洲开始渐渐的走进地球文明的舞台正中心。
+>
+> 读到中间德意志民族的内政被周边国家的各种干涉,感觉德国和我们的兔子一样,是个多难的民族,所以统一之后思想家才会这么多,一战二战的德国,如果用兔子的一句话概括,我们走了一些弯路。
+
+
+
+
+
+#### 房思琪的初恋乐园 | 林奕含
+
+> 正如文前李银河所说,林奕含属于老天爷赏口饭的那种人,非常有才华的、有灵气的一位年轻作者。我们应当感激,不用亲身经历,就可以看到世界的背面,难以想象出林每次去回忆,然后再去一步一步的描述出当时的心理活动,此间的痛苦。
+>
+> 最后,书中的话:忍耐不是美德,把忍耐当成美德是这个伪善的世界维持它扭曲的秩序的方式,生气才是美德。
+
+
+
+#### 毛泽东传 | 迪克·威尔逊
+
+> 来自英国人的传记,可以当做记事表,而且就算有一些主观评价在里面,作为外国人难免有偏差,也不可信,毛公当称之为我等民族力挽狂澜第一人。
+
+
+
+#### 半小时漫画世界史 | 陈磊
+
+> 和上一本中国史一样,阅读体验很轻松,如果是对这段历史毫无概念的话,真的砸墙推荐。但是如果是要有了一定的知识储备的话,那就没啥意思了,半小时也别指望能讲多深了。
+>
+> 巴黎和罗马真的是太值得去一次的了。
+
+
+
+
+
+#### 欧洲现代史:从文艺复兴到现在 | 约翰·梅里曼
+
+> 耶鲁大学历史教授的课堂讲义,采用的是国别和编年混合风格,顺着历史发展的脉络逐一展开,又不失相互关联性,而不是简简单单的说几几年发生了什么,几月几日谁谁谁死了这些。
+>
+> 5个世纪中葡萄牙西班牙瑞典荷兰法国轮流崛起,俄国西化,德国统一,英国宗教改革,奥地利波兰土耳其相继衰落,文艺复兴,启蒙运动,航海时代,工业革命,世界大战,美苏冷战。
+>
+> 维多利亚女王拿破仑一世路易十四彼得大帝叶卡捷琳娜俾斯麦希特勒丘吉尔,当称人类群星闪耀时。
+
+
+
+#### 爱德华•巴纳德的堕落:毛姆短篇小说集1 | 毛姆
+
+> 屯了毛姆这么多书,这次才是第一次看。
+>
+> 书的纸张倒是很有意思,600多页,却很轻。故事读起来倒像是个老朋友再和你讲故事,叨叨叨的从夏威夷讲到南美洲,又从西海岸讲到东南亚,讲故事的水平非常的高,几乎都是几段字下来,就把人带到了故事场景中。最喜欢的两篇是爱德华•巴纳德的堕落,赴宴之前,和最后的译后记。
+
+
+
+#### 一句顶一万句 | 刘震云
+
+> 第八届茅盾文学奖获奖作品,叙事架构犹如一生二二生三三生万物绵绵不绝扩散开来,薄薄三百页,前后一百年,初看时以为《平凡的世界》,结局才发现是《百年孤独》,“生活是过以后,而不是过从前”。
+
+
+
+#### 生活的艺术家 | 李小龙
+
+> 来自李小龙的一本散文集,是的,就是那个李小龙。
+>
+> 很难想到那个在电影里面喊着啊哒~的他,大学是专修哲学的。书中的文章大都是对于生活和哲学的思考,可以看到那个在大荧幕前面一秒五踢啊哒啊哒的背后,是一个冷静、理性、智慧、通达的李小龙。“我无法教你什么,只能帮助你探求你自己。除此之外,别无他法。”
+
+
+
+#### 穷查理宝典 | 查理芒格
+
+> 查理芒格的思想集和演讲稿编,知识面跨学科,洞察力才能足够深,包括数学、物理、生物、历史、经济等这些硬学科,从而形成一个多学科的思维框架。
+>
+> 致富也不只是赚了多少钱那么简单,而是在道德品质、阅读能力和个人生活上全面提升的过程。应该专注于正在做的事情,多阅读,特别是传记,来和“伟人”交朋友,减少物欲,满足自己已经拥有的,不嫉妒别人。
+
+
+
+
+
+
+
+#### 汉密尔顿传 | 罗恩·切诺
+
+> 我只能说汉密尔顿,这个被印在美元上的人,人生只能用精彩至极来形容了。
+>
+> 书中详细介绍了汉密尔顿在独立战争、费城制宪、宪法批准、首届国会以及建国初期等不同历史阶段中发挥的巨大作用,尤其是建国之初,在一切都没有先例的情况下,汉密尔顿为奠定美国联邦的政治体制、经济秩序和金融体系做出了巨大的贡献——建立美国信用体系,建立联邦银行,建立联邦税收体系,建立海关,建立海岸警卫队,以及促进制造业发展等。
+>
+> 在这本波澜壮阔的自传的最后,本以为能写上一大段对他的盖棺定论,然而却很平淡随意的用他写给艾丽萨的一封信作为了结尾,可能是不再需要作者去告诉书前的人他该如何评价,历史已经给出了答案。
+>
+> “艾丽萨,你治愈了我此生因爱而生的伤痛。”
+
+
+
+#### 百年孤独|加西亚·马尔克斯
+
+> 久负盛名的大作,读完只能说,果然只有这种书才配得上诺奖。
+>
+> 先前看《霍乱时期的爱情》,印象最深的就是华丽魔幻文笔和细腻的心理活动描写,到这本《百年孤独》,震撼的目瞪口呆,怎么能有人写得出这样的小说。
+>
+> 只能说,无论怎么列必读书籍,都绕不开此书。
+
+
+
+#### 月亮与六便士
+
+> 毛大爷名气最具盛名的一本书,很易读的文学作品。
+>
+> 全篇小说都是从第一人称“我”的角度,对斯特里克兰德进行了主观的描写,从斯特里克兰德开始离家出走开始渐入佳境,毛姆在环球旅行中写作,以至于场景地点的代入感都非常强,带着读者登上塔希提岛上,在酒馆里和众人逐个聊起斯特里克兰德,“我”和读者一起,在一来一去的谈话中,了解到了这个天才最后的经历。后半生穷困潦倒的他在死的时候,肯定不会知道自己在死后的一个世纪,被称之为天才,画作也被收藏在美术馆作为镇馆之宝,流传百年。但他是自由的,没有遗憾的。
+>
+> 最后引用一段话,“只要在我的生活中能有变迁——变迁和无法预见的刺激,**我是准备踏上怪石嶙峋的山崖,奔赴暗礁遍布的海滩的**。”
+
+
+
+#### 股票作手回忆录|杰西·利弗莫尔
+
+> 被誉为百年美股第一人,杰西·利弗莫尔的自传,五美元起家,到日赚一亿美金的投机之路,可以看到利弗莫尔在小的时候就对数字有着非常人的敏感和对波动线的记忆力,十多岁只身一人远走纽约,更见其杀伐果断之气。全书并没有讲操作细节,但是传主的做事风格很值得研究,时机、独立思考、判断、知错能改、以及鳄鱼般的耐心。
+
+
+
+#### 万历十五年 | 黄仁宇
+
+> 一本表面上写历史,却涵盖当时的政治、经济、社会民俗、当世思想的大作,对中国历史上诸多王朝暗流下那道潜规则的分析和批判。格局之大,立意之高,实属罕见。
+>
+> 读罢全书,我们明白明王朝的覆灭是必然的,而后的满清,只不过是改朝换代,骨子里与前朝无异,灭亡也是迟早的。
+>
+> 我们的身上被锁住了一个牢固的枷锁,丢在泥坑,都在挣扎,越来越烂。
+
+
+
+#### 第五项修炼| 彼得·圣吉
+
+> 前半部分理论,后半部分讲实战。捞干的来说,大局观的系统思考能力、增长极限和转移负担的自我超越能力、正向暗示的心智能力,拓展认知边界建立跨学科的思维架构能力。
+
+
+
+#### 海边的卡夫卡|村上春树
+
+> 卡夫卡,舒伯特,艾希曼,琼尼沃克,乌鸦少年,短毛猫语,竹筴鱼雨,肠子迷宫,夏目漱石,雨月物语,俄狄浦斯。在这个世界上,不单调的东西让人很快厌倦,不让人厌倦的大多是单调的东西。
+>
+> 我的人生可以有把玩单调的时间,但没有忍受厌倦的余地,而大部分人分不出二者的差别。
+>
+> 孤独因你本身而千变万化。
+
+
+
+#### 白夜行|东野圭吾
+
+> 把小说写成这样绝对是开挂了吧,除了连番登场的几十号人物,随处雕琢的大时代的背景也让人叹为观止。对人性的挖掘比起吉田修一还是弱一些,就是纯好看,从第一句开始吸住你逐渐往往里掉。
+
+
+
+#### 嫌疑人X的献身|东野圭吾
+
+> 这个社会 每一个人都是时钟上的齿轮,为了自己的意愿,也不该牺牲掉他人,哪怕那是出于爱,一个错误尚且为错,付出更大的努力用更大错误也扭转不了的,
+>
+> 这毕竟不是数学的负负得正,逻辑之所以没法解决罪恶的问题,只因为最初就规避了人性。
+
+
+
+#### 追风筝的人|卡勒德·胡赛尼
+
+> 为什么忠诚善良的人反而遭到这样的结局,面对阿米尔的污蔑,他和阿里选择离去。
+>
+> 当房屋需要他时,他又毅然决然的选择坚守,为了阿米尔能够得到父亲的赞许,哈桑却受到那样的凌辱,换来的却是懦弱的阿米尔的回避,身份,阶级,好可笑的头衔,生命与忠诚在那些虚无的名誉不值一提。
+>
+> 犹如草芥浮萍....
+
+
+
+
+
+#### 恋情的终结 | 格雷厄姆
+
+> 现在看的小说都不多了,而爱情小说更是少之又少,但幸运的是,这本和上一本霍乱时期的爱情一样,都是不可多得的大师之作。
+>
+> 小说情节简单来说就是爱上了个有妇之夫,然后阴差阳错私奔失败,接着分道扬镳直到多年之后的偶遇,最后女主患病而亡。
+>
+> 但文笔是真的细腻到不敢相信是个男人写的,书里穷尽了爱情中所有狂热的情感,狂热的爱,狂热的恨,狂热的猜疑,狂热的嫉妒,狂热的占有。
+
+
+
+#### 龙族I-IV|江南
+
+> 我十六岁的时候,看《缥缈录》,心中念着那个拿着虎牙枪的少年。
+>
+> 如今我二十三岁了,看《龙族》,面对一堆白烂中二的吐槽不知所措。
+>
+> 就像拿枪的少年穿起了风衣,救美的英雄接受了金币。我看着商业化写作对一个作者的侵蚀和改变,这让我觉得难过极了。
+
+
+
+#### 三体I-Ⅲ|刘慈欣
+
+> 《三体》就是那种让你在读完三部之后掩卷抬头,感觉眼中的世界都从此不一样了的书。
+
+
+
+#### 流浪地球|刘慈欣
+
+>觉得文笔胜于三体,且惊觉是三体之前的作品。
+>
+>对于其中地球变轨后的生态变化仍存在疑惑,那段地球与木星擦肩表现力强,不错的作品。
+
+
+
+#### 全球通史
+
+> 这种时间跨度如此之长的,有之前的《丝绸之路》和《人类简史》,但是无论是整体行文的架构、视野的宽度、以及分析思考的深度上来说,此书都要比这两本要优秀得多,尤其是到一战之前的部分。
+>
+> 幸亏之前大量零碎的知识点做背书,再遇此书建立整体体系,穿针引线,才有所体会到书前序中的"思接千载,视通万里"之感。
+
+
+
+#### 程序员的自我修养|俞甲子 / 石凡 / 潘爱民
+
+> 讲的不错,将硬件与系统、机器层与实现层整合了起来,有了一个很清晰的视角。
+
+
+
+#### 颈椎病康复指南|董晓俊
+
+> 出来打工不容易,大家照顾好自己。
+
+
+
+#### 活着|余华
+
+> 为啥安利这个,大家懂就好了
+
+
+
+#### 我们一无所有|安东尼·马拉
+
+> 艺术让我们不因真实而亡故,结构相当特别,像是在看电影。
+>
+> 讲述从苏联联邦到新俄罗斯近80年历史车轮下一些动人心魄的小人物微尘。
+>
+> 语言克制、平静,读来却十分疼痛,或是戏谑嘲讽像是苦中求乐,非常喜欢。
+
+
+
+### 总结
+
+其实我觉得在我们现在这个浮躁的社会,大家闲暇时间都是刷抖音,逛淘宝,微博......他们都在一点点吞噬你的碎片时间,如果你尝试着去用碎片的时间看看书,我想时间久了你自然能体会这样的好处。
+
+美团技术团队甚至会奖励读完一些书本的人,很多公司都有自己的小图书馆,我觉得挺好的。
+
+
+
+我现在也认识很多作者,像程序员小灰,老钱这样的作者,都很不错,如果未来自己能达到写作的条件的话我也想写哈哈。
+
+至于我为啥不敢懈怠......三歪(java3y作者)在我对面我真的不敢有丝毫放松,每次闲暇之余我准备拿起手机玩耍的时候,看到他在看书,我默默的放下手机,就是这样的人在不断鞭笞着我。
+
+
+
+### 鸣谢
+
+自己技术群的小伙伴:很多书籍我没写进去,主要是记录被刷走太多了,我让大家私聊,结果都发群里了,我就懒得整理了,主要是没书评我没看过也不敢写。
+
+豆瓣小伙伴:很多我没有的书籍我都是找的豆瓣书评。
+
+阿里技术团队的小伙伴:文章有很多书评都是来自他。
+
+博文视点:对文末抽奖的赞助
+
+**其实很多好书我都没写到,一时想不到,大家有喜欢的也留言让更多朋友看到嘛,我有空会修改文章。**
+
+**还有就是本文主要的目的不是安利多少书,主要是想大家放下手机翻开你在角落积灰的书籍,你会发现里面有光的。**
+
+这周双十二有点小忙,年会的事情也紧锣密鼓的筹备着,我下周要是鸽了那......
+
+### 抽书!!!
+
+#### 书名:Java系统性能优化实战
+
+
+
+个人推荐理由:
+
+- 20多个优化技巧:说明Java性能优化的各种方法。
+
+- 30多个具有“坏味道”的代码片段:实战演练优化技巧。
+
+- 常用的高性能工具:以Caffeine、Jackson、HikariCP为例进行讲解,并对其高性能的原因做一定的源码解析。
+
+- 容易阅读的代码:从代码注释、代码分解和面向对象三方面讲解如何编写容易阅读的代码。
+
+#### 规则:
+
+抽两本,公众号「**三太子敖丙**」这个文章下面留言点赞排名前两位送两本,截止本周我发周报之前,公众号和掘金周六我会写周报。
+
+觉得概率不大?
+
+**月底会有一个文章抽30本书**,至于送啥书,贫穷的我得好好想想。
+
+
+
+## 点关注,不迷路
+
+好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是**人才**。
+
+我后面会每周都更新几篇一线互联网大厂面试和常用技术栈相关的文章,非常感谢**人才**们能看到这里,如果这个文章写得还不错,觉得「敖丙」我**有点东西**的话 **求点赞👍** **求关注❤️** **求分享👥** 对暖男我来说真的 **非常有用**!!!
+
+创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
+
+敖丙 | 文 【原创】
+
+如果本篇博客有任何错误,请批评指教,不胜感激 !
+
+------
+
+> 文章每周持续更新,可以微信搜索「 **三太子敖丙** 」第一时间阅读和催更(比博客早一到两篇哟),本文 **GitHub** [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 已经收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。
diff --git "a/docs/creative/\345\275\251\350\233\213.md" "b/docs/creative/\345\275\251\350\233\213.md"
index 3b463db..2395089 100644
--- "a/docs/creative/\345\275\251\350\233\213.md"
+++ "b/docs/creative/\345\275\251\350\233\213.md"
@@ -2,4 +2,8 @@
- 无论面对怎么样的失败,我决定再来一次。
-- 最高级的自律,享受孤独。
\ No newline at end of file
+- 最高级的自律,享受孤独。
+
+- 你要悄悄拔尖,然后惊艳所有人。
+
+- 如果父母还那么辛苦,那我们长大有什么用?
\ No newline at end of file
diff --git "a/docs/creative/\351\241\266\347\272\247\347\250\213\345\272\217\345\221\230\347\232\204\347\231\276\345\256\235\347\256\261.md" "b/docs/creative/\351\241\266\347\272\247\347\250\213\345\272\217\345\221\230\347\232\204\347\231\276\345\256\235\347\256\261.md"
new file mode 100644
index 0000000..39e68f9
--- /dev/null
+++ "b/docs/creative/\351\241\266\347\272\247\347\250\213\345\272\217\345\221\230\347\232\204\347\231\276\345\256\235\347\256\261.md"
@@ -0,0 +1,450 @@
+>
+>
+> 你知道的越多,你不知道的越多
+
+> 点赞再看,养成习惯
+
+> **GitHub**上已经开源 [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和指教
+
+## 前言
+
+这期是被人才群交流里,还有很多之前网友评论强行顶出来的一期,就是让我介绍自己常用的一些工具给他们安利一下,我一听很高兴呀,帅丙我这么乐于奉献的人是吧。
+
+主要是能水一篇文章就很开心,不过写下来发现花的时间完全不比写技术少,**点赞**!!!
+
+千万不要白嫖,**真香警告**⚠️。
+
+但是我在构思这篇文章的时候发现我贴个标题,然后发下软件信息会不会太乏味了,于是创作鬼才我呀,准备用一个产品的研发流程,是的就是**用这样的一个思路**去写这个工具集的介绍文章。
+
+因为读者很多还是学生,还有很多应届生,对一个需求的研发流程都不是很熟悉,还有可能对于以后自己需要使用到的工具都不是很熟悉,那我就一一罗列一下,帅丙我作为一个还算有点小经验的程序员都使用哪些工具呢?
+
+那下面就跟随**暖男**的脚步,走进**顶级程序员的百宝箱**吧(我所有的标题都是噱头就为了夸大其词,我是低级程序员,大家看了也不能吊打面试官,笑笑就好了)。
+
+**注意**:下面的软件我都是简单的介绍下是干啥的,因为太多了,真正的功能需要大家深挖的,能力允许的朋友下载正版,破解方法去Github [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 加我回复【**软件**】就好了。
+
+## 正文
+
+既然都说了**帅丙**是要用一个产品的研发流程角度去介绍软件,那我们先看看一个产品有哪些研发流程,帅丙就用自己接触的阿里系的研发流程举例了,这也基本上是互联网大厂的研发流程了,可能细节有出入,但是绝对大同小异。
+
+
+
+**Tip**:我从开发的视角去介绍的话我就会**跳过一些**软件,比如提出需求这个其实一般都是文档类的,**wiki**呀这样的形式。
+
+我就不介绍那种流程工具了,公司很多自研的,大家工作了再去熟悉也很快的。
+
+### 概要设计:
+
+**概要设计**,这个是大厂程序员需求下来之后基本上都会做的一步,不过看需求大小,可能很多小需求直接就**详细设计了**。
+
+很多不了解的同学可能会问,需要设计什么呢?为什么要设计呢?
+
+问得好,经常看我文章的都知道,**技术是把双刃剑**,你用了技术之后你是不是需要**列出他的优点缺点**,出问题之后的**解决方案**,还有**可能出现的问题**,**注意点**等等。
+
+这么是为了让你能有把控力,比如你用了个**Es**(**Elasticsearch**)你什么都不管你就是要接入它,你把他开发好了上线了,但是有啥坑你知道么?上线崩了怎么办?
+
+帅丙我做**Es**设计的时候设计被老大打回N次,不过成长真心大,对**Es**的了解也飞速进步。
+
+其实远远不止这些问题,这就是我们做设计的主要原因,也是大家工作里面能成长的途径之一,你以为大佬们的经验是怎么来的?
+
+##### 工具:Xmind/ProcessOn
+
+- Xmind官网地址: [https://www.xmind.cn](https://www.xmind.cn/)
+- ProcessOn**在线作图**地址:[https://www.processon.com](https://www.processon.com/i/5c349823e4b0db2e592c4847)
+
+> 我这里列举了两个工具,他们两个都可以做概要设计的脑图,我给大家看看我设计过的一些脑图,都是出自这两个软件。
+
+
+
+大家在学习,看书等等的时候做个脑图,我告诉你后面你复习还是干啥都**思路贼清晰**,而且**效率**瞬间**高**很多。
+
+### 详细设计
+
+小伙伴又要问了啥是详细设计呀**帅丙**?
+
+诶呀简单,见名知意嘛,概要设计是大概的设计,详细设计是详细的设计。
+
+我们研发的时候整个流程往往很复杂,如果你理解不对直接就写代码,最后容易造成返工,延期,加班,被骂,心情差,回家吵架,离家出走。。。
+
+**看到不做详细设计的后果了吧**,其实大家花点时间做详细设计很有必要,你思路完全清晰了,写代码那就是分分钟的事情,不是嘛?
+
+那再看看帅丙的一个小设计吧,之前文章中大量的流程图,时序图都来自它,**主要是这玩意还是在线的,都不用下载很方便啊。**
+
+详细设计的工具我用的就是**在线**作图神器:**ProcessOn**
+
+- 在线画图地址:[https://www.processon.com](https://www.processon.com/i/5c349823e4b0db2e592c4847)
+
+> 总之一句话很香,流程图、思维导图、原型图、UML、网络拓扑图、组织结构图、BPMN等等一应俱全
+
+
+
+### Ascilflow
+
+- 官网地址: [http://asciiflow.com](http://asciiflow.com/)
+
+> 进入网站后直接开画!网页上端是菜单,自行操作!
+
+
+
+
+
+### 研发
+
+这个关键了:**工欲善其事,必先利其器**
+
+想必大家都知道这个谚语吧,我就说一下我写代码要用到的软件吧。
+
+#### Intellij IDEA
+
+- 官网地址 : [http://www.jetbrains.com/idea](http://www.jetbrains.com/idea/)
+
+> 这个我想都不用我介绍了吧,Java的同学都耳熟能详了,有同学问为啥不用eclipse呀,我不作回答,但是我只能告诉你IDEA肯定是效率还有很多方面都要香的。
+>
+> 不过看个人习惯的哈,新同学还是推荐IDEA!!!
+
+
+
+#### WebStorm
+
+- 官网地址 : [http://www.jetbrains.com/webstorm](http://www.jetbrains.com/webstorm/)
+
+> 有知道同学要问了,帅丙这不是前端的开发工具么,为啥你要用,帅丙我呀全才来的呀,前端偶尔也写点的嘛,主要是js,vue,jq,还有丢丢React,不过最近帮三歪改前端居然是jsx有没有大佬救救我啊。
+
+
+
+### Visual Studio Code
+
+- 官网地址:[https://code.visualstudio.com](https://code.visualstudio.com/)
+
+> Visual Studio Code是一个**轻量且强大的跨平台开源**代码编辑器(IDE),支持Windows,OS X和Linux。内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装插件来支持C++、C#、Python、PHP等其他语言。
+
+
+
+#### PyCharm
+
+- 官网地址 :[http://www.jetbrains.com/pycharm](http://www.jetbrains.com/pycharm/)
+
+> 这个是python之前那次还记得我写代码大赛那期嘛,最开始就是用这个写的,平时学的时候也用用。
+
+
+
+#### Navicat Premium
+
+- 官网地址 :[https://www.navicat.com.cn](https://www.navicat.com.cn/)
+
+> 这个呀是数据库的可视化工具很香很好用,不过我们线上的表都是网页操作的,这个只能用来看看本地的开发表了,不过也是很有必要的,你SQL怎么都得本地跑一下没问题,才向DBA申请的嘛。
+
+
+
+#### Postman
+
+- 官网地址 :[https://www.getpostman.com](https://www.getpostman.com/)
+
+> 这个是接口调试的神器,单测比较繁琐的你可以试试这个嘛,不过很多接口还是只能写写单测,反正很香。
+>
+> 不过这个名字一看就是男生用的,那我们女生用啥呢?往下看
+
+
+
+#### Postwoman
+
+- 官网地址 :[https://postwoman.io](https://postwoman.io/)
+
+> PostMan一听就是男生用的,咋妹子们肯定要用最近开源的Postwoman啊,它是一款开源的 Postman 替代品
+>
+>
+>
+> 开源没多久优点如下:
+>
+> - 轻盈,可直接在线访问;
+> - 简约,采用简约的 UI 设计精心打造;
+> - 支持 GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH 方法;
+> - 支持验证;
+> - 实时,发送请求即可获取响应。
+
+
+
+#### GIt
+
+- 官网地址 :[https://git-scm.com](https://git-scm.com/)
+
+> 代码文档管理工具,版本控制工具,大家之后的代码基本上都是使用git做版本管理
+
+
+
+#### Maven
+
+- 官网地址 :[http://maven.apache.org](http://maven.apache.org/)
+
+> 目前帅丙用到Maven的主要功能是:项目构建、项目构建、项目依赖管理、软件项目持续集成、版本管理、项目的站点描述信息管理
+
+
+
+#### Gradle
+
+- 官网地址 :[https://gradle.org](https://gradle.org/)
+
+> Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。
+>
+> 它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。
+>
+> 这个跟Maven功能是一样的,但是两者语法不一样,而且我觉得版本控制的时候没Maven好使,有小坑,胜在语法简洁。
+
+
+
+#### Charles
+
+- 官网地址 :[https://www.charlesproxy.com](https://www.charlesproxy.com/)
+
+> 这玩意是个HTTP代理服务器,我用它的主要用法就是抓包!
+>
+> 都知道我是做电商的嘛,很多线上接口线上问题怎么排查呢,抓包看看数据呗。
+
+
+
+#### JMeter
+
+- 官网地址 :[https://jmeter.apache.org](https://jmeter.apache.org/)
+
+> Apache JMeter是Apache组织开发的基于Java的压力测试工具
+>
+> 是的就是用来压测的,你怎么模拟很多请求呀,就用它就对了。
+
+
+
+#### Dash
+
+- 官网地址 :[https://kapeli.com/dash](https://kapeli.com/dash)
+
+> Dash for mac是使用与Mac OS平台的软件编程文档管理工具,可以浏览API文档,以及管理代码片段工具。Dash自带了丰富的API文档,涉及各种主流的编程语言和框架。
+
+
+
+#### Devdocs
+
+- 官网地址:[https://devdocs.io](https://devdocs.io)
+
+> 上面那个的兄弟,但是这个不用下载,在线的
+
+
+
+#### DataGrip
+
+- 官网地址 :[http://www.jetbrains.com/datagrip](http://www.jetbrains.com/datagrip/)
+
+> DataGrip是JetBrains公司推出的管理数据库的产品,对于JetBrains公司,开发者肯定都不陌生,IDEA和ReSharper都是这个公司的产品,用户体验非常不错。
+>
+> 最开始我用它就单纯看同事在用很酷的界面,后面发现功能也香,高亮文本啥的,很多功能大家可以去挖。
+
+
+
+#### JVisualVM
+
+- 官网地址 :[http://visualvm.github.io](http://visualvm.github.io/)
+
+> VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。
+>
+> VisualVM可以根据需要安装不同的插件,每个插件的关注点都不同,有的主要监控GC,有的主要监控内存,有的监控线程等。
+
+
+
+#### Iterm2
+
+- 官网地址 :https://www.iterm2.com/
+
+> 这个是我做日志排查的客户端工具,也是支持很多配置,直接ssh上跳板机查看线上机器的状态等等,线上问题排查还是很有必要的。
+
+
+
+#### 网*有道词典
+
+- 官网地址 :[http://www.youdao.com](http://www.youdao.com/)
+
+> 有朋友要疑问了帅丙这是什么情况,鬼畜乱入么?
+>
+> 不是的,我们研发的时候很多单词不认识,或者命名的时候这个词汇的英文不知道还是很有必要查一下的,规范的命名是你成为顶级大牛的第一步,你命名都是A,B,C你代码review的时候,你的Leader会叫hr让你提交前回家过年的,马上过年了大家不要轻易尝试。
+
+
+
+#### Sublime Text
+
+- 官网地址 :[http://www.sublimetext.com](http://www.sublimetext.com/)
+
+> 这是个文本记录的工具,也可以用于写代码,但是我们有IDE了那就用来当日常琐事记录的工具,临时文档处理的工具也是可以的,反正还是很好用的。
+
+
+
+
+
+### 刚好最近呀人才群里的人才们都叫我安利一下我做笔记还有写博客的工具,说我排版好看。(我飘了)
+
+安排!
+
+#### 印象笔记
+
+- 官网地址 :[https://www.yinxiang.com](https://www.yinxiang.com/)
+
+> 这个可以说是陪伴我大学到现在的一个工具了吧,我数了下,上千文件了,我的生活琐事的记录,还有学编程之后的很多东西,我都是收录在里面的。
+>
+> 这个东西我就不和别的笔记比较了,因为我最开始就用的这个一直没换过,好不好用我说了不算的,大家下一个看看就知道了。
+
+
+
+#### Typora
+
+- 官网地址 :[https://www.typora.io](https://www.typora.io/)
+
+> Typora是我一直写Markdown的工具,好用到不行,还可以切换模式你敢信?打字机模式,专注模式,源码模式总有一个你的菜.
+
+
+
+#### Ipic
+
+- 官网地址 :[https://ipic.ca](https://ipic.ca/)
+
+> 图床我是配合Typora一起使用的大家Markdown是不是复制图片进来都是本地的地址,发到网上就会失效的,但是跟Typora搞基的这个工具他可以在你复制进来的时候直接传到网上了,你再去任何平台发表都可以随心所欲了。
+
+
+
+#### Md2All
+
+- 官网地址 :[http://md.aclickall.com](http://md.aclickall.com/)
+
+> 大家好奇我的markdown怎么这么好看呀,其实我写了markdown之后还转成了html的,用的也就是上面这个工具。
+>
+> 我写完也是在这里面进行排版然后发出去的,排版要花好久,忍不住给帅丙**点赞**。
+
+
+
+### 图像处理
+
+#### Adobe Photoshop CC 2019
+
+- 官网地址 :[https://www.adobe.com/cn/products/photoshop](https://www.adobe.com/cn/products/photoshop.html?promoid=PC1PQQ5T&mv=other)
+
+> Ps嘛大家都知道的,正常的图片处理啊用这个香,没事帮美女P下图,搞不好能找个女朋友(我又开始YY了)
+
+
+
+
+
+#### Adobe Premiere Pro CC 2019
+
+- 官网地址 :[https://www.adobe.com/products/premiere](https://www.adobe.com/products/premiere.html?promoid=PQ7SQBYQ&mv=other)
+
+> 这个可能是大家使用得最多的视频处理软件了吧,很好用!!!
+>
+> 功能全到无法令人呼吸,缺点就是学习成本有点大,入门很快,想成为大神需要大量时间积累。
+
+
+
+#### Adobe After Effects CC 2019
+
+- 官网地址 :[https://www.adobe.com/cn/products/aftereffects](https://www.adobe.com/cn/products/aftereffects/free-trial-download.html)
+
+> 不知道大家视频看得多么,很多视频的特效开场都是这个做的,下面也有一个我的demo。
+
+
+
+## 
+
+#### GIPHY CAPTURE
+
+- 官网地址 :[https://giphy.com/apps/giphycapture](https://giphy.com/apps/giphycapture)
+
+> 有时候大家文章不想用静态的图画去表达,想录制写代码的Gif动图,那这个软件是真的好使。
+
+
+
+#### 视频播放 KMPlayer
+
+- 官网地址 :[http://www.kmplayer.com](http://www.kmplayer.com/)
+
+> 其实帅丙我心中有个播放神器的,快播。
+>
+> 可惜了还没用多久,播播就夭折了,我会使用下面这个播放软件去播放我自己的视频。
+>
+> 因为很多格式电脑自带的可能不支持,我又喜欢剪辑视频,所以一直用它了。
+
+
+
+#### Iina
+
+- 官网地址:[https://www.iina.io](https://www.iina.io/)
+
+> 视频播放 同上
+
+
+
+#### DouTu
+
+- 官网地址 : [https://www.52doutu.cn/maker/1/?order=timedown](https://www.52doutu.cn/maker/1/?order=timedown)
+
+>大家是不是发现我之前的文章很多表情包,其实都是在线制作的。
+
+
+
+#### Carbon
+
+- 官网地址 :[https://carbon.now.sh/](https://carbon.now.sh/)
+
+> 帅丙之前的文章里面很多代码的图片都是这个网站生成的,很多样式可以选择,就很好看。
+
+
+
+#### CodeLF
+
+- 官网地址 :[https://unbug.github.io/codelf](https://unbug.github.io/codelf/#帅丙)
+
+> 这个网站有意思了,写代码不知道单词怎么命名就去这里查,他是GItHub的一个爬虫工具吧,看看大神的命名总是会有思路的吧。
+
+
+
+**注意**:上面的软件我都是简单的介绍下是干啥的,因为太多了,真正的功能需要大家深挖的,能力允许的朋友下载正版,破解方法去Github [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 加我回复【**软件**】就好了。
+
+## 总结
+
+其实比较香的工具还有太多了,我这里就不一一介绍了,其实有个很简单的办法,就是**问**,**学习**,**借鉴**。
+
+我就是这样的,我看Leader用的什么工具我就问他这是啥,好用不?怎么用?
+
+包括我写博客吧,其实才写了20多天,第一天准备写的时候我就直接问**三歪(Java3y)**,你用的什么开发工具呀,怎么用的呀,包括他主要发布的哪些平台呀,发布的时间段呀,我都直接问。
+
+他坐我对面,**迫于我的淫威**不得不和盘托出,主要是最近有个需求需要我帮他写代码哈哈。
+
+别人都这么多的经验下来了,软件**能差嘛**?而且使用过程中不会的**还可以问一下对方**,不香嘛。
+
+## 絮叨
+
+先看**人才交流群**的某个人才提的问题:
+
+
+
+**Tip**: **GItHub** [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 上有进群方式和个人联系方式,说实话在这个群,哪怕您不说话,光看聊天记录,都能学到东西(美团王炸,三歪(Java3y),并夕夕等的大佬都在)。
+
+不知道大家是否还记得我之前写的幂等这样的情况?
+
+就是下图这样的情况,我下单增减GMV先去看看这个流水有么,有就证明加过了,就直接返回,没有才继续下面的流程。
+
+
+
+他其实提的问题很好,因为我们日常开发都是**主从同步,读写分**离的,就是说我们可能加GMV加了但是我们操作的是主库,他需要将数据同步到从库,但是这个过程中他发生了延迟。
+
+那这个时候如果别的系统这个**订单号消息重试**了,你是不是又进来了,你去查询流水你发现没流水你以为没加,你执行加钱的操作,结果那条延迟的也好了,是不是就加了两次。
+
+正常开发中确实会有,但是主从延迟这个应该让**DBA**(**数据库管理员 Database Administrator**)去考虑的,但是呢我说过不能写有逻辑漏洞的代码嘛,其实很简单,把他放Redis嘛,设置一个30分钟左右的时间,这期间的重复消费都可以避免,要是延迟超过30分钟了那其实问题已经很大了,DBA会知道的。
+
+**这篇是吐血整理,大家好好食用,记得点个赞!👍**
+
+## 日常求赞
+
+好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是**人才**。
+
+我后面会每周都更新几篇《吊打面试官》系列和互联网常用技术栈相关的文章,非常感谢**人才**们能看到这里,如果这个文章写得还不错,觉得「敖丙」我**有点东西**的话 **求点赞👍** **求关注❤️** **求分享👥** 对暖男我来说真的 **非常有用**!!!
+
+创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
+
+敖丙 | 文 【原创】【转载请联系本人】 如果本篇博客有任何错误,请批评指教,不胜感激 !
+
+------
+
+> 《吊打面试官》系列每周持续更新,可以关注我的公众号「 **JavaFamily** 」第一时间阅读和催更(公众号比博客早一到两篇哟),本文**GitHub**上已经收录[https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily),有一线大厂面试点思维导图,欢迎Star和完善,里面也有我个人联系方式有什么问题也可以直接找我,也有人才交流群,我们一起有点东西。
diff --git a/docs/idea/idea.md b/docs/idea/idea.md
new file mode 100644
index 0000000..56673cf
--- /dev/null
+++ b/docs/idea/idea.md
@@ -0,0 +1,149 @@
+> 点赞再看,养成习惯,微信搜索【**三太子敖丙**】我所有文章都在这里,本文 **GitHub** [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 已收录,有一线大厂面试完整考点。
+
+昨天群里被的人文怎么破解,晚上洗完澡睡觉正准备睡觉的时候,米豆吵醒了我,说他的idea炸了。
+
+
+
+于是我让他搜我在公司写的破解文档,这个文档已经造福了很多同事了,我痛定思痛,觉得造福一下你们,但是我先说明,大家有能力的还是支持下正版,我只是觉得这个钱拿去洗脚香一点。
+
+## 开始破解
+
+今天破解的方法很简单,jar包破解的,先下载Jar包。
+
+
+
+ 破解包使用方法:
+
+ 0. 先下载压缩包解压后得到jetbrains-agent.jar,把它放到你认为合适的文件夹内。
+
+ 公众号回复【**idea**】获取网盘链接。
+
+ 1. 启动你的IDE,如果上来就需要注册,选择:试用(Evaluate for free)进入IDE
+
+ 2. 点击你要注册的IDE菜单:"Configure" 或 "Help" -> "Edit Custom VM Options ..."
+ 如果提示是否要创建文件,请点"Yes"。
+
+ 3. 在打开的vmoptions编辑窗口末行添加:-javaagent:/absolute/path/to/jetbrains-agent.jar
+ 一定要自己确认好路径(不要使用中文路径),**填错会导致IDE打不开**!!!最好使用绝对路径。
+ 一个vmoptions内只能有一个-javaagent参数。
+
+ 4. 示例:
+ mac: -javaagent:/Users/neo/jetbrains-agent.jar
+ linux: -javaagent:/home/neo/jetbrains-agent.jar
+ windows: -javaagent:C:\Users\neo\jetbrains-agent.jar
+
+ **注**:如果还是填错了,我帮你找到了目录:
+
+ ### Windows
+
+ All the files are located under this directory by default:
+
+ - **Windows Vista, 7, 8, 10:**
+
+ ```
+
-
-#### 超卖:
-
-但凡是个秒杀,都怕**超卖**,我这里举例的只是尿不湿,要是换成100个华为MatePro30,商家的预算经费卖100个可以赚点还可以造势,结果你写错程序多卖出去200个,你不发货用户**投诉你**,平台**封你店**,你发货就**血亏**,你怎么办?
-(没事看了敖丙的文章直接不怕)
-
-那最后只能**杀个开发祭天**解气了,秒杀的价格本来就低了,基本上都是不怎么赚钱的,超卖了就恐怖了呀,所以超卖也是很关键的一个点。
-
-
-
-#### 恶意请求:
-
-你这么低的价格,假如我抢到了,我转手卖掉我不是**血赚**?就算我不卖我也不亏啊,那用户知道,你知道,别的别有用心的人(黑客、黄牛...)肯定也知道的。
-
-那简单啊,我知道你什么时候抢,我搞个几十台机器搞点脚本,我也模拟出来十几万个人左右的请求,那我是不是意味着我基本上有80%的成功率了。
-
-真实情况可能远远不止,因为机器请求的速度比人的手速往往快太多了,在贵州的敖丙我每年回家抢高铁票都是**秒光**的,我也不知道有没有黄牛的功劳,我要Diss你,黄牛。杰伦演唱会门票抢不到,我也Diss你。
-
-Tip:科普下,小道消息了解到的,黄牛的抢票系统,比国内很多小公司的系统还吊很多,架构设计都是顶级的,我用**顶配的服务**加上**顶配的架构设计**,你还想看演唱会?还想回家?
-
-不过不用黄牛我回家都难,我们云贵川跟我一样要回家过年的仔太多了555!
-
-#### 链接暴露:
-
-前面几个问题大家可能都很好理解,一看到这个有的小伙伴可能会比较疑惑,啥是**链接暴露**呀?
-
-
-
-相信是个开发同学都对这个画面一点都不陌生吧,懂点行的仔都可以打开谷歌的**开发者模式**,然后看看你的网页代码,有的就有URL,但是我写VUE的时候是事件触发然后去调用文件里面的接口看源码看不到,但是我可以点击一下**查看你的请求地址**啊,不过你好像可以对按钮在秒杀前置灰。
-
-不管怎么样子都有危险,撇开外面的所有的东西你都挡住了,你卖这个东西实在便宜得过分,有诱惑力,你能保证**开发不动心**?开发知道地址,在秒杀的时候自己提前请求。。。(开发:怎么TM又是我)
-
-
-
-
-#### 数据库:
-
-每秒上万甚至十几万的**QPS**(每秒请求数)直接打到**数据库**,基本上都要把库打挂掉,而且你服务不单单是做秒杀的还涉及其他的业务,你没做**降级、限流、熔断**啥的,别的一起挂,小公司的话可能**全站崩溃404**。
-
-反正不管你秒杀怎么挂,你别把别的搞挂了对吧,搞挂了就不是杀一个程序员能搞定的。
-
-程序员:我TM好难啊!
-
-### 问题都列出来了,那怎么设计,怎么解决这些问题就是接下去要考虑的了,我们对症下药。
-
-#### 服务单一职责:
-
-设计个能抗住高并发的系统,我觉得还是得**单一职责**。
-
-什么意思呢,大家都知道现在设计都是**微服务的设计思想**,然后再用**分布式的部署方式**
-
-也就是我们下单是有个订单服务,用户登录管理等有个用户服务等等,那为啥我们不给秒杀也开个服务,我们把秒杀的代码业务逻辑放一起。
-
-单独给他建立一个数据库,现在的互联网架构部署都是**分库**的,一样的就是订单服务对应订单库,秒杀我们也给他建立自己的秒杀库。
-
-至于表就看大家怎么设计了,该设置索引的地方还是要设置索引的,建完后记得用**explain**看看**SQL**的执行计划。(不了解的小伙伴也没事,MySQL章节我会说的)
-
-单一职责的好处就是就算秒杀没抗住,秒杀库崩了,服务挂了,也不会影响到其他的服务。(强行高可用)
-
-#### 秒杀链接加盐:
-
-我们上面说了链接要是提前暴露出去可能有人直接访问url就提前秒杀了,那又有小伙伴要说了我做个时间的校验就好了呀,那我告诉你,知道链接的地址比起页面人工点击的还是有**很大优势**。
-
-我知道url了,那我通过程序不断获取最新的北京时间,可以达到**毫秒级别**的,我就在00毫秒的时候请求,我敢说绝对比你人工点的成功率大太多了,而且我可以一毫秒发送N次请求,搞不好你卖100个产品我全拿了。
-
-
-
-**那这种情况怎么避免?**
-
-简单,把**URL动态化**,就连写代码的人都不知道,你就通过MD5之类的加密算法加密随机的字符串去做url,然后通过前端代码获取url后台校验才能通过。
-
-暖男我呢,又准备了一个简单的url加密给大家尝尝鲜,还不**点个赞**?
-
-
-
-#### Redis集群:
-
-之前不是说单机的**Redis**顶不住嘛,那简单多找几个兄弟啊,秒杀本来就是读多写少,那你们是不是瞬间想起来我之前跟你们提到过的,**Redis集群**,**主从同步**、**读写分离**,我们还搞点**哨兵**,开启**持久化**直接无敌高可用!
-
-
-
-#### Nginx:
-
-**Nginx**大家想必都不陌生了吧,这玩意是**高性能的web服务器**,并发也随便顶几万不是梦,但是我们的**Tomcat**只能顶几百的并发呀,那简单呀**负载均衡**嘛,一台服务几百,那就多搞点,在秒杀的时候多租点**流量机**。
-
-Tip:据我所知国内某大厂就是在去年春节活动期间租光了亚洲所有的服务器,小公司也很喜欢在双十一期间买流量机来顶住压力。
-
-
-
-**这样一对比是不是觉得你的集群能顶很多了。**
-
-**恶意请求拦截**也需要用到它,一般单个用户请求次数太夸张,不像人为的请求在网关那一层就得拦截掉了,不然请求多了他抢不抢得到是一回事,服务器压力上去了,可能占用网络带宽或者把**服务器打崩、缓存击穿**等等。
-
-#### 资源静态化:
-
-秒杀一般都是特定的商品还有页面模板,现在一般都是前后端分离的,所以页面一般都是不会经过后端的,但是前端也要自己的服务器啊,那就把能提前放入**cdn服务器**的东西都放进去,反正把所有能提升效率的步骤都做一下,减少真正秒杀时候服务器的压力。
-
-#### 按钮控制:
-
-大家有没有发现没到秒杀前,一般按钮都是**置灰**的,只有时间到了,才能点击。
-
-这是因为怕大家在时间快到的最后几秒秒疯狂请求服务器,然后还没到秒杀的时候基本上服务器就挂了。
-
-这个时候就需要前端的配合,定时去请求你的后端服务器,获取最新的北京时间,到时间点再给按钮可用状态。
-
-按钮可以点击之后也得给他置灰几秒,不然他一样在开始之后一直点的。**你敢说你们秒杀的时候不是这样的?**
-
-
-
-#### 限流:
-
-限流这里我觉得应该分为**前端限流**和**后端限流**。
-
-**前端限流**:这个很简单,一般秒杀不会让你一直点的,一般都是点击一下或者两下然后几秒之后才可以继续点击,这也是保护服务器的一种手段。
-
-**后端限流**:秒杀的时候肯定是涉及到后续的订单生成和支付等操作,但是都只是成功的幸运儿才会走到那一步,那一旦100个产品卖光了,return了一个false,前端直接秒杀结束,然后你后端也关闭后续无效请求的介入了。
-
-Tip:真正的限流还会有限流组件的加入例如:阿里的Sentinel、Hystrix等。我这里就不展开了,就说一下物理的限流。
-
-#### 库存预热:
-
-**秒杀的本质,就是对库存的抢夺**,每个秒杀的用户来你都去数据库查询库存校验库存,然后扣减库存,撇开性能因数,你不觉得这样好繁琐,对业务开发人员都不友好,而且数据库顶不住啊。
-
-**开发:你tm总算为我着想一次了。**
-
-
-
-#### 那怎么办?
-
-我们都知道数据库顶不住但是他的兄弟非关系型的数据库**Redis**能顶啊!
-
-那不简单了,我们要开始秒杀前你通过定时任务或者运维同学**提前把商品的库存加载到Redis中**去,让整个流程都在Redis里面去做,然后等秒杀介绍了,再异步的去修改库存就好了。
-
-但是用了Redis就有一个问题了,我们上面说了我们采用**主从**,就是我们会去读取库存然后再判断然后有库存才去减库存,正常情况没问题,但是高并发的情况问题就很大了。
-
-这里我就不画图了,我本来想画图的,想了半天我觉得语言可能更好表达一点。
-
-**多品几遍!!!**就比如现在库存只剩下1个了,我们高并发嘛,4个服务器一起查询了发现都是还有1个,那大家都觉得是自己抢到了,就都去扣库存,那结果就变成了-3,是的只有一个是真的抢到了,别的都是超卖的。咋办?
-
-### Lua:
-
-之前的文章就简单的提到了他,我今天就多一定点篇幅说一下吧。
-
-> **Lua** 脚本功能是 Reids在 2.6 版本的最大亮点, 通过内嵌对 Lua 环境的支持, Redis 解决了长久以来不能高效地处理 **CAS** (check-and-set)命令的缺点, 并且可以通过组合使用多个命令, 轻松实现以前很难实现或者不能高效实现的模式。
-
-**Lua脚本是类似Redis事务,有一定的原子性,不会被其他命令插队,可以完成一些Redis事务性的操作。**这点是关键。
-
-知道原理了,我们就写一个脚本把判断库存扣减库存的操作都写在一个脚本丢给Redis去做,那到0了后面的都Return False了是吧,一个失败了你修改一个开关,直接挡住所有的请求,然后再做后面的事情嘛。
-
-#### 限流&降级&熔断&隔离:
-
-这个为啥要做呢,不怕一万就怕万一,万一你真的顶不住了,**限流**,顶不住就挡一部分出去但是不能说不行,**降级**,降级了还是被打挂了,**熔断**,至少不要影响别的系统,**隔离**,你本身就独立的,但是你会调用其他的系统嘛,你快不行了你别拖累兄弟们啊。
-
-
-
-#### 削峰填谷:
-
-一说到这个名词,很多小伙伴就知道了,对的**MQ**,你买东西少了你直接100个请求改库我觉得没问题,但是万一秒杀一万个,10万个呢?服务器挂了,**程序员又要背锅的**。
-
-Tip:**可能小伙伴说我们业务达不到这个量级,没必要。但是我想说我们写代码,就不应该写出有逻辑漏洞的代码,至少以后公司体量上去了,别人一看居然不用改代码,一看代码作者是敖丙?有点东西!**
-
-你可以把它放消息队列,然后一点点消费去改库存就好了嘛,不过单个商品其实一次修改就够了,我这里说的是**某个点多个商品**一起秒杀的场景,像极了双十一零点。
-
-## 总结
-
-到这里我想我已经基本上把该考虑的点还有对应的解决方案也都说了一下,不知道还有没有没考虑到的,但是就算没考虑到我想我这个设计,应该也能撑住一个完整的秒杀流程。
-
-(有大佬的话给敖丙点多的思路,去GitHub [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 上给我提,也有我的联系)
-
-最后我就画个完整的流程图给大家收个尾吧!
-
-
-Tip:这个链路还是比较简单的,很多细节的点全部画出来就太复杂了,我上面已经提到了所有的注意点了,大家都看看,真正的秒杀有比我这个简单的,也有比我这个复杂N倍的,之前的电商老东家就做的很高级,有机会也可以跟你们探讨,不过是面试嘛,我就给思路,让你理解比较关键的点。
-
-秒杀这章我脑细胞死了很多,考虑了很多个点,最后还是出来了,忍不住给自己**点赞**!
-
-(**这章是真的不要白嫖,每次都看了不点赞,你们想白嫖我么?你们好坏喲,不过我好喜欢**)
-
-## 总结
-
-我们玩归玩,闹归闹,别拿面试开玩笑。
-
-秒杀不一定是每个同学都会问到的,至少肯定没**Redis基础**那样常问,但是一旦问到,大家一定要回答到点上。
-
-至少你得说出**可能出现的情况**,**需要注意的情况**,以及对于的**解决思路和方案**。
-
-最后就是需要对整个链路比较熟悉,注意是一个完整的链路,前端怎么设计的呀,网关的作用呀,怎么**解决Redis的并发竞争**啊,**数据的同步方式**呀,**MQ的作用**啊。
-
-(提到MQ又是一整条的知识链路,什么异步、削峰、解耦等等,所以面试,我们还是不打没有把握的胜仗)
-
-### 流着泪说再见
-
-**Redis系列**到此是真的要跟大家说再见了,写了7篇文章,其实很多大佬的思路和片段真心赞,其实大家看出来了我的文章个人风格色彩特别浓厚,我个人在生活中就是这么说话的,也希望用这种风格把原本枯燥乏味的知识点让大家都像看小说一样津津有味的看下去,不知道大家什么感受,好的不好的都请给我留言。
-
-我这个系列的我会写到我**GitHub** [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 图中所有的知识点,以后就麻烦大家多多关照了,我写作的时间都是业余时间,基本上周末和晚上的时间都贡献出来了,我也是个新人很多点也没接触到,也要看书看资料才能写出来,所以有时候还是希望大家多多包涵。
-
-那我们下期见!
-
-下期写________________?
-
-不告诉你,哈哈!
-
-## 日常求赞
-
-好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是**人才**。
-
-我后面会每周都更新几篇《吊打面试官》系列和互联网常用技术栈相关的文章,非常感谢**人才**们能看到这里,如果这个文章写得还不错,觉得「敖丙」我**有点东西**的话 **求点赞👍** **求关注❤️** **求分享👥** 对暖男我来说真的 **非常有用**!!!
-
-创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
-
-敖丙 | 文 【原创】【转载请联系本人】 如果本篇博客有任何错误,请批评指教,不胜感激 !
-
-------
-
-> 《吊打面试官》系列每周持续更新,可以关注我的公众号「**JavaFamily**」第一时间阅读和催更(公众号比博客早一到两篇哟),本文**GitHub**上已经收录[https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily),有一线大厂面试点思维导图,欢迎Star和完善,里面也有我个人联系方式有什么问题也可以直接找我,也有人才交流群,我们一起有点东西。
-
-
\ No newline at end of file
diff --git "a/docs/redis/\350\257\276\344\273\243\350\241\250\346\200\273\347\273\223.md" "b/docs/redis/\350\257\276\344\273\243\350\241\250\346\200\273\347\273\223.md"
deleted file mode 100644
index 278dd85..0000000
--- "a/docs/redis/\350\257\276\344\273\243\350\241\250\346\200\273\347\273\223.md"
+++ /dev/null
@@ -1,63 +0,0 @@
->
->
-> 你知道的越多,你不知道的越多
-
-> 点赞再看,养成习惯
-
-> **GitHub**上已经开源 [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily) 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和指教
-
-## 絮叨
-
-本来是没这期的,按道理更新也应该是在周一更新**消息队列**的幂等,分布式事务相关的文章,但是这篇**暖男**我**实在忍不住了**,不是发自己的文章,是帮**课代表**发一下,她本科是**北京交通大学**,也是**电子科技大学**的研究生。
-
-**她**看了我的系列,做了个**笔记**📒,我一看,**偶买噶 !**。
-
-**这是什么仙女啊**,这是我**第一次**有这种感觉,这笔记有着前**所未有的新鲜感**,细节的勾勒,让整个笔记更显出**奥妙.**...有些**不太成熟的话语**,跟我文章的**骚气**十分搭配,将**Redis**的性能衬托的更为出色,这才呈现出完美的**课代表笔记**。
-
-这也是我第一次看到看个渣男的文章都做笔记的,这笔记让我有了初恋的味道,这我以后可得好好写了,不然**辜负**了**课代表这样认真的妹子**,到时候到杭州来找我:敖丙你个**渣男**乱写,害我没拿Offer! **我要杀了你**!
-
-我也不多BB了不影响大家食用了,**课代表**说了以后我写的**其他技术栈的笔记**一样会贡献出来,代价就是要嫁给我,呸呸呸,代价就是我以后帮他介绍大厂朋友内推下,看看简历呀,解答下职场问题啊什么的。(根本就是举手之劳啊,我血赚?)
-
-我一听我不能忍啊,我**气得拍桌子**,不行你以后不懂的知识点我包了,我也不懂的咳咳我看完书再包?
-
-哈哈开玩笑的,总之**课代表的精神**大家包括我都应该好好学学,这种人活该她拿**SSP**的Offer。
-
-**Tip**:SSP (Special Offer 优秀生源Offer渠道 )
-
-
-
-能总结得这么全面连我都忍不住**点赞**了!
-
-## 总结
-
-里面很多细节的点还是需要完善的,课代表最近上课很忙帅丙我呢除了周末也没时间,不过会不断完善到GIt的,大家也可以去公众号回复「**课代表**」获取思维导图原稿。
-
-其实我真的很欣赏课代表这样的精神的,她这样的举动**触动了我**,想想自己大学时候的样子,我忍不住给了自己两嘴巴子,我但凡有课代表一半的努力都不至于沦落到今天这样,等我冷静下来,走到了窗边,眺望头上若影若现的月亮,**我的眼角又湿了**!
-
-## 花絮
-
-人才群里的人才真的都是**人才**,一周两更**高产似母猪**了我都,还天天**催更**不过我也认了,**课代表**进去差点把人家吓走,**这么好的课代表**吓走了我哪里找第二个?
-
-**GitHub**上有我联系方式和入群方式 [https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily)
-
-
-
-
-
-## 日常求赞
-
-这期本来不想求赞的,但是我一想是**课代表**写的大家是给她赞,不是给我赞呀。
-
-好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是**人才**。
-
-我后面会每周都更新几篇《吊打面试官》系列和互联网常用技术栈相关的文章,非常感谢**人才**们能看到这里,如果这个文章写得还不错,觉得「课代表」**有点东西**的话 **求点赞👍** **求关注❤️** **求分享👥** 对暖男我来说真的 **非常有用**!!!
-
-创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
-
-敖丙&**课代表** | 文 【原创】【转载请联系本人】 如果本篇博客有任何错误,请批评指教,不胜感激 !
-
-------
-
-> 《吊打面试官》系列每周持续更新,可以关注我的公众号「 **JavaFamily** 」第一时间阅读和催更(公众号比博客早一到两篇哟),本文**GitHub**上已经收录[https://github.com/JavaFamily](https://github.com/AobingJava/JavaFamily),有一线大厂面试点思维导图,欢迎Star和完善,里面也有我个人联系方式有什么问题也可以直接找我,也有人才交流群,我们一起有点东西。
-
-
\ No newline at end of file