野火🔥

生命如野火,骄傲而顽强

多说换成网易云跟帖,评论都丢了

多说关闭了,换个替代品,网易出品,应该不会没事就倒闭吧。

评论都导不出来了,不过也不是很多,以后评论从新开始吧。


10月更新

没想到网易云跟帖也关闭了,以后彻底换disqu了,图床也换google了,不理墙内用户了。

再见 好奇心日报

昨天下午,收到了人生第二份《离职证明》,我也正式在法律上不再属于好奇心日报了。

写这篇文章,缅怀一下这两年的时光,因为这段工作的结束需要一个仪式感。
同时也鼓励我下一段工作,希望接下来在头条依然能够保持旺盛的学习和工作热情,保持谦卑和自省的态度。
祝愿好奇心日报越来越好!

和好奇心日报的纠缠源于很早的外包,14年的一个周六晚上,中秋节前后,印象中天气很热,在TIT南边巷子里吃麻辣烫,广州麻辣烫的独有味道直到现在还让我流出口水。徐源说有个Android外包要做,做不?我说,当然做。那会儿事情不多,微信的工作虽然忙碌但压力不大,而且很规律。

JSPatch的一些使用注意点

JSPatch代码量不大,满满的都是神机妙算,到处都是黑科技。

主要的坑 -- UIWebView相关

如果在JSPatch的代码使用前,app没有初始化过UIWebView,那会造成UIWebView中JS不能解析的问题,打开网页根本不能看。解决方案:

JSPatch使用前先alloc一个UIWebView,然后让ARC自动dealloc它就好了:

UIWebView *webView = [[UIWebView alloc]init];   //Useless. Just to load the UIWebview framework.
webView.frame = CGRectZero;

[JPEngine startEngine];

[self startCache:^(NSString * script) {
    [JPEngine evaluateScript:script];
}]; 

哪怕初始化过UIWebView,也不能在使用JSPatch代码的时候进行UIWebView的初始化(既不能相同runloop初始化UIWebView),否则会造成WebView不稳定,极容易crash:

JavaScriptCore  WTF::equal(WTF::StringImpl const*, unsigned char const*) + 116
JavaScriptCore  std::__1::pair<std::__1::pair<WTF::StringImpl**, bool>, unsigned int> WTF::HashTable<WTF::StringImpl*, WTF::StringImpl*, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::StringImpl*>, WTF::HashTraits<WTF::StringImpl*> >::fullLookupForWriting<WTF::HashSetTranslatorAdapter<WTF::CStringTranslator>, unsigned char const*>(unsigned char const* const&) + 268
JavaScriptCore  WTF::HashTableAddResult<WTF::HashTableIterator<WTF::StringImpl*, WTF::StringImpl*, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::StringImpl*>, WTF::HashTraits<WTF::StringImpl*> > > WTF::HashTable<WTF::StringImpl*, WTF::StringImpl*, WTF::IdentityExtractor, WTF::StringHash, WTF::HashTraits<WTF::StringImpl*>, WTF::HashTraits<WTF::StringImpl*> >::addPassingHashCode<WTF::HashSetTranslatorAdapter<WTF::CStringTranslator>, unsigned char const* const&, unsigned char const* const&>(unsigned char const* const&&&, unsigned char const* const&&&) + 200
JavaScriptCore  WTF::AtomicStringImpl::add(unsigned char const*) + 160
WebCore WebCore::Settings::initializeDefaultFontFamilies() + 720
WebCore WebCore::Settings::Settings(WebCore::Page*) + 484
WebCore WebCore::Settings::create(WebCore::Page*) + 36
WebCore WebCore::Page::Page(WebCore::PageConfiguration&&) + 184
WebKitLegacy    -[WebView(WebPrivate) _commonInitializationWithFrameName:groupName:] + 1712
WebKitLegacy    -[WebView(WebPrivate) _initWithFrame:frameName:groupName:] + 132
UIKit   -[UIWebDocumentView initWithWebView:frame:] + 332
UIKit   -[UIWebBrowserView initWithWebView:frame:] + 48
UIKit   -[UIWebBrowserView initWithFrame:] + 44
UIKit   -[UIWebView _webViewCommonInitWithWebView:scalesPageToFit:] + 244
UIKit   -[UIWebView initWithFrame:] + 76

闲聊计划

看了年初的计划,基本都没完成,基本都做了一些。

以前会要求自己每周列一个计划给自己,下周看完成情况,也是基本上都完不成,但每周很充实,都学了很多。

最近频繁往返京津、京冀,弄得自己好累,也耽误了个人的学习和提高,这样不好,缺少充实感和安全感,弄得这两天竟然怀疑人生。

所以计划还是有用的,就如同三只青蛙的励志段子,起码它告诉我这段时间我最重要的那三只青蛙是什么,一有机会还是会去做的。

这半年,看了几本书,写了几篇文章,学了一点新技术,也推动了组内的分享学习,挺好。
涨了工资,买了房子,办了户口,还有些希望。
也锻炼,也健身,也去咖啡馆研究过技术,不过没坚持,算是低谷吗?

虽然没达标,但起码有些回忆。

以后注意,还是要有点紧迫感。

都是瞎扯,有个博客发泄,还挺好。

吐槽《盛世的蝼蚁》


有人还没看过这篇文章,所以文章结尾附上原文

说是吐槽《盛世的蝼蚁》,其实是想表达下朋友圈中的这个病毒分享现象。

每次出现这种群体性分享情况,我的第一印象都是“暴民政治”,这堆暴民!民众懂个屁啊,国家肯定是精英治理。

国家的存在的主要目的是维护秩序,换句话说,维护大多数人的利益。维稳是国家的天然职责,而对穷人的福利却不是。国家和底层群众的基本关系就是,国家一定要避免底层群众揭竿而起。

读过《中国是部金融史》,才知道什么才叫做天地不仁,以万物为刍狗。