学习资源汇总

前言

看过我的Chrome书签的小伙伴都知道,里面全部都是文件夹,每个文件夹里面都是大大小小的收藏的网站和二级文件夹,里面分了26大类和一些二级的类别,逐渐感觉比较臃肿庞大,除去少部分个人喜好的文件夹,剩下的全是技术网站的收藏,这也就是我创建博客的目的(一开始挺抵触的)。

在整理我所学习过的网站中,收藏的都是非常有用的一些技术文档和工具网站以及学习网站,由此萌生出一个想法,将这些非常有用的一些网站收集起来,加以分类,然后制作成超链接形式。方便自己和方便大家学习。

汇总状态:

持续更新中......

如果你想提供学习资源网址,可以在下方评论,我看到会更新~ 😁

汇总

人无完人,一个人的时间和经历终究有限。学海无涯,只有不断向前跑和不断总结,才能取得非凡成就。站的更高,看得更远,我们因为拥有前辈无数人的积累,计算机行业的发展才有如此迅速,才有现在各种技术萌芽和长大。但不要忘了,就算是多么伟大的技术的产生,都脱离不开基础算法和与或非门的逻辑元件和背后的设计思想,那才是人类文明的结晶。

开发语言

C/C++(cpp)

编译器

Java

一个就够了。基础看W3Cschoolrunoob。进阶看书和刷题(见算法)

  • Jdk8 API文档 https://docs.oracle.com/javase/8/docs/api/
  • java IO netty mina akka grizzly socket
  • java 排查工具 jps, jstack…
  • 高阶搜索关键词:
    • 垃圾回收机制
    • Java代理模式
    • java反射机制
    • Java注解
    • 依赖注入、泛型原理、解析与分派
    • Java内核、内存模型
    • IOC/AOP
    • 多线程、各种锁
    • JVM内存模型、内存优化,内存泄漏排查,OOM、JMM、volatile, 100% CPU 排查
    • CPU过高处理
    • 类加载器
    • Hashmap, HashTable, ConcurrentHashMap底层实现原理

Python

简洁的代码和超快的开发速度。Python2已经不维护了,不要使用了。学完基础,看官方文档,然后就可以做自己喜欢的事情了。

爬虫

  • requests
  • Selenium(无头浏览器)
  • lxml
  • Beautiful Soup
  • Scrapy
  • cola
  • PySpider

科学计算

  • numpy
  • Scipy
  • matplotlib
  • pandas
  • tensorflow
  • Anaconda

Web应用开发

图形界面应用开发

  • PyQt

3D游戏

C#

Visual Basic

Javascript

DOM

BOM

ECMAscript

PHP

SQL

Go

Matlab

Assembly Language

  • debug程序

Kotlin

Lua

TypeScript

Julia

Erlang

软件工程(或相关概念性)

设计模式(使用场景)

  • 单例模式
  • 工厂模式
  • 适配器模式
  • 门面与状态模式

版本管理

git/svn

软件测试

分布式

负载均衡

前端

HTML+CSS

HTML5+CSS3

JavaScript

  1. Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。
  2. 常见特效、例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、弹出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。
  3. 正则表达式、排序算法、递归算法、闭包、函数节流、作用域链、基于距离运动框架、面向对象基础。

JQuery

Bootstrap

AJAX

JSON和JSON解析、数据绑定和模板技术、JSONP、跨域技术、图片预读取和lazy-load技术、JQuery框架中的AjaxAPI、使用Ajax实现爆布流案例额。

ES6

模块化

AMD设计规范、CMD设计规范、RequireJS,LoadJS、淘宝的SeaJS。

Node.js

Yeoman脚手架、NPM/Bower依赖管理工具、Grunt/Gulp/Webpack。

MVC/MVVM/MVW

Angular.js、Backbone.js、Knockout/Ember、React.js、Vue.js、Zepto.js。

HTML5移动端

Cordova:

WebApp/NativeApp/HybirdApp简介、Cordova简介、与PhoneGap之间的关系、开发环境搭建、Cordova实战(创建项目,配置,编译,调试,部署发布)。
Ionic:
Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,侧滑导航,选项卡)。

React Native:
React Native简介、React Native环境配置、创建项目,配置,编译,调试,部署发布、原生模块和UI组件、原生常用API。

HTML5+:
HTML5+中国产业联盟、HTML5 Plus Runtime环境、HBuilder开发工具、MUI框架、H5+开发和部署。

后端

以Java为主,其他语言的后端都在对应语言中介绍
从servlet到SpringCloud

servlet

struct2

tomcat web.xml

SpringMVC(Spring bean Spring Context, AOP, IOC)

SpringBoot

SpringCloud

数据库

第二范式,第三范式,星型模型,雪花模型,E-R模型
SQL执行顺序(from, join, where, having, order by, group by, limit )
inner join, left join

连接池(驱动)

  • JDBC
  • C3PO
  • durid

MySQL(索引)

Redis

  • redis持久化方式
  • key过期策略

Mongodb

neo4j

hive

hbase

网络

  • 四次挥手(第几次挥手, 最后一次ACK没收到怎么办)
  • TCP/UDP区别使用场景
  • TCP/UDP报文结构
  • 滑动窗口协议
  • socket
  • accept方法阻塞(Java和C++实现)
  • 长连接
  • keep-alive
  • time_wait状态
  • session token cookies
  • http、tcp/ip restful风格
  • 网络状态码( 200, 302, 404, 500)
  • 网络拓扑结构
  • epoll (水平触发/边缘触发)
  • HttpDNS / LocalDNS
  • DNS 导流

中间件

  • apache http
  • nginx
    反向代理,https配置
  • tomcat
  • rabbitmq
  • rocketmq
  • rpc框架
  • kafka
  • ribbon
  • feign
  • spring config
  • hystrix
  • dubbo
  • ZooKeeper
  • sentinel
  • nacos / eureka
  • netflix
  • spring stream

产品架构

要点,实现难点

  • 直播架构(广播风暴)
  • 秒杀系统(高并发,并发量,吞吐评估)
  • 多人协作在线文档(版本冲突等问题)
  • 微服务架构
  • 业务中台/数据中台,大中台,小前台
  • 同城容灾/异地容灾
  • 分布式架构(rpc远程调用, 分布式文件系统, 幂等性[业务幂等, 请求幂等], 分布式事务[AT, XA, SA, GA, TCC], 集群容错)

linux相关

  • linux信号机制
  • swap 分区

命令

  • ps -ef
  • kill -9
  • 端口号/进程互查
  • top/htop
  • 系统信息/硬件信息/网络信息( netstat / tcpdump / ipcs / ipcrm )
  • cat / nano / vi / vim / tail -f / head -n / grep
  • linux管道符
  • 文件 cd / pwd / . / … / ~ /

安卓开发

IOS开发

小程序开发

微信小程序

支付宝小程序

混合式开发

  • react native
  • 混合式开发平台

Windows客户端开发

  • PE文件(EXE、DLL、OCX、SYS、COM)结构

算法与数据结构

排序

复杂度(时间复杂度和空间复杂度)

常见排序

有序数组排序
二分法
拓扑排序

递归

搜索

  • 深度优先搜索
  • 广度优先搜索

哈希算法

GC算法

rpc有关

  • 流量调度的最短路径
  • 容错算法
  • 拥堵算法
  • 排名堆算法

分布式全局ID生成器(snowflake雪花算法)

数据结构

数组

  • 队列
  • 链表
  • 散列表?
  • 跳表?

  • 二叉树(前序, 中序, 后序遍历)
  • 红黑树
  • B+树
  • B-树
  • 字典树
  • 哈夫曼树

  • 最大堆/最小堆
  • 小顶堆

并查集

文件结构

  • json
  • yml
  • key-value
  • xml
  • protobuf?(谷歌?)
  • 公司笔记本记录了一个

编译原理(重构代码提示)

计算机组成原理

  • 进程/线程
  • 进程死锁
  • 多进程/多线程(python)
  • 协程(lua)
  • 伪线程(js)
  • 进程通信方式
  • CPU执行方式(调度)
  • PCB进程控制块
  • proc文件系统(linux)
  • 大小端
  • 文件描述符/文件描述表/文件指针/(文件流stream)读取返回FILE结构指针
  • 鸵鸟算法

虚拟技术

虚拟机

  • VMware

docker

k8s pod

事件驱动,服务编排无依赖,服务关联性解耦

信息安全

网络攻防

  • https 443
  • nmap kali
  • xss 攻击
  • dns欺骗
  • ddos

逆向工程

大数据(Hadoop生态)

Hadoop

机器学习

个性化推荐

知识图谱

区块链

硬件驱动开发

WEB 3.0

元宇宙

5G

开发板

树莓派

???32

游戏开发

xxx引擎

优秀Blog

论坛

开源代码库

工具网站

问题

  1. i++是不是原子操作?
  2. redis内存数据库共享内存吗?
  3. 10亿个数和10w个数求交集?(对小数组做hash, 遍历大数组)

待分类

make makefile

通用
https://www.runoob.com/
W3Cschool
掘金和思否
CSDN
bilibili
github,gitlab,码云
v2ex
stackoverflow
程序员都知道的GitHub:https://github.com/博客平台:https://segmentfault.com/博客平台:https://juejin.im/timeline菜鸟教程(前端):https://www.runoob.com/娱乐&学习网站:https://www.bilibili.com/v2ex(技术和工作):https://www.v2ex.com/查问题:https://stackoverflow.com/科技新闻资讯类:https://36kr.com/学习&娱乐:https://www.youtube.com/刷题:https://leetcode.com/刷题:https://www.lintcode.com/

文章作者: Shengyaqingfeng
文章链接: https://creazyboyone.github.io/StudySummary/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Shengyaqingfeng's Blog