移动开发技术

Jason's Blog

如何查看p12文件的信息

1
openssl pkcs12 -in xxx.p12 -out xxx.pem -nodes

pem文件可以直接用文本工具打开

升级到macOS High Sierra Pod不能执行的解决办法

macOS 升级到 High Sierra 后,执行pod命令出错,出错信息如下:

1
2
JUNSHAO-MC0:~ junshao$ pod
-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory

解决办法是重装cocoapods

1
2
sudo gem uninstall cocoapods
sudo gem install -n /usr/local/bin cocoapods

[转]到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf

Objective C 的 Block 是一个很实用的语法,特别是与GCD结合使用,可以很方便地实现并发、异步任务。但是,如果使用不当,Block 也会引起一些循环引用问题(retain cycle)—— Block 会 retain ‘self’,而 ‘self‘ 又 retain 了 Block。因为在 ObjC 中,直接调用一个实例变量,会被编译器处理成 ‘self->theVar’,’self’ 是一个 strong 类型的变量,引用计数会加 1,于是,self retains queue, queue retains block,block retains self。

Mobike体验续

这两天出差全靠mobike了,总共骑了大概有10趟吧,lite版的单车骑着确实轻松不少,价钱还更便宜。

昨天去了陆家嘴,逛了ifc,在黄浦江边吹了下风,是个好大上的地方。

Mobike体验

今天到上海出差,第一次来,想到处随意逛逛,单车是个很不错的选择,所以注册了mobike。

今天骑了三段:

第一段2km,耗时19m。这一段主要是在上海交大校园里,人少路况好,体验非常不错。

第二段3km,耗时22m。这一段是从酒店去外滩,在半路上被交警拦下,有一段路不准骑车,于是改乘地铁。这一段由于是在马路上,没有专门的自行车道,骑行感受一般。不过最难忍受的是这个车骑久了不舒服,座位对我来说比较偏矮,发不上力,且久了容易酸,下地铁台阶的时候感觉都快跪下去了。

第三段7km,耗时49m。从南京路步行街到酒店。跟第二段类似,没有专用自行车道,不停在人行道和马路边缘穿行,影响骑行速度。这次我骑得比较慢,也可能更适应了,腿酸的感受稍微弱一点。

总体感受: 1. 方便,随停真的是太方便了,完全不操心。 2. 用的人挺多的,上海和深圳都是这样。 3. lite版单车还比较少,一般附近难以找到,看起来可能会好骑一点,因为更轻,还没有体验过。 4. app做得不错,功能简洁易用,单车定位比较准。 5. 在北京这种有专用自行车道的城市,发展会更好,而对于没有骑行环境的城市,例如重庆,基本就搞不起来了。

经过今天的体验,总体来讲感觉不错,从最以前的完全不看好,到现在觉得稍微觉得有戏。以后有需要会继续用。

利用traceview优化Android应用流畅度

众所周知,屏幕刷新频率必须要达到60Hz,人眼才能感觉不到界面的卡顿。60Hz意味着界面每一帧的计算加渲染时间不能超过16ms,当某些业务逻辑比较耗时的时候,执行时间可能超过16ms的阈值,这时候给用户直观的感受就是界面卡顿。

traceview是安卓sdk提供的一个性能分析工具,能够收集函数的执行时间,以精确的分析系统的瓶颈所在。当我们遇到系统卡顿问题的时候,可以利用这个工具来进行分析。下边的篇幅就项目中一个真实的卡顿问题,来介绍traceview工具的使用。

DOM XSS

因为JavaScript脚本功能强大,我们可以利用它来更改整个页面内容,所以我们就可以制造出利用真的目标域名的假页面