小程序开发框架 mpvue是一个使用 Vue.js 开发小程序的前端框架,目前支持微信小程序、百度智能小程序,头条小程序和支付宝小程序。框架基于Vue.js,修改了的运行时框架 runtime 和代码编译器 compiler 实现,使其可运行在小程序环境中,从而为小程序开发引入了Vue.js开发体验。 主要特性 使用 mpvue开发小程序,你将在小程序技术体系的基础上获取到这样一些能力: 彻底的组件化开发能力:提高代码复用性 完整的 Vue.js开发体验 方便的 Vuex数据管理方案:方便构建复杂应用 快捷的 webpack构建机制:自定义构建策略、开发阶段 hotReload 支持使用 npm 外部依赖 使用 Vue.js命令行工具 vue-cli 快速初始化项目 H5 代码转换编译成小程序目标代码的能力 项目地址 开源地址:https://github.com/Meituan-Dianping/mpvue 新一代渠道包打包神器 Walle(瓦力):Android Signature V2 Scheme签名下的新一代渠道包打包神器 瓦力通过在Apk中的APK Signature Block区块添加自定义的渠道信息来生成渠道包,从而提高了渠道包生成效率,可以作为单机工具来使用,也可以部署在HTTP服务器上来实时处理渠道包Apk的升级网络请求。 配置build.gradle 在位于项目的根目录 build.gradle文件中添加Walle Gradle插件的依赖, 如下:buildscript { dependencies { classpath "com.meituan.android.walle:plugin:1.1.7" } } 并在当前App的 build.gradle文件中apply这个插件,并添加上用于读取渠道号的AARapply plugin: "walle" dependencies { compile "com.meituan.android.walle:library:1.1.7" } 配置插件walle { // 指定渠道包的输出路径 apkOutputFolder = new File("${project.buildDir}/outputs/channels"); // 定制渠道包的APK的文件名称 apkFileNameFormat = "${appName}-${packageName}-${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}.apk"; // 渠道配置文件 channelFile = new File("${project.getProjectDir}/channel") } 配置项具体解释: apkOutputFolder:指定渠道包的输出路径, 默认值为new File("${project.buildDir}/outputs/apk")apkFileNameFormat:定制渠道包的APK的文件名称, 默认值为"${appName}-${buildType}-${channel}.apk" 可使用以下变量: projectName - 项目名字 appName - App模块名字 packageName - applicationId (App包名packageName) buildType - buildType (release/debug等) channel - channel名称 (对应渠道打包中的渠道名字) versionName - versionName (显示用的版本号) versionCode - versionCode (内部版本号) buildTime - buildTime (编译构建日期时间) fileSHA1 - fileSHA1 (最终APK文件的SHA1哈希值) flavorName - 编译构建 productFlavors 名 channelFile:包含渠道配置信息的文件路径。具体内容格式详见:渠道配置文件示例,支持使用#号添加注释。 项目地址 开源地址:https://github.com/Meituan-Dianping/walle SQL索引优化建议 SQLAdvisor是由美团点评公司技术工程部DBA团队(北京)开发维护的一个分析SQL给出索引优化建议的工具。它基于MySQL原生态词法解析,结合分析SQL中的where条件、聚合条件、多表Join关系 给出索引优化建议。目前SQLAdvisor在美团点评内部广泛应用,公司内部对SQLAdvisor的开发全面转到github上,开源和内部使用保持一致。 主要功能:输出SQL索引优化建议 项目地址 开源地址:https://github.com/Meituan-Dianping/SQLAdvisor 一套分布式ID生成服务 Leaf 最早期需求是各个业务线的订单ID生成需求。在美团早期,有的业务直接通过DB自增的方式生成ID,有的业务通过redis缓存来生成ID,也有的业务直接用UUID这种方式来生成ID。以上的方式各自有各自的问题,因此我们决定实现一套分布式ID生成服务来满足需求。 目前Leaf覆盖了美团点评公司内部金融、餐饮、外卖、酒店旅游、猫眼电影等众多业务线。在4C8G VM基础上,通过公司RPC方式调用,QPS压测结果近5w/s,TP999 1ms。 配置介绍 Leaf 提供两种生成的ID的方式(号段模式和snowflake模式),你可以同时开启两种方式,也可以指定开启某种方式(默认两种方式为关闭状态)。 Leaf Server的配置都在leaf-server/src/main/resources/leaf.properties中配置项含义默认值leaf.nameleaf 服务名 leaf.segment.enable是否开启号段模式falseleaf.jdbc.urlmysql 库地址 leaf.jdbc.usernamemysql 用户名 leaf.jdbc.passwordmysql 密码 leaf.snowflake.enable是否开启snowflake模式falseleaf.snowflake.zk.addresssnowflake模式下的zk地址 leaf.snowflake.portsnowflake模式下的服务注册端口 项目地址 开源地址:https://github.com/Meituan-Dianping/Leaf 新一代热更新系统 Robust是新一代热更新系统,无差别兼容Android2.3-10版本;无需重启补丁实时生效,快速修复线上问题,补丁修补成功率高达99.9%。 使用方法 在App的build.gradle,加入如下依赖apply plugin: "com.android.application" //制作补丁时将这个打开,auto-patch-plugin紧跟着com.android.application //apply plugin: "auto-patch-plugin" apply plugin: "robust" compile "com.meituan.robust:robust:0.4.99" 在整个项目的build.gradle加入classpath buildscript { repositories { jcenter } dependencies { classpath "com.meituan.robust:gradle-plugin:0.4.99" classpath "com.meituan.robust:auto-patch-plugin:0.4.99" } } 在项目的src同级目录下配置robust.xml文件,具体项请参考DEMOapp/robust.xml 优势 支持Android2.3-10版本 高兼容性、高稳定性,修复成功率高达99.9% 补丁实时生效,不需要重新启动 支持方法级别的修复,包括静态方法 支持增加方法和类 支持ProGuard的混淆、内联、优化等操作 项目地址 开源地址:https://github.com/Meituan-Dianping/Robust 实战项目--kkitDeploy(客户端版)(强推,已开源) 实战项目--kkitDeploy(PaaS版)(强推) 实战项目--kkit3.0功能介绍(强推) 实战项目--kkit1.0功能介绍(强推,已开源) 经历贴之---外包接活却坐牢456天完整记录(强推) 脚本之---短信轰炸机 脚本之---QQ微信轰炸机 ansible---一键搭建redis5.0.5集群 工具之---地表最强CMDB自动抓取工具 elk7.9真集群docker部署文档 全球最全loki部署及配置文档 最强安全加固脚本2.0 一键设置iptbales脚本