自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西涛offbye-移动全栈技术博客

关于移动端架构和全栈开发,Android, HTML5,Swift,前端,人工智能,技术管理等

  • 博客(587)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

转载 如何学习安卓自定义View有这些足够了

⊙作者:Maat红飞⊙原文地址:https://github.com/xinghongfei/awesome-viewView绘制机制掌握onMeasure,onLayout,onDraw及相关类的使用。绘制机制view的绘制流程讲的最好的就是《Android开发艺术探究》这本书了,如果你还不是一名高工,想从事Android开发,这本书必备。不过还是给大家推荐一篇博文,相信很多人已经看过了公共技术

2017-01-10 23:15:24 1054

原创 微信小程序开发者工具初体验及实现技术初探

微信小程序是当前的热点,市面上已经有很多微信小程序开发相关的文章,今天晚上抽了点时间折腾了微信小程序,并顺便看看了下微信小程序开发者工具的实现,是使用Node.js开发的,UI是基于NW.js框架开发的,支持Windows和Mac跨平台。

2017-01-10 23:10:54 2743

原创 Linux下使用cntlm配置代理上网

公司网络使用了域账号管理机制,上网必须配指定的机器名和域名,并需要密码,访问网站时经常弹出输入用户名密码的窗口,很多软件都不能自动升级,而且Console模式下apt-get也不能使用;使用cntlm就可以解决上述问题。步骤如下:代理环境下IT环境配置 1. 首先,安装cntlm工具(工欲善其事必先利其器么) 软件官网:http://cntlm.sourceforge.net直接下载deb安装包

2017-01-03 22:40:20 5622

转载 你应该知道的一些Android ADB 命令

一、设备相关1、adb devices显示连接到计算机的设备List of devices attachedbe34d81e device输出格式为 [serialNumber] [state],state 有如下几种:列名解释nodevice没有设备/模拟器连接offline表示设备未连接成功或无响应。device设备已连接。注意这个状态并不能标识 Android 系统已经完全启

2016-11-30 22:02:52 4953 1

原创 我眼中的全栈工程师

现在越来越多的创业公司都想找全栈工程师,因此市场上就出现了很多伪全栈工程师,特别是学会了Node的前端工程师,前端工程师会Node就全栈了?这严重不符合我对全栈工程师的理解,这篇文章我主要是说下我对全栈工程师的个人看法。在我眼里,全栈工程师是下能玩硬件和驱动,上能写网页和js,中间能玩转服务器和数据库,没事还能自己做个安卓或iOS App, 对IT系统有着全面深刻的理解。我认为全栈工程师的特质应该有

2016-11-20 20:49:09 5880 2

原创 如何使用repo下载部分Android源码并保持项目结构

最近打算重新折腾下Android源码,由于网速慢和Mac的SSD磁盘空间不太够的原因,打算只下载部分想研究的Android源码看看,但又想保留android源码本身的结构,因此不能直接clone github上的android源码项目。目前android 7.0源码完整下载估计在40G左右,如果翻墙下载网速比较慢,可能几天都下不好,也就不要折腾了。在分析了.repo目录下面的文件之后,我找到一个简单

2016-11-01 22:51:46 2825

原创 用Zepto代替Jquery提升移动Web用户体验

jQuery现在已经是Web开发者比较依赖的一个库.甚至在很多公司内部也把jQuery当成了一个基本库来使用.但随着移动端的流行使用庞大的jQuery去支撑移动端的开发显得有些重量级了,于是就出现了一个轻量级兼容库Zepto.js.Zepto是作为为了支持移动端的浏览器而开发的一个和jQuery API极度相似的一个库, 如果你会用jquery,那么你也会用zepto,这样就大大降低团队协作的成本,

2016-10-19 09:21:20 1663

原创 PyCon2016上海站参会感想

2016年9月10日早上5点多做高铁去上海参加PyCon2016大会,这是我第二次参加PyCon大会,上一次是2014年,我觉得这是一个比其它的技术大会有意思的大会。在拖了整整一个月后,今天终于抽时间把参会感想整理出来了。PyCon大会是Python语言社群全球性的盛会,PyConChina是由CPyUG(华蠎用户组)获得授权举办的中国PyCon年会。本次大会的主题是Pythonic, C’est

2016-10-12 18:51:23 1096

原创 在 2016 年学 JavaScript 是一种什么样的体验?(React从入门到放弃)

最近几个月由于工作原因,比较深入折腾了React,对下面这篇文章深有感触,为身边勇敢踏入React和React Native这个大坑的小伙伴点个赞。前端技术这几年发展太快了,目前比较主流的框架是React,AngularJS 1.3-2.0, Vue.js,其中React的生态最复杂。 React引入了太多新技术和库,基本上颠覆了前端开发的传统习惯,一个Demo项目都会用到几百个npm包,js语法

2016-10-12 09:06:49 5563 2

转载 说说还在stage3的async/await

这篇文章介绍了ES7中 async/await,generator,co,bluebird等异步编程的关联和发展变化,值得参考。原文 https://cnodejs.org/topic/5709cb2f94b38dcb3c09a7acasync/await提议 https://tc39.github.io/ecmascript-asyncawait/目前在 stage3, 没赶在 ES2016即E

2016-10-09 09:40:59 1528

转载 Node.js Async Await in ES7

原文 http://stackabuse.com/node-js-async-await-in-es7/One of the most exciting features coming to JavaScript (and therefore Node.js) is the async/await syntax being introduced in ES7. Although it's basi

2016-09-30 07:01:33 3177

转载 ReactRouter 4 前瞻

ReactRouter 4 这次改动挺大的,后面又要折腾一次了!!作者:杨森链接:https://zhuanlan.zhihu.com/p/22490775要问用 React 技术栈的前端同学对哪个库的感情最复杂,恐怕非 ReactRouter 莫属了。早在 React 0.x 时代,ReactRouter 就凭借与 React 核心思想一致的声明式 API 获得了大量开发者的喜爱。后续更是并入

2016-09-21 08:32:31 7162

转载 Android N混合编译与对热补丁影响解析

首先非常抱歉Tinker没有按期内测,这主要因为开源的代码需要通过公司内部审核与评测,这项工作大约还需要一个月左右。当前Tinker已经在公司内部开源,我们会努力让它以更完善的姿态与大家见面。大约在六月底,Tinker在微信全量上线了一个补丁版本,随即华为反馈在Android N上微信无法启动。冷汗冒一地,Android N又搞了什么东东?为什么与instant run保持一致的补丁方式也跪了?t

2016-09-19 19:29:12 4405 1

原创 Cordova整合使用腾讯浏览服务X5内核

在对基于Cordova的Android混合App的性能优化过程中,遇到了很多在不同安卓版本手机上的Bug,很多都是安卓不同版本的系统webview的差异导致的,有可能是安卓系统的问题,也有可能是手机厂商修改webkit带来的问题,这些问题从前端技术层面是很难解决的,修改和测试成本都非常高。因此我想通过使用统一webkit内核的大招来解决,目前有2个方案可选,使用Crosswalk内核或腾讯浏览服务X

2016-09-16 19:24:28 9096 6

转载 给JavaScript 初心者的ES2015 实战

这篇文章本来是繁体中文的,我把它转成简体放在这里。原文是http://lifemap.in/es2015-in-action/,对于Javascript ES6 介绍的比较全面。前言历时将近6年的时间来制定的新ECMAScript标准ECMAScript 6(亦称ECMAScript Harmony,简称ES6)终于在2015年6月正式发布。自从上一个标准版本ES5在2009年发布以后,ES6就一

2016-09-07 15:53:15 4863 2

原创 Node.js中使用redis数据库的正确姿势

Redis是一个常用的Nosql数据库,一般用来代替Memcached做缓存服务,同时它也支持数据的持久化,有着比较广泛的应用场景。在Java中使用redis我们已经比较熟悉了,那么在node.js和koa.js框架中使用Redis的正确姿势是怎样的呢? Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有

2016-09-06 18:06:38 17420

转载 Redis 数据结构使用场景

redis共有5种数据结构,每种的使用场景都是什么?一、redis 数据结构使用场景原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码。目前目标是吃透 redis 的数据结构。我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢?String——字符串Hash——字典List——列表Set——集合Sorte

2016-09-06 10:57:37 685

转载 QQ空间面向移动时代Hybrid架构设计

这篇文章提到的对于H5混合应用的性能优化很有参考价值。我们的第一场是来自腾讯的黄俊涛,给大家分享的题目是《QQ空间面向移动时代Hybrid架构设计》。黄俊涛,现任腾讯高级工程师,有非常丰富的经验,并且是Hybrid专家,现在对混合开发非常有研究。黄俊涛:大家下午好!我是来自腾讯QQ空间的黄俊涛,先作个简单的自我介绍:我在腾讯英文ID是叫Shine,所以大家其实叫我“Shine(帅)哥”就可以了。我

2016-08-30 14:59:46 2290

原创 买无人机之前你需要知道的几件事

随着近几年航拍机行业的火热,大疆等知名无人机厂商开始变得家喻户晓。近期小米无人机的上市,让越来越多的人想拥有自己的无人机。 航拍高大上,炸机很危险。在具备必要的知识和能力前,请不要把无人机作为炫耀的玩具。这几年小白玩大疆精灵在闹市区飞,在机场附近飞,炸机导致事故或影响公共安全的事情还少吗? 本文就谈下新手入手航拍机前需要知道的一些事情。作为一个在5iMX玩了很多年的资深模友,我首先以5iMX的5

2016-08-26 19:21:24 2717

原创 Cordova支付宝插件的那些坑

最近帮忙折腾Cordova App,因为是商城类App,需要接APP微信支付和支付宝支付,于是先到github上找相关的插件解决,微信支付很顺利的用插件解决了,支付宝插件就不那么顺利了,网上的几个插件要么过时了,要么实现不合理或不完整,最后还是自己改了个支付宝插件。

2016-08-26 16:47:16 6740 4

转载 深入解析 ES6:Generator

今天讨论的新特性让我非常兴奋,因为这个特性是 ES6 中最神奇的特性。这里的“神奇”意味着什么呢?对于初学者来说,该特性与以往的 JS 完全不同,甚至有些晦涩难懂。从某种意义上说,它完全改变了这门语言的通常行为,这不是“神奇”是什么呢。不仅如此,该特性还可以简化程序代码,将复杂的“回调堆栈”改成直线执行的形式。我是不是铺垫的太多了?下面开始深入介绍,你自己去判断吧。简介什么是 Generator?

2016-08-24 13:29:46 1584

转载 如何正确理解和使用ES6 Promise?(We have a problem with promises)

Fellow JavaScripters, it's time to admit it: we have a problem with promises.No, not with promises themselves. Promises, as defined by the A+ spec, are awesome.The big problem, which has revealed itse

2016-08-19 15:31:23 3703 1

原创 Mac Terminal终端光标的快捷键操作

Mac Terminal终端和linux上终端光标的快捷键操作是一样的,都是来自Emacs这个神级的编辑器,由于我以前vim用的多,没怎么用过Emacs,所以就不习惯了。常用的快捷键:Ctrl + d 删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit;处理多行标准输入时也表示eof)Ctrl + h 退格删除一个字符,相当于通常的Back

2016-08-18 18:26:06 6662

转载 Python爬虫突破封禁的6种常见方法

在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长。今天大众好像更倾向于用“网络数据采集”,有时会把网络数据采集程序称为网络机器人(bots)。最常用的方法是写一个自动化程序向网络服务器请求数据(通常是用HTML表单或其他网页文件),然后对数据进行解析,提取需要的信息。本文假定读者已经了解如何用代码来抓取一个远程的URL,并具备表单如何提交及JavaScript在浏览器如何运行

2016-08-17 22:36:59 62490 8

转载 H5性能优化方案

H5性能优化意义对于一个H5的产品,功能无疑很重要,但是性能同样是用户体验中不可或缺的一环。原本H5的渲染性能就不及native的app,如果不把性能优化做起来,将极大地影响用户使用产品的积极性。用户感受当用户能够在1-2秒内打开H5页面,看到信息的展示,或者能够开始进行下一步的操作,用户会感觉速度还好,可以接受;而页面如果在2-5秒后才进入可用的状态,用户的耐心会逐渐丧失;而如果一个界面超过5秒

2016-08-17 18:06:07 8035

转载 移动H5前端性能优化指南

移动H5前端性能优化指南概述1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB5. Mobile侧因手机配置原因,除加载外渲染速度也是优化重点6. 基于第五点,要合理处理代码减少渲染损耗7. 基于第二、第五点

2016-08-17 16:58:15 2892

转载 React移动web极致优化

原文地址最近一个季度,我们都在为手Q家校群做重构优化,将原有那套问题不断的框架换掉。经过一些斟酌,决定使用react 进行重构。选择react,其实也主要是因为它具有下面的三大特性。React的特性1. Learn once, write anywhere学习React的好处就是,学了一遍之后,能够写web, node直出,以及native,能够适应各种纷繁复杂的业务。需要轻量快捷的,直接可以用R

2016-08-12 19:19:35 2561

转载 微信 Tinker 负责人张绍文关于 Android 热修复直播分享记录

以下来内均来自 腾讯 DEV CLUB 微信直播群,整理发布于diycode分享给大家。大家可以去关注微信技术团队的公众号WeMobileDevhello,大家好。我是张绍文,目前在微信主要负责Android的性能优化以及终端质量平台相关工作。首先非常抱歉由于本周版本上线,可能准备的不是太充分。若有任何疑问,欢迎在分享结束后提问。下面开始我们今天的分享,热补丁技术是当前非常热门的Android开发

2016-08-12 09:52:26 2417

转载 HTTP状态码大全

HTTP状态码大全完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过

2016-08-10 14:48:26 822

转载 Android Patch 方案与持续交付

Android 不仅系统版本众多,机型众多,而且各个市场都各有各的政策和审核速度,每次发布一个版本对于开发同学来讲都是一种漫长的煎熬。相比于 iOS 两三天就能达到 80% 的覆盖速度而言,Android 应用版本升级至少需要两周才能达到 80% 的升级率,严重阻碍了版本迭代速度。也导致市场上 App 版本分散,处理 bug 和投诉等也越来越麻烦。修复的 bug 需要等待下个版本发布窗口才能发布?

2016-08-09 10:43:39 837

转载 Android移动开发者必须知道的Deep Linking技术

1.概述Deep Linking(译:深度链接)作为移动开发者可能对这个概念有点陌生,但是对于它的实现原理,说出来大家肯定都知道。不过我们先说一下Deep Linking能做什么?它可以唤起指定应用并向其传递数据,根据传递的数据显示特定内容页的详细信息;它不再受制于应用,只通过一个链接便可唤起应用并跳转到指定页面;它使应用之间产生了联系,使应用不再孤立存在;它优化了用户体验,这一点是它最终要达到的

2016-08-08 14:53:47 2117

原创 Tower中国用户适配版本--cTower手机地面站3.2.3发布

最近折腾无人机,发现官方的Tower手机地面站在很多国产手机上不可用,没有谷歌gms服务啊,于是花了几天自己改了一个版本,欢迎广大模友试用。Tower is a Ground Control Station (GCS) Android app built atop 3DR Services, for UAVs running Ardupilot software.Tower中国用户适配版本–cTo

2016-08-03 20:26:18 9228 12

原创 安卓旧项目使用Small框架插件化改造踩坑记

我们团队把一个10万行安卓代码的旧项目(电商系统管理台App),使用Small框架做了插件化改造。把项目分成了10多个插件模块,解除了业务模块之间的代码耦合,为业务功能的快速迭代和多团队并行开发做好基础架构。迁移期间遇到了一些坑,但最后在大家的努力下基本得到了解决,也感谢Small的作者光亮对我们提出的issue的快速响应。Small的应用场景开发时:让你完全透明的像开发普通工程一样完成插件开发

2016-07-23 10:14:01 5741 2

转载 Google I/O 2016 笔记:APK 瘦身的正确姿势

作者:Caspar链接:https://zhuanlan.zhihu.com/p/21543787业务逻辑不断累积、引入的第三方 SDK 不断增加以及图片资源不变变大,APK 瘦身已经是每个 Android 应用开发者不得不考虑的问题了(iOS 应用也有瘦身的问题,但相比之下 Android 应用的瘦身压力大得多)。坊间流传的各种瘦身方法有些切实可行,有的却流毒甚广。不妨结合这届 I/O 的两个相

2016-07-21 15:46:22 1573

转载 全栈工程师眼中的HTTP

【全栈工程师眼中的HTTP】一文摘自《Web全栈工程师的自我修养》一书,由异步社区出版。本书作者是腾讯公司高级工程师,在前端、后端和APP开发方面都有丰富的经验,在本书中分享了全栈工程师的技能要求、核心竞争力、未来发展方向、对移动端的思考。除此之外,本书还详细记录了作者从零开始、学习成长的心路历程。HTTP,是Web工程师每天打交道最多的一个基本协议。很多工作流程、性能优化都围绕HTTP协议来进行

2016-07-20 11:02:33 1421

转载 【webapp的优化整理】要做移动前端优化的朋友进来看看吧

原文 http://www.cnblogs.com/yexiaochai/p/3759959.htmlwebapp小钗从事单页相关的开发一年有余,期间无比的推崇webapp的网站模式,也整理了很多移动开发的知识点,但是现在回过头来看,webapp究竟是好还是不好真是一言难尽哟!webapp使用JavaScript修改页面;紧接着再从服务器传递更多数据然后再修改页面,如此循环。从性能的角度看,在现代

2016-07-20 10:54:34 1949

原创 Android OkHttp3使用http2问题记录

Android Okhttp3使用http2.0协议的接口时,发现一个问题,打印错误Log E/NativeCrypto: ssl=0xd25d4000 cert_verify_callback x509_store_ctx,Google上没有查到相关的信息,毕竟现在http2用的还很少。经查看Android源码,排查发现这只是个LOG,不是错误,可以放心的用http2了。

2016-07-15 12:55:54 10779 1

转载 高效率开发的Android Studio插件收集

我重新收集整理一些些可以显著提升Android开发效率的Android Studio插件,好的插件和快捷键可以提高效率,缩短开发周期。这里介绍的插件大部分都可以通过Studio的插件市场下载安装,安装方法如下:in Android Studio: go to Preferences → Plugins → Browse repositories,搜索你要安装的插件,推荐这种方式,如果有些插件在re

2016-07-15 12:54:04 1778

转载 我在系统设计上犯过的14个错

在上篇《架构师画像》的文章中提到了自己在系统设计上犯过的一些错,觉得还挺有意义的,这篇文章就来回顾下自己近八年来所做的一些系统设计,看看犯的一些比较大的血淋淋的错误(很多都是推倒重来),这八年来主要做了三个基础技术产品,三个横跨三年的大的技术项目(其中有两个还在进行中),发现大的错误基本集中在前面几年,从这个点看起来能比较自豪的说在最近的几年在系统设计的掌控上确实比以前成熟了很多。第1个错在设计服

2016-07-14 18:06:44 2277

原创 Android Volley框架整合升级OkHttp3.3问题

我们以前的Android项目网络框架是基于Volley和OKHttp2。现在由于Aliyun SDK升级和整合React Native模块的原因,它们现在都是用了OkHttp3,因此需要统一升级到最新稳定版本OkHttp3.3。 参考了网上的一些资料,主要是有下面几个问题:首先是’org.apache.http’在Android6.0版本已经去掉了,因此需要用’org.apache.http.le

2016-07-08 19:18:57 3581

2016年南京软件开发者大会《 高效率的Android开发》PPT

从2009年到现在,Android开发已经发生了翻天覆地的变化。本次演讲PPT将分享通过组合使用大量新框架,模式和工具,高效率的开发Android App。主要介绍ButterKnife,Volley,Retrofit,Gson等开发框架,Rx编程模式,Bugly等第三方开发平台工具

2016-05-04

Android系统介绍和学习路线培训

2014年11月在公司内部培训的PPT,比较系统地介绍了Android的来源,发展,优势和存在的问题,介绍了一些Android比较新的领域和技术,总结了Android开发的学习路线图,推荐了开发相关的网站,书籍和资料

2015-09-22

如何合理设计HybridApp: 移动应用跨平台开发经验分享

这是我5月18日在火龙果讲堂做的分享PPt,详细介绍了HybridApp的适用场景,局限性,技术发展情况,相关技术框架和工具。分享了使用HTML5,AngularJs,Ionic,PhoneGap框架开发跨平台移动应用的实际项目经验

2014-05-29

RaspberryPi使用舵机网页远程控制摄像头转动

RaspberryPi使用舵机网页远程控制摄像头转动, 使用php,servoBlaster库,js实现,视频监控使用motion

2013-06-01

android downlaod manager下载管理器

功能完整强大的android下载管理器, 支持多任务管理,断点续传,暂停下载, 下载任务图标设置,状态栏通知(进度条),媲美国内知名软件市场hiapk,360手机助手等内置的下载管理器。

2012-11-23

手机号码归属地查询软件(附手机号码归属地文件)

手机号码归属地查询软件(附手机号码归属地文件)

2011-08-09

android vcard syncML源码

Android-vcard: Java vCard library。 android下的syncML代码,做联系人同步的可以参考一下。

2011-08-09

jquery表单验证插件

jquery表单验证插件formValidator3 很强大很好用

2008-12-16

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除