前言 iOS开发在团队项目协作中,面临着许许多的挑战,除了被大家诟病的nib文件和故事板以外,还有就是今天要说的证书管理问题,相信做过iOS开发的用户对fastlane已经不陌生了,它提供了很多有用的功能来帮助开发者从繁琐的重复性劳动中解脱出来,这里列举出一些: deliver: 上传截图, 元数据, app应用程序到App Store supply: 上传Android app...
Git使用过程中的一些常见场景问题总结
之前在公司内部推Git,写了一份git使用教程,后来又在团队内部做了一次分享,内容是关于Git使用过程中经常会遇到的一些场景,并有了这份总结。 git基础 基于feature的工作流 添加忽略文件 .gitignore (http://gitignore.io/) 基于develop分支开发:feature分支 bugfix分支 版本节点tag 问题排查: d...
Android Studio 和Gradle Plugin 3.0 迁移不完全指南
Android Studio 3.0 默认Gradle版本为4.1,如果你需要手动升级版本的话,记得修改gradle/wrapper/gradle-wrapper.properties文件的URL地址: distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 对应的Gradle插件版本为...
依赖注入库Dagger2
依赖注入Dagger2 之前在项目中要用到这个库,后来就给团队内部分享完Dagger2后做的一个提纲总结。 解决的痛点 依赖管理问题 角色 依赖实例 注入对象 注入方式 提供依赖的方式 @Inject @Module 优先级更高 @provide 注入在哪里 @Inject 注入方式:连接的桥梁 @...
终端下Python镜像源管理工具pprm
我们在使用Python做开发的时候,常常会用到第三方库,.虽然用easy_install和pip来安装第三方库很方便,但默认的第三方库是从Python的官方源下载的,因为某些原因,官方的网站访问时快时慢,很不稳定,有时候也直接打不开了,网上可以找一些国内的镜像源可以做为替换,通过修改配置文件(~/.pip/pip.conf)pip.conf即可,其实这个小工具的作用就是帮我们做这个事情,另外...
西安GDG上《以开发者的角度再聊Material Design》的总结
概述 谷歌在2014年I/O大会上推出了Material Design,旨在为手机、平板电脑、台式机和“其他平台”提供更一致、更广泛的“外观和感觉”。在国内有好几种版本的翻译:材料设计/材质设计/质感设计(官方文档)/原质设计(国内设计师更倾向于这个)。 三大设计原则 隐喻 通过纸墨做比,光影打造空间层次和符合客观规律的特效来隐喻表面质感、光效以及运动感。 鲜明、形象、深思熟虑 借...
Java多线程之并发工具类
CountDownLatch CountDownLatch 允许一个或多个线程等待其他线程完成操作。假如有一个需求是我们需要下载多组数据,此时可以考虑多线程,每个线程下载一组,直到所有数据现在完,这里如果要实现主线程等待所有线程完成下载工作,最简单就会用到join方法。: public static class MultiThreadDownload { public stati...
Java多线程之线程通信
等待/通知机制 在不使用等待/通知机制的程序,如果实现两个线程间通信,往往使用的就是while语句轮询来检测某一个条件,这样会浪费CPU资源。 在前面的介绍中,synchronized解决了多线程竞争的问题。但是synchronized并没有解决多线程协调的问题。多个线程之间也可以实现通信,原因就是多个线程共同访问同一个变量。但是这种通信机制不是 “等待/通知” ,两个线程完全是主动地读...
Java多线程之线程同步锁机制
Lock接口 锁是用来控制多个线程访问共享资源的方式,在Java SE 5之前,Java程序主要靠synchronized关键字来实现锁功能,Java SE 5之后并发包中新增了Lock接口以及相关实现类用来实现锁功能。它提供了与synchronized关键字类似的同步功能,只是在使用时需要显示的获取和释放锁,虽然它缺少了隐式获取释放锁的便捷性,但是却拥有了锁获取与释放的可操作性、可中断的...
Java多线程之线程同步
synchronized 非线程安全其实是会在多个线程对同一个对象中的实例进行访问时发生,产生的后果就是”脏读”,也就是说取到的数据是被修改过的,即多个线程同时读写共享变量,而”线程安全”就是以获得的实例变量的值经过同步处理的,不会出现脏读的现象, 提起线程同步,我们首先想到的方法就是synchronized关键字。 修饰实例方法,作用于当前实例加锁,进入同步代码钱要获得当前实例...