分类: 编程技术

加快Android编译速度的一些技巧

加快Android编译速度的一些技巧

之前加快Android编译的工具相对较少,其中最具有代表性的开源项目当属FaceBook的Buck和 mmin18的LayoutCast,除此之外还有JRebel 和 Jimulabs。不过前两天google宣布推出Instant Run加快Android 编译速度,相信对其他的工具来说都是一次冲击,这也是写这篇文章的动机。

你确实应该学习并使用的 10 个 C# 特性

你确实应该学习并使用的 10 个 C# 特性

如果使用得当的话,yield 会变得非常强大。它使得你延迟生成序列中的对象,比如当系统不需要枚举整个集合的时候,可以按需停止

Twitter是如何做到每秒处理3000张图片的?

Twitter是如何做到每秒处理3000张图片的?

如今,Twitter每秒可以创建并保存3000张(20GB)的图片。2015年,Twitter甚至从对媒体存储策略的优化中节省出了600万美元。

如何选择 HTML5 游戏引擎

如何选择 HTML5 游戏引擎

原生手游市场已是红海,腾讯、网易等寡头独霸天下,H5游戏市场或将成为下一个风口。据笔者所知,很多H5游戏开发团队由于选择引擎不慎导致项目甚至团队夭折。如何选择适合团队和项目的引擎,笔者通过学习和项目实践,总结微薄经验,供大家参考,非技术人员也可以将本篇内容作为引擎选择的重要关注点。

编写高质量的代码——从命名入手

编写高质量的代码——从命名入手

不知道大家有没有这种感觉,查看一些开源项目,如Spring、Apache Common等源码是一件赏心悦目的事情?

知道这20个正则表达式,能让你少写1,000行代码

知道这20个正则表达式,能让你少写1,000行代码

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。下面是技匠整理的,在前端开发中经常使用到的20个正则表达式。

《神秘的程序员们》漫画44:一封邮件引发的血案

《神秘的程序员们》漫画44:一封邮件引发的血案

《神秘的程序员们》漫画44:一封邮件引发的血案

不做代码审查会怎样?

不做代码审查会怎样?

在真正的实施过程中,很多情况下并不像想象的那般美好,经常出现例如有些同学由于跟不上其他人讲解的速度(毕竟不是自己写的)或是没有相关的上下文(例如刚加入项目的新成员),或是由于提交没有被很好的切分和组织,导致整个过程都处于游离状态(就像下图中的我……毫无摆拍痕迹),而代码审查的效果也打了折扣,渐渐的变成了一个流程,一个过场, 一个习惯。

面试中的排序算法总结

面试中的排序算法总结

查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。

如何用50行代码开发出一个人工智能机器人

如何用50行代码开发出一个人工智能机器人

这年头,机器人程序(bot)是新的应用程序,机器人程序商店就是新的应用程序商店。结合人工智能,机器人程序变得功能日益强大,而且在学习新的本领。我在本文中将介绍如何使用IBM Watson API,用短短50行代码,编写出一个Telegram语音转换成文本的机器人程序。

非常全面的Linux知识点总结

非常全面的Linux知识点总结

Linux博大精深。我只在此讨论一些我对线上Linux机器维护人员的基本需求,比如装机,加硬盘,配网络。只讨论CentOS 6,或者类似的RHEL,当然Ubuntu也可以此类推,但是一些新特性不予讨论,因为我不懂,比如CentOS 7的xfs不予讨论,并不是说xfs不好,而是以目前我的Linux水平需要更新很多xfs的知识,驾驭需要时间。CentOS 7将ifconfig,netstat等原来常用的命令也干掉了,用ip,lsof替换是更加好的工具,但是大部分的线上机器都应该还没有更新到CentOS 7。下面我们以CentOS 6作为基础,谈我认为最基本的4点。

有关网页渲染,每个前端开发者都该知道的那点事儿

有关网页渲染,每个前端开发者都该知道的那点事儿

有关网页渲染的文章很多,但是相关信息比较分散,且论述并不是很完整。如果要想对这个主题有个大致的了解,我们还得学习很多知识。因此,Web开发者Alexander Skutin 决定写一篇文章。他相信,这篇文章不仅能帮助初学者,也能对那些想要刷新知识结构的高级前端开发者有所裨益。

算法的力量,李开复聊算法的重要性

算法的力量,李开复聊算法的重要性

算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解, 认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。

关于 Android 进程保活,你所需要知道的一切

关于 Android 进程保活,你所需要知道的一切

关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一。你到网上搜 Android 进程保活,可以搜出各种各样神乎其技的做法,绝大多数都是极其不靠谱。前段时间,Github还出现了一个很火的“黑科技”进程保活库,声称可以做到进程永生不死。

那些容易被忽视的 JavaScript 细节

那些容易被忽视的 JavaScript 细节

《JavaScript 权威指南》这本书从第四版开始,一直到第六版,每个版本我都逐字逐句读过几遍,然而每一遍下来的感受却完全不一样。上上周的周一,再次翻开了这本犀牛书,这一次我是带着批判精神和研究精神过来的,所以看的时候也写下了一些感受和笔记,都是些容易被忽略的点,部分内容犀牛书上不一定有提到。

Twitter工程师聊JavaScript

Twitter工程师聊JavaScript

本文是Twitter软件工程师Bonnie Eisenman对JS现状的看法和对开发者的一点建议

从一行代码里面学点JavaScript

从一行代码里面学点JavaScript

从一行代码里面学点JavaScript,现如今,JavaScript无处不在,因此关于JavaScript的新知识也是层出不穷。JavaScript的特点在于,要学习它的语法入门简简单,但是要精通使用它的方式却是一件不容易的事。

Android开发中,那些让你相见恨晚的方法、类或接口

Android开发中,那些让你相见恨晚的方法、类或接口

本文类容来自我在知乎上对Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?

Swift 中 10 个震惊小伙伴的单行代码

Swift 中 10 个震惊小伙伴的单行代码

我们永远无法得知有多少人在社交聚会中对这些单行代码留下了深刻的印象,但根据我的猜测,越复杂的例子越能激励我们学习更多函数式编程的知识,至少对外行人来说是这样。

一个最不可思议的 MySQL 死锁分析

一个最不可思议的 MySQL 死锁分析

做MySQL代码的深入分析也有些年头了,再加上自己10年左右的数据库内核研发经验,自认为对于MySQL/InnoDB的加锁实现了如指掌,正因如此,前段时间,还专门写了一篇洋洋洒洒的文章,专门分析MySQL的加锁实现细节:《MySQL加锁处理分析》。

MongoDB注入:如何攻击MongoDB?

MongoDB注入:如何攻击MongoDB?

不管是商业项目还是个人项目,MongoDB都是一个非常好的数据库引擎,国内很多公司也开始用MongoDB。比起传统的数据库,这款数据库比较新,也有很多安全问题是大家还没有意识到的,而这些问题通常可以打得你措手不及。

Python导入模块的几种姿势

Python导入模块的几种姿势

作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包。但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活。在本文中,我们将探讨以下话题

技术成长四个阶段需要的架构知识

技术成长四个阶段需要的架构知识

本文是李庆丰在高可用架构后花园群 3.19 北京光华路安妮意大利餐厅下午茶活动的演讲。

JavaScript API 设计原则

JavaScript API 设计原则

什么是好的 API 设计:在自描述的同时,能达到抽象的目标。

将 Web 应用性能提高十倍的10条建议

将 Web 应用性能提高十倍的10条建议

提高 web 应用的性能从来没有比现在更重要过。网络经济的比重一直在增长;全球经济超过 5% 的价值是在因特网上产生的(数据参见下面的资料)。这个时刻在线的超连接世界意味着用户对其的期望值也处于历史上的最高点。如果你的网站不能及时的响应,或者你的 app 不能无延时的工作,用户会很快的投奔到你的竞争对手那里。