WTM - D2 workshop 活動心得

活動表訂從9:40到17:30,實際製作應該是5個小時左右,當天是一組四個組員,兩個工程師搭兩個設計師。 題目是 WTM 官網註冊頁及首頁,我只做了首頁…另一位工程師除了註冊頁,還能給大家開發及設計的建議,希望自己也能慢慢朝這個方向邁進。 這次實作要的技術東西都看過,都沒自己深入想過、做過😅,沒能好好的判斷作法,寫個筆記警惕一下自己: Web Vitals <img>載入造成的版面位移,忘了寫個預設值的情況下可能影響web指標中的累積佈局偏移(CLS),而且使用者要點東西的時候版面跳掉應該是蠻差的體驗。 React React 18 的 useEffect 在 render 時會跑兩次,原因參考這篇文章。 正常在元件中使用 setTimeout 來觸發 re-render 拿 state 不會有更新位址的問題,想太多了 - 寫了個例子。這個作法我用來實踐題目中輪播圖功能。 會有事的是在Line群上看到群友提出的這個情境;在useEffect中使用setTimeout必須配合 useRef 來更新 re-render 後的 state 位址,才能穩定的每秒倒數並考慮更新的 state - 該情境可行的解法。 至於不會穩定的每秒倒數則是我嘗試想解題時的這個例子;每次觸發按鈕確實更新了 log 中的 state,但計時也會跟著重置,連按的情況下就會等最後一下按完開始算一秒才有 log。😥 Tailwind CSS Tailwind CSS 預設的 utilities 想用自訂值只要個加方框… 透過CDN引入一樣可以寫 configure, utilities 和用官方 plugin,作法參考官方文件。我應用這個在漢堡選單的展開,寫了個影格及動畫。 關於codesandbox 不知道怎麼解,但純記錄下來: 嘗試了在 codesandbox 用非CDN的方式引入 Tailwind CSS,看了幾個設定好的環境,不是把 stylesheet 整個輸出出來,就是要改Node.js做環境,但我只是想要不顯示scrollbar…。 環境跑 HMR 時好像會讓 useEffect 變得怪怪的,有狀態殘留、重複觸發,但重整後又沒事了,也可能是我的寫法不安全造成的?🤔 沒有確認好展示時要用的環境,雖然開發時有跟工程夥伴說好用codesandbox的mobile preview為基準開發,但它這個preview就算是用內建的open in new window,版面也會變得不同,也沒再跟全部組員確認demo時會用什麼環境,結果就有很重要的東西跑板了…...

September 26, 2022 · Yu-Pang

那些網頁開發的名詞

這篇文章是我在職訓班時寫來釐清這堆術語的,稍微更新了比較理解的部份(前端),但到了現在我也還在更了解他們中(後端和網路的部份),有錯誤的部份還請不吝指教。 文中資料來自以下兩篇The Odin Project的主題,或由其中導向的網頁提供: Introduction to the back end Introduction to frameworks 要開發一個網站,你需要選擇伺服器、資料庫、程式語言、框架及前端工具,這些開發技術一個個堆起來,被稱為堆疊(stack)1 這篇文章的末段有提到幾個知名網站使用的軟體堆疊。 前端 Front end 前端,又稱client-side1,通常是指應用HTML標識(markup), CSS演示(presentation), JavaScript編程(scripting)。 JavaScript有很多函式庫(library)可用,如jQuery,React(他寫自己是library)以及框架,如Angular, Vue等,幫助簡化及快速開發1。基本上,可以把框架想成有制定使用慣例的函式庫,選擇某個框架意味著要使用對應的框架生態圈,比如狀態管理(處理資料流),Vue的話就會用Vuex或Pinia,React的話可能是Context或Redux。 這篇文章提供了前端與後端的比較。 後端 Back end 後端,又稱server-side1;指運作在server端的應用,由於脫離了使用者瀏覽器相容性的限制,有大量的程式語言被應用在這塊。 主流的語言有:PHP, ASP.NET(C#), Ruby, Python, Node.js2和Java, Go等。 這些語言又延伸出對應的框架(framework)來幫助開發者們實踐功能,如Ruby on Rails, Laravel(PHP), Django(Python)…等。 普遍被提到的WordPress,就是一個將前端及後端整合起來的開源(open source)框架,建立在安裝了PHP的資料庫(database),並允許設計者透過CSS, jQuery及JavaSript。3 什麼是後端開發 翻譯自TechTerms – Backend 以程式術語來說,後端是數據訪問層(data access layer),前端是(presentation layer)表現層。 後端的運作流程大致如: 處理網頁送來的要求(request) 執行語法(PHP, ASP, JSP, etc.)來產生HTML 使用SQL查詢(queries)—某個特定主題(article),然後訪問(accessing)該主題在資料庫中的資料。 儲存並更新資料庫 加密或解密資料 處理檔案上傳與下載 透過JavaScript運算使用者輸入的資訊 後端包括哪些部分及各部分的名稱 參考自Codecademy的這篇文章 – Back-End Web Architecture: 客戶端(clients):任何發送要求給後端的東西 伺服器(server):接收需求的電腦 應用(app):運行在伺服器上,接收要求,從資料庫取回資訊並送出回應(response) 資料庫(database):組織及保管資料 前面提到的這篇文章前段也有把client side, server side的軟體堆疊做成圖片幫助理解。...

July 16, 2022 · Yu-Pung