资源
这里汇集了各个领域中整理的优质学习资源和实用工具,不论是编程与技术,还是人文与艺术,你都能在这里找到适合自己的内容。不论你是初学者,还是在追求多元知识的探索者,我都希望这些资源能为你的学习旅程带来启发和帮助。从深度教程到精选书单,从实用工具到开源项目。希望这些内容能助你高效学习,发现更多有趣的知识世界!✨
计算机科学导论
计算机科学速成课 - Crash Course Computer Science
计算机组成
陆俊林 计算机组成
CSE 351: The Hardware/Software Interface
操作系统
向勇 操作系统
6.828: Operating System Engineering
os-tutorial: How to create an OS from scratch
李治军 操作系统 哈工大操作系统实验手册 实验楼 操作系统原理与实践
数据库
SQL Tutorial for Beginners with MySQL
分布式系统
计算机网络
Computer Networking Tutorial: The Ultimate Guide
编译器
华保健 编译原理
Implementing a Regular Expression Engine
自己动手写编译器: 本书将介绍一个非常简单的编译器( TinyC 编译器)的实现,用简单和易于实现的实例来描述基本的编译原理及过程,希望能为学习编译原理的读者提供一些参考。
密码学
Christof Paar - Introduction to Cryptography
Frontend
Top 10 Frontend Frameworks of 2018
C
翁恺 C 语言程序设计
Introduction to C Memory Management and C++ Object-Oriented Programming
Tinyhttpd: Tinyhttpd 是 J. David Blackstone 在 1999 年写的一个不到 500 行的超轻量型 Http Server,用来学习非常不错,可以帮助我们真正理解服务器程序的本质。
json-tutorial: 从零开始的 JSON 库教程。
project-based-tutorials-in-c: A curated list of project-based tutorials in C
awesome-c: A curated list of awesome C frameworks, libraries, resources and other shiny things. Inspired by all the other awesome-… projects out there.
awesome-c: Continuing the development of awesome-c list on GitHub
C++
郑莉 C++语言程序设计基础 和 C++语言程序设计进阶
CS106X: Programming Abstractions in C++
CS106B: Programming Abstractions in C++ B 站观看
muduo: Event-driven network library for multi-threaded Linux server in C++11.
MyTinySTL: Achieve a tiny STL in C++11.
musikcube: a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++.
跟侯捷学 C++: 系统学习 C++知识体系。
sudoku: C++实现的跨平台数独游戏,命令行操作易上手,可以在开发间隙用来放松身心。数百行代码,初学者也可以轻松掌握。
LearnCpp.com: LearnCpp.com is a free website devoted to teaching you how to program in C++. Whether you’ve had any prior programming experience or not, the tutorials on this site will walk you through all the steps to write, compile, and debug your C++ programs, all with plenty of examples.
Learn OpenGL: Welcome to the online book for learning OpenGL! Whether you are trying to learn OpenGL for academic purposes, to pursue a career or simply looking for a hobby, this book will teach you the basics, the intermediate, and all the advanced knowledge using modern (core-profile) OpenGL. The aim of LearnOpenGL is to show you all there is to modern OpenGL in an easy-to-understand fashion with clear examples, while also providing a useful reference for later studies.
awesome-modern-cpp: A collection of resources on modern C++
Awesome C++: A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-… stuff.
C#
Learn C# by Building a Simple RPG: If you want to write a Role Playing Game, but don’t know how to program, or just want to learn how to program in C#, then you’re at right the place.
Python
c9-python-getting-started: Sample code for Channel 9 Python for Beginners course
CS 61A: Structure and Interpretation of Computer Programs
Let’s Build A Simple Interpreter
httpstat: httpstat 美化了 curl 的结果,使得结果更加可读。
500lines: 500 Lines or Less.
you-get: ⏬ Dumb downloader that scrapes the web
scrapydweb: Web app for Scrapyd cluster management, Scrapy log analysis & visualization, Auto packaging, Timer tasks, Monitor & Alert, and Mobile UI.
manim: Animation engine for explanatory math videos
scylla: Intelligent proxy pool for Humans™
wttr.in: ⛅️ The right way to check the weather https://wttr.in
spug: 开源运维平台:面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。
learn_python3_spider: python 爬虫教程系列、从 0 到 1 学习 python 爬虫,包括浏览器抓包,手机 APP 抓包,如 fiddler、mitmproxy,各种爬虫涉及的模块的使用,如:requests、beautifulSoup、selenium、appium、scrapy 等,以及 IP 代理,验证码识别,Mysql,MongoDB 数据库的 python 使用,多线程多进程爬虫的使用,css 爬虫加密逆向破解,JS 爬虫逆向,分布式爬虫,爬虫项目实战实例等。
Java
Introduction to Programming in Java
CS106A - Programming Methodology
Java Tutorial, Java EE Tutorials
JavaWeb 学习总结: 详尽的 JavaWeb 学习总结,Servlet/学习推荐阅读!
istock: 👉 一个基于 spring boot 实现的 java 股票爬虫(仅支持 A 股),如果你 ❤️ 请 ⭐️ . V2 升级版正在开发中!
vhr: 微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发。
toBeTopJavaer: To Be Top Javaer - Java 工程师成神之路
tech-weekly: 小马哥技术周报
web: 适合 java 新手入门练习的 java web 个人网站项目,目前主要维护 web-mysql 和 web-psql 两个分支。前台包括博客、代码库、文件下载、留言、登录注册、站内搜索、分类目录等功能,后台包括上传文件、博客、代码,编辑、删除文章,修改个人资料等功能,目前暂停开发新功能。
mall: mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现,采用 Docker 容器化部署。
halo: ✍ Halo 一款现代化的个人独立博客系统
jblog: 🔱 一个简洁漂亮的 java blog 👉 基于 Spring /MVC+ Hibernate + MySQL + Bootstrap + freemarker
SeimiCrawler: 一个简单、敏捷、分布式的支持 SpringBoot 的 Java 爬虫框架;An agile, distributed crawler framework.
spring-boot-examples: Spring Boot 教程、技术栈示例代码,快速简单上手教程。
SpringAll: 循序渐进,学习 Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客 Spring 系列源码。
My-Blog: 🌴:octocat:A simple & beautiful blogging system implemented with spring-boot & thymeleaf & mybatis My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
jsoup: Java HTML Parser
JavaGuide: 【Java 学习+面试指南】 一份涵盖大部分 Java 程序员所需要掌握的核心知识。
MusicPlayer: Desktop Music Player for Windows and Mac using JavaFX/Java 8
giffun: 一款开源的 GIF 在线分享 App,乐趣就要和世界分享。
symphony: 🎶 A modern community (forum/BBS/SNS/blog) platform implemented in Java. 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台。
cim: 📲cim(cross IM) 适用于开发者的分布式即时通讯系统
advanced-java: 😮 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识
Go
Learn Go Programming - Golang Tutorial for Beginners
gogs: 用 Go 写的一款极易搭建的自助 Git 服务,支持所有平台。就像 GitLab 一样的服务,但是 GitLab 是基于 ruby 语言的。另外:完善的中文文档、支持 Go 语言支持的所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
pan-light: 百度网盘不限速客户端, golang + qt5, 跨平台图形界面
unioffice: Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents.
geziyor: Geziyor, a fast web crawling & scraping framework for Go. Supports JS rendering.
annie: 👾 Fast, simple and clean video downloader
7days-golang: 7 days golang apps from scratch
Ruby
discourse: A platform for community discussion.
R
R Programming for Data Science
Data Visualization with R: R is an amazing platform for data analysis, capable of creating almost any type of graph. This book helps you create the most popular visualizations - from quick and dirty plots to publication-ready graphs. The text relies heavily on the ggplot2 package for graphics, but other approaches are covered as well.
ggplot2: Elegant Graphics for Data Analysis: This is the on-line version of work-in-progress 3rd edition of “ggplot2: elegant graphics for data analysis” published by Springer. You can learn what’s changed from the 2nd edition in the Preface.
R Graphics Cookbook, 2nd edition: Welcome to the R Graphics Cookbook, a practical guide that provides more than 150 recipes to help you generate high-quality graphs quickly, without having to comb through all the details of R’s graphing systems. Each recipe tackles a specific problem with a solution you can apply to your own project, and includes a discussion of how and why the recipe works.
R for Excel Users: This course is for Excel users who want to add or integrate R and RStudio into their existing data analysis toolkit. It is a friendly intro to becoming a modern R user, full of tidyverse, RMarkdown, GitHub, collaboration & reproducibility.
UC Business Analytics R Programming Guide
The openair book Tools for air quality data analysis
R CODER: Begin your data science career with R language!
Hands-On Machine Learning with R
Text Mining with R: A Tidy Approach
JavaScript
The Modern JavaScript Tutorial
cdfang-spider: 成都房协网爬虫,可视化数据分析
request: 🏊🏾 Simplified HTTP request client.
vanillawebprojects: Mini projects built with HTML5, CSS & JavaScript. No frameworks or libraries.
Learn-Vue-Source-Code: 🔥 🔥 逐行剖析 Vue.js 源码 在线阅读地址https://nlrx-wjc.github.io/Learn-Vue-Source-Code/
100+ JavaScript Projects for Beginners!: Do all 100+ of the listed JavaScript Projects for beginners that you’ll find on this page.
javascript-algorithms: 📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
Node.js
How to start a Node.js project
Express web framework (Node.js/JavaScript)
Nodejs-Roadmap: 【Nodejs-Roadmap】侧重于 Node.js 服务端的开发指南
Julia
From zero to Julia!: An expanding series of short tutorials about Julia, starting from the beginner level and going up to deal with the more advanced topics.
Swift
Swift-30-Projects: 30 mini Swift Apps for self-study.
Matlab
Introduction to MATLAB: This is an accelerated introduction to MATLAB® and its popular toolboxes. Lectures are interactive, with students conducting sample MATLAB problems in real time. The course includes problem-based MATLAB assignments. Students must provide their own laptop and software. This is great preparation for classes that use MATLAB.
Introduction To MATLAB Programming: This course is intended to assist undergraduates with learning the basics of programming in general and programming MATLAB® in particular.
Linux
Docker
Coding
Learning-SICP: MIT 视频公开课《计算机程序的构造和解释》中文化项目及课程学习资料搜集。
提问
提問的智慧: 本文原文由知名 Hacker Eric S. Raymond 所撰寫,教你如何正確的提出技術問題並獲得你滿意的答案。
游戏
Elasticsearch
Data Structure & Algorithms
What is your strategy for learning data structures and algorithms?
The BEST way to learn Data Structures and Algorithms
Problem Solving with Algorithms and Data Structures using Python
Learn data structures from scratch in C, Java and Python
CS 61B Data Structures, Fall 2019
Stanford Algorithm Part 1 and Part 2
邓俊辉 数据结构(上) 和 数据结构(下) 数据结构(C++语言版)
陈越 何钦铭 数据结构
Data Structure by Saurabh Shukla Sir - YouTube
Data Structures Tutorial Videos | Mr. Srinivas - YouTube
Design and Analysis of Algorithms
Data Structures and Algorithms
Math
麻省理工学院公开课:单变量微积分 和 麻省理工学院公开课:单变量微积分习题课
麻省理工学院公开课:多变量微积分 和 麻省理工学院公开课:多变量微积分习题课
麻省理工公开课:线性代数 和 麻省理工学院公开课:MIT 线性代数习题课
Intro to Descriptive Statistics
Intro to Inferential Statistics
马昱春 组合数学
Seeing Theory: A visual introduction to probability and statistics.
Kaggle
The Beginner’s Guide to Kaggle
Generative Adversarial Networks
AdversarialNetsPapers: The classical paper list with code about generative adversial nets.
Keras-GAN: Keras implementations of Generative Adversarial Networks.
Action Recognition
Awesome Action Recognition: A curated list of action recognition and related area resources.
Tensorflow
Tensorflow-Cookbook: Simple Tensorflow Cookbook for easy-to-use
Machine Learning
Machine Learning Andrew Ng Notes
40 Must-Read AI / Machine Learning Blogs
MLAlgorithms: Minimal and clean examples of machine learning algorithms implementations.
Recommendation System
Comprehensive Guide to build a Recommendation Engine from scratch (in Python)
Matplotlib
Reinforcement Learning
Deep Reinforcement Learning Course: A Free course in Deep Reinforcement Learning from beginner to expert.
Deep Learning
Dive into Deep Learning: An interactive deep learning book with code, math, and discussions. Provides both NumPy/MXNet and PyTorch implementations
Practical Deep Learning for Coders
Neural Networks and Deep Learning
Keras and Convolutional Neural Networks (CNNs)
DeepLearning-500-questions: 深度学习 500 问,以问答形式对常用的概率知识、线性代数、机器学习、深度学习、计算机视觉等热点问题进行阐述,以帮助自己及有需要的读者。
MIT 6.S191 Introduction to Deep Learning: MIT’s official introductory course on deep learning methods with applications in robotics, and more!
Deep-Learning-Papers-Reading-Roadmap: About Deep Learning papers reading roadmap for anyone who are eager to learn this amazing tech!
CV
CS231n: Convolutional Neural Networks for Visual Recognition
NLP
CS224d: Deep Learning for Natural Language Processing
CS224n: Natural Language Processing with Deep Learning
nlp_course: YSDA course in Natural Language Processing
Anomaly Detection
anomaly-detection-resources: Anomaly detection related books, papers, videos, and toolboxes
Self-Driving Cars
MIT 6.S094: Deep Learning for Self-Driving Cars
哲学
心理
文学
紅樓夢 歐麗娟: 本課程以《紅樓夢》為範圍,區分為文化與人物論兩大範疇。在文化方面,由於《紅樓夢》吸納傳統中國文學與文化的涵蓋面甚廣,將涉及「神話運用與詮釋」、「讖語式的表達」、「悟道模式」、「遊仙模式」、「喜劇精神」…
Youtube
Gate Lectures by Ravindrababu Ravula
Derek Banas: I make tutorials based on your requests. I will cover any topic you can imagine. I upload new programming videos on Saturday and Wednesday morning. I Live Stream at 8PM EST on Monday and at 7PM EST on Tuesday, Thursday and Friday.
sentdex: Python Programming tutorials, going further than just the basics. Learn about machine learning, finance, data analysis, robotics, web development, game development and more.
freeCodeCamp.org: We’re an open source community of busy people who learn to code and build projects for nonprofits.
StatQuest with Josh Starmer: Statistics, Machine Learning and Data Science can sometimes seem like very scary topics, but since each technique is really just a combination of small and simple steps, they are actually quite simple. My goal with StatQuest is to break down the major methodologies into easy to understand pieces. That said, I don’t dumb down the material. Instead, I build up your understanding so that you are smarter.
Numberphile: Videos about numbers - it’s that simple.
TED: The TED Talks channel features the best talks and performances from the TED Conference, where the world’s leading thinkers and doers give the talk of their lives in 18 minutes (or less). Look for talks on Technology, Entertainment and Design – plus science, business, global issues, the arts and more. You’re welcome to link to or embed these videos, forward them to others and share these ideas with people you know.
3Blue1Brown: 3blue1brown, by Grant Sanderson, is some combination of math and entertainment, depending on your disposition. The goal is for explanations to be driven by animations and for difficult problems to be made simple with changes in perspective.
CrashCourse: Tons of awesome courses in one awesome channel! Nicole Sweeney teaches you sociology, Carrie Anne Philbin teaches you computer science, Craig Benzine teaches film history, and Mike Rugnetta is teaching mythology! Check out the playlists for past courses in physics, philosophy, games, economics, U.S. government and politics, astronomy, anatomy & physiology, world history, biology, literature, ecology, chemistry, psychology, and U.S. history.
List
computer-science: 🎓 Path to a free self-taught education in Computer Science!
awesome-computer-vision: A curated list of awesome computer vision resources.
awesome-nlp: 📖 A curated list of resources dedicated to Natural Language Processing (NLP).
awesome-deep-learning: A curated list of awesome Deep Learning tutorials, projects and communities.
awesome-courses: 📚 List of awesome university courses for learning Computer Science!
HelloGitHub: :octocat: Find pearls on open-source seashore 分享 GitHub 上有趣、入门级的开源项目
jstraining: 全栈工程师培训材料
free-books: 互联网上的免费书籍
SpringBoot-Labs: 一个涵盖六个专栏:Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式消息队列、分布式事务的仓库。
ultimate-coding-resources: A collection of the best resources for programming, web development, computer science and more.
Teach Yourself Computer Science: If you’re a self-taught engineer or bootcamp grad, you owe it to yourself to learn computer science. Thankfully, you can give yourself a world-class CS education without investing years and a small fortune in a degree program 💸.
coding-interview-university: A complete computer science study plan to become a software engineer. ⭐⭐⭐⭐⭐
deep-learning-drizzle: Drench yourself in Deep Learning, Reinforcement Learning, Machine Learning, Computer Vision, and NLP by learning from these exciting lectures!!
Project Based Learning: A list of programming tutorials in which learners build an application from scratch. These tutorials are divided into different primary programming languages. Some have intermixed technologies and languages.
build-your-own-x: 🤓 Build your own (insert technology here) ⭐⭐⭐⭐⭐
awesome-competitive-programming: 💎 A curated list of awesome Competitive Programming, Algorithm and Data Structure resources
开源书籍
pydata-notebook: 利用 Python 进行数据分析 第二版 (2017) 中文翻译笔记
the-craft-of-selfteaching: 自学是门手艺
webrtc-book-cn: 中文翻译 《 Real-Time Communication with WebRTC 》
推荐项目
json-tutorial: 从零开始的 JSON 库教程
http-parser: http request/response parser for c
mongoose: Embedded Web Server
xgboost: Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow
darknet: Convolutional Neural Networks
build-your-own-x: Master programming by recreating your favorite technologies from scratch.
project-based-learning: Curated list of project-based tutorials
Interview
interview_internal_reference: 2019 年最新总结,阿里,腾讯,百度,美团,头条等技术面试题目,以及答案,专家出题人分析汇总。
CS-Notes: 📚 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++
工作
Job-Recommend: 🔎 互联网内推信息(社招、校招、实习)
Tools
IntelliJ-IDEA-Tutorial: IntelliJ IDEA 简体中文专题教程
EndNote_Tutorial_Hand_by_Hand: 手把手教你使用 EndNote X9/NoteExpress
HistCite_Tutorial: HistCite 快速定位核心文献
Websites
Made With ML - Share what you’ve made with ML
Stack Overflow - Where Developers Learn, Share, & Build Careers
MIT OpenCourseWare | Free Online Course Materials
其它
Student-resources: 本文介绍的是利用学生身份可以享受到的相关学生优惠权益,但也希望各位享受权利的同时不要忘记自己的义务,不要售卖、转手自己的学生优惠资格,使得其他同学无法受益。
from_coder_to_expert: 从程序员到 CTO,从专业走向卓越,分享大牛企业内部 pdf 与 PPT。
Web-Series: 📚 现代 Web 开发,现代 Web 开发导论 | 基础篇 | 进阶篇 | 架构优化篇 | React 篇 | Vue 篇
document-style-guide: 中文技术文档的写作规范
GitHubDaily: 坚持分享 GitHub 上高质量、有趣实用的开源技术教程、开发者工具、编程网站、技术资讯。A list cool, interesting projects of GitHub.