Just My Life & My Work

Posts tagged ‘programming’

用程式寫未來 (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 (繼續閱讀…)

標籤雲

%d 位部落客按了讚: