移动开发必读书单

为什么要列这一个书单?我认为某一领域的技术人,在他的职业生涯中,一定有一些绕不过去的技术和非技术的知识。有的时候,靠自己摸索、到处偷师,倒也能掌握。但是,这些别人早就趟过去的坎,大多已经有了非常棒的书籍作为总结。看了这些书,脚下的路就要平一些。这个书单,就是为了找到移动领域的这些书。

这些书籍都是移动前线群里推荐的,都是他们自己读过,甚至是反复读的书。如果你对这些书有什么看法,欢迎发表意见,或者添上你觉得认为必须的书。

这个书单也不会一成不变,欢迎大家的增补修改。

计算机基础

《程序是怎样跑起来的》

推荐理由:类似深入理解计算机的图解版本,如果第一次看深入理解计算机看不进去,可以先看看,了解个大概,再看深入理解计算机这本就容易很多。

《深入理解计算机系统》

推荐理由:了解一个程序的编译、链接、执行过程,以及虚拟内存是如何分配等。

通用编程

《算法(第四版)》

推荐理由:难度不及算法导论,但是更适合工程领域,导论恐高症患者的福音。

《编程珠玑》

推荐理由:编程珠玑这本书推荐给有代码基础的小伙伴,推荐理由是书里会有一些优化和算法基础的思想,适合入门之后的进阶,对优化和算法能够有一些基础的认识。对程序员写出优质而高效的代码比较有帮助,至少我个人阅后感受如此。

《设计模式之禅》

推荐理由:读完,通俗易懂,更深刻理解面向对象和面向接口。

注:设计模式这几本书难以取舍,选一本读即可。

《大话设计模式》,《大话数据结构》

推荐理由:都是菜鸟和大牛的对话模式,看着不枯燥,内容也很全。

推荐理由2:推荐初级程序员看<大话设计模式>,这本书有个好处是他是演进式的,虽然内容很简单,看完也没办法直接指导到开发上。但是会有一种恍然大悟的感觉,原来这就是设计模式。比起四人组的设计模式,太过于专业的说明和定义,对于初级开发人员来说,往往无法消化甚至抵触。回到大话设计模式,将实践和故事相结合,即让设计模式接了地气,又引发自己的思考,我怎么可以改造既有的项目。同时作为入门书籍,看完后你会更渴望更专业的设计模式的内容也算是这本书的一个意义。总结就是,一本非常入门接地气的设计模式书籍。

《Head first 设计模式》

推荐理由:漫画形式的以对话为主,都是从生活中的小例子入手,更理解一句话了:万物皆对象。

《构建之法》

推荐理由:一本有趣的软件工程书,新手哪知道什么是软件工程。书里描述了作者在的团队遇到了哪些问题,如何正视,怎样改善,不断改进。理论和实践相结合。面向实战。讲述软件工程中不同角色的作用。看完后可以帮助新手更好地理解软件开发是怎么个回事,更快地走向成熟。

《代码大全》

推荐理由:代码大全全面讲述了工程实践的要点,深入每个细节。可以帮助新手拓展视野,熟悉规范,也可以在学习一些概念或技术时当做字典查。总之代码大全的英文名code complete很能说明问题:帮助你完成整个编码活动的全过程。

《代码整洁之道》

推荐理由:这几天在看,讲解详细,有提供示例,可以提高自己编码素质。

《图解http》

推荐理由:做网络编程必须要懂的基础书,看这本书对做网络缓存和网络性能优化都有不小的帮助,最主要是书内容深入浅出 图文并茂,通俗易懂。

《单元测试的艺术》

推荐理由:由浅入深地介绍了单元测试的各方面知识,告诉我们如何写好单元测试,如何写易于测试的代码,如何处理遗留代码等问题,有理论有案例。

《修改代码的艺术》

推荐理由:详细讲解重构技巧的书,教你怎么处理各种遗留的烂代码,非常详实的重构操作手册。

iOS开发

《Effective Objective-C 2.0》

推荐理由:这本书很适合初学者,能帮助初学者一开始就打下比较规范的基础,里面讲了很多规范。读了这本书能让初学者少走很多弯路。

推荐理由2:精炼,针对性强,对一些生僻容易懵圈的知识点讲得比较细。

《iOS编程实战》

推荐理由:尤其推荐小公司的没有系统学习过iOS的同学看,实战和自己闭门造车完全两码事,这书不是教人这个api怎么用,而是应该这样用。

《Objective-C高级编程 iOS与OS X多线程和内存管理》

推荐理由:这本书给我带来的最大价值是:要让自己对一项技术有全面的认识,光从官方文档、开源代码中寻找答案并不够,还要会用各种工具来验证自己的想法。可以看出作者对技术非常严谨的态度,虽然偶尔有些翻译并不容易让人理解,但真的是一本进阶型的书。

《iOS编程(第4版)》

推荐理由:作者之一Aaron Hillegass曾就职于NeXT公司和Apple公司。 书涵盖了初级到中级的,书中在讲到第一次出现的知识点的时候,通常会简要的解释一下,所以初学者很容易上手。缺点是这书有点老,但OC的基础知识讲解的很扎实。

《Swift Apprentice》

推荐理由:这本书的优势就是从浅入深,抽死剥茧,从最基础的知识带领你到函数编程奥义的天堂,充分的实例,全英文,免去你被中文版带沟里的风险,相信这本书能告诉初学者swift2为什是大势所趋,为什么swift2即是面向对象编程语言又是函数编程语言。

《Swifter – 100 个 Swift 必备 tips》

推荐理由:比较偏帮助手册类的tips,虽然没有讲Swift比较深入的,但对前期学习Swift梳理与Objective-C及混编有很大帮助。

《iOS应用逆向工程 第2版》推荐理由:iOS应用逆向最有价值参考书籍,内容涵盖多个实例,阐述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,通俗易懂;总结提炼出一套从UI观察切入代码分析的iOS应用逆向工程方法论,激发iOS开发人员对应用安全的思考,把主动防御的思想渗透到项目开发中。

Android开发

《第一行代码》

推荐理由:我刚刚大体看了一遍 ,这本书学完之后完全足够入门,而且不会令初学者感到枯燥。在入门阶段还可以作为工具书不断去翻阅,不同时期会有不同的感受。 里面打小怪兽升级的旁白,现在回过头看还确实挺有趣的。

《App研发录》

推荐理由:研发辅助类,包含了异常的分析,竞品分析和项目管理,书不厚,但是有些能增加知识的广度。

《Embedded Android》

推荐理由:从底层讲解android系统的机制与设计,比较适合具有一定经验的开发者,属于进阶书籍。

《Java并发编程实战》

推荐理由:通过java现成的并发工具类介绍和实例,深入浅出的说明如何安全地进行多线程操作和优化。

《Android.C++.with.the.NDK》

推荐理由:android jni入门与提高,系统讲解android jni的编译、提供的接口、java jni的通讯方式等,对于需要学习jni开发的同学是必读,毕竟jni文档缺乏。

《Android开发艺术与探索》

推荐理由:主要讲一些原理,主要学习为什么这么用,以及源码解析说明。

《深入了解JVM虚拟机》

推荐理由:这本书对了解底层机制很有帮助,是进阶必选。

《Java编程思想》

推荐理由:Java编程思想是Java圣经,要有一定经验去看效率才不错。

人文类

《程序员的职业素养》推荐理由:从企业,团队,技术,自身等各个角度阐述了作为一个专业的程序员应该如何去做到更好,不卑不亢,不投机取巧,树立非常正能量的价值观,举了很多工作学习中经常碰到的案例,读完相见恨晚。书不是太厚,个人净阅读时间在10小时左右。

《在人生拐角处》

推荐理由:很多程序员对于自身的职业规划并没有,所以这本书就是帮助你化解你的迷茫,做好职业规划,里面是生涯规划师写的案例,都很贴近生活,适合不知道自己该怎么走下去的人看。

《程序员健康指南》

推荐理由:本书是为了程序员量身订造的健康指南,针对头痛,眼部疲劳,背部疼痛和手腕疼痛等常见问题,简要介绍了其成因,测试方法,并列出了每天的行动计划,从运动,饮食等方面给出详细指导,帮助程序员在不改变工作方式的情况下轻松拥有健康。

《重新定义公司 How Google Works》

推荐理由:一分理论三分实践相结合,告诉你互联网公司运作的合理方式。亮点是针对理论有 Google 实际的实行方式,也有多个 Google 内部项目成长的曲折过程,还有谷歌退出中国的内部爆料。

《黑客与画家》推荐理由:非常有深度的一本书,作者在经济,社科,历史,等很多方面都很有自己的见解,更不用说技术和创业了。书中很多观点有准确的例证引用,让人信服。

《Rework》推荐理由:一句话:太赞的一本书了!!!创业者必读!当然,不创业的人也能从中得到非常多的insight。作者是37signals.com的两个创始人,其中之一还是Ruby on Rails的creator。讲的是创业中需要注意的一些事情,但这些事情不仅仅是创业中才需要注意的。另外,英文原版的写的也很通俗易懂,推荐看原版的。

推荐理由: 这本书本身就是小而美的37Singal自身成长的总结,特别适合小团队初创团队,很好的诠释了“好铁用在刀刃上”。

《Getting Real》推荐理由:37Signals的又一本书,也是第一本,强调用一种务实的方式做一个Web app,从产品组队实现上线推广各方面的点点滴滴。内容依然很棒,但是跟《Rework》有大量重复的地方,看过那本以后已经没有那种惊艳的感觉了。也算是知道了为这么这本书豆瓣评分达9.1, 而那本“只有”8.7了。

《代码的未来》推荐理由:Ruby发明人Matz的大作,这是一本技术性随笔,介绍了现代编程的方方面面,从lisp宏到gc技术,再到元编程,IPC,多核及云计算,NoSQL。。。虽说是随笔,还是具备一定的技术性的,很多地方要认真的看才看得懂。作者的语气很谦虚亲切,很多地方甚至有卖萌的嫌疑,哈!总之,是一本广大程序猿增长见识,拓宽视野的极佳之作!

《GEB》

推荐理由:通过对哥德尔的数理逻辑,艾舍尔的版画和巴赫的音乐三者的综合阐述,引人入胜地介绍了数理逻辑学、可计算理论、人工智能学、语言学、遗传学、音乐、绘画的理论等方面。抽象级别比设计模式高上几个数量级,看懂这本书,不仅是抽象思维上质的提升,对个人也将产生深远的影响。

效率类

《暗时间》

推荐理由:讲的是关于时间管理,告诉我们怎么学习专业领域技能和非专业领域技能以及我们应该怎么自我管理性格。

《把时间当做朋友》

推荐理由:它的理念就是,时间是不可以管理的,最主要改变的是自己的心智!

技术管理

《门后的秘密》

推荐理由:以场景、对话的方式讲解日常基础技术管理,适合技术人员转管理的细细阅读,入门管理实用。

《人月神话》

推荐理由:管理复杂项目的见解深刻,并有大量软件工程的实践。

《人件》

推荐理由:给技术管理者或者希望走向管理方向的人参考。最近在看第二遍,收获很大。软件即人件,软件开发不光要解决技术问题,更重要是人的问题。为何很多工作加班才能解决?公司为何无法留住员工?读完这本书可以找到一些答案。

Google 和 Baidu 常用的搜索技巧

学计算机的,在学习的过程中,肯定会遇到很多的 Bug,有时候,并不会有前辈在我们的身边指导我们该如何地去学习。这个时候,我们就得靠自己去使用搜索引擎去解决我们的问题。

幸运的是,我们所运到的问题,前人都已经遇到过了,并且给出了相应的解决办法。基本上百分之九十的问题,我们都能在互联网上搜索得到。

下面我给大家介绍下,Google 和 Baidu 这两个搜索引擎的常规搜索技巧

Google 常用的搜索技巧

1. 精确搜索:双引号

精确搜索,就是在你要搜索的词上,加上双引号,这个Google搜索引擎,就会完全的匹配你所要的词

2. 站内搜索:site

这是一个比较常用的搜索方法,site 搜索,就是在站内进行搜索,语法是:site:stackoverflow.com/site:后面加上你要搜索的网站地址。一般程序猿解决问题,用site:stackoverflow.com/,大部分解决不了的问题,都会有答案了。

再举个比较贴近生活的例子,大家平时工作在外,租房子肯定是一件非常困难的事情,黑中介非常的多,使用 Google 搜索房源,能够很快的帮助你找到房子,如成都天府软件园租房

光这样,还远远不够的,毕竟有些房子是发布了好久,那有没有办法搜索最近几天的租房信息呢,有的,见图

有时候,如果搜索到的信息过少,可以考虑下替换关键词

3. 通配符搜索:*

这也是一个比较常用的搜索方法,通常通配符搜索,用在模糊印象的地方比较多。当我想搜一句歌词,边走边爱,反正人山人海但是前边的 边走边爱,就可以用这个方法进行搜索了。搜索* 反正人山人海

4. 减号排除,缩小范围:-

当搜索量比较大的时候,使用减号 - 也是一个非常不错的选择,比如你搜索一个人的信息的时候,通过减号,能够去掉一些无关的搜索,比如:

减去 America 这个信息

5 . 文档搜索:filetype

文档搜索命令 filetype,多数情况下用以查找我们所需要的资料,返回的页面是你搜索的文档相应格式,如搜谭浩强C语言的pdf,版本: filetype:pdf 谭浩强C语言

还再比如,平时的期末考试,找不到科目复习卷子,用 Google 搜索,如图

如果要搜索自己的学校卷子,可以参考下第一条双引号特定搜索,如果 pdf 格式的没有,可以换个关键词,考虑一下其他的文档格式,如 doc 等

6. 图片搜索

平常在网上考到一张好的图片,可以保持下来,但是由于图片的尺寸过小,或者像素不合适,这个时候,只要用谷歌图片搜索,就能找到许多类似的,或者尺寸清晰度更好的同一张

Baidu 常用的搜索技巧

百度常用的技巧,许多和谷歌大同小异,常用的这些命令,这四五个就够用了,其他高级技巧,不是做 SEO 没得必要去记太多

1. 精确搜索:双引号

精确搜索,就是在你要搜索的词上,加上双引号,这个 Baidu 搜索引擎,就会完全的匹配你所要的词

2. 站内搜索:site

这个也是跟谷歌一样,比如搜知乎的内容,site:zhihu.com 长得帅却没有女朋友是什么体验

3. 通配符搜索:*

这个也是跟谷歌一样,比如搜知乎的内容,*谁能凭爱意要富士山私有

4. 减号排除,缩小范围:-

这个还是同谷歌的搜索技巧,我们搜索:Hillary Clinton

缩小范围:

5. 文档搜索

百度的文档搜索,也是这个命令: filetype:pdf 谭浩强C语言 ,不过相对谷歌而已,百度的搜索是把自己的产品,放在前面,见图,排在前面的都是百度自己的产品,百度文库

6. 图片搜索

百度和谷歌一样,都是提供了这个功能,


基本靠着这些方法,就能解决你许多搜索的问题了,其中 site 命令和双引号关键词 " "这两个命令用得相对较多,其他高级少用的技巧,就不一一列举了。

Markdown通用的常用语法说明

前言

Markdown 是一种轻量级的 标记语言,语法简洁明了、学习容易,还具有其他很多优点,目前被越来越多的人用来写作使用。

Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表格、脚注、内嵌HTML等等),这些功能原初的Markdown尚不具备,它们能让Markdown转换成更多的格式,例如LaTeX,Docbook。Markdown增强版中比较有名的有Markdown Extra、MultiMarkdown、 Maruku等。这些衍生版本要么基于工具,如Pandoc;要么基于网站,如GitHub和Wikipedia,在语法上基本兼容,但在一些语法和渲染效果上有改动。

由于一些扩展只在特定的环境中才能实现,所以这里介绍的是通用的常用语法说明。

语法

下面就是常用的Markdown语法内容,以标准Markdown语法为依据,可能这里有一些差异,请以语法为准。

标题

标题分为6级,对应HTML标签的h1~h6。#越多,字体越小。

# H1标题
## H2标题
### H3标题
#### H4标题
##### H5标题
###### H6标题

H1标题

H2标题

H3标题

H4标题

H5标题
H6标题

分隔符

分隔符就是一条横线。

---

文本样式

斜体

* 斜体文本 *
_ 斜体文本 _

斜体文本 斜体文本

粗体

加粗就是是文字为粗体显示,可以使用下面两中方式表示:

**粗体文本**
__粗体文本__

粗体文本

粗体文本

斜粗体

***斜粗体文本*** *__斜粗体文本__*
_**斜粗体文本**_ ___斜粗体文本___

斜粗体文本 斜粗体文本

斜粗体文本 斜粗体文本

删除线

文字有一条删除线的效果

~~ 删除效果 ~~

删除效果

高亮

文字用醒目的高亮显示

这是` 高亮文本 `效果。

这是高亮文本效果。

代码块

代码块就是将源码直接进行展示,可在开始的 “` 后面加上代码语种名称。

`` `  javascript
var str = "hello world!";
alert(str);
`` `

为了显示,上面给出的 “` 加了一个空格。

var str = "hello world!";
alert(str);

上面就是效果

图片

图片展示

方式1:
![文本内容](https://help.github.com/assets/images/site/favicon.ico "logo")
方式2:
![文本内容][img]
[img]:https://help.github.com/assets/images/site/favicon.ico "logo"

方式1:
文本内容
方式2:
文本内容

说明:

URL后面的内容是鼠标hover提示文本,可以省略,省略时就没有鼠标hover提示文本效果。

推荐使用方式2,当一个链接在文中多次出现的时候,就会体现出其优点了。

另外,后面的提示文本除了使用 提示文本 外,还可以是 提示文本(提示文本)

[id]:URL "鼠标hover提示文本"
[id]:URL '鼠标hover提示文本'
[id]:URL (鼠标hover提示文本)

链接

链接根据链接目标可分为站内站外链接,按照类型可分为文本链接和图片链接。
综上所述,可分为以下三种:

文本链接

给文本信息添加超链接

1.<https://github.com/SeayXu>
2.[文本链接](https://github.com/SeayXu "SeayXu")
3.[文本链接][id]
[id]:https://github.com/SeayXu "SeayXu"

1.https://github.com/SeayXu
2.文本链接
3.文本链接

链接URL相关说明和图片一样,请查看

特例:
当链接的文本内容和链接Id相同的时候,可以不用写链接后面的Id。

[SeayXu][]
[SeayXu]:https://github.com/SeayXu "Seay"

SeayXu

图片链接

给图片加上超链接

方式1:
[![Github](https://help.github.com/assets/images/site/favicon.ico "Seay")](https://github.com/SeayXu  "SeayXu")
方式2:
[![Github][img-url]][link-url]
[link-url]:https://github.com/SeayXu "SeayXu"
[img-url]:https://help.github.com/assets/images/site/favicon.ico "Seay"

方式1:
Github
方式2:
Github

提示:由于各个Markdown解析不同,所以显示的提示文本有可能也不太一样。

锚点

锚点其实与文本链接和图片链接用法是一样的,只不过是在本页面内,需要稍微改动下。

设置锚点链接目标:

<h6 id="url-more">说明:</h6>

添加锚点:

[锚点](#url-more "anchor alt text")
[锚点][anchor]
[anchor]:#url-more "anchor alt text"

锚点
锚点

说明:相对于文本链接和图片链接,主要是添加了锚点链接目标这一操作,使用语法跟文本链接和图片链接一样。

列表

列表分为有序和无序两种。

无序列表

无序列表有三种表示方法: *+

下级在上级基础上前面多加两个空格,符号与内容直接有一个空格。

无序列表1:

* 一级条目1
* 一级条目2
  * 二级条目1
  * 二级条目2
    * 三级条目1
    * 三级条目2
    * 三级条目3
  * 二级条目3
* 一级条目3
  • 一级条目1
  • 一级条目2
  • 二级条目1
  • 二级条目2
    • 三级条目1
    • 三级条目2
    • 三级条目3
  • 二级条目3
  • 一级条目3

在这里只演示一种,另外两种就是把 * 分别换成 +

有序列表

有序列表与无序列表类似,只不是是将前面的符号换成数字而已。

1. 一级条目1
2. 一级条目2
  1. 二级条目1
  * 二级条目2
    * 三级条目1
    + 三级条目2
    - 三级条目3
  - 二级条目3
2. 一级条目3
  1. 一级条目1
  2. 一级条目2
  3. 二级条目1
  • 二级条目2
    • 三级条目1
    • 三级条目2
    • 三级条目3
  • 二级条目3
  1. 一级条目3

说明:

  1. 有序列表有自动纠错功能,当序号输入错误时,会自动更正显示序号。
  2. 有序列表可结合无序列表,只在第一个条目输入序号后,同级条目会自动编号。

引用

引用内容可以嵌套引用和使用其他语法,在引用内容后面空一行就表示引用结束。

>这是一段包含**加粗**_斜体__**斜粗体**_ 并带有`高亮`显示的一段文本来自[我的Github](https://github.com/SeayXu "SeayXu")。
我是图片:
![github logo][github-img]
[github-url]:https://github.com/SeayXu "SeayXu"

这是一段包含加粗斜体斜粗体 并带有高亮显示的一段文本来自我的Github
我是图片:
github logo

本文来自:markdown-general-common-syntax
本文就介绍到这里,如有不足之处,可随时与我联系。

知识共享许可协议
本作品由SeayXu创作,采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
基于http://www.cnblogs.com/seayxu上的作品创作。
可自由转载、引用,但需署名作者且注明文章出处,并以相同方式共享。

Windows 10官方批量激活密钥来了

当微软最初宣布Windows10免费升级之时,好多小伙伴都以为要跟密钥说再见了。然而随着微软逐渐公布Win10免费升级策略,大家也逐渐的明白,Win10系统已然离不开密钥。今天微软在TechNet社区公布了Win10预览版的KMS客户端安装密钥,小编在此跟大家分享一下。

     【更新】最新Windows 10免费激活教程(附汇总秘钥)

http://www.iwin10.com/jiaocheng/835.html

\

这些密钥主要用于新系统的批量激活,对于拥有多台设备的企业组织来说是非常有用的。各版本密钥如下:

Windows 10专业版:W269N-WFGWX-YVC9B-4J6C9-T83GX

Windows 10专业版N:MH37W-N47XK-V7XM9-C7227-GCQG9

Windows 10企业版:NPPR9-FWDCX-D2C8J-H872K-2YT43

Windows 10企业版N:DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4

 Windows 10教育版:NW6C2-QMPVW-D7KKK-3GKT6-VCFB2

 Windows 10教育版N:2WH4N-8QGBV-H22JP-CT43Q-MDWWJ

 Windows 10企业版2015 LTSB:WNMTR-4C88C-JK8YV-HQ7T2-76DF9

Windows 10企业版2015 LTSB N:2F77B-TNFGY-69QQF-B8YKP-D69TJ

其中带“N”的版本中不包含Windows Media Player播放器,另外家庭版不需要KSM,因此这里并没有提供家庭版的密钥。

\

说到KMS,对于新用户来说或许并不熟悉,小编在这里就给大家科普一下吧。KMS是微软在Windows Vista、Windows Server 2008系统中首次提出的全新产品激活机制,当然这一举措是为了更好地反盗版。有用多台设备的企业或组织可以通过局域网中的一台KMS主机服务器来激活本地网络内的所有机器,有效期为180天,到期后则需要重新连接激活。

有关KMS部署和激活方法可以参考以下官方教程

https://technet.microsoft.com/en-us/library/ff793419.aspx

  玩转Windows10操作系统,请锁定专注Win10内容阅读体验的Windows10之家!

Win10开发必备:Visual Studio 2015正式版下载

7月21日凌晨消息,面向大众用户的Visual Studio 2015集成开发工具正式版免费试用版已经推出。本文帮大家汇总一下简体中文社区版、专业版以及企业版在线安装版以及ISO离线安装镜像下载地址。

Visual Studio Community 2015简体中文版(社区版,针对个人免费):

在线安装 || ISO镜像

镜像SHA1:1044F9F4E0EA1304AFECF6780BF599F1DA248DF8

Visual Studio Professional 2015简体中文版(专业版):

在线安装 || ISO镜像

镜像SHA1:629E7154E2695F08A3C692C0B3F6CE19DF6D3A72

Visual Studio Enterprise 2015简体中文版(企业版):

在线安装 || ISO镜像

镜像SHA1:4FFA1EE3E2D3337D3EDAE550A3583ABE9C426BEF

更多版本点此下载