指南
数据结构与算法
数据结构与算法是计算机科学的核心基础,研究如何合理组织数据与设计高效的计算过程,以在有限的时间和空间内高效解决问题。它不仅决定了程序的性能与可扩展性,也是培养逻辑思维、理解计算本质、编写优雅高效代码的关键所在。
查看
Java
Java 是一种面向对象、跨平台、健壮且高性能的编程语言,拥有完善的生态系统和庞大的类库支持,广泛应用于企业级应用开发、移动端开发、云计算与大规模分布式系统中,是构建可靠、高可维护性软件体系的主流选择。
查看
Go
Go(Golang)是一种由 Google 开发的高效、简洁且并发友好的编程语言,结合了静态类型与现代语言特性,具备快速编译、原生并发(goroutine)和优秀的跨平台性能,广泛应用于云计算、分布式系统与后端服务开发。
查看
操作系统
操作系统是计算机系统的核心软件,它负责管理和协调硬件资源(如 CPU、内存、存储设备和输入输出设备),为应用程序提供统一的运行环境,同时实现进程管理、内存管理、文件系统、设备驱动和安全控制等功能,从而保证计算机系统高效、稳定、有序地运行。
查看
图书
《Unix编程艺术》(The Art of UNIX Programming)是 Eric Steven Raymond 于 2003 年出版的一本书,旨在深入探讨 UNIX 编程的核心哲学与实践。
本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。
这本久负盛名的 C++ 经典教程,时隔八年之久,终迎来史无前例的重大升级。除令全球无数程序员从中受益,甚至为之迷醉的——C++ 大师 Stanley B. Lippman 的丰富实践经验,C++标准委员会原负责人 Josée Lajoie 对C++标准的深入理解,以及C++ 先驱 Barbara E. Moo 在 C++教学方面的真知灼见外,更是基于全新的 C++11标准进行了全面而彻底的内容更新。
在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书作者是C语言的设计者之一Dennis M. Ritchie和著名计算机科学家Brian W. Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。
《MySQL必知必会》MySQL是世界上最受欢迎的数据库管理系统之一。书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经意间立刻功力大增。
《计算机网络(第4版)》是由 James F. Kurose 和 Keith W. Ross 合著的一本经典计算机网络教材,被广泛认为是学习网络原理最系统、最清晰的著作之一。该书采用“自顶向下(Top-Down)”的教学方法,从应用层开始讲起,再逐层深入传输层、网络层、数据链路层和物理层,帮助读者从使用网络的角度逐步理解其内部运作机制。
本书是操作系统领域的经典之作,与第2版相比,增加了关于Linux、Windows Vista和Symbian操作系统的详细介绍。书中集中讨论了操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等方面的内容。
《算法图解》是一本以图解方式讲解算法的入门书,由 Aditya Bhargava 编写。它以通俗易懂的语言和生动的插图,将抽象的算法概念转化为直观的图形和具体的例子,让没有深厚数学基础的读者也能轻松理解算法的核心思想。
本书采用“条目(Item)式”的结构,共包含 90 个独立主题,每个主题都围绕一个具体的编程建议展开,内容涵盖对象创建与销毁、类与接口的设计、泛型与枚举、并发编程、序列化等核心领域。作者不仅指出了常见的误区,还深入解释了背后的原理与最佳实践,帮助开发者写出更安全、简洁、高效、可维护的 Java 代码。
视频
斯坦福大学的 CS106A《编程方法学》(Programming Methodology)是一门面向初学者的计算机编程入门课程,旨在教授编程基础和良好的软件工程实践。
通过这场讲座,开发者可以获得如何使用 Material Design 创建更美观、富有表现力的应用的技巧,同时了解平台功能背后的实现机制,学习如何在性能和视觉效果之间取得平衡。
这段视频是 Martin Fowler 在 GOTO Aarhus 2012 大会上发表的演讲,主题是 NoSQL数据库。Martin Fowler 是著名的软件开发专家、作家、演讲者和顾问,致力于推动软件开发领域的最佳实践。
CS107: Programming Paradigms 是斯坦福大学计算机科学系的核心课程之一,旨在深入探讨计算机系统的工作原理,帮助学生理解从 C 语言到微处理器的底层实现。
在这场演讲中,Sameer 在流行的 Go Concurrency Patterns 讲座的基础上进行了扩展,深入探讨了 Go 语言的并发原语,并展示了如何用简单的 Go 代码优雅地解决复杂的并发问题。
《CS50: Introduction to Computer Science》是哈佛大学开设的一门计算机科学入门课程,由 David J. Malan 教授主讲。该课程面向所有专业的学生,无需编程经验,旨在教授计算机科学的核心概念和编程技能。
《Crash Course Computer Science》是一个由Crash Course团队制作的教育系列视频,旨在为观众提供计算机科学的入门知识。这个系列分为多个简洁易懂的章节,帮助观众了解计算机科学的基本概念、历史发展、技术原理和应用。
工具
Django 是一个用 Python 编写的开源 Web 开发框架,由 Django Software Foundation(DSF)维护。它强调快速开发、简洁和可复用,常被称为 “给有截止日期的完美主义者准备的框架”。
Elasticsearch 是一个分布式、RESTful、开源的搜索和分析引擎,基于 Apache Lucene 构建,由 Shay Banon 在 2010 年开发。它专为全文搜索、日志分析、数据存储等场景优化,具备高性能、实时搜索和强大的扩展性,广泛用于日志管理(ELK Stack)、网站搜索、大数据分析等领域。
Notepad++ 是一款免费、开源、轻量级的代码编辑器,主要用于 Windows 平台。它基于 Scintilla 编辑组件,支持多种编程语言,具有语法高亮、代码折叠、插件扩展等功能。
这个工具将抽象的算法与数据结构从“书本上”的文字描述,转化为直观的图形动画。用户可以在网页上选取栈、队列、链表、树、图、哈希表、排序算法、图算法、动态规划甚至几何算法等主题,实时看到数据的演变、节点的移动、算法的流程。
Wireshark 是全球最流行的网络协议分析工具,用于数据包捕获(packet capture)和网络流量分析。它是开源的,支持 Windows、macOS 和 Linux,广泛应用于网络故障排查、安全分析、开发和教学。
Eclipse 是一个开源的集成开发环境(IDE),广泛用于 Java 开发,同时也支持 C/C++、Python、PHP、JavaScript 等多种编程语言。它最初是由 IBM 作为一个 Java IDE 开发的,现在已经发展成一个支持多种语言和应用场景的多功能开发平台。
IntelliJ IDEA 是由 JetBrains 开发的一个集成开发环境(IDE),广泛用于 Java 开发,同时也支持其他编程语言如 Kotlin、Groovy、Scala、JavaScript、TypeScript、Python 等。它被许多开发者誉为最强大的 Java IDE,因其高效的代码提示、智能补全、重构功能和良好的用户体验而受到青睐。
文档
Google TypeScript 风格指南涵盖编码文件结构、命名规范、类型使用、导入规则等关键维度,强调结构化类型、安全易读、团队一致,以及社区维护与自动化支持。
学习 Git 的权威免费教材,由 Scott Chacon 和 Ben Straub 编写。提供多种语言版本,包括简体中文、英文、西班牙语、俄语等,适合全球读者学习。除了在线阅读,还支持离线下载多种格式的电子书版本,便于移动学习。
《HTTP API Design Guide》 是一份专为设计 HTTP + JSON API 而编写的指南,最初源自 Heroku Platform API 的设计经验。这份指南旨在为 Heroku 内部 API 以及外部开发者提供一致性强、关注业务逻辑、避免无谓争论的 API 设计规范。
该文档站点汇集了 MySQL 各版本(尤其是 8.0 版本及以上)的大量文档资源,包括 “Reference Manual”(参考手册)、Tutorial(教程)、Release Notes(发行说明)、错误码参考、存储引擎指南、API 参考等。它不仅涵盖基础使用(例如安装、配置、基本 SQL 操作),还深入到高级主题,如性能优化、复制、分区、集群、备份与恢复、以及 MySQL Enterprise/NDB Cluster 等。
MDN Web Docs,全称为 Mozilla Developer Network Web Docs,是由 Mozilla 维护的一个权威性、免费、开源的前端开发文档网站。它为开发者提供了关于 HTML、CSS、JavaScript、Web API、HTTP 协议、开发工具 等 Web 技术的全面参考和教程。
这篇文章《The Greatest Developer Fallacy Or The Wisest Words You’ll Ever Hear?》由 Alan Skorkin 撰写,发表于 2011 年,主要围绕一句开发者常说的话展开批判性讨论:“我需要的时候再学(I will learn it when I need it)”。