同步操作将从 rd2coding/Road2Coding 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
自学之路漫又长,唯有不断总结,不断回味,不断分享,才能成长!
联系我可以【微信】私我
本仓库取名 r2coding,即 Road To Coding,意为「编程自学之路」,是自学编程以来所用资源和分享内容的大聚合。
旨在为编程自学者提供一系列:
- 清晰的编程自学路线
- 各编程岗位方向的知识点梳理
- 靠谱的资源
- 高效的工具
- 务实的技术文章
方便自己也方便他人。仓库内容会保持持续更新,欢迎收藏品鉴!
本仓库目前整理收录了6个大方向(岗位)的学习路线+知识点大梳理,分别为:
后续本仓库也会持续更新和增加更多方向岗位的学习路线...
详情链接 → 《Java后端开发学习路线+知识点大梳理》
注:图片上传后可能被压缩,如需无损版高清大图,可去微信公众号「CodeSheep」后台回复「后端开发」四个字获取即可
详情链接 → 《Java后端开发学习路线+知识点大梳理》
详情链接 → 《前端开发学习路线+知识点大梳理》
注:图片上传后可能被压缩,如需无损版高清大图,可去微信公众号「CodeSheep」后台回复「前端开发」四个字获取即可
详情链接 → 《前端开发学习路线+知识点大梳理》
详情链接 → 《大数据开发学习路线+知识点大梳理》
注:图片上传后可能被压缩,如需无损版高清大图,可去微信公众号「CodeSheep」后台回复「大数据」三个字获取即可
详情链接 → 《大数据开发学习路线+知识点大梳理》
详情链接 → 《嵌入式开发学习路线+知识点大梳理》
注:图片上传后可能被压缩,如需无损版高清大图,可去微信公众号「CodeSheep」后台回复「嵌入式」三个字获取即可。
详情链接 → 《嵌入式开发学习路线+知识点大梳理》
详情链接 → 《C/C++(偏后台)开发学习路线+知识点大梳理》
详情链接 → 《网络安全方向学习路线+知识点大梳理》
[!NOTE]
工欲善其事,必先利其器!
一个易上手、好用、高效的软件工具对于程序员工作效率的提升是不言而喻的,这些常用开发软件和工具比如:
- 基础的软件开发环境和设施
- 好用高效的在线工具和网站
- 本地常用的一些编程软件
- Linux操作系统
- 版本控制工具
- 高效的IDE和编辑器
- API管理工具/文档管理工具
- CI守护系统
- ...... 等等
接下来我们一项一项详细盘点。
[!NOTE]
程序员在平时的日常工作、学习、开发、做笔记、写博客等过程中还是有很多好用并且高效的在线工具推荐的,毕竟我们不是每时每刻我们都需要那种很重量级的本地软件。
下面将分成16个大类,共整理了约130+个常用的在线工具和网站供大家食用。
程序员经常接触的无非也就是流程图、思维导图、原型图、UML图、网络拓扑图、组织结构图等等这些。
下面这四个在线画图网站我想应该足够了,其中那个processon是我用得最多的,历史文章中几乎所有相关的图形都是用它绘制,然后导出图片的。
如果你也写文章,或者做视频,那就一定少不了要找素材,包括各种图片、背景、emoji表情、表情包、壁纸、视频、gif图等等。
如此一来,那些好用的在线素材工具就必不可少了,比如像各种表情包工具、icon图标库、矢量图库、图片素材库、壁纸库等等。
对于那些文章创作者和视频创作者而言,设计封面,做海报,设计LOGO,图片美化等等基本也是刚需。
这样大概率日常会用到一些简易好上手的在线设计制作类工具,比如在线P图、音/视频轻量化剪辑、logo制作、海报设计制作、图片美化、在线图片转换或生成等等,毕竟不是每时每刻我们都需要那种重量级的本地软件。
在我写文章的过程中经常会用到和写作相关的辅助工具,比方说:字数统计工具、Markdown格式的文章排版工具、图床网站、代码截图工具等等,所以下面这些在线工具就能很好地满足我的需求。
这部分在线工具主要用来处理一些和文档以及文稿相关的事情,经常用到的比如:在线的全套pdf处理和转换工具、各种各样多媒体文件间的相互转换工具、在线识别工具、在线压缩工具等等。
好记性不如烂笔头,作为一个学习者,我觉得记笔记是必不可少的步骤。当然现在基本都做电子笔记和电子文档比较多。
现如今各式各样优秀的文档工具和笔记软件鳞次栉比,好用的也有很多,整理成如下列表,这东西各有长处,使用哪个最合意还得看个人习惯和需求了。
这部分主要集中了我在做开发过程中随手参考所要用到的几乎所有在线教程和官方文档,有中文版文档的我基本都优先列出来了,但更多时候是英文的官方文档。
这里将常用软件分为了5大类,包括:
- 社交/娱乐/上网
- 办公软件
- 效率和美化软件
- UP主必备
- 程序员生产力工具
什么叫基础软件开发环境?
很好理解。学Java得要装JDK吧?学Python得要Python环境吧?学数据库得要MySQL吧?等等,这些在学习编程之前都是应该提前在自己的电脑上准备好的,而且尽量把全套都先备好,后面直接就用了。
经常听到有小伙伴反馈和提问有关编程环境搭建和基础软件设施安装的相关问题。
- 啥?JDK明明装了,为啥还是not found?
- 咦?Maven明明配了加速,咋下载依赖还这么慢?
- 诶?MySQL明明装了,咋Navicat连会报错?
- 哦?Tomcat咋出不来页面?......
每次都是照着网上现搜的帖子操作,一顿操作猛如虎,一看结果各种有问题,要不报错,要不环境起不来,等等。装个环境就浪费了很多时间,而且过了一段时间又忘,还得重新搜帖子,该踩的坑一个都不少...
既然大家有这方面需求,想来想去,关于这个问题,我还是决定写一个事无巨细的PDF文档,把所有编程环境和基础软件设施的安装过程给详细地记录下来了。
熬10天夜,我肝出了这个PDF版「编程软件(环境)安装手册」
内容包含常见基础开发环境和设施的安装部署,包括:
- Linux操作系统
- Git工具
- Java环境JDK
- Node基础环境
- Python基础环境
- Maven项目构建和管理
- MySQL数据库
- Redis缓存
- RabbitMQ消息队列
- Tomcat应用服务器
- Nginx Web服务器
- Docker环境
- Kubernetes环境
- Elasticsearch搜索引擎
- ZooKeeer环境
- Kafka消息队列
大家有需要的可以:点击此处 → 下载获取!
实际企业级开发和项目部署,大部分情况下基本都是基于Linux环境进行的,所以掌握常用的命令、配置、网络和系统管理、基本的Shell编程等尽量还是要熟练一些,对后续项目实践都大有裨益。
[!Note]
计算机基础是最最重要的! 即使后面的东西都没学(或者来不及学),基础部分是肯定需要完成的,这也是后面所有应用框架学习和做项目的基石;反之,在应用框架的学习或者做项目时如果感觉吃力,那就可能非常有必要回过头再来巩固对应的基础知识。
计算机基础的学习不是一蹴而就的,需要一定的反复和回炉才能做到真正的融会贯通,需要一个过程。珍惜每一次回顾和复习基础的机会,应扎实精进,步步为营。
那我们口口声声所说的编程基础(计算机基础)到底指是什么呢?
此处整理为六大方面:
语言在精不在多,切记!完全掌握了一门语言,上手其他的都不难!
基本功趣味学习(精讲)
多线程和并发
JVM虚拟机
数据结构和算法题对于程序员的重要性不言而喻。参加过笔试或者面试过的小伙伴应该知道,可以说这个东西某一程度上直接决定了面试的成败,现在的互联网公司技术岗面试,数据结构+算法题基本都是必选项。
除了几种基础数据结构类型得烂熟于心,基本的几大算法(或者说算法思想)也要了如指掌之外,参加求职前,不论是校招还是社招,非常有必要好好刷一刷LeetCode上的数据结构和算法题,以保持题感。
为什么一定要学好计算机网络?
原因很简单,因为计算机网络中的各种协议栈是当下繁荣的互联网通信的基石,尤其建议要牢固熟练地掌握TCP/IP协议栈。
学好操作系统有利于我们深入理解计算机底层,这样平时在遇到疑难杂症时,能够更容易看到问题的本质,并高效解决;另外操作系统里的很多优秀的设计思想、经典的架构、算法、思路也值得我们反复理解和思考,很多思想在平时的工作中也可以借鉴和运用。
计算机基础聊完了,接下来就是应用和实践的环节了。这部分通常会涉及到一些工具、编程环境、以及应用框架。
企业级开发不同于个人自学,出于可复用性、稳定性、开发成本、开发效率、质量保证等一系列因素的考量,不可能每一个功能、每一个组件都从0开始徒手造轮子,所以这时候各种应用框架和工具的出现就非常有帮助了。
其实框架讲白了就是别人经过多年迭代写好的一套工具、代码库、逻辑、亦或是流程,把原本都需要从0开始手写的基本功能和组件都给封装进去,用户只要符合框架约定的规则进行编码,或者调用框架提供的方法或者工具,就能快速拉起业务功能,创造实际经济价值。
所以框架的出现从不同的角度看也是有多面性的:对于企业级开发效率提升而言肯定是有帮助的,但是对于程序员个人思考编码能力提升却未必是好事,所以多注重基础、深挖原理,提升自身竞争力还是非常有必要的。
毫无疑问的是,对于上文提到的 「编程基础」 部分,有大量经典的书籍值得阅读,每一本都是大师们若干年经验的汇聚,所以学好编程基础,对于我们普通人来说,看书是一个非常直接有效的方式。
很多经典书看一遍可能远远不够,正所谓 「初看懵、再看迷、三看发现有点小意思」 讲的就是这个道理,这事急不得,而且有些东西的确需要一个反反复复的过程,有些甚至是在工作后的实践中才会遇到,所以珍惜每一次回炉重造的过程吧。
书籍资料推荐:
互联网开源教程推荐:
编程资源汇总和下载 → 点击查看
编程视频教程推荐 → 点击查看
该板块会持续更新各技术方向的求职面试题集合、面经、以及一些小伙伴的求职心得与经历感悟。
对于学习编程的小伙伴来说,网上有海量现成的宝贵视频学习资源可供食用。
所以该板块会持续甄选和更新互联网上那些优秀的、值得反复观看的技术视频教程。
该版块会持续更新那些优秀的编程资源,包括但不限于: 各种硬核的PDF笔记、软件包、技术手册、自制文档、题解解析、简历模板、面试题文档 等等。
前段时间我花了大把力气,把自用的编程学习资源做了个大整理。
都是纯肝货,目录如下,有需要的可以自取。
诚然,程序员应该重视代码,但眼里也不应该只有代码,很多代码之外的东西也很精彩。工作也是为了更好的生活,多看看身边的事,多关心身边的人,终究我们还是要回归到平凡的生活中
我们所热爱的,就是自己的生活!
咳咳。。。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。