毒蘋果開發樂園

By Daoseng | 以 iOS development 為起點,收錄任何與程式開發、網路科技、設計思考相關的文章。

被误解的MVC和被神化的MVVM

被误解的 MVC<p>MVC 的历史<p>MVC,全称是 Model View Controller,是模型 (model)-视图 (view)-控制器 (controller) 的缩写。它表示的是一种常见的客户端软件开发框架。<p>MVC 的概念最早出现在二十世纪八十年代的 施乐帕克 实验室中(对,就是那个发明图形 …

我為什麼鼓勵工程師寫 blog

工程師該怎樣才能突破自己能力瓶頸?寫 blog!<br>工程師該怎樣精進自己在職涯上所需要的能力?寫 blog!<br>工程師該怎樣才能保持學習與成長的動能?寫 blog!<br>工程師該怎樣才能證明自己的潛力與特質?寫 blog!<br>工程師該怎樣才能發揮與養成影響力?寫 …

全端工程師才有價值?

嘗試做一些你不精通的事,否則你永遠不會成長。 <br>credit: https://www.facebook.com/managertoday<br>Full stack developer 才有價值?少而專精,會是一條比較簡單的路。

[隨筆] Developer 自我養成之路

在軟體開發這一條路上,developer 可以從哪幾個方向去累積自己成長的能量,怎麼樣可以避免自己見樹不見林。<br>這篇文章分享我個人的一些經驗,希望能對茫然的開發人員們,提出多一點的角度供大家參考。

為什麼成為一名工程師這麼難 —— 從程式新手到準工程師的必經之路

(Photo Credit: Matt Mets)<p>有人說,每個看起來與正常人無異的工程師,其實都是在學習程式開發的途中熬過、壓抑過、而且創傷過的反社會人士(sociopaths)。<p>在學習程式開發的過程中,常常看到網路上的「甘苦談」,也聽過身邊前途一片光明的工程師朋友們分享過學習歷程,總覺得不同的人、 …

會寫程式還不夠,矽谷傑出軟體工程師都有的5種能力|數位時代

曾任職於Google和Quora等公司,現在是Quip軟體工程師的Edmond Lau,訪問了Facebook、Instagram和Google等公司的資深軟體工程師,歸納出他們眼中高生產力的傑出軟體工程師都具備的五種能力。<p>曾任職於Google和Quora等公司、現任Quip軟體工程師的Edmond …

iOS, Swift 3, Facebook 登入/登出教學 (Sign In/Sign Out)

完整專案 : https://github.com/Jerry0420/SignInExample.git<p>使用模擬器建立後,選擇第2個tab,即為本篇教學的部分。<p>Facebook SDK官方學:https://developers.facebook.com/docs/ios/getting-star …

NSString属性什么时候用copy,什么时候用strong?

我们在声明一个NSString属性时,对于其内存相关特性,通常有两种选择(基于ARC环境):strong与copy。那这两者有什么区别呢?什么时候该用strong,什么时候该用copy呢?让我们先来看个例子。<p><b>示例</b><p>我们定义一个类,并为其声明两个字符串属性,如下所示:<p>上面的代码声明了两个字符串属性,其中 …

簡明RESTful API設計要點

https://tw.twincl.com/programming/*641y<p>article<p>遵循REST原則設計web服務的API,已逐漸成為業界主流。去年我還在Yahoo的時候,負責工作之一是制定亞太工程部門的REST API標準;雖說是亞太地區,但也被不少美國總部的同事review...<p>Twin …

QA、QC,傻傻分不清楚!

自己從事軟體開發工作不算久,但也有十幾年的時間了,在這十幾年來,有時候會看到一個奇怪的誤解,關於這個誤解,我時常覺得,有點不吐不快,但是,似乎又不是三言兩語可以說清楚,所以,在這十幾年來,也就一直很少在工作場合裡,向合作的伙伴或同事解釋。直到最近,覺得還是可以利用撰寫一篇文字的方式,來表達我的看法。<p>…

最快让你上手ReactiveCocoa之基础篇

前言<p>很多blog都说ReactiveCocoa好用,然后各种秀自己如何灵活运用ReactiveCocoa,但是感觉真正缺少的是一篇如何学习ReactiveCocoa的文章,小编看了很多篇都没看出怎么使用ReactiveCocoa,于是决定自己写一遍关于学习ReactiveCocoa的文章,本文主要针 …

Block 中何時可以直接用 self,何時必須用 weakSelf / strongSelf? « 星野的 iOS 補(不)完計畫

若 object 本身沒有去 retain 這個 block (即沒有把這個 block 作成一個 property),則可以直接在 block 中使用 self<p>當有 retain block 時,應該使用 weakSelf<p>但只用 weakSelf 的問題在於,如果在 block 中必須多次使用到 …

iOS

白板上的演算法

許多知名公司會對面試者進行演算法的測驗,受試者通常被提示可以使用白板,然而,這方式也引發了一些爭議,最著名的案例之一,就是Homebrew的作者Max Howell,在2015年,他於Twitter發出的Google面試經驗,聲稱其無法在白板上反轉二元樹而被刷下來。<p>就我來看,白板上的演算法是個遊戲規 …

工程師的江湖:技術為外功,思維乃內力

Photo Credit: Brian Katt<p>本文原刊於 合作媒體 36 Kr,身為一種以數學、邏輯觀看世界並創造事物的職業,軟體工程師到底該具有什麼樣的條件?若以金庸先生筆下的武林來形容,若技術為外功,那麼思維就是推動一切的內力。<p>一個足球評論家可能並不會踢足球,卻並不妨礙在解說比賽時對某某球星的 …

Stack Overflow Developer Survey 2017

Each year since 2011, Stack Overflow has asked developers about their favorite technologies, coding habits, and work preferences, as well as how they …

Programming

Scrum懶人包 – 10分鐘讀懂Scrum與敏捷軟體開發入門(含中文英文名詞對照)

江湖上軟體開發有兩個大門派,第一個門派歷史跟軟體一樣久,心法是以流程為主軸,正式名稱瀑布式開發(Waterfall),最具代表的武功就是 CMMI,幾年前台灣政府大力推動支持。另一個門派在1990年代異軍突起,心法是以人為主軸,正式名稱為敏捷式開發(Agile),最知名的武功是 Scrum,但在台灣 …

寫程式到底需不需要懂數學?

數 學對於程式設計師來說到底重不重要?!類似這樣標題的討論,在網路上已經不知道被討論多少次了。前兩天又在老同事小白的blog上看到了他的看法。以前正 方總是喜歡拿演算法與效率來表明數學很重要的立場,反方或是最近普遍的觀點是要依照需求。兩方都沒錯,我也有一點小心得跟大家分享。<br>先來談談「數學」在大家的心 …

幫洗衣機加個 app 就算智慧?以手機為中心的物聯網佈局必將失敗 | TechOrange

邊開火邊移動

<b>邊開火邊移動</b><p>作者: 周思博 (Joel Spolsky)<br>譯: Paul May 梅普華<br>編輯: Ing Yong Chuan 吳勇撰<br>2002-06-01<p>我總會有時候什麼事都做不了.<p>我當然還是會去上班, 不過卻是到處閒逛, 每10秒就收一次信, 逛逛網站, 甚至做些付信用卡帳單之類不用動腦的事. 什麼都 …

懂越多程式語言越威嗎?一位工程師對自己職涯路上的省思 | TechOrange

開發者注意!手機 Apps 黃金熱潮或將完結

十年前,Apple 發行 iPhone,然後很快帶來了 App Store,甚至擴展整個應用程式的生態系統。根據 Flurry 最新的報告,這行業現已在飽和階段,接觸了最重要的廣大用戶。當中其實還有一些發展的空間,例如去年應用程式的使用率大概為 11%,但這升幅稍微慢了。亦有其他應用程式類別正在拿去 …

程式自學十年心得:想吃這行飯,學好演算法與資料結構才能讓你站穩腳步 | TechOrange

从PHAsset获取图片数据 - Happen的技术博客

PHAsset是Photos framework中的重要对象,代表iOS中的一个资源(图片、视频)。Photos framework是苹果在iOS8时推出一个Framework,用来取代Assets Library。<p>如果你的应用中使用了Assets …

iOS中的block和retain cycle (经典) - 7087095

retain cycle 的产生<p>说到retain cycle,首先要提一下Objective-C的内存管理机制。<p>作为C语言的超集,Objective-C延续了C语言中手动管理内存的方式,但是区别于C++的极其非人道的内存管理,Objective-C提出了一些机制来减少内存管理的难度。 比如:内存计数 …

你知道什麼是 Retain cycle 嗎? | TECH-SHARE

有一些朋友會與我分享初次接觸 iOS 開發的喜悅,但在分享的同時,我常常會好奇的問一句<p>你知道 retain cycle 嗎?<p>所謂的 retain cycle 就是 Block 和 object 可能會互相強引用,互相retain對方,這樣就導致了retain cycle,最後這個 Block 和 o …

對使用者問錯問題,當然設計不出 iPhone

賈伯斯曾經說過,使用者不知道怎麼告訴你,他要的是什麼產品或服務,除非你已經端到他面前來了,他才能知道他要或不要。其實創造出新的產品或服務,不是使用者的事情,而是產品經理或創業者的責任,使用者只知道自己的痛點在哪裡,而你要先知道那些痛點,並且根據那些痛點設計出對的產品或服務。很多創業者是要解決自己的痛 …

Code 如其人》六組程式碼,看完馬上理解你的 Coding 等級在哪裡! | TechOrange

血淋淋的科技職場現實:小心,你上班的公司讓你丟了謀生的本錢

學習使用者經驗的 UX 壞了

1999 年五月,.com 正值百花齊放的時候,我獲得第一份「專業」工作,名稱是資訊架構師(現在叫做使用者經驗)。當時這個自傲的 22 歲小伙子,不但從 18 歲就開始做網站,還拿到一份很棒的薪水。從 Photoshop 到 HTML,再到(有限的)SQL 都能夠勝任,只有資訊架構還在淺薄的認知。我 …