| Quine | 自產生程式 | 程式人 | 程式學習 | 林信良

有趣的自產生程式

自產生程式(Quine)是個自我複製程式,可將程式描述與程式執行分開來實現,作為檢驗自己對程式語言的瞭解,也是個有趣的題目

2020-10-22

| Python | 資料類別 | 程式人 | 林信良 | 程式學習

Python資料類別方案

namedtuple的本質上還是tuple,在Python 3.7以後建議透過dataclasses模組;若有進階或版本相容需求,可以選擇attrs等第三方程式庫

2020-10-15

| Python | 型態提示 | 程式人 | 林信良 | 程式學習

新的型態提示PEP

如果我們要使用Python 3,需要多了解型態提示的運用,因為開發者會越來越常遇到這種特性

2020-10-08

| 物理引擎 | 物理模擬 | 程式學習 | 林信良 | 遊戲開發

聊聊自造物理引擎

如果你曾經想自造物理引擎,卻不得其門而入,可以試著從尤拉法、牛頓第二運動定律、AABB碰撞偵測與SAT分離軸理論等開始,從中認識程式面實作上的考量,以及各種方法的優缺點

2020-09-24

| Flutter | 隱式動畫元件 | 顯式動畫元件 | 程式人 | 林信良

Flutter動畫由簡入繁

我們在Flutter進行動畫處理時,可先從隱式動畫、顯式動畫等元件著手使用

2020-09-17

| 林信良 | 基因演算法 | 程式猴

程式猴與基因演算法

用香蕉請猴子來寫程式可行嗎?聽說有人運用演算法與雲端服務來模擬,還真的鍵入了一部莎士比亞全集?讓我們用基因演算法來推想看看,這樣的概念是否有助於程式開發

2020-09-10

| 細胞自動機 | 生命遊戲 | 圖靈完備 | 程式人 | 林信良

細胞自動機

在運算模式的探討上,有些人可能接觸過細胞自動機這樣的作法,而生命遊戲就是屬於這個領域的應用,透過這個遊戲的規則與呈現結果,我們可以了解細胞自動機的運作方式

2020-08-28

| 遞迴 | 林信良 | 希爾伯特曲線 | Hilbert curve | 碎形圖案 | 程式學習

漫談希爾伯特曲線

在程式設計的過程當中,若要學會遞迴處理的實作,我們可由碎形圖案的繪製來熟悉,而希爾伯特曲線正是常見的圖案,讓我們來用這樣的曲線來畫一條龍吧!

2020-08-20

| 林信良 | 程式碼 | Linux之父 | Linus Torvalds

程式碼的品味

透過撰寫程式碼來解決問題時,若能具有深厚的知識,像是語法、慣例、語言特性、模式、社群文化,經由不同角度來審視問題,適當地運用,就可以發展出更精緻的作法

2020-08-13

| API文件 | 程式學習 | 原始碼 | 抽象滲漏 | 林信良

另眼看抽象滲漏

掌握軟體開發技術,我們有時需閱讀API文件,若無法確切理解,還是要從原始碼一探究竟,但這能說是抽象滲透?實際上,開發者本身就有掌握底層的需求,因此有其必要

2020-07-30

| UI框架 | Flutter | RenderObject | render tree | 渲染樹 | 程式人 | 林信良 | 程式學習

淺談Flutter渲染樹

採用UI框架Flutter時,如果我們想要自行調整元件,不只是需要了解Widget樹與Element樹,還需要知道由負責繪圖的RenderObject組成的渲染樹

2020-07-23

| asyncio | 林信良 | 程式人

asyncio由簡入繁

在Python這套程式語言的開發環境當中,我們可以使用非同步I/O的處理方式,但似乎不易著手,事實上,我們可以先掌握async.run的使用,必要時研究其原始碼,瞭解事件迴圈基本操作

2020-07-17