Raspberry Pi pico PIO 初探
2021 年初時樹莓派發佈了 pico 微控制器,價格相當便宜只要 100 多台幣,其中有個相當有趣的功能 PIO。可以透過特化後的組合語言與架構實作不同的通訊協定,卻不需要耗費主處理器的資源。
四零二曜日電子報上線啦!訂閱訂起來
本部落主要是關於前端、軟體開發以及我在日本的生活,也會寫一些對時事的觀察和雜感
本部落格支援 RSS feed(全文章內容),可點擊下方 RSS 連結或透過第三方服務設定。若技術文章裡有程式碼語法等特殊樣式,仍建議至原網站瀏覽以獲得最佳體驗。
2021 年初時樹莓派發佈了 pico 微控制器,價格相當便宜只要 100 多台幣,其中有個相當有趣的功能 PIO。可以透過特化後的組合語言與架構實作不同的通訊協定,卻不需要耗費主處理器的資源。
在計算機領域當中,對信號做計算時採樣通常都會是離散的資料,因此稱作離散傅立葉轉換(DFT)。快速傅立葉轉換能夠幫助我們將時域信號轉為頻域信號,方便做進一步的分析。
這本書感覺總有一天會翻成中文版,趁著目前只有日文版時跟大家分享閱讀心得。這本書厚厚一本 700 多頁,在日本甚至被稱作「#鈍器本」,還有登上暢銷排行榜。裡頭的內容非常充實,很適合想要完整學習一門知識卻不知道如何下手的初學者。
WebGL 不支援 lineWidth 大於 1 的線條,連 Three.js 也沒有支援可調整寬度的線條實作,於是開始了自製線條的實作
在瀏覽網頁時,我們時常透過 subdomain 來區分服務的內容,然而要區分一個網站是否為 subdomain,或是兩個網站是否為 SameSite 似乎沒有想像中的簡單。
在前端應用當中,很常會遇到一個情形是在畫面上顯示的值是透過其他的值複合計算而成;或是先經過某種計算再放入畫面當中。通常這類型的處理都可以用 useMemo 來簡化程式碼
shiki 是一個將程式碼語法做高亮的套件,跟其他套件(highlightjs, prismjs)算是比較新一些,也比較少人知道。主要是因為它支援的語法更多也比較好設定,內建的主題也蠻多的,就順手把原本的 prismjs 換掉。
一直以來用終端機的習慣都是直接透過 iTerm2 的分頁功能切換 tab,這麼做其實沒什麼大問題,不過自從了解 `tmux` 的好用之處後就把終端機的操作都移到 tmux 了。
在科技奇異點來臨之前,恐怕地球已經快要負荷不了全世界的經濟體系了。我們能夠維持現在的生活或許單單只是因為我們活在比較先進的國家,並且處於供應鏈上層,但仔細挖掘背後種種跡象,會發現整件事情越來越令人擔憂。
從 NAND 邏輯閘到圖靈完備,全部自己拉電路組裝元件。這款遊戲透過視覺化把程式碼的撰寫變成可以拖拉的邏輯閘,即時的互動更方便玩家觀察的真值表變化。
最近 NFT 這個詞成為新潮流,大家一窩蜂地搶著「收藏」,但是往往抱持著錯誤的理解,以下整理常見的誤解
線性產值是經濟體系運作的基礎;指數產值可以改變人類的生活方式
本篇文章僅為表達自身觀點與想法,對於同行業人員沒有任何批判之意。我認為目前前端領域(此處指網頁開發)逐漸趨於成熟,前端框架採用元件化的中心思想與響應式機制,搭配框架特有的語法、開發手法與哲學,可以應付大部分的使用場景。
一群工程師們正在研究如何逆向工程在 Apple M1 跑原生 Linux kernel
撇開這些因素不談,用 monospace 字體撰寫程式碼的開發者還是佔大多數,這篇文章來分享一些近年來使用的 monospace
心智模型是指我們如何預期事物的發展,或是事物會如何運作的認知過程。聽起來有點學術,舉例來說當我們在畫面上看到一個按鈕的 UI 時,我們會預期這個 UI 是可以點擊的,點擊之後可能會發生一連串的事件。因此當使用者發現這個 UI 不如預期時它會感到困惑。
趁著這個機會試試看鍵盤界的最高峰,同時也是工程師界許多人夢寐以求的鍵盤 - HHKB,購入後使用到現在非常滿意,在這邊分享給大家。這篇除了 HHKB 的心得還會同時介紹無接點靜電容鍵盤的原理。
對於軟體工程師來說,日本特殊的文化、環境、薪水並非首選,不少到日本工作的軟體工程師也都是單純喜歡日本才會到日本工作。因此這邊不討論薪水跟日商文化,單純就日本社會的現況點出我目前最擔心的事情。
我們常說要傾聽基層人員的聲音,因為他們才是真正在做事的人,在開發上也一樣。 不過成為 Tech Lead 除了了解程式碼本身之外,更重要的是必須要對整個專案有通盤性的了解,以下列出幾個我覺得很重要的地方。
台灣受到疫情影響,進入第三級警戒狀態,也有部分公司開始實行遠端工作。從去年起就已經開始遠端的我或許能夠分享一些經驗。
在這次的專案開發當中,以往純靜態的 Landing Page 頁面,企劃端有了想要 call API 拿資料動態更新的需求,再加上頁面的互動越來越多,原本 pug+webpack+jQuery 的純靜態頁面不敷使用,我們在新版本的開發中導入了 next.js。並開始了架 Server 踩坑之旅
Google Chrome 89 推出了 Web Serial API 讓外接設備透過瀏覽器 API 直接互動,包含 USB 設備或是有 Serial 介面的藍牙設備。這樣一來瀏覽器就能與硬體直接溝通。
本篇文章會介紹瀏覽器背後會怎麼處理 form 標籤,以及在 JavaScript 上怎麼運用 FormData 來簡化表單操作
表單在網頁中是相當常見的應用,不只能夠傳輸純文字,也能夠達到檔案上傳的功能。不過也因為 form 的行為跟其他傳輸方式較為不同,有時候也產生疑惑與誤解。 這篇文章試著從閱讀規範理解來龍去脈後,深入理解 form 背後到底做了哪些事情,以及表單與其他傳輸方式的不同之處,最後再提及 HTML 的 form 標籤背後做了哪些事情。
最近兩天心臟的位置一直有著違和感,只要過幾分鐘就有一種心臟被掐住的感覺。不會痛,也沒有其他異常狀況。原本想說只是暫時性的而已,但因為持續了一天多都沒有改善,而且畢竟是心臟,還是決定去看醫生。
這是一篇流水日記文
從 Svelte 的核心理念可以得知,Svelte 希望從編譯過程中盡可能地獲取必要資訊,減少在動態的 overhead。上一篇文章中說明了 Svelte 從編譯到生成程式碼是如何運作的,今天要來觀察一下 Svelte 生成的程式碼是怎麼運作的。
Svelte 關注度逐年攀升,這篇文章整理了幾個 2022 年值得學習 Svelte 的理由,同時也會來談談 Svelte 使用上的缺點。
為了生成最後的程式碼,Svelte 必須將元件編譯一次獲取必要資訊,Svelte 的編譯過程到生成程式碼主要會通過幾個階段,在本篇文章會一一介紹
這一系列的文章以探討 Svelte 原理實作為主,希望能讓讀者對於 Svelte 的編譯機制與程式碼生成有更深入的理解。由於 Svelte 編譯過程涉及程式碼解析,因此這一篇文章主要會先討論抽象語法樹是什麼,並進一步說明抽象語法樹扮演的角色與重要性。