孤舟蓑笠翁,独钓寒江雪

程序员学习资料汇总

前言

记录一些作为一名程序员在学习道路上经常用到的一些资料,以备不时之需。

资料篇

技术网站

开发社区

Android开发

网站开发

  • Discuz:Discuz社区
  • Ecshop:开源网店系统
  • Shopnc:商城系统
  • WordPress:一种使用PHP语言开发的博客平台
  • Django:Python Web应用框架
  • webpy:Python Web应用框架

IT业界资讯

  • 虎嗅:聚合优质的创新信息与人群,捕获精选|深度|犀利的商业科技资讯。
  • 猎云:创业项目推荐创业创新咨询
  • cnBeta:中文业界资讯网站
  • FreeBuf:关注黑客与极客

源码网站

  • codota:如果你不知道一个Android的类怎么用,可以在Codota上面快速的找到很多不错的示例代码。
  • android.googlesource:Android所有的源代码都在这里,只需找到对应想要的模块,用Git克隆下来即可。比如,我想要的framework代码。
  • androidxref:Android 源码在线阅读
  • GrepCode:除了AndroidXRef可以查看某个类的源代码外,GrepCode同样也能做到。而且GrepCode不限于Android的源码

学习网站

  • W3School
  • W3Cschool:注意和W3School一字之差。W3Cschool是一个专业的编程入门学习及技术文档查询网站,提供包括HTML,CSS,Javascript,jQuery,C,PHP,Java,Python,Sql,Mysql等编程语言和开源技术的在线教程及使用手册。设计前端、服务器、大数据、移动端等技术。
  • 菜鸟教程:涵盖前端、服务器、Android等教程
  • LeetcodeLeetcode中文版:在线技术平台,编程做题
  • 牛客网:专业IT笔试面试备考平台

技术博客

技术团队博客

  • 美团点评技术团队:一个非常接地气的技术博客,涉及内容广泛,例如:支付通道开发、插件化实践、前端项目等等。事无巨细的总结好他们的思路给你。
  • 魅族内核团队:魅族内核团队发表的一些博客
  • 今日头条技术博客:众所周知今日头条有着一项强大的技术武器——推荐引擎。这个博客里面关于机器学习的内容非常丰富。文章也清晰有条理,他会交代实践背景、要求、失败案例、难点、最后给出一个甚至几个优选方案。
  • Tencent ISUX:ISUX是腾讯核心设计团队,负责腾讯社交网络相关产品的用户体验设计与研究。主要涉及互联网产品的设计、重构、前端、用研等。
  • 淘宝前端团队(FED)
  • TGidea:腾讯游戏的专业设计团队,工作范围涉及腾讯游戏旗下各类网游产品的包装、创意、网站等设计工作。
  • Alloy Team:这个团队就厉害了,是腾讯的核心团队。他们致力于Web前端技术的研究,热衷HTML5、移动Web技术,用最酷的新技术开发各种有趣的开源项目。
  • UED:阿里巴巴集团最为资深的用户体验设计部门之一,涉及领域有用户研究、交互设计、视觉设计、前端开发等。
  • Google研究所
  • Linkdln:全球最大的职业社交网站,他们的技术团队从各个方面详细地介绍了LinkedIn技术人员如何使用高度结构化的数据来完成LinkedIn的搜索功能、社交图谱以及机器学习系统。
  • Square:Square的技术博客包含的更多的是数据科学、数据分析、机器学习相关内容

CSDN博客

  • CSDN 官方博客
  • 老罗的Android之旅:CSDN排名前100,博客专栏“老罗的Android之旅”有对Android从上层应用到底层驱动的介绍,著有《Android系统源代码情景分析》一书。
  • 任玉刚:有“Android源码解析”和“Android开发小栈”两个专栏,著有《Android开发艺术探索》一书。
  • eclipse_xu徐宜生:有“Android异步任务处理从零开始”,“android拼图游戏开发记录”和“Android UI开发详解”博客专栏,著有《Android群英传》一书。
  • 郭霖的专栏:CSDN排名前100
  • 北漂周:《Android安全技术揭秘与防范》一书的作者的CSDN博客
  • Innost的专栏:作者邓凡平,《深入理解Android》一书的作者。

个人主页

  • 阮一峰的网络日志:著有《ECMAScript 6入门》一书,并在该网站开源。
  • 廖雪峰的官方网站
  • 胡凯:腾讯开发者,翻译了一系列的Google Android性能优化典范的文章。
  • Gityuan:作者是小米的MIUI系统工程师Gityuan(如果你想了解Android系统中常见模块的实现细节的话,非常推荐阅读这位开发者的博客,他的博客中文章的质量都非常高),里面的“Friends”专栏有很多开发学习资料。
  • Hujiawei Bujidao:很多Android系统性能相关的文章
  • 进击的程序员:老罗,罗升阳的个人博客站点
  • Weishu’s Notes:有一些不错的文章
  • HenCoder:大神扔物线的给高阶Android工程师的进阶手册
  • 任玉刚

微信公众号

技术类

  • 移动开发前线
  • WeMobileDev
  • Android程序员
  • AndroidDeveloper:分享Android开发最新的技术与前沿消息
  • Android订阅:定时发布不一样的Android干货,关注Android技术和交流平台
  • Android干货分享:致力于Android技术交流,为大家及时快捷有效的提供Android技术方面的干货
  • Android开发艺术探索
  • 安卓开发
  • 安卓开发精选
  • 安卓应用频道:分享安卓应用相关内容,包括:安卓应用开发、设计和推广
  • 菜鸟教程
  • caoz的梦呓
  • 程序视界
  • 程序猿:为程序员提供最新最全的编程学习资料的查询.目前已经开通PHP、C/C++函数库、.NET Framework类库、J2SE API查询功能
  • 程序员的那点事
  • 程序员的那些事:分享国内外同行的观点,关注程序员相关话题:IT资讯、职场分享、幽默、学习资源等
  • 程序员之家
  • codeKK
  • CPP开发者
  • CSDN-CODE:CSDN旗下开源平台
  • developerWorks:码农IO(manong.io),专注于IT技术干货分享
  • eoe移动开发者社区:eoe移动开发社区 eoe.cn官方微博 @eoe移动开发者社区
  • 鸿洋
  • 互联网思维
  • ImportNew:专注 Java 和 Android 技术分享.ImportNew 由两个 Java 关键字 import 和 new 组成.意指:Java & Android 程序员学习新知识的网站
  • InfoQ:关注中高端技术人员的社区媒体,促进软件开发领域知识与创新的传播
  • Java编程
  • JAVA开发者联盟:精彩的JAVA文章,实用的JAVA技术,经典的JAVA书籍尽在JAVA开发者联盟
  • java一日一条
  • 技术最前线
  • Linux爱好者
  • 牛客网:最全IT名企笔试/面试题库,免费提供在线笔试真题模考,并即时反馈得分及知识结构薄弱点,系统化快速提高备考效率
  • Piasy
  • Python开发者
  • 软件开发务实
  • SegmentFault:中国最大的年轻开发者极客社区,我们为开发者提供最纯粹的技术交流和分享平台
  • 算法爱好者
  • 算法与数据结构
  • 腾讯Bugly
  • WeMobileDev
  • 移动开发前线
  • 51CTO博客:51CTO技术博客倡导“原创·技术·分享“,愿我们和你一起悦享技术,悦享生活.更有美女小编随时与您畅聊技术哦
  • 最代码:高质量的代码服务
  • 携程技术中心:携程技术中心官方帐号,分享来自携程技术人的一手干货,及各类线上线下技术活动
  • 美团点评技术团队
  • 谷歌开发者:Google中国官方帐号
  • 郭霖:CSDN上郭霖的专栏的公众号
  • 极客公园:提供科技领域的前沿报道
  • AI科技大本营:程序员转型第一站
  • 老马说编程
  • GitChat:一种全新的IT知识交流方式
  • HenCoder:大神扔物线的给高阶Android工程师的进阶手册
  • 视觉求索:计算机视觉领域资深华人教授与研究员共同发起的、非盈利性的、独立于产业界的移动新媒体平台
  • 云栖社区:由阿里云负责运营、阿里巴巴技术协会和阿里巴巴集团各技术团队提供内容支持的开放式技术社区
  • 淘宝前端团队
  • LeetCode领扣:LeetCode官方微信公众号
  • 阿里技术:阿里巴巴官方技术号,关于阿里的技术创新均呈现于此
  • 闲鱼技术:闲鱼技术团队公众号

其他

  • 斗牛人
  • 伯乐在线:关注职业资讯;学习各类职业感悟、心得和经验分享,扩大职业视野;体会求职、工作和创业的历程 - 就在JobBole.com 伯乐在线
  • 创业新锋
  • 管理思维
  • 拾遗
  • 玩车教授
  • 移动互联网创业网
  • 移动互联网咨询

开源项目

关于开源项目的网站

知名互联网企业开源项目

Android

  • RxAndroid:RxJava的Android扩展。
  • Retrofit:Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的。
  • OkHttp:一个处理网络请求的框架。
  • EventBus:一个发布 / 订阅的事件总线。
  • ButterKnife:Android系统的View注入框架。
  • Lottie:为Android和IOS设备提供的一个开源框架,它能够解析通过Adobe After Effects 软件做出来的动画,供App使用。
  • GADownloading:一个比较酷的下载动画
  • Atlas:阿里开源项目,运行于Android系统上的一个容器化框架,我们也叫动态组件化(Dynamic Bundle)框架。它主要提供了解耦化、组件化、动态性的支持。覆盖了工程师的工程编码期、Apk运行期以及后续运维期的各种问题。
  • AndFix:阿里开源热更新框架
  • dexposed:阿里开源热更新框架
  • tinker:腾讯开源热更新框架
  • Nuwa:大众点评开源热更新框架
  • Robust:美团点评开源热更新框架
  • Hermes:简单易用的安卓进程间通信IPC框架,抽空看看源码
  • FlexboxLayout:Google开源项目,CSS Flexible Box 在Android上的应用
  • DeckView:Android 5.0层叠式卡片布局(类似原生多任务栏的效果)
  • Android-Universal-Image-Loader:图片异步加载库
  • CircleImageView:圆形图片
  • animated-vector-drawable:Android矢量图及动画
  • fresco:图片加载库 Fresco
  • Volley:网络框架Volley,已经集成到Android源码中,frameworks/volley
  • LeakCanary:内存泄漏检测
  • Dagger 2
  • awesome-android-ui
  • VirtualAPK:滴滴插件化框架
  • RePlugin:360插件化框架
  • Small:插件化框架Small
  • KOOM:快手团队开源的线上OOM分析方案
  • Transferee:缩略图切换大图动画方案

Java

  • JSOUP:基于Java的HTML解析器。
  • RxJava:一个基于事件订阅的异步执行的一个类库。
  • J2V8:Java封装的V8引擎,支持Android

Java SDK

  • Javassist:Javassist是一个开源的分析、编辑和创建Java字节码的类库。
  • BCEL:类似Javassist,可以转换现有的类表示或者构建新的类。

人工智能

VR/AR

  • ArCore:Google 发布的基于 Android 平台的 AR SDK。

图形图像处理

  • GCanvas:阿里巴巴跨平台图形渲染引擎
  • G3D:阿里巴巴基于WebGL的Javascript 3D绘图引擎

其他

  • conceal:facebook开源的用来对数据进行快速加密和认证的API。
  • AE-Element使用bodymovin渲染一些有趣的After Effects矢量元素,可以直接使用Lottie应用在客户端开发上面。
  • Weex:阿里开源项目,跨平台开发框架
  • React Native:Facebook开源项目,跨平台开发框架
  • Hexo:一个简单地、轻量地、基于Node.js的一个静态博客框架
  • hexo-theme-next:为hexo设计的next主题风格
  • Realm
  • android-architecture

服务端

  • Discuz:开源通用的社区论坛软件系统

资料汇总

学习资料

GitBook

必读书籍

程序开发

  • 《重构 改善既有代码的设计》

Android

  • 《Android开发艺术探索》
  • 《App研发录》
  • 《Android安全技术揭秘与防范》
  • 《Android开发精要》
  • 《深入理解Android5.0系统》
  • 《深入理解Android(卷3)》
  • 《阿里巴巴Android开发手册》

Gradle

  • 《实战 Gradle》

程序原理

  • 《程序员的自我修养—链接、装载与库》
  • 《链接器和加载器》

虚拟机

  • 《深入java虚拟机》
  • 《深入理解Java虚拟机++JVM高级特性与最佳实践》

Java

  • 《Effective Java》
  • 《Java多线程编程核心技术》
  • 《Java NIO》
  • 《阿里巴巴Java开发手册》
  • 《java并发编程的艺术》
  • 《编写高质量代码:改善Java程序的151个建议》
  • 《深入了解JAVA虚拟机》

Linux

  • 《Linux内核修炼之道》
  • 《深入理解LINUX内核》
  • 《Linux内核设计与实现》
  • 《Linux设备驱动程序》
  • 《深入理解Linux虚拟内存管理》
  • 《深入理解Linux网络技术内幕》
  • 《Linux 多线程服务端编程:使用 muduo C++ 网络库》

Web

  • 《构建高性能web站点》
  • 《高性能网站构建实战》

个人发展

  • 《软技能,代码之外的生存指南》
  • 《总裁日记》
  • 《浪潮之巅》
  • 《异类–不一样的成功启示录》
  • 《拆掉思维的墙–原来我还可以这样活》
  • 《乔布斯传》
  • 《Facebook效应》
  • 《大数据时代》
  • 《第五项修炼》
  • 《这个历史挺靠谱》
  • 《摇摆》
  • 《结网-改变世界的互联网产品经理》
  • 《素书》
  • 《乌合之众》
  • 《从零开始做运营-张亮》
  • 《卓有成效的管理者》
  • 《金字塔原理》
  • 《软技能:代码之外的生存指》
  • 《人人都是产品经理》
  • 《数据挖掘与数据化运营实战》
  • 《长尾理论》
  • 《点石成金》
  • 《启示录-打造用户喜爱的产品》
  • 《精益创业》
  • 《认知盈余》
  • 《定位》
  • 《PRINCE2成功的项目管理》
  • 《超越对手-软件项目经理的18种使用技能》
  • 《快速软件开发》
  • 《人件》
  • 《人月神话》
  • 《写给大家看的项目管理》
  • 《有效沟通-管理者的沟通艺术》
  • 《最后期限》
  • 《Scrum实战——敏捷软件项目管理与开发》

投资理财

  • 《股票操盘手回忆录》
  • 《彼得林奇的成功投资》
  • 《战胜华尔街》

工具篇

开发工具

工具网站

  • Android Developers:Android官方开发者网站,有各种开发文档可以阅读,以及下载开发工具,英语不太好的可以选择“简体中文”哦!
  • AndroidDevTools:收集和整理了Android SDK、开发工具、开发教程的下载地址
  • 下载qt源码
  • 下载jar包
  • GrepCode:第三方的源码网站,可以查看和下载Java,Android等的源码,还可以提供多不同版本的源码在线查看,下载,以及可以方便的对比各个版本的差异。
  • Android Code Search:Android 开源项目 (AOSP) 的代码搜索工具

调试利器

  • Stetho:Stetho,来自Facebook,它能做什么?无需root,借助Chrome可以查看SharePreferences和数据库中的数据,此外还有网络抓包以及查看View树等。

AS插件

  • android-parcelable-intellij-plugin:帮助继承Parcelable的类自动生成相应代码,在没遇见它之前,手动写过大量的Parcelable实现代码,真的好痛苦。
  • GsonFormat:根据JSON数据快速生成Java实体类,又一波解放生产力。

逆向分析

  • Jdax:轻轻一下,立马让apk宽衣解带
  • Classyshark:轻松查看apk内部每个包的方法数,用了哪些开源库。
  • smali代码调试插件:你以为没有拿到安卓Java源码就不能调试了吗?图样图森破了吧。
  • IDA Pro:逆向大利器,不管你是smali还是so文件,照样动态调试你。

Crash搜集

  • Bugly:腾讯出品的SDK,对Crash搜集的体验非常赞,能搜集到JNI层的奔溃以及监控线上的ANR问题。
  • Crashlytics:国外的一个SDK
  • ARCA:一个开源的崩溃日志搜集器,轻松让你实现客户端的崩溃日志上传到后台,如果你不喜欢接入别人家的SDK,可以使用它。有一个不足之处,就是它搜集不到JNI层的奔溃。

素材站点

博客 Android IconFont全攻略

常用工具

  • GifCam:一个好用的视频转gif工具
  • JitPack:GitHub上面的开源库可以发布到这里,创建属于自己的开源库,供其他开发者使用
  • SunSpider:JavaScript Benchmark
  • JetStream:JavaScript Benchmark
  • StarUML:开源免费的UML工具
  • 1024程序员开发工具箱: JSON格式化,Markdown 编辑转Html等工具

工具软件

  • Sketch:简单易用的绘图工具
  • 墨刀:在线原型设计与协同工具
  • 蓝灯:一个免费的VPN工具,支持Android 、IOS、Windows、Ubuntu。

在线绘图

  • ProcessOn:免费在线作图,可以生成本地PNG
  • PlantUML:在线作图,可以生成在线PNG,可以版本控制
  • Gravizo:在线绘图的渲染引擎
  • 百度脑图:在线绘制思维导图,免安装,云存储,易分享
  • 在线PS软件

Markdown 相关工具

在线编辑工具

  • leanote 蚂蚁笔记:地址:在线功能强大,客户端功能更强大
  • Dillinger:地址
  • StackEdit:地址

功能:

  • 即时渲染
  • 管理多个 MarkDown 文档,可在线或离线编辑
  • 通过模板导出 MarkDown 、 HTML 或者 pdf 格式文件
  • 转换HTML到 MarkDown
  • 云同步,一键发布

Markdown 转 pdf

  • VSCode 软件的 Markdown pdf 插件,免费,好用。邮件直接保存为pdf,如果有问题,可以右键先保存为html,然后用chrome等打开,使用ctrl+p(打印),保存成pdf,格式保留的非常好
  • 用 leanote,客户端功能很强大,但是这个功能要收费
  • 用 Chrome 打开 md 文件,然后打印用 pdf 格式输出。
  • 用 StackEdit 保存为 pdf 格式,不过这种格式要收费才能使用,可以保存为html,然后用浏览器打开打印成 pdf。格式转化可能会有问题
  • 用 Dillinger 保存为 pdf 格式,但是中文转化有问题

API

一些后台数据的API,可用来应用开发练手

专利检索

其他

视频地址解析

持续更新中……