| 林信良 , | C語言 , | 名稱空間

探尋C語言名稱空間

在C語言的標準當中,對於名稱空間(Name space)的使用,雖然沒有相關規範,但並非無法實現

2016-11-05

| Python , | 裝飾器

不只是裝飾器的裝飾器

Python 裝飾器的背後,可以實現Gof裝飾器、AOP,或者用語言處理語言

2016-10-29

| 程式設計 , | 林信良

程式設計的「設計」

你只想寫程式嗎?或者你想從事程式「設計」?

2016-10-23

| 林信良 , | C語言

你腦袋的C更新了嗎?

別讓C的開發停在80/90年代學到的東西

2016-10-16

| if...else , | Monad , | 林信良

避免隨意而重複的if...else

如果觀察到if...else重複地出現,無論是瀑布式或是巢狀,就要察覺這是一種訊號

2016-09-17

| 程式設計 , | 電腦圖學

電腦圖學樂趣多

投入程式設計的過程中,除了結合所需要的元件之餘,觸動開發者的部分更在於應用本身的樂趣

 

2016-09-11

| 林信良 , | Go , | 物件導向

從Go語言看物件導向

Go是物件導向語言嗎?答案的是與否,其實並不重要,該思考的是這麼做的目的,並且考量到實際需要,設法透過所用的程式語言特性來實現

2016-09-04

| 列舉 , | enum , | 組態 , | 開放封閉原則 , | 程式設計

列舉與開放封閉原則

有些元素天生適合列舉(enum),例如時間單位,有些則不是,如果未來變動的可能性很高,就不適合使用。此外,列舉往往不具備擴充彈性

2016-08-20

| 程式設計 , | 成式學習

超越技術的階段

新資訊不斷出現,但很多時候我們會發現所探討的技術主題、內容、概念,經常是破碎、重複的,該如何面對這種疲倦感?

2016-08-13

| 協程 , | coroutine , | 執行緒 , | asyncio , | yield , | Python

協程、微執行緒到asyncio

asyncio是一種相當獨特的非同步處理方式,我們可以從yield的發展來認識它

2016-08-13

| 程式人.林信良 , | 多重繼承 , | Mixins , | HOCs

從Mixins到HOCs

多重繼承非用不可嗎?能否有其他可行的作法?我們固然可以透過Mixins的方式添加功能,但其實會變得複雜,也因此HOCs開始趁勢而起

2016-08-06

| 程式效能 , | 評測工具 , | Profiling

你的程式有多快?

如果要知道所開發出來的程式效能,可以先從找出能理解、易使用的評測工具開始下手

2016-07-30