Javascript Worker
最近在寫一些前端的東西,深覺前.端.超.難.(yay) ,接觸了HTM5 javascript 的worker , 在這裡筆記一下:
...最近在寫一些前端的東西,深覺前.端.超.難.(yay) ,接觸了HTM5 javascript 的worker , 在這裡筆記一下:
...書名 | 二十一世紀資本論 |
原書名 | Le Capital au XXIe siècle |
作者 | Thomas Piketty |
譯者 | 詹文碩 陳以禮 |
出版商 | 衛城出版 |
出版日 | 2014-11-14 |
ISBN | 9789869109321 |
最近看到一些有趣的東西:
用rust 來寫嵌入式系統,感覺相當生猛,正好最近在上傳說中的jserv 大神的嵌入式系統,就想把嵌入式系統作業用到東西,用rust 實作出來, 主要參考的內容包括上面的armboot,跟作業的mini-arm-os :
本篇相關的原始碼 :
...今天要講的是Rust Macro :
Rust 的Macro 是個有趣的功能,能讓你對原始碼在編譯時期進行擴展,最熟悉的例子大概是 println! 了。
...Linker script,就是給Linker 看的script。
當然這樣是在講廢話,首先要先知道Linker 是什麼:
在程式編譯成物件檔之後,會把所有的物件檔集合起來交給連結器(linker),Linker 會把裡面的符號位址解析出來,定下真正的位址之後,連結成可執行檔。
最近幾天在研究嵌入式系統,玩一玩也有一些心得。
課程上所用的編譯工具是arm-none-linux-gnu toolchain,在Archlinux 下可以用如下的方式安裝:
yaourt -S gcc-linaro-arm-linux-gnueabihf
yaourt -S qemu-linaro
yaourt -S arm-none-eabi-gcc49-linaro
yaourt -S arm-none-eabi-gdb-linaro
ln -s /opt/gcc-linaro-arm-linux-gnueabihf/libc /usr/arm-linux-gnueabihf
不過最近心血來潮,想來試試如果用另一套編譯器 LLVM 來編譯看看,至於為什麼…好玩嘛(炸),總之這裡是設定筆記:
...離上一篇 我的vim設定
已經過了一段時間
其實這個設定已經過時,大約去年九月左右就已經整個換掉了。
現在的設定是由阿蹦大神推薦的,包括:
這篇主要參考
pointer是語言上一種常見的實作方法,也是C/Cpp常見的寫法,讓你可以利用指標對資料(某塊記憶體)進行操作,達到極高的操控性。
問題是什麼呢?Pointer 讓你直接操控一塊記憶體,相對的,它也會造成空的指標,雙重釋放、未釋放記憶體等不安全
(這裡的安全是指不正常的使用指標,造成memory leak)的操作;
兩個指標可以指向同一塊記憶體,在多執行緖裡造成race condition(競態條件)。
我們既需要pointer 所帶來的彈性,又不希望pointer 和不正常使用帶來的不安全。
同時當系統愈來愈大,加上更多平行化機制之後,要求設計師對每塊宣告的記憶體負責愈顯得不切實際,
作為下一代的語言實在不該讓程式莫名的存取到不該用的記憶體,讓作業系統丟出seg fault 把程式切掉(引用:AZ大神)。
類似的問題與回應在Cpp也看得到(我真懷疑Cpp到底有什麼概念沒實作的XDDDD),像是 C++11引入的smart pointer, shared pointer,都是針對這個問題而來。
書名 | 人月神話:軟體專案管理之道(20 週年紀念版) |
原書名 | The Mythical Man-Month: Essays on Software Engineering |
作者 | Frederick P. Brooks Jr. |
譯者 | 錢一一 |
出版商 | 經濟新潮社 |
出版日 | 2004-03-31 |
ISBN | 9789867889188 |