- 博客(112)
- 资源 (1)
- 收藏
- 关注
原创 无线交付平台设计
整体架构 无线交付平台作为公司内部系统是连接代码、产品、研发(测试、运营等)人员三者的枢纽,保证产品持续稳定的产出。 包含持续集成、测试(持续交付)、发布(持续部署)、监控、运营 五大子系统。一、持续集成 集成是指子模块(或分支)合并完整系统的过程。这一过程要随着各子模块的开发持续的集成在一起,而不是最后一次性集成。持续集成可以尽早的发现各子模块之间的兼容问题,并各自解决,直到集成成功。并
2017-05-09 16:22:56 893
原创 Arrow--轻量级的Android DI 库
Arrow 是一个轻量级的Android DI 库,没有额外的引用。为什么最流行的Android DI框架中,Roboguice已经不再维护了,Dagger2使用有点复杂,需要写component interface(所以我写了一个自动生成component interface的库Dagger2Plus),而且Dagger2使用代码生成,对于有代码洁癖的人来说不太喜欢。Arrow使用反射,在目前动不
2016-12-17 22:51:42 2281
原创 Gradle入门教程
一、简介Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言。Gradle 通过提供可以随意集成的声明式语言元素将声明性构建推到了一个新的高度。你可以添加自己的语言元素或加强现有的语言元素。二、基本概念-Project、Task在Gradle中,有两个基本概念:项目和任务。请看以下详解:项目是指我们的构建产物(比如Jar包)或实施产物(将
2016-02-26 10:31:10 1992
原创 Android热修复方案研究(含AOP知识)
一、概述以前对Android 的热修复方案有一些了解,知道几个有名的开源方案,原理大概理解,但是没有整理汇总一下,上周听了玉斌大哥在公司做的分享后,感受颇多觉得写篇博客记一下,不能浪费。 热修复是指在不发新版的情况下修复线上的紧急 bug,长久以来做移动开发的人员都羡慕做后端或者做 web 前端的人员可以随时发布来修复 bug。那么 移动开发有没有这样的方案呢?Hybrid如:PhoneGa
2016-01-25 15:27:56 1992
原创 ThinkFlutter,一个Flutter的工程模板,使用了flutterw、flutter web、dartserver、dio、serializable、retrofit、toast、cache
ThinkFlutter一个Flutter的工程模板,使用了flutterw、flutter web、dartserver、dio、serializable、retrofit、toast、cached_network_image、provider、eventbus、isolate、本地图片、iconfonts 并演示了package、plugin开发方式,此为第一版后续不断完善。代码地址:ht...
2020-01-18 11:48:16 843
原创 SpringModulesDemo演示SpringBoot 、Maven、多module工程结构以及mvn命令的使用
SpringModulesDemo该项目以最精简的代码演示SpringBoot 、Maven、多module工程结构以及mvn命令的使用下载地址:https://github.com/MasonLiuChn/SpringModulesDemo使用打包jar./mvnw clean package -Dmaven.test.skip=true将所有module发布到maven...
2019-12-15 16:59:47 447
原创 dart_server为flutter web启动一个http服务器,并且可以代理api请求,解决跨域请求问题
dart_server为flutter web启动一个http服务器,并且可以代理api请求,解决跨域请求问题。下载地址:https://github.com/MasonLiuChn/DartServer功能为本地文件夹启动一个http服务,例如为flutter web的产物启动http服务通过接口代理 解决flutter web调用接口时跨域问题执行需要安装dart sdk,...
2019-12-15 16:57:52 5721 1
原创 flutterw用来下载flutter SDK,保证每个人flutter版本一致
flutterwflutterw 用来下载Flutter SDK,类似于gradlew。通过在脚本内配置特定版本号,使得同一工程的所有开发者或CI服务器(例如Jenkins)使用Flutter的版本一致。下载地址:https://github.com/MasonLiuChn/flutterw功能保证所有开发者或CI服务器(例如Jenkins)使用Flutter的版本一致添加了一些额外的...
2019-12-15 16:55:46 1538
原创 RNContainer-Android - 基于react-native sdk封装的运行bundle的容器
RNContainer-Androidhttps://github.com/MasonLiuChn/RNContainer-Android此工程是基于react-native Android sdk封装的运行bundle的容器,使用redux和本人建议使用Weex来代替react-native,下面有weex和react-native开发时的差异点。TODO1、download 管理,...
2018-12-18 12:41:23 484
原创 一个开发Weex的极简模板工程,采用Vue v2.0、Webpack v3、Vue Loader v14,并默认配置了Vuex、VueRouter
WeexTemplate一个开发Weex的极简模板工程,采用Vue v2.0、Webpack v3、Vue Loader v14,并默认配置了Vuex、VueRouter,没有多余依赖,适合作为初始工程进行扩展。所有依赖升级到最新版。包含四种架构:webspa-nativempa、webspa-nativespa、nativempa、webspa,如果仅使用weex开发native则推荐na...
2018-11-19 19:32:15 542
原创 基于AnyProxy的Mock工具-MockLoveProxy
MockLoveProxyhttps://github.com/MasonLiuChn/MockLoveProxy基于AnyProxy的rule功能,在代理的后端增加一层mock。可以方便的配置某些接口的mock、可以依据场景切换mock。功能1、部分接口mock,根据url的path和mock文件名进行匹配,匹配成功则mock,匹配不成功则继续走url2、支持多场景切换...
2018-11-17 17:10:36 890
原创 网络代理的梳理
一、软件设置网路代理有三种方式:直接相连使用系统代理设置代理服务器1、http代理2、socket代理二、有些软件没有提供设置功能使用Proxifier强制设置软件的网络代理原理:在R3层通过dll注入的方式,其注入到exe的dll名叫“PrxDrvPE.dll”或在R0层通过过滤驱动的方式,劫持了软件进程发送的数据包三、开发中常用的代理服务器sscharles...
2018-09-30 15:43:35 740
原创 WeexContainer-Android:Android平台上的Weex容器,实现MPA、Bundle缓存等通用功能
WeexContainer-Android一个Android平台上Weex容器,实现MPA,Bundle缓存、验签等通用功能。SDK代码地址:https://github.com/MasonLiuChn/WeexContainer-Android一、Demo:http://www.masonliu.com/app/digua/downloadhttps://github.com...
2018-04-20 15:27:27 925 2
原创 Weex与ReactNative开发方式对比
一、Weex与ReactNative开发方式对比 weex react nativeJS框架vue.js,可以开发小程序、PWAreact.js,目前不能开发小程序管理实例是否单例化没有要求官方建议ReactInstanceManager进行单例化即同一个bundle name 打开多次都使用同一个ReactInstanceManager开发时启动web服务使用server.js或者express...
2018-04-13 17:36:07 1398
原创 使用github作为maven仓库的方法
一、使用github作为maven仓库的优势1、不用申请公共仓库账号2、和github代码版本保持一致二、方法1、使用jitpack.io 关于jitpack.io的使用文章网上有很多,在这里不做过多介绍了2、新建github仓库作为maven仓库 1、这种方法实际上利用github的raw服务把git仓库当作http下载服务使用,例如我的仓库:https://git...
2018-04-12 15:18:43 4463 1
原创 Ubuntu 17.10 中文无忧版
一、效果 基于Ubuntu17.10,安装搜狗、WPS、微信、Chrome,适合国人,开箱即用。 二、安装1、下载iso制作U盘或光盘启动盘,iso下载地址:https://github.com/MasonLiuChn/UbuntuChn 启动后进入选择界面选择第一项直接回车进入live系统,live系统账号:liumeng密码:1234562、找到Systemback...
2018-03-12 13:55:29 1056
原创 android library module内含aar包,完整打包上传maven的方法
问题:我们有一个Android Module内部引用了一个aar,当我们打包这个Android Module时,引用的aar并不会打包到最终的aar里。一、思路一:将引用的aar解压,把解压后的资源分别放入到现用的Android Module里。二、思路二:借助Maven,将引用的aar发布的maven仓库,AndroidModule通过maven地址引用该aar,...
2018-03-06 16:02:46 4830 10
原创 基于arouter实现Android模块化方案
基于arouter实现Android模块化方案一、模块化优势:多团队并行开发测试;模块间解耦、重用;可单独编译打包某一模块,提升开发效率二、模块化架构图 使用方式: - 各模块作为Module,所有模块代码都在同一Project - 各模块都在独立的Project内三、模块化需求介绍1、模块隔离,去除强依赖每个模块都需要指定一个资...
2018-03-05 13:42:47 1250 2
原创 [SpringBoot学习]-IDEA创建Gradle多Module结构的SpringBoot项目
一、前言 上个月由于做了一个小的后台系统,重新拾起Spring,发现之前搞的SSH、SpringMVC已经过时,新的SpringBoot整合了大部分的后端框架,俗称Spring全家桶,还记成了tomcat更方便开发测试,故在写项目的同时顺便学习一下SpringBoot。由于本人目前主攻Android方向,所以对Intellj家族和Gradle更为喜欢,所有使用 IDEA、Gradle 、Grad
2017-10-31 12:57:13 5213
原创 CSS布局系统
css 布局系统 包含 盒子模型 和 布局模型,把页面元素看作一个个盒子,布局就是一个个盒子的排列和摆放一、盒子模型从第一层到第五层依次为:border、content+padding、background-image、background-color、margin。二、布局模型(一)Flow(流动布局)display设置block、 inline 、none 、 inline-block(二)
2017-10-13 13:59:06 445
原创 Android https ssl证书配置(使用okhttp)
本文介绍使用okhttp时配置https证书的用法,关于证书的原理和SSL协议本文不做介绍,需要的同学自行查阅。https证书常见的错误用法是信任所有证书,https证书在移动应用中常见的问题是证书过期但客户端无法及时更新的问题。本文列举了几种配置方法,并做简单总结:1、验证系统中信任的根证书(默认)不适合自颁发的证书(12306.cn)也会存在中间人劫持问题,只要有从信任...
2017-08-30 11:18:34 8584
原创 个人SideProject列表
一、Web项目 图标 地址 图标 地址 PHP创业项目-泰热卖 基金估值曲线 万佛网 二、创办俱乐部-IT俱乐部链接三、创办开发团队-启航科技链接四、个人练手App 图标 下载地址 图标 下载地址 地瓜影视GooglePlay 万佛网Go...
2017-08-28 11:54:13 2019
原创 重温Web开发及技术选型
一、前端架构: 方案 技术 优点 缺点 案例 MPA-前后端不分离 1、传统MVC架构,后端主导2、服务端通过模板引擎渲染,如jsp、Freemarker SEO 1、服务端渲染压力(可以通过缓存静态页解决)2、前后端职责不清晰 CicadasCms MPA-前后端分离 AJAX、jquery、vue等新兴前端框架 1、前后端分离职责清晰2、减轻服务
2017-08-28 10:21:50 1973 1
原创 字符数组全排列组合算法汇总
字符数组全排列1、递归全排列public static void Permutation(char[] s, int from, int to) { if(to<=1) return; if(from == to){ System.out.println(s); }else{ for
2017-08-23 20:41:18 2150
原创 Weex中Web端做SPA,Native端做多页应用以及Vuex的接入
https://github.com/MasonLiuChn/WeexExplorerWeexExplorer尝试实现:Web端做SPA,Native端做多页应用使用Vuex一、build native每个vue文件都为生成一个独立的bundle入口是 index.vue 即 index.vue –> mixins –> 加载router-native和vuex每个bundle都有自己
2017-07-12 13:54:28 2640
原创 单例模式大全
注意点lazy loading线程安全jvm 创建对象顺序一、饿汉public class Singleton { private static Singleton instance = new Singleton(); private Singleton (){} public static Singleton getInstance() {
2017-06-23 17:08:30 340
原创 APK多渠道打包方案汇总
一、在Apk中的APK Signature Block区块添加自定义的渠道信息原理:在Apk中的APK Signature Block区块添加自定义的渠道信息优点:支持Android Signature V2 Schemehttps://github.com/Meituan-Dianping/walle二、使用aapt 替换 asssets目录的channel优点:不用解包回包、方案通用、不依赖签名
2017-05-08 12:39:59 1083
原创 不断前进的化化化
一、组件化公共的基础库或者UI库,以jar、aar、maven等方式独立出来。二、模块化bu的模块化 根据bu拆分成不同模块,各模块独立开发,App发布时集成发布。以module方式开发,以maven方式集成。页面的解耦 一个页面再细化拆分成不同的小模块,由不同的人负责开发。粒度更细。三、动态化原生动态化 含逻辑动态化 插件化(动态加载、容器化)、I...
2017-05-08 12:33:33 482
原创 优雅从Mac过渡到windows
一 、Cmder二、Clover三、Sublime Text3四、ZOC Terminal五、搜狗壁纸六、电脑管家七、软媒美化大师八、Zeal九、Listary十、软媒美化大师十一、cow十二、smartgit十三、sourceinsight
2017-04-19 10:03:48 747
原创 SOA & RPC & MQ
一、通用系统架构二、SOASOA的基础是RPC三、RPCRPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 名字 传输协议 服务器 序列化格式 WebService HTTP SOAP(基于XML) REST HTTP JSON
2016-12-14 22:00:56 955 1
原创 FullPlugin 全量插件化,用于中小App免发布升级
FullPlugin全量插件化,用于中小App免发布升级介绍大部分中小型App没有必要拆分成若干插件,那么可以将整个APK作为一个插件,单独写一个宿主壳,从而实现APK的动态更新,取了一个名字叫全量插件化。对于超级App,还是建议讲App拆成若果插件,使用宿主+ 若干插件的方式来使用插件化。实现基于DroidPlugin制作宿主,正常开发后的App作为插件,宿主的作用是1、加载插件 2、升级插
2016-12-07 13:30:43 1157
原创 生成n位格雷码
生成n位格雷码在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。虽然自然二进制码可以直接由数/模转换器转换成模拟信号,但在某些情况,例如从十进制的3转换为4时二进制码的每一位都要变,能使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它在相邻位间转换时,只有
2016-11-28 15:59:35 785
原创 红包金额次数过半问题
题目:收到红包后发现某个红包金额出现的次数超过了一半,找出这个金额,给定一个红包金额数组a[],长度n,求那个金额。例:[1,2,3,1,1,1] ,n 返回:1
2016-11-28 15:39:21 440
[SpringBoot学习]-IDEA创建Gradle多Module结构的SpringBoot项目代码
2017-10-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人