用 WebGL 畫線比我想像中地還難
WebGL 不支援 lineWidth 大於 1 的線條,連 Three.js 也沒有支援可調整寬度的線條實作,於是開始了自製線條的實作
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 編譯過程涉及程式碼解析,因此這一篇文章主要會先討論抽象語法樹是什麼,並進一步說明抽象語法樹扮演的角色與重要性。
回顧自己在 2020 年做了哪些關於技術的事情~
Turbolinks 是一個 JavaScript 套件,通常會搭配 Ruby on Rails 一起使用(單獨當作函式庫使用也可以),主要是透過 fetch HTML 直接抽換的方式來避免直接換頁要重新發送請求、CSS 的成本。其實說「不需要使用 JavaScript」不完全正確,JavaScript 還是在,只是在函式庫那邊已經幫你處理好,所以開發上可以不用寫 JavaScript 而已。
2020 年是個混亂的一年,同時也是讓我重新思考電腦本質的一年。在這一年我做了很多非自己擅長領域的嘗試,基本上都圍繞著一個主題:重新認識底層。 我在高中是念電子科的,在升學為主流的時代,雖然有實習課,但更多的感覺是按表操課,然後大部分的時間都在唸書解題。唯一慶幸的是課業並不像一般高中繁重,不然我可能也考不上台科。