Just My Life & My Work

Posts tagged ‘programming’

[圖解] 學習 Flutter 路線圖 (Learn Flutter Roadmap)

最近公司採用 Flutter 框架來開發 iOS Android App,所以有必要做全面性的學習。

看到這一張學習 Flutter 路線圖 (Flutter Roadmap),讓我十萬分興奮,因為我想要全部都學習!🤪

不過時間有限,想必得有策略式地逐步學習,進而掌握最關鍵且最實用的開發技術。

(繼續閱讀…)

用程式寫未來 (Write future by Programming)

關於「寫程式」這碼事兒,我三天三夜說不完,只好拿這張名人Nitish Mishra所說的一句話當作結論!

這張截圖放在我電腦桌面快滿一年,2017年8月20日,忘記是誰分享的(是偉大的德叔嗎?快出來面對吧XD~),當時看到非常有感覺,相當確信我可藉由「寫程式」來成就我的未來!

Programming is something like writing your own future with code

好多計畫想要實現,必須要從建造他人的點子,跳脫到實現自己的世界

Swift 第4版本

Swift已經升級到第4版本,我還是沒認真在寫Swift 4,主要是因為它還不太穩定,這幾年必須多花時間去改寫語法到最新版本,於是在有限的開發時間下,我依然對相對穩定的Objective C情有獨鍾XD~

舉一個例子,當我要使用Open Source ChartsXcode會偵測是否相容,否則就無法編譯成功,如圖:

Swift 第4版本.png

好在只要選擇到Swift 4,就能成功編譯!也感謝超好用的圖表開源Charts作者,願意每次Swift升級就改寫語法,造福我們成千上萬的iOS開發者

怎麼在Objective C中使用Swift Open Source?可參考文章:在Objective C專案使用Swift第三方套件

[C/C++] 如何引用C標頭檔

最近要研究1992年程式高人寫的原始碼,看到Xcode上黃色驚嘆號標示說是非常早期的語法,好在還能編譯運作,不然要以目前C語法再刻一次,我真的會想去撞牆啊XD~

話說,我學生時代習慣用C++寫程式,現在想以C++來引用C標頭檔,雖然在Xcode中可以將.c改成.cpp,就能成功「騙」過編譯器,但那樣根本是多此一舉,明明是C語言還要宣示為C++語言。

查詢後原來很簡單如何引用C標頭檔,使用extern保留字標記C,大括號中就是引用C標頭檔。

[C++] 如何引用C標頭檔.png

高人解釋:

For a list of C standard C headers (stdio, stdlib, assert, …), prepend a c and remove the .h. For example stdio.h becomes cstdio.

For other headers, use

extern “C"

{

  #include “happy_header.h"

}

參考:Including C headers inside a C++ program

糟糕的API製作

一年前也就是2017/1/27的紀錄,我經手一個幼稚園案子,我以為只要負責開發App的部分即可,所以報價非常的親民,因為對方是我非常好的老闆朋友。不過最後證實,這個案子讓我公司虧錢,時間成本多出3倍,為了斬斷所有牽絆,在卡卡頓頓開發一年後,宣布不再接手維護。

以下就描述我身為軟體架構師觀察到的問題:

API開發

此案不明原因分成三個人⋯⋯

  • A創造規格人(實作原型)
  • B建立架構人(實作雛形)
  • C開發實作人(實作成品)

幼稚園案子.gif

照理說,ABC要同一人才是!因為每個人的邏輯思考不同,若分為三個人接續製作,最後成果極度可能四不像,那可是會大大增加開發成本!

(繼續閱讀…)

[圖解] 傳遞參照與值 (Pass by Reference and Value)

還記得大一剛學程式設計,就被這兩個玩意兒給搞糊塗,傳遞參照與值 (Pass by Reference and Value)有圖解的話就非常清楚囉~

pass-by-reference-vs-pass-by-value-animation.gif

有人問Reference咖啡顏色不一樣,是怎麼一回事XD~基本上Reference的杯子就是同一杯啦!半透明杯子表示並不是主體。

以物件的角度:

  • Reference:一個杯子
  • Value:兩個杯子

以咖啡的角度:

  • Reference、Value:同樣容量的咖啡

印象中還有個詞叫做Pass by Copy,我會把它當作跟Pass by Value一樣。

現在覺得能把複雜的概念簡單化的人很厲害,而不是把簡單的東西複雜化,若是衍伸出新的見解就另當別論囉~

這張圖是我看到靠北工程師粉絲團所貼,身為偽資深工程師的我看到貼文時常能會心一笑,我剛去英國留學一年的梅姬(Meggie)颱風有時候也會有感覺,想認識她的人可以參考氣象局這篇文章:當老師有暑假真好

[圖解] 程式語言熱門排名

想要學寫程式的人,總要先知道自己的目的是什麼?如果還不知道的人,可以去測驗一下圖解我該學什麼程式語言?

亦或者可以參考世界上最多人使用的程式語言,在GitHub上程式語言熱門排名圖解

programming language rank on github.jpg

可以看到Javascript從2013年成為第一熱門語言,大概跟Node.js發展有非常大的關係。Objective-C則在2015年從排行榜消失,猜測是因為越來越多開發者轉向Swift發展。

表現越來越突出的是Java,我公司資深工程師楊大建議我學Java,對未來無往不利,然而我卻想要學Javascript。哈~透過Node.js,就能寫出前後端的服務!

參考:

[圖解] 除錯五個階段 (The 5 Stages of Debugging)

如果沒有除過錯的人,就不是個稱職的軟體工程師。也就是說,只要你是個軟體工程師,肯定除過錯!剛好碰見一張讓我感同身受的圖解除錯五個階段 (The 5 Stages of Debugging),仔細想了一下,我好像也差不多經歷如此狀況。

圖解 除錯五個階段 The 5 Stages of Debugging (繼續閱讀…)

[圖解] 如果論文跟程式語言一樣

週末就來點幽默小品吧~學過許多程式語言的我,看到圖解如果論文跟程式語言一樣自然會心一笑,因為真的是「吐嘲」到語言的痛處啊!

現在我主要寫的語言是Objective C,對於不熟的語言抱持著敬佩的態度,畢竟要能廣泛被程式設計師使用,一定有其獨到之處,所以不用太在意人家會的語言而自己卻不會唷~

以下有八種程式語言,如果你精通其中一項,而且知道其他語言,那麼大概會知道教授為何那麼說嚕~

如果論文跟程式語言一樣

重點是⋯⋯知道自己要的是什麼就好啦!

老實說,我看不懂HTML那個花盆是啥意思耶><~

LATEX這語言XD?

請高手幫我解答一下⋯⋯

我在想,要是把Objective C也畫上去,圖中那個教授會講什麼話呢?「為什麼你要用那麼多中括號[]?

參考:如果把不同語言的程式比作將受批評的論文漫畫:如果用編程語言來寫作文

圖片

[圖解] 我該學什麼程式語言?

大學時期的我熱愛學習,只要有開新的程式語言課程,我都會興致勃勃地選修!畢業後進入應用層面,發覺這些技術花費一輩子也不可能學得完,更何況這些程式語言持續在進化。以為就快對iOS爐火純青,然而很幸運地,每年總是有重大的更新等著我去了解和學習:P~

於是乎,就以我未來想要達到的目標來選擇想精通的第一語言,看了這張圖解Which Programming Language Should I Learn First,作者真是厲害,提供想要學習寫程式的初學者一個參考,從目的反推回適合的程式語言,當然我的結果就是Objective-C

如果你想要學習的程式語言有在這張圖裡面,不妨可以參考這張流程圖,包含的語言有:

  • Python
  • Java
  • C
  • PHP
  • C++
  • Javascript
  • C#
  • Ruby
  • Objective-C

which programming language should i learn first

實在是因為時間有限,不然我也想學習所有程式語言。現在我會先想,我的目標是什麼,工作是否能連結我的生活(連結生活才有趣啊XD~),於是照著這張圖走:

  1. 我對學習程式語言感興趣
  2. 我心中有個相當特別的點子
  3. 想要在哪個平台實現點子?
  4. 哪個作業系統?

我想要在Mobile平台實現點子,因為想讓生活更有品味,於是選擇能在iPhone上跑的iOS,最後就得出Objective-C這個程式語言囉~只是呢⋯⋯總是會給人驚喜的Apple半年前(2014/06)推出全新的程式語言Swift,同樣可以在iOS上運作,似乎有意逐漸取代Objective-C,於是我自然要往Swift發展囉~

這個電腦資訊發達的年代,能主動喜歡學習的人格外有優勢!

2015/01/25更新

感謝有人幫忙中文化,如此會有更多人看得懂啦~

我該從哪種語言下手?

2018/05/29更新

小橋流水突然傳給我這張圖,我以為她要開始學寫程式XD~

之後遇到想學寫程式的初學者,可以分享這張圖給他/她,先清楚知道目標,後了解如何學習該語言:)~

參考:這張圖表幫助你決定該學 Python、Ruby 還是 C++玩遊戲看你到底適合哪種程式語言!準爆了啦 XD

標籤雲