又LAG隨性筆記
  • 關於我
  • 作品集
  • 生活隨筆
  • 與我聯絡
  • 隨手扎

隨手扎

February 23, 2020

7天搞懂JS進階議題(day01)-This & Bind: 你不能不知道的

本系列文章討論JS 物件導向設計相關的特性。 不含CSS,不含HTML!
建議先有些JS基礎再繼續閱讀。
你也可以看看從零開始遲來的Web開發筆記
雖然是「7天寫作松」挑戰,但同樣可以視為系列後續文章

No CSS! No HTML! No Browser!
Just need programming language


this

物件導向必不可少的,就是如何引用參考自己。

要是自己的錢包都拿不出來,你要怎買個冰棒?

寫過C++、Java對於this這個關鍵字應該不陌生,雖然JS的this有著很大的不同,但再說明之前,為了來自其他地方的同鞋,容我再多提幾個相對應的例子。


來自Python、Ruby、Rust的朋友
你們可能習慣看到的是self。

※ Note: Python可以不使用self;Rust必須顯示宣告self或&self;Ruby則比較像是JS是[隱含宣告](#隱含宣告 vs 明確宣告)self


來自VB和VB.NET的朋友

你們會看到的是Me、My。

February 22, 2020

7天搞懂JS進階議題(day00)-Oh...開始了......

這系列文章內容會是什麼?

本篇整理了7項ES6之後的相關進階特性(this可能除外),包含:

  1. this & bind
  2. Prototype chain
  3. class & object
  4. getter, setter
  5. attr
  6. Symbol & Proxy
  7. yield

概述

寫了這麼久的JS,你還在物件之前的時代嗎?只有資料、函式可以用,破破的抽象化,不會難以維護?

儘管JS起初並不以物件導向設計,但透過原形鏈設計,其仍然可以具有好維護的物件導向特色。

目前已經被證實的是,物件導向程式設計推廣了程式的靈活性和可維護性,並且在大型專案設計中廣為應用。 — from Wikipedia

本系列從最基礎的this,深入ES6之後的class。包含:

this
物件導向必不可少。 關於隱式宣告與顯示宣告、特殊變數。

prototype 在class之前,必須了解的prototype chain

class class和new。從constructor開始。

getter, setter 有了物件然後呢?關於成員(field/attribute/member)。

February 21, 2020

適合嵌入使用的程式語言 在Raspberry Pi上的編譯紀錄

幾乎所有應用都不可能只使用一個程式語言完成。

忘了是那看過的,現在想想,當時他所說的,或許不只是ABI、與C交互、或是組合語言,像是應用層面的HTML,或是通訊成面的HTTP等,應也可以視為程式語言裡的異語言。既然無可避免,那多少了解一些其他語言也是必須的(不過近期打算更進一步XD),不過我自己初衷很單純是「興趣」(原來是興趣使然的程式語言研究員阿)。

之前曾經找過適合作為嵌入式,嵌入到其他程式語言的腳本語言有哪些。 當然是受到最適合、也是以此為目標設計的Lua影響,但Lua及其簡單,就表達層面上,不適合作為複雜應用。 拿個簡單的例子來說,同為原形設計的物件導向程式語言–EMCAScript後來在ES6也有了class的語法糖。

總之,Lua很簡單,執行效率也極高,這想點我想是相輔相成的,也沒比要為了語法糖提高其語言解析(parse)的難度。但同樣作為一個圖靈完全(Turing completeness)的程式語言,Lua必然也可以實現複雜應用。

但既然Lua已經幾乎達到其設計目標,那如果需要其他設計方法怎辦,作法之一是使用Python這類膠水語言(glue language,Lua也是),但不管是CPython、CRuby還是Node.js恐怕實現都有些過於「肥大」。繞個路的作法就是使用其他實現,接著帶大伙看看幾個我認為有潛力的語言實現。

嵌入式程式語言

February 5, 2020

【心得筆記】精通 Go 程式設計

簡評

怎麼說呢…看完當下的感覺是覺得,這本書很特別,我想這會許是因為這本書與Go語言設計者本身有關係。

Alan Donovan特别感謝:Sameer Ajmani、Chris Demetriou、Walt Drummond和Google公司的Reid Tatge允許他有充裕的時間去寫本書;

Alan A. A. Donovan 是作者之一,從致謝頁來看,同時也是Google員工。而Go語言,又是Google所開發的一個簡潔、高效的程式語言。Alan很可能參與了Go語言的設計與開發,也很可能是最早使用Go語言的一批人。這或許說明為何此種,跟閱讀「松本行弘的程序設計」之後的感覺,是相似的。推薦大家閱讀。

推薦指數:★★★★☆


January 24, 2020

【心得筆記】這幾天看完的文章 紀錄

紀錄並分享幾個,這幾天看完的系列文章。

iT體人賽,有蠻多很優質的文章,雖然有些東西還是要看時間讀,才比較有感覺。但總之,這次算是把之前先訂閱的系列看個一遍,今天做一下紀錄。

淺入淺出-計算機組織

系列連結:https://ithelp.ithome.com.tw/users/20091778/ironman/921

這篇文章應該是上Coursera的課程,那個北大的課程我也上過(其給予的連結我上去沒看到,這是另外找的),不過沒把問題做完,所以不算完課。雖然當時是準備考研究所去上的,最後也不算是考上我最主要目標的學校科系,但這門課老師說的真的很有趣,有興趣的可以去看看。

另外離散數學這門課也很好,雖然我有完課,但沒買證書。內容也有些忘記,之後可能會在挖出來複習一下。

整體而言,我會更推薦直接去聽課,課程中有動畫,解釋也比較清楚,但是作為基礎導覽或複習,這系列文章可以看看。


可不可以不要寫糙 code

https://ithelp.ithome.com.tw/users/20107637/ironman/1927

糙,注音:ㄘㄠˋ;拼音:cao。
意思是:不細緻的、草率、鹵莽(魯莽)。

特別注意:

  1. 這個詞與看 code 時發出的狀聲詞若發音相同,一定是巧合。
  2. 若這一系列介紹的範例 code ,讓你有一種親切感,也一定是巧合,因為文章並不會只是針對某些人,而指的是在座的各位…,沒啦!一定是巧合。
January 15, 2020

【隨筆】參加11屆iT鐵人賽頒獎典禮

1月4號去參加iT體人賽頒獎典禮,一如往常的,拖到今天才來寫😹。

這是我第二次參加iT鐵人賽,上次報兩個主題只完賽一個。但這次…我報三個,好險都有完成……

但上次因為時空因素,我沒有參加頒獎典禮,所以儘管只有拿到參賽獎,但這是我第一次參加頒獎典禮。

(參加典禮的這幾天,一隻眼睛還有點腫腫的,不知道是參加CTF太燒腦,還是因為幾天前噎到吐出來,傷到鼻腔導致的。那幾天鼻子有血塊)

儘管只有參賽獎,但覺得這次頒獎典禮沒白來。有很多很多,原本沒想過,但有說到心裡的話。其中,「我們正在創造繁體中文技術文件的一個里程碑,一個歷史」這句尤感。

上台北

跟上次上台北比起來,心情輕快很多,截然不同。捷運站還看到一隻不知道是在流汗還是流口水的不明生物:

  • ««
  • «
  • 1
  • 2
  • 3
  •  … 
  • 22
  • 23
  • 24
  •  … 
  • 34
  • »
  • »»
© 又LAG隨性筆記 2025