Xinspace


  • 首页

  • 归档

  • 搜索

《赋能》小总结

发表于 2018-06-27 | 分类于 Product

============================

周三晚上看完《赋能》这本书,里面提到的组织变革是可以参考的。在面对错综复杂的环境,组织不能再等级森严,权力集中,而应该放权、共享信息,让一线的人快速决策,把握机会。

刚开始美军特遣队被训练成了一个个的棋子,而将军或者高级领导者被训练成了国际象棋的棋手,希望用这种方式跟伊拉克的“基地”组织下一盘棋。但是实际上他们忘了,国际象棋是回合制的游戏,我走一步,你走一步,然后我再走。现实却不是这样,“基地”组织可能连续走很多步,让美军措手不及。

在武装力量悬殊,而且组织性、纪律性、专业性上更是差了一大截的情况下,“基地”组织为什么能让美军的精英部队连连受挫呢?其实就是因为“基地”组织的组织模式。这就追溯到泰勒的还原论,讲的是为了提升生产效率,泰勒发明了还原论,把一整套流程分拆成一个个的动作,每个工人只负责流水线上的一小块,这样就不需要工人掌握所有的知识,每个工人只需要知道输入什么输出什么就好,这样流水线就能无缝的运转。泰勒通过这种方式

============================
原创,转载请指明出处(http://blog.xinspace.xin)。

《用户体验要素》总结

发表于 2018-03-04 | 分类于 Product

============================

上周读了《绝密原型档案》,里面提到的产品流程大致是:
确定需求->用户画像->线下流程->产品流程->原型图->原型文档。
这个流程其实可以用本周读的《用户体验要素》这本书更好的把上面的流程拆分到不同的层次中来看,每个层次关注点不一样。

阅读全文 »

《绝密原型档案》总结

发表于 2018-02-27 | 分类于 Product

============================

这周读了Gara的《绝密原型档案》这本书,现在总结一下。其实这本书的脉络比较清晰,书的目录写的比较清晰,而且书比较薄,容易读完。

阅读全文 »

指数基金投资总结

发表于 2018-02-18 | 分类于 Finance

============================
无意间看了银行螺丝钉的《指数基金投资指南》,我觉得这本书带我入门了定投指数基金的投资理财方式。强烈推荐大家看看。

阅读全文 »

最近在忙啥

发表于 2017-08-06 | 分类于 Diaries

============================
最近在忙啥?工作上的事情撇开不谈,工作之余的事情要说一下。

阅读全文 »

感悟

发表于 2017-07-17 | 分类于 Diaries

============================
本来不想在这个博客里写感悟一类的东西,觉得太矫情了。但这段期间确实有颇多感悟需要汇总发泄一下。这些感悟或多或少的出现的我的日记和周省里,我挑一些不隐私的事情记录一下吧。要不然真觉得浪费了这些经历了。

阅读全文 »

Android 项目中 Java 动态代理混淆注意

发表于 2017-06-19 | 分类于 Android

============================
在 Android 项目中用到了 RxCache 库。这个库要求提供一个 CacheProviers 接口包含所有的使用缓存的方法。当然,这个接口没有加入到混淆文件中。打 release 包之后出现异常。经过排查,我发现 RxCache 用的是 Java 动态代理,在调用该接口的方法时,因为接口和接口中的方法没有加入到混淆文件中,导致方法名和接口名被混淆,动态代理时通过类名和方法名就无法调用到具体的方法了。

此时需要在混淆文件中加入如下语句即可:
-keep public class your.package.name.CacheProviders {*;}

============================
原创,转载请指明出处(http://blog.xinspace.xin)。

浏览器访问天猫、淘宝、京东、百度等网站提示https证书错误

发表于 2016-12-02 | 分类于 Android

============================
最近访问天猫、淘宝、京东、百度和阿里聚安全等网站时,safari和chrome都提示证书有问题,弹出是否继续的框。点击查看证书后,证书显示This certificate has an invalid issuer。说明证书出问题。

通过google发现,因为在不久前SSL供应商GlobalSign的OSCP出错了,导致以它为root的证书出现错误。

好在GlobalSign已经修复了这个问题,如果电脑还不能访问的话,应该是电脑或手机本地保存了证书的缓存,只要把缓存清除就行了。

清除缓存的方法:

Windows

  1. 打开终端:开始菜单->运行(Run)->输入cmd,回车。
  2. 在终端中输入命令:certutil -urlcache * delete。

Mac OS X

#注意:清除完缓存后,需要重启电脑。
OS X(10.11及之前版本)
  1. 打开终端:进入Launcher->点击引用Terminal。
  2. 在终端中输入命令:sudo rm /var/db/crls/*cache.db。
  3. 上述命令会删除如下文件:
    • /var/db/crls/crlcache.db
    • /var/db/crls/ocspcache.db
OS X 10.12 Sierra
  1. 打开终端:进入Launcher->点击引用Terminal。
  2. 在终端中输入命令:sqlite3 ~/Library/Keychains/*/ocspcache.sqlite3 'DELETE FROM ocsp;'。

参考文章

  1. 由于SSL证书出错,淘宝和天猫在Safari和Chrome下无法访问
  2. Delete CRL and OCSP Cache

okhttp缓存设置

发表于 2016-11-22 | 分类于 Android

============================
okhttp可以缓存请求信息,可以配置okhttp只从缓存读数据、只从网络读数据和当没有网络时从缓存读数据等。

下面是简单说明,具体请参考下面的文章。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 指定缓存存放的目录
File cacheDir = new File(context.getCacheDir(), "netCache");
// 指定缓存大小为10M,具体大小自己定
int cacheSize = 10 * 1024 * 1024;
// 设置缓存对象,Cache是okhttp中的类
Cache cache = new Cache(cacheDir, cacheSize);

// 生成okhttp Builder对象,并设置缓存
OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder()
.cache(cache)
.build();
// 生成OkHttp对象
OkHttpClient client = clientBuilder.build();
// 用client请求,或者设置为Retrofit的client
....

下面的参考文章中还给出了拦截服务器的回复,改写HTTP头部字段,如果服务器没有设置缓存头部属性,那么就自己加上,让客户端缓存结果。

参考文章:[Can Retrofit with OKHttp use cache data when offline]

============================

原创,转载请指明出处(http://blog.xinspace.xin)。

AsyncTask不适合用作长时间任务处理

发表于 2016-11-21 | 分类于 Android

============================
AsyncTask适合做短任务,比如Http请求。不适合做长任务,比如下载大文件或后台进行图形计算等。

从下面3点来说:

  1. AsyncTask默认在整个APP中使用一个Executor,串行执行任务。

    在Application初始化过程中,使用单线程的Executor来运行AsyncTask,因此默认情况下,APP的所有AsyncTask.execute()方法都运行在单线程中,串行执行。即一个AsyncTask执行完后,另一个才能执行。如果想并行,需要调用AsyncTask.execute(executor)方法来自己定义Executor。

  2. AsyncTask与Activity、Fragment的生命周期方法没有绑定关系。

    在Activity或Fragment中定义了AsyncTask,当屏幕旋转或其他原因导致当前页面被销毁时,AsyncTask并没有停止。当AsyncTask完成任务后返回到UI线程更新UI时,就会抛出异常:java.lang.IllegalArgumentException:View notattached to window manager。

  3. AsyncTask容易导致内存泄露。

    通常AsyncTask在Activity或Fragment中都是作为(匿名)内部类定义的,因此该内部类会隐式的持有外部类(Activity/Fragment)的引用。当执行长任务时,Activity被销毁的情况下,AsyncTask也不会停止,同时AsyncTask隐式的持有Activity的引用,导致Activity的内存无法被释放,就造成了内存泄露。

所以,不推荐用AsyncTask执行长任务。

参考文章:Android AsyncTask for Long Running Operations

============================
原创,转载请指明出处(http://blog.xinspace.xin)。

12…17

Xinspace

Personal blog from xin.

170 日志
6 分类
1 标签
© 2019 Xinspace
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4