books-sites

程序猿必须知道的一些有用的(外国)网站
当你遇到困境时
StackOverflow :订阅他们的每周时事通讯和其他你感兴趣的话题
Quora :分享知识、更好地了解世界的地方
Learn Anything :策划知识图的社区,在那里可以找到学习任何东西的最佳路径
devRant :社区,在那里你可以咆哮和宣泄你的压力
Codementor :导师式社区,可以通过1对1的帮助等在同行开发人员的指导下学习
新闻
Hacker News :程序员的新闻聚合,在那里礼貌为王,尝试以一篇时事通讯在你的收件箱里获取头条新闻
Hacker Newsletter :手动策划,每周发布
Hacker News Digest :自动策划,按你所希望的频率发布
Ars Technica :发布独家的高质量文章
ACM TechNews :科技类新闻
Lobsters :大龙虾社区是围绕链接聚合和讨论的关注技术的社区
TechCrunch :致力于深度剖析初创公司、评论互联网新产品,以及曝光科技新闻
The Verge :更加面向产品的科技新闻
Recode :聚焦于硅谷商业的科技信息
GSMArena.com :最新移动电话和安卓相关的新闻
product hunt :发现你的下一个最爱之物
AlternativeTo :众包软件推荐
Better Dev Links :助力你成为更佳开发人员的每周链接
DevOpsLinks :对 DevOps 感兴趣的数以千计的开发人员和 IT 专家的网络社区

初学者的编码实践
freeCodeCamp :学习为非盈利组织编写和构建项目。今天就构建你的全栈网页开发组合
Reddit.com/r/dailyprogrammer :有趣的编程挑战,在那里你可以观摩和学习他人的代码,即使你不能以代码解决问题,你也可以看看别人如何解决。
Programming by Doing :对于那些想从绝对基础开始的人来说非常好的网站
CodeAbbey - a place where everyone can master programming :从问题开始的最佳之地,从最简单的问题开始,每个问题逐步增加难度。
Exercism.io :下载并解决超过30种不同语言的练习问题,并与其他人分享你的解决方案。
Programming Tasks :大量收集小应用程序
karan/Projects-Solutions :解决以上链接中的大部分问题的方法
Lod - Cloud :链接开放数据云图
Cave of programming :学习编程,升级技能。
People Can Program :网络上最对用户友好的学习编码的应用
Codeacademy :交互式学习编码,免费。
Vim adventures :通过玩来学习 VIM



给那些想开始一个小项目却找不到点子的人
martyr2s-mega-project-ideas-list :包含从初学者到中级水平的大约 125 个项目点子
karan/Projects :大量的小项目,供初学者选用
Wrong “big projects” for beginners :如何选择从哪里开始
vicky002/1000-Projects :可以凭任意编程语言实现的实际项目的巨长清单!



一般编码建议
Things I Wish Someone Had Told Me When I Was Learning How to Code — Free Code Camp :我从教别人中学到了什么
Lessons From A Lifetime Of Being A Programmer :来自终身程序员的编程者头条教训
Programming Principles :程序设计原理与模式分类综述
What every computer science major should know :良好编程的原则
How to become a programmer, or the art of Googling well :如何成为一名程序员,或搜索的艺术
Code Review Best Practices :Kevin London 的博客
Dieter Rams :10 Principles of Good Product Design :Stephen Haunts «战壕中的编码»
10-ways-to-be-a-better-developer :开发人员的进阶之路!
Working as a Software Developer :Henrik Warne 的博客
Software design pattern :设计模式的全集
Design Patterns :以示例详细解释设计模式
JS Project Guidelines :一组 JavaScript 项目的最佳实践



编程风格
CS 106B Coding Style Guide :制作意大利面条(spaghetti)的人必看
Google C++ Style Guide
Airbnb JS Style Guide :对 JavaScript 的一种最合理的方法
Airbnb Ruby Style Guide :Airbnb 的 Ruby 风格指南
What are some bad coding habits you would recommend a beginner avoid getting into? :开始时要避免的坏习惯
Good C programming habits./r/C_Programming :值得采用的 C 编程习惯
How to Report Bugs Effectively :想报告 bug 但你不知道怎么做?看看这个帖子
Debugging Faqs :检查如何调试程序
Stuff you need to Code Better:能帮到你的材料
Directory of Online CS Courses :免费的计算机科学的线上课程
Directory of CS Courses (many with online lectures) :计算机科学的另一套线上课程
Angular 1 Style Guide :官方认可的风格指南,作者 John Pappa



一般工具
regex101 :线上正则表达式测试器和调试器:PHP、 PCRE、 Python、 Golang 和 JavaScript
CodePen :前端开发人员的游乐场兼浏览器版代码编辑器
Devicons :给开发人员的图标的备忘单



面试的准备
Pramp|软件工程师自由点播的面试实践平台 :与真正的同行练习程序员的面试。
GeeksforGeeks|给极客的计算机科学门户网站 :同时订阅他们的提要以获得新文章的链接。
一个网站,关注术面试问题、脑筋急转弯、难题、怪题 :那是些什么见鬼的东西,还有其他让你思考的东西!
问题集|LeetCode OJ :针对面试的编码实践
程序员和软件面试问答
Reddit.com/user/ashish2199/m/puzzles :逻辑难题
量化分析的难题以及解答的汇集
能力倾向的问题和答案 :量化分析和能力倾向的准备
面试档案- Java Honk
编程面试的10大算法
算法设计canvas)
大O算法复杂度的小抄
Unix / Linux 小抄
怎样去面试
怎样从算法面试中胜出
开心难题
通过动画可视化数据结构和算法



Interviewing At Jane Street
How to prepare for an interview - 1:如何准备面试
Summer Internship:The Ultimate Guide
The 25 most difficult HR questions:25 个最难的 HR 问题
Job interviews News, Videos, Reviews and Gossip - Lifehacker:面试新闻、视频、评论和八卦
How to Answer the Toughest 40 Job Interview Questions|ICS Job Portal:如何回答最难的 40 个面试问题
Job Interview Questions and Best Answers:面试问题和最佳答案
How to Answer “Tell Me a Little About Yourself”|The Art of Manliness
Job Interview:How to Ace a Job Interview|The Art of Manliness
Give your résumé a face lift
BIG O Misconceptions
Bitwise tricks
Core Java Interview questions - Interview question on each topic
Java Interview Questions and Answers:Java 面试问题和答案
Big collection of interview preparation links ? /r/cscareerquestions
Unsolicited_advice_for_job_seekers_and_employers
five-essential-phone-screen-questions - steveyegge2
CS9:Problem-Solving for the CS Technical Interview:CS 技术面试问题解答
Mission-peace/interview problems :编程面试问题的大汇集
SQL Joins explained using venn diagram
10 Frequently asked SQL Query Interview Questions
Get Ready to Learn SQL:8.Database Normalization Explained in Simple English - Essential SQL
Programming Language Concepts:Lecture Notes :面向对象编程的概念和编程语言的概念
We Help Coders Get Hired :这个网站提供关于系统设计、面试策略、软技能等方面的课程
checkcheckzz/system-design-interview
How to Break Into the Tech Industry - a Guide to Job Hunting and Tech Interviews
Freshers Interviews
C PUZZLES, Some interesting C problems
wu ::riddles(hard) :逻辑难题和谜题
github.com/odino/interviews :面试的重要问题清单
svozniuk/java-interviews :Java 面试问题
kimberli/interviews :针对面试的学习表
Determining the big-O runtimes of these different loops? :真地很好的 stackoverflow 问题,囊括了计算运行时复杂度的基础。
ChiperSoft/InterviewThis :面试时要问的问题以更多地了解公司
SQL 面试问题 :很棒的 SQL 测试



纪录片
Machine that Changed the World - a very good documentary about history of computers (改变世界的机器——关于电脑历史的优秀的纪录片)
Part 1 是无法获取的,因为广为流传的版权声明问题。
Part 2:Inventing the Future 发明未来
Part 3:The Paperback Computer 简装计算机
Part 4:The Thinking Machine 会思考的机器
Part 5:The World at Your Fingertips 你指尖下的世界
Triumph of the Nerds 神之胜利:播放列表
Project Code Rush - The Beginnings of Netscape / Mozilla Documentary 项目代码竞赛—— Netscape/Mozilla 纪录片的始祖
The Code:Story of Linux documentary 代码:关于 linux 故事的纪录片
Breaking the Code:Biography of Alan Turing 打破代码:艾伦图灵自传
Mechanical Computer (All Parts) 机械电脑:从20世纪50年代以来,非常好的解释了机械电脑如何在没有所有现代电子产品的情况下的工作原理的视频。
Download:The True Story of the Internet 互联网的真实故事:发现频道的纪录片之一,描述浏览器之战、网络泡沫等内容。
Teach Yourself Computer Science 自学计算机科学
How does CPU execute program (video) 视频:CPU 是如何执行程序的
Machine Code Instructions (video) 视频:机器代码指令
Harvard CS50 - Asymptotic Notation (video) 视频:Harvard CS50-渐进表示法
Cracking The Code Interview 编码面试破解指南
Cracking the Coding Interview - Fullstack Speaker Series 全栈系列
Ask Me Anything:Gayle Laakmann McDowell (author of Cracking the Coding Interview) 无所不问



学习新知识的网络课程



Class Central :数以千计的慕课课程的10万多的学生评论目录
NPTEL Vidoes COMP_SCI_ENGG
Coursera.org
edX
MOOC.fi :来自赫尔辛基大学的免费线上课程
Udacity
Kadenze|Creative Programming :聚焦于艺术与创造力的编程课程
UCBerkeley
麻省理工学院电气工程与计算机科学系的网络开放课程
CS50
prakhar1989/awesome-CS-courses :囊括了大量计算机科学课程的列表
Computer Science Resources :给自学者的慕课课程列表



与你的首选编程语言相关的网站(对我来说是 Java )



重温Java :有益于 Java 语言学习和面试准备
The Java?教程 :最好的 Java 教程
Artima.co的Java角
Java 可视化器 :帮助可视化引用、变量的值,等等
Java 讲座笔记
学习 Java :学习 Java 的一本线上教科书
Bill Venners所著Java虚拟机内幕的免费线上章节
理解 JVM 内部
垃圾收集如何作用
欢迎来到 JavaWorld.com
Java内存模型
Netbeans 键盘快捷键 :使用 NetBeans 时提高你的生产力的键盘快捷键
IntelliJ 键盘快捷键 :使用 IntelliJ 时提高你的生产力的键盘快捷键
XyzWs Java 问与答 :Java 面试问题的大汇总
搜索开发源代码 Java API :查看 Java 库的源代码,学习其如何实现
JournalDev - Java、Java EE、 Android、Web 开发教程
算法和数据结构的实现,面试问题和答案:算法和数据结构的实现,面试问题和答案
什么是垃圾收集 :揭秘垃圾收集
学习Java的最佳必读书籍 :夯实 Java 基础
垃圾收集(Java); 扩充数据 (视频)
Java Off Heap:离开堆房的 Java
Java源代码:Java 源代码
编译器(视频)
深入Java;垃圾收集是好事!
The C++ Programming Language : C++ 编程语言
Bjarne Stroustru的问与答 :C++ 问与答
Bjarne Stroustrup的 C++ 风格以及技术问答 :C++ 问与答
C++11 - ISO C++ 的新标准 :C++11 问与答



学习人工智能



What’s the difference between AI- DP and ML? :人工智能、机器学习和深度学习的区别
Unsupervised Sentiment Neuron :无人监控的情绪神经元
Robots that learn :会学习的机器人
grakn.ai :针对 AI 的数据库
fast.ai :给非研究生水平的程序员的免费的深度学习的实践课程!



研讨会、研究写作、会谈等



Advice on Research and Writing:研究与写作咨询
Seminar and reports:研讨会和报告
PHD MS Articles
Practical Tips for Talking at Usergroups and Conferences and Giving presentation on software project to non-programmers:在用户组和会议上进行交流的实用技巧,并向非程序员介绍软件项目



凡事汇聚一处



reddit.com/user/ashish2199/m/cs_student_subs :计算机科学和编程相关的 reddit 话题汇总。



YouTube 频道



Computerphile :每个计算机科学系的学习必看
ComputerHistory :给那些想知道计算机历史的人
GoogleTechTalks :关于热门话题的视频和科技行业正在发生的酷事
Placement Grid :面试和校园实习经验
Google Developers
Facebook Developers
O’Reilly :世界最佳技术作家访谈录
Java :Java 相关的访谈录
JavaOne :Java 大会
CppCon :C++ 大会
C++Now (BoostCon) :C++Now (前身为 BoostCon) 大会
Meeting C++ YT Kanalseite :C++ 相关的访谈录
ThinMatrix :以 Java 凭 OpenGL 创建 3D 游戏的开发人员的博客和教程
yegor256
Scott Meyers:Past Talks
thoughtbot :关于各种话题的访谈录
code::dive conference :诺基亚 Wroc?aw 技术中心组织的 code::dive 大会
HowToBecomeTV :囊括科技行业相关人员和开发者的优秀访谈
Siraj Raval :人工智能和深度学习的视频教程
Netflix UI Engineering :给 web 开发人员、移动开发人员和对 Netflix 的技术栈感兴趣的开发人员观看的很棒的视频
Coding Blocks :教程、如何、建议和技巧
Fun Fun Function :来自 Mattias Petter Johansson 对编程分类主题的每周一次的系列,包括一些与编码不直接相关的主题
Gynvael Coldwin :极好的逆向工程和黑客(CTF)播客。每周三有线上直播。



好文章
对初级开发人员的期望
加速你的编码技巧的关键
一个软件开发人员的阅读列表 :里面有一些好书和链接。
以通俗话语解释的40个关键的计算机科学概念
每个程序员应该知道的关于内存的内容,第1部分
我们正在通过创新技术重塑零售业
统一码
每个程序员都绝对、肯定需要知道的编码和字符集以操作文本
算法的清单
深入字节码
数据结构的地图
浅谈图论
Linux 内幕
编译为 Lua 的一门程序员友好语言
为什么快速页面很重要 :为什么应用速度很重要,收入
数据结构和算法 :一些算法和数据结构及其解决方案的清单
编制一个TCP/IP 协议栈 :让我们编制一个 TCP/IP 协议栈 5:TCP 转发



播客



编程积木 - 忙不停地学习原理、模式和更佳实践
MS Dev Show
愤世嫉俗的开发人员
软件工程师电台 :针对专业软件开发人员的博客。目标是成为一个持久的教育资源,而不是一个新闻播客。
JavaScript 碎碎念 :每周一次的讨论,关于 JavaScript、前端、社区、职业和框架。
开发人员的茶 :给开发人员设计的适合茶歇的播客
全栈电台 :方方面面,从产品设计到用户体验到单元测试到系统管理
软件工程日报 :关于软件主题的每日技术访谈
自行车车棚 :关于 Ruby、Rails、JavaScript 及其他的开发经验和挑战的嘉宾讨论
The Changelog :每周一次的对话,触及开放源码技术的核心,以及创建他们的作者
前端的开心时刻 :一个播客,其特色是一桌来自 Netflix、 Evernote、 Atlassian 和 LinkedIn 的软件工程师一边喝茶一边谈论前端开发的所有事情。
React Native 电台 :每周讨论用 JavaScript 和 React 创建移动应用的工具、技巧和技术。
IPhreaks :开发老手的关于 iOS 开发和相关技术的每周小组讨论。讨论 Apple、 工具、实践和代码。
Syntax :Wes Bos 和 Scott Tolinski 给 Web 开发人员的美味的播客
Developer On Fire :Dave Rael 主持的播客,分享开发人员的博爱精神和软件业中了不起的人物的故事。
Groovy Podcast:Groovy 播客



构建简单的编译器/解释器



Awesome Compilers :有关编译器、解释器和运行时相关资源的列表
Resources for Amateur Compiler Writers Amateur 编译器作者的资源
Possibly the smallest compiler ever 目前为止最小的编译器
Writing My First Compiler 编写我的第一个编译器
Structure and Interpretation of Computer Programs 计算机程序的结构和转译
Let’s Build A Simple Interpreter.Part 1.让我们构建一个简单的解释器(一)
Growing a compiler 增强一个编译器
教程



Subtle|Poor Man’s CI:了解持续集成平台在 Hood 下是如何工作的,通过使用 Node.js 与 git 构建您自己的应用
Tutorialspoint:一个教程网站
W3Schools 在线 Web 教程
开放数据结构:用于学习 DS 和 algos 的优秀资源,提供各种语言的代码 C ++、Java、伪代码
John Morris 的数据结构和算法:另一个好的代码分析
CMSI 281:数据结构:数据结构的简单介绍
如何在 C ++ 中编程:用于学习 C ++和 STL 的优秀资源
TopCoder 教程:数据科技教程网站
黑客的 Git 指南:对于想要打好深厚 git 基础知识的人来说
Git 从内到外
10 分钟学习 UNIX
Bash 指南:学习 Bash Shell 的非常好的指南
Linux 教程:学习 Linux 的好资源
UNIX 教程 - 简介
Linux 初学者教程
学习 Shell
动态编程 - PrismoSkills:如果想学习如何解决 DP 问题,非常好的资源。
Deep C:C 语言很好的演示
C 编程语言常见问题
操作系统课程注意事项:Galvin 的课堂笔记
SQL (Structured Query Language) in one page :SQL.SU:一个非常好的 SQL 备忘录
C 编程简介
MySQL 要点
http://www.mysqltutorial.org/
Best Of - Gustavo Duarte:包含有关各种主题的文章
收集所有的备忘录:许多编程语言的备忘录
The Descent to C:对于那些从一些较高的编程语言(如 java 或 python )转移到 C 的人来说。
VimTutor +:在浏览器上学习 VIM
Linux 旅程:学习 linux 的好站点
C 编程
CS 2112/ENGRD 2112 Fall 2015 :关于数据结构和算法的良好记录。
更多关于 Github ——有趣的 Markdown
Unix 编程环境
Linux 命令行:一个完整的介绍
TCP / IP 系列
《深入浅出设计模式》
《设计模式:可重用面向对象软件的要素》:又称“四人帮”书,还有 GOF
《 UNIX 和 Linux 系统管理手册》第4版
编程,Web 开发和 DevOps 新闻,教程和初学者专家的工具
indradhanush tutotials:写一个 Unix Shell



查看他人的代码



LiveEdu.tv :那些构建应用、网站、游戏等的人的屏幕录像
Twitch.tv :twitch 编程社区



程序员应该知道什么



Programmer Competency Matrix 程序员能力矩阵:可以获知我们作为程序员所处的级别的文章
GitHub.com Build software better, together 让我们一起构建更好的软件 :存放你的项目并与他人协作的地方。(必须先了解 Git 才能有效地使用它)
Gitlab 提供免费的无限制(私有)存储仓库和无限协作方式。



竞赛式编程



WakaTime :通过编辑器插件收集的编程指标的排行榜
HackerRank
Codeforces
topcoder
UVa Online Judge :支持多语言的数百个问题。
HackerEarth - Programming challenges and Developer jobs
CodeChef
PKU ACM ICPC Practice problems
Archived Problems - Project Euler
Google Code Jam Practice and :供练习的曾有的比赛问题
Sphere Online Judge (SPOJ)
Art of Problem Solving
Codingame :通过游戏和挑战学习编程!
Codewars :通过完成不同代码招数(问题)而升级
Codefights :测试你的编程技巧



计算机书籍



IT eBooks - Free Download - Big Library :没有任何广告和即时下载的电子书下载网站。
github.com/vhf/free-programming-books :超过500本几乎任何你能想到的语言的免费电子书
Computer Science Books Online :大约150本免费计算机电子书
Best books for GATE CSE
cses.fi/book.html
Become a Programmer, Motherfucker (list of books) :来自 Zed A.Shaw 的详尽书单



视频教程



Tushar Roy :来自一位印度 Youtuber 的算法和数据结构教程。
Derek Banas :高质量的教程
thenewboston :很好,但是与干货相比有些长篇大论
mycodeschool :数据结构和算法的教程
CodingMadeEasy :C++ 教程
XDA-University - 帮助你学习安卓开发
DevTips :网页开发教程
codedamn :前端网页开发教程
算法的设计与分析
Vim 视频教程 - Flarfnoogins :学习 vim 的优质视频教程
CS1:Higher Computing - Richard Buckland UNSW :很好的计算机科学的入门教程
Kathryn Hodge :给初学者的好视频
Pluralsight - 通过几门短课程学习软件开发、DevOps 和数据科学



线上编译器和代码片段分享



CodePad :可供试验、测试和运行25多门语言的代码编辑器
JSFiddle :以线上代码编辑器测试你的 JavaScript、 CSS、 HTML 或 CoffeeScript
Ideone.com :线上编译器和调试工具,适用于60多门编程语言
Pastebin.com
Godbolt.org :探索不同编译器的、带或不带优化的汇编输出的优秀工具



开发人员的博客
Coding Horror :最佳编程博客之一
WildMl :关于机器学习的博客
Armin Ronacher’s Thoughts and Writings :关于 Python 和开放源代码的博客
Eli Bendersky :从 Python 到 LLVM 的一切
Joel on Software
Stephen Haunts《Coding in the Trenches》
21世纪的编程
Clean Coder Blog :《代码整洁之道》一书的作者的博客
Programming Blog :Yegor Bugayenko 的编程博客
CodeAhoy :关于软件和人为因素的博客。100%经过人类测试。
stevehanov.ca
Geek Land
Late Developer
IT Enthusiast
blog.might.net
CSE Blog - quant, math, computer science puzzles
Small Programming Challenges and Puzzles
My Tech Interviews
HackerEarth Blog
Algo-Geeks
CoderGears Blog Insights from : CoderGears 团队
Runhe Tian Coding Practice
Paul Graham Essays
Dan Dreams of Coding
Antonio081014’s Algorithms Codes
Math ∩ Programming
Takipi Blog :主要关注于 Java 语言和 JVM
Coding Geek - 关于IT、编程和Javade一个博客
Daedtech.com :关于软件的故事
Archives — Ask a Manager :HR 相关的内容
rudhakar Rayavaram :Sudhakar Rayavaram 的博客
Antirez - Redis Creator’s blog



为了提升你的英语



Quia - English
标点符号和大写的规则
语法和写作指南 :给想提高英语语言技巧的人们
普渡大学线上写作实验室 (OWL)
Englishclub.com/learn-english



当你对计算机科学相关的东西感到厌烦时



r/ProgrammerHumor :内容如其名的 reddit 子话题
Vsauce :最佳 youtube 频道
TED :关于技术、娱乐和设计的精彩演讲
CrashCourse :关于不同主题的小课程
National Geographic :来自世界各地的大量的高质量内容
Barcroft TV :关于令人难以置信的各种各样的人们组成的世界的每日纪录短片
ColdFusion :技术的过去、现在和未来
SmarterEveryDay :关于我们周遭世界的许多惊人的科学信息,通常用高速摄影机拍摄。
Ridddle :关于科学(主要是宇宙和太空但不仅仅是)的一个 youtube 频道。
SciShow :你一直想知道的有趣问题的答案
Big Think :专家驱动的、可操作的教育内容,以专家为特色,从比尔克林顿到 Bill Nye 。
Every Frame a Painting :电影和电影制作的高质量的分析
TestTube News :关于世界各地新闻的有趣信息
Reddit the front page of the internet :在那里空闲时间要去死
How to live for long time ? :长寿的秘密


Category jekyll