歲月無(wú)痕 流年滄桑 轉(zhuǎn)眼又到了18年底春運(yùn)的時(shí)刻 今年的關(guān)鍵詞就一個(gè):忙碌
-
技術(shù)Or工作
- 一開(kāi)春來(lái)了 數(shù)學(xué)App的開(kāi)發(fā)就進(jìn)入了收尾測(cè)試階段,由于時(shí)間緊張加
二把刀新來(lái)的產(chǎn)品經(jīng)理思路不清晰 產(chǎn)品規(guī)劃淺顯 和對(duì)session保持會(huì)話的不熟悉 導(dǎo)致1.0的開(kāi)發(fā)困難重重 好在最后經(jīng)過(guò)東哥的不懈努力還是順利上架App Store了
陽(yáng)春三四月份 進(jìn)入了另一款數(shù)學(xué)App的開(kāi)發(fā) 依然是時(shí)間極短暫 一個(gè)月開(kāi)發(fā)上線交付用戶,導(dǎo)致大三月份加班81.5個(gè)小時(shí) 996的感覺(jué)還是很嗨(ku)皮(bi)的 好在多賺了幾塊錢(qián)的加班費(fèi) 期間用的技術(shù)主要是原生和H5端交互 基本無(wú)啥難點(diǎn) 像切菜一樣嗨(hai)皮(pi)的完成了
五月份準(zhǔn)備版本大升級(jí) 依然是每天不停的敲代碼 依然是時(shí)間緊任務(wù)重的不停加班code 印象比較深的是凌晨5點(diǎn)打車(chē)從東三環(huán)回家 感覺(jué)那段時(shí)間B座餐廳的菜從頭吃了個(gè)遍.技術(shù)實(shí)現(xiàn)上還是混合開(kāi)發(fā)由于H5采用了Vue的框架在交互過(guò)程中 給自己遇見(jiàn)了一個(gè)小坑好在及時(shí)審視代碼 短時(shí)間內(nèi)得到了解決
下半年從外包手里接外包開(kāi)發(fā)的項(xiàng)目加新需求新設(shè)計(jì).開(kāi)發(fā)過(guò)程一度很酸爽 三手的老項(xiàng)目 接口文檔沒(méi)有 后臺(tái)開(kāi)發(fā)的一點(diǎn)改動(dòng)不想有(一直浮現(xiàn)在眼前一個(gè)段子 難道后臺(tái)的是新手改老代碼) 導(dǎo)致App端不斷遷就Web段的接口一個(gè)控制器中五六個(gè)網(wǎng)絡(luò)請(qǐng)求 一個(gè)接口調(diào)試一兩天 期間悟性得到了大幅度提高
到現(xiàn)在年尾了 對(duì)五月份的產(chǎn)品又來(lái)了個(gè)大迭代 好在現(xiàn)在已進(jìn)入測(cè)試階段.總的來(lái)說(shuō) 今年沒(méi)有太多技術(shù)方面新的探索 感覺(jué)一直都是在不停的寫(xiě)UI寫(xiě)功能實(shí)現(xiàn) 調(diào)試Bug
- 一開(kāi)春來(lái)了 數(shù)學(xué)App的開(kāi)發(fā)就進(jìn)入了收尾測(cè)試階段,由于時(shí)間緊張加
-
運(yùn)動(dòng)Or讀書(shū)
-
跑步今年基本都在堅(jiān)持做一周一次 規(guī)律性很高的是在加班頻繁的時(shí)候無(wú)論多忙周五六點(diǎn)一下班就去奧森 這也是個(gè)人緩解壓力的一個(gè)好方法
讀書(shū)的話 把去年立了Flag的《Effective Objective-C 2.0:編寫(xiě)高質(zhì)量ios與os x代碼的52個(gè)有效方法》通讀了一遍 感覺(jué)還是Get到了很多東西的 而且覺(jué)得這本書(shū) 值得結(jié)合工作多讀幾遍 其中對(duì)之前一些概念的理解也因?yàn)樽髡叩脑敿?xì)表述而感覺(jué)清晰了然了
For example
-
跑步今年基本都在堅(jiān)持做一周一次 規(guī)律性很高的是在加班頻繁的時(shí)候無(wú)論多忙周五六點(diǎn)一下班就去奧森 這也是個(gè)人緩解壓力的一個(gè)好方法
void(^block)(void);
if ( /*some condition*/ ) {
block = ^{
NSLog(@"A");
};
} else {
block = ^{
NSLog(@"B");
};
}
block();
定義在if及else語(yǔ)句中的兩個(gè)塊都分配在棧內(nèi)存中 編譯器會(huì)給每個(gè)塊分配好棧內(nèi)存
然而離開(kāi)了相應(yīng)的范圍之后 編譯器有可能把分配給塊的內(nèi)存覆寫(xiě)掉
于是這兩個(gè)塊 只能保證在if或者else語(yǔ)句范圍之內(nèi)有效 這樣寫(xiě)出來(lái)的代碼可以編譯 但是運(yùn)行起來(lái) 時(shí)而正確 時(shí)而錯(cuò)誤
若編譯器未覆寫(xiě)待執(zhí)行的塊 則程序照常運(yùn)行 若覆寫(xiě) 則程序崩潰
為解決此問(wèn)題,可給塊發(fā)送copy消息以拷貝之
這樣的話 就可以把塊從棧復(fù)制到堆了 拷貝后的塊 可以在定義它的那個(gè)范圍之外使用了
而且一旦復(fù)制到堆上 塊就成了帶引用計(jì)數(shù)的對(duì)象了 后續(xù)的復(fù)制操作都不會(huì)真的執(zhí)行復(fù)制 只是遞增塊對(duì)象的引用計(jì)數(shù)
如果不在使用這個(gè)塊 那就應(yīng)將其釋放 在ARC環(huán)境下會(huì)自動(dòng)釋放 而手動(dòng)管理引用計(jì)數(shù)則需要自己調(diào)用release 當(dāng)引用計(jì)數(shù)降為0后 分配到堆上的塊(heap block) 會(huì)像其他對(duì)象一樣 為系統(tǒng)所回收
而分配到棧上的塊(stack blcok)則無(wú)須明確釋放 因?yàn)闂?nèi)存本來(lái)就會(huì)自動(dòng)回收 剛才那段代碼之所以危險(xiǎn) 原因在此
明白這一點(diǎn)后 只需給代碼加上兩個(gè)copy方法調(diào)用 就可令其變的安全
void(^block)(void);
if (/*some condition*/) {
block = [^{
NSLog(@"A");
} copy];
}else{
block = [^{
NSLog(@"B");
} copy];
}
block();
}
-
期待Or規(guī)劃
- 期待成為一個(gè)做事的人 能夠踏踏實(shí)實(shí)的把心思放在做事上 而不是整天糾結(jié)于三瓜兩棗的俗事 正所謂 去枝蔓 立主腦 把時(shí)間和精力放在大方向正確的道路上 因?yàn)橐龅氖虑檫€有很多 哪有時(shí)間在一些不值得的事上消磨浪費(fèi)
正如羅胖跨年演講中提到的
- 期待成為一個(gè)做事的人 能夠踏踏實(shí)實(shí)的把心思放在做事上 而不是整天糾結(jié)于三瓜兩棗的俗事 正所謂 去枝蔓 立主腦 把時(shí)間和精力放在大方向正確的道路上 因?yàn)橐龅氖虑檫€有很多 哪有時(shí)間在一些不值得的事上消磨浪費(fèi)
做事的人和不做事的人,有啥區(qū)別?不做事的人經(jīng)常討論一些抽象的問(wèn)題:情感和理智哪個(gè)重要?理想和現(xiàn)實(shí)怎么能平衡?遠(yuǎn)方和茍且怎么選擇?著眼未來(lái)和回到初心哪個(gè)更重要?
- 規(guī)劃就立幾個(gè) Flag吧 希望新的一年能及早的達(dá)成 阿門(mén)
| 序號(hào) | 要做的事 | 希望達(dá)成的效果 |
|---|---|---|
| 1 | Java | 熟悉語(yǔ)法 能看懂代碼 會(huì)寫(xiě)接口 順道搞搞數(shù)據(jù)庫(kù) |
| 2 | OC 三方庫(kù) | MJ的兩個(gè)庫(kù)自不必說(shuō) YYKit AFN源碼閱讀 |
| 3 | 讀書(shū) | 看些讓人心中寧?kù)o的吧 |
