小文字 吃饭,睡觉,溜狗头


Node部署到Docker镜像

背景 在用上了docker之后,本机就可以减少安装各种场景需要的软件,从而避免后续的卸载,更新,冲突之类的。 之前讲过把jekyll服务部署到docker中,这次来聊聊nodejs部署到docker。 node程序 为了演示,我们需要先创建一个简单的node程序,下面我们写一段js他会让在被请求的时候返回Hello world server.js 'use strict'; const express = require('express'); // Constants c... 更多


Android端崩溃处理

笔者之前写过两篇类似主题的短文:《怎么看异常崩溃问题》,《对异常收集的一些思考与优化》,本文对两篇短文重新做了梳理使其更具完整性。 PS: 全文大约7000字,快速阅读本文大概需要5分钟 1. 背景 长期以来,开发者都在和空指针,数组越界以及各种奇妙的疑难杂症斗智斗勇。业界也涌现了很多实用的异常收集工具,帮助我们追踪程序的崩溃信息,比如大名鼎鼎的 fabric(前身是Crashlytics), 国内的老牌 友盟,以及后起之秀 bugly。 这些三方工具各有千秋,给我们解决崩溃问题提供... 更多


为何获取Android Gradle Plugin源码这么麻烦?

背景 已经忘了多少次想获取Android Gradle 的源码,但是多少次又搁置了。 repo sync 在使用Android Studio的时候,需要配置一个android的classpath这个大家应该不陌生,正如自定义的plugin配置类似。 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gr... 更多


Multidex启动与安装分析

背景 自从Google推出了官方的multidex1扩展库,巨型App进行分包就变得简单了不少;本文主要从源码角度分析multidex的实现逻辑。 dex 大家对dex动态插入原理应该都有所了解。根据不同Andorid版本的ClassLoader存在的差异,通过反射进行dex数组的编辑操作,将主dex之外的从dex依次插入就可以实现很多事情,比如动态加载,分包等等,当然核心原理是这样,实际上实现的时候又是怎么处理的呢? 下面我们基于multidex的源码开始分析。 multide... 更多


美食实践DIY

唯美食与美女不可辜负:)精选26道自制美味,爱生活,爱美食; 川味回锅肉 清蒸螃蟹 阿根廷红虾 牛肉面 北极贝 拌米粉 韭菜盒子 粉丝... 更多