十年铲码,八大致系超千篇数百万字技术笔记系列汇总(GitBook 悦享版)

十年铲码,八大致系超千篇数百万字技术笔记系列汇总(GitBook 悦享版)

十年铲码两茫茫,纵思量,却易忘;不觉笔者步入程序员已有十年。十年里一直浮沉沉沉沉,愈深刻,愈以为世界之大,宇宙浩瀚。十年之期,正巧笔者从阿里离开,重回 3D 打印制造业的怀抱,但愿能依托于设备优点逐步、真正构建分布式制造网络。十年里,笔者从最初的自我摸索、摔爬滚打,到进入华为、阿里这样的大厂,不断地完善对于完整的技术世界观的理解,而且尝试对于自我产品意识的启蒙。javascript

十年里,学的也不少,忘的也不少,现在发现本身仍是在许多技术的门槛处徘徊。从小愚钝,只能以笔代记,以勤补茁。洋洋洒洒百万字,数十万行垃圾代码,也是笔者存在过的痕迹。同时也是借此文对过去几年里的 TL(@Henry https://github.com/mjolnirjs)和小伙伴表示感谢,让我不断地体悟什么是以客户/用户为中心,将技术产品化,慢慢褪去过去的纯技术导向的思惟。人生有幸,与有趣的人,作有趣的事,下一个三年,依旧江湖再见。前端

文章指北

在这个知识大爆发的时代,笔者所见许多人面临的问题再也不是知识的匮乏,也不是缺少学习的动力、毅力或激情,而是在浩汤洪流之中迷失了方向,也无足够的承载知识的容器,终致学的越多,忘的越多,竹篮打水一场空。某熊的技术之路系列文章/书籍/视频/代码便是笔者为本身构建的知识围栏,也是笔者蹒跚行进于这条路上的点滴印记,包含了笔者做为程序员的技术视野、知识管理与职业规划,致力于提高开发者的学习效率与实际研发效能。java

目前笔者已有数十仓库千篇文章百万字,你能够在某熊的技术之路指北 ☯查阅详细的导航。能够前往 Awesome Lists 或者 Awesome-CS-Books 查阅分门别类的资料与书籍,抑或前往 Awesome MindMaps 查阅完整的知识体系、脉络与要点的脑图,或者 Awesome RoadMaps 了解不一样技术领域的进阶指南。最后,你还能够前往 Awesome Interviews 作最后面试前的准备,或者用常见的技术面试题去检验本身学习的结果。python

您能够经过如下导航来在 Gitbook 中阅读笔者的系列文章,涵盖了技术资料概括、编程语言与理论、Web 与大前端、服务端开发与基础架构、云计算与大数据、数据科学与人工智能、产品设计等多个领域:git

此外,你还可前往 xCompass 交互式地检索、查找须要的文章/连接/书籍/课程;或者在 MATRIX 文章与代码索引矩阵中查看文章与项目源代码等更详细的目录导航信息。最后,你也能够关注微信公众号:『某熊的技术之路』以获取最新资讯。程序员

Awesome MindMaps

Awesome ITCS MindMaps 是笔者全部系列文章、代码、项目中的知识系统的脑图形式的总结:github

  • 知识脉络

知识脉络

  • 知识要点

知识要点

Awesome RoadMaps

当咱们站在技术之路的原点,将来可能充满了迷茫,也存在着不少不一样的可能;咱们可能成为 Web/(大)前端/终端工程师、服务端架构工程师、测试/运维/安全工程师等质量保障、可用性保障相关的工程师、大数据/云计算/虚拟化工程师、算法工程师、产品经理等等某个或者某几个角色。在这个知识爆炸与终身学习/碎片化学习为主的时代,咱们面临的问题之一就是如何进行有效学习,不只能有效平衡广度与深度,而且能真正的积淀下来,提高本身的研发效能。于笔者而言,经常郁结于胸的就是如下三个问题:web

  • 应该学习什么?这是怎样的一个技术世界?存在着怎样的高峰与路径?
  • 如何克服遗忘带来的无效学习?
  • 如何再也不碎片化地学习?

究其根本,也就是须要拓展本身的知识广度,精进本身的知识深度,锤炼本身的编程能力。所谓知识广度,便是为实际问题选择合适的解决方案的能力,广义来讲也是眼界与格局的表现。它并不拘泥于某个技术方向或者行业领域,而须要对传统/流行的各种语言、工具、框架、库、服务等有必定的认识;可以明晰各个方案的优劣,并在较高的层次(High Level)描述相关原理。知识广度的拓展与保持须要创建在庞大的阅读量与知识沉淀能力上。在能力模型一节中,咱们从业务、团队、技术这三个维度,对技术人员的五个层次进行了梳理:面试

Awesome Lists 就为咱们准备了精而全的技术开发学习与实践资料索引,去芜存菁,去重留一;譬如其中的 Awesome WebSites 一文就为咱们推荐了值得阅读的资讯、博客等站点列表。知识广度的拓展也并不是一蹴而就之事,需得按部就班,从初窥门径,到登堂入室,最后融会贯通,当咱们感受乱花渐欲迷人眼,太多的碎片化知识反而使本身迷失方向之际,就能够前往 Awesome CS Books Warehouse,去深刻地阅读学习各个领域的精选书籍、课程等系统化的内容。算法

俗话说,好记性不如烂笔头,当咱们阅读的多了,天然也要开始记录;而笔者认为记录的开始就要有本身的知识体系。在本身的知识体系下随看随记、按期整理。惟有创建符合本身认知方式的知识图谱,才能有效地沉淀知识,明晰知识边界并进行不断地探索。上车伊始,笔者即致力于构建本身的 Awesome MindMaps,提供了软件工程通用、前端、后端、DevOps、测试、架构师、人工智能工程师等多领域的知识图谱、学习成长路线与面试必备内容,并在数年来不断维护与刷新。

笔者目前选择的是以 MarkDown 格式记录,而且将全部的笔记存放于 Github-文档札记以 Git 方式进行版本管理;编辑器是直接使用的 VSCode,移动端编辑的话也是用的 GitGo/WorkCopy 这样的 Git 应用。这些笔记便是笔者自身技术视野与认知的外化,也类比于外设之于内存,在须要的时候分页加载到脑海中使用,以应对这知识爆炸的时代。其中的典型表明,Awesome CheatSheets,对于平常开发中用到的相关知识的备忘录/清单进行总结, 适合快速掌握或者回顾某个语言/框架/工具的语法或使用要点。Tech Road, 个人技术之路是对于笔者多年学习与认知变迁的总结。

先贤有云,知行合一,知是行之始,行是知之成,Linus Torvalds 也曾提到: 'Talk is cheap. Show me the code.',在阅读与笔记以后,就是要开始实践编码。所谓编程能力,并不只仅是编写代码(Write Code)的能力,而是包含了阅读、编写、理解、重构、抽象等多个方面,是所谓的代码管理/掌控。其外在表现之一便是可以随时随地用合适的语言无阻塞地实现某些功能需求,对于常见的语法,接口,算法,设计模式等可以作到心随意动,信手拈来。编程能力是提高研发效能的重要保障,于笔者而言也是毕生应该追求的目标与爱好之一。笔者的编程能力较弱,平常开发,特别是在多语言多框架并用的场景下,每每会须要不断地中断,查找以继续工做,也是令我颇为苦恼。Coding Snippets 系列仓库,便是对笔者在编程语言、先后端编码过程当中经常使用的模板、模式等代码片、工具库的汇聚。

前文重在讨论如何拓宽技术视野、追寻技术的广度,可是须要铭记的是,技术深度才是技术广度的基石,正如中国自古以来经常使用道术之辩,知其然,也要知其因此然;亦如 Richard Feynman 所述:”What I cannot create, I do not understand.”。所谓知识深度,便是可以对某个方面作到深刻了解,而且达到融会贯通,洞若观火,能够为所欲为地加以扩展、优化、创新等改造或变换。这方面则更加的见仁见智,不一样的领域与方向对于深度的定义与挖掘方向也是千差万别。Reinvent Wheels 系列仓库便是笔者在先后端到基础架构中重造的轮子的汇总。

咱们须要本身去从零开始造些轮子,才能深入理解使用的框架/库/平台的内部原理,才能在碰到故障时快速地修复;在下文的几乎每一个章节中,咱们都会提到某些笔者自造的轮子。笔者目前将全部的文档归类到了不一样的系列中,每一个系列又分为 篇-章-节-小节 这样的层次结构。

相关文章
相关标签/搜索