<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Powersandwich</title><description>
  Powersandwich is a place where I document my learning and exploration of new knowledge. The name is inspired by my JavaScript book, &quot;JavaScriptConcept Sandwich&quot;, but the content is not limited to JavaScript. It may also cover areas such as AI, Blockchain, and other software-related topics.
</description><link>https://muji.dev/</link><item><title>Algorithm Note - Binary Search Tree (BST)</title><link>https://muji.dev/en/bst-note/</link><guid isPermaLink="true">https://muji.dev/en/bst-note/</guid><description>This is a note about binary search tree (BST) in JavaScript that I wrote when I was learning it. A binary search tree is a type of binary tree that maintains a specific relationship between nodes.</description><pubDate>Thu, 02 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Blockchain Consensus Mechanisms : From Nakamoto-style to BFT</title><link>https://muji.dev/en/consensus-styles-in-blockchain/</link><guid isPermaLink="true">https://muji.dev/en/consensus-styles-in-blockchain/</guid><description>In blockchain, one of the most important mechanisms is &quot;consensus.&quot; It ensures that all participants agree on the transaction records, determining the security of transactions, the operational efficiency of the blockchain, and the degree of decentralization.</description><pubDate>Mon, 10 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Let&apos;s create a linked list with JavaScript!</title><link>https://muji.dev/en/create-a-linked-list-in-javascript/</link><guid isPermaLink="true">https://muji.dev/en/create-a-linked-list-in-javascript/</guid><description>In this article, we&apos;re going to introduce how to make a linked list in JavaScript. JavaScript doesn&apos;t have a built-in class like `LinkedList`, but we can create one ourselves.</description><pubDate>Tue, 21 Jan 2025 00:00:00 GMT</pubDate></item><item><title>EVM OPCodes Deep Dive - Contract Creation</title><link>https://muji.dev/en/evm-opcode-deepdive/</link><guid isPermaLink="true">https://muji.dev/en/evm-opcode-deepdive/</guid><description>This article is intended to introduce how the Opcodes ( Operation Code ) behind Solidity actually work in the EVM.</description><pubDate>Wed, 26 Feb 2025 00:00:00 GMT</pubDate></item><item><title>An Overview of the Ethereum Virtual Machine (EVM)</title><link>https://muji.dev/en/evm-structure-overview/</link><guid isPermaLink="true">https://muji.dev/en/evm-structure-overview/</guid><description>The core part of the Ethereum blockchain system is EVM. In the past, when explaining the principles of blockchain operation (especially Bitcoin), the analogy of a &quot;distributed ledger&quot; was often used. However, Ethereum not only has the characteristics of a distributed ledger but also introduces smart contracts.</description><pubDate>Sun, 16 Feb 2025 00:00:00 GMT</pubDate></item><item><title>How to make a Hash Table in JavaScript</title><link>https://muji.dev/en/how-to-make-a-hash-table/</link><guid isPermaLink="true">https://muji.dev/en/how-to-make-a-hash-table/</guid><description>What&apos;s Hash Table? Hash Table is a data structure that stores key-value pairs and allows us to find the corresponding data quickly using the key we input.</description><pubDate>Mon, 20 Jan 2025 00:00:00 GMT</pubDate></item><item><title>How I Built This Blog (and the previous ones)</title><link>https://muji.dev/en/how-i-build-this-blog/</link><guid isPermaLink="true">https://muji.dev/en/how-i-build-this-blog/</guid><description>I have tried many different ways to build my blog. Until recently, I discovered the Astro framework, which I had overlooked before. After using it to build my blog, I found it very friendly for modern front-end development. So I decided to start using it. This article summarizes all the mistakes I made when choosing different blog tools.</description><pubDate>Fri, 24 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Function Selector in Solidity</title><link>https://muji.dev/en/solidity-function-selector/</link><guid isPermaLink="true">https://muji.dev/en/solidity-function-selector/</guid><description>When first learning Solidity, I was confused by the terms Function Selector and Function Signature. However, after understanding them in detail, I found they are not that abstract. This article will explain the definitions of these two terms and related issues.</description><pubDate>Tue, 11 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Gas Optimization Basics: Reducing Contract Slot Usage</title><link>https://muji.dev/en/the-basics-for-gas-optimization/</link><guid isPermaLink="true">https://muji.dev/en/the-basics-for-gas-optimization/</guid><description>In this article, we will discuss how data in contracts is stored in the EVM Storage and how to minimize Storage usage to achieve Gas optimization.</description><pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate></item><item><title>初探 Regex 正規表達式</title><link>https://muji.dev/zh/2019-02-12-javascript-regex/</link><guid isPermaLink="true">https://muji.dev/zh/2019-02-12-javascript-regex/</guid><description>正規表達式英文全名 Regular Expression，想必一定曾是每個工程師的惡夢，在新手眼裡彷彿精靈語一樣神秘又難親近，Regex 是一把複雜卻威力強大的武器。</description><pubDate>Tue, 12 Feb 2019 00:00:00 GMT</pubDate></item><item><title>個人技術站一把罩！部落格建置大全（一）- 使用 Hexo 搭配 Github Page 建置自己的部落格</title><link>https://muji.dev/zh/2020-02-16-hexo-github-domain/</link><guid isPermaLink="true">https://muji.dev/zh/2020-02-16-hexo-github-domain/</guid><description>這是我參加六角全馬鐵人挑戰的第二週，在比賽的一開始，就讓我來分享如何在 Github Page 上面架設自己的個人頁面，並串上自己購買的網域名稱（如果有的話）。相信各位工程師們多少都會聽過或看過其他工程師們使用當作自己的部落格，對其他人分享自己經歷及技術，或是成長過程中領悟到的見解。</description><pubDate>Sun, 16 Feb 2020 00:00:00 GMT</pubDate></item><item><title>個人技術站一把罩！部落格建置大全（二）- 將 Github Page 串上自己的域名</title><link>https://muji.dev/zh/2020-02-23-hexo-github-domain-2/</link><guid isPermaLink="true">https://muji.dev/zh/2020-02-23-hexo-github-domain-2/</guid><description>上週提到了使用s Hexo 這個工具來架設個人部落格，並放到自己 Github Page 上的方法。這次我們要來看看怎麼把架好部落格的 Github Page ，串上自己擁有的域名( ex. blabla.com ) </description><pubDate>Sun, 23 Feb 2020 00:00:00 GMT</pubDate></item><item><title>React Design Pattern - Compound Components</title><link>https://muji.dev/zh/2021-07-29-react-design-pattern-compound/</link><guid isPermaLink="true">https://muji.dev/zh/2021-07-29-react-design-pattern-compound/</guid><description>在 React 的世界中，有許多設計模式可以幫助我們寫出更好的程式碼。今天要介紹的是 Compound Components Pattern，這是一個可以讓我們的元件更具彈性和可重用性的設計模式。</description><pubDate>Thu, 29 Jul 2021 00:00:00 GMT</pubDate></item><item><title>每個衝擊都是一次學習的機會</title><link>https://muji.dev/zh/2021-08-01-a-learning-chance/</link><guid isPermaLink="true">https://muji.dev/zh/2021-08-01-a-learning-chance/</guid><description>好久不見。各位最近過得如何呢 ? 是不是又往自己的目標前進了一點 ? 一段時間沒有寫文章了，由於轉換工作環境的緣故，自從三月以來，這是第一次可以空出時間好好寫下一些東西。</description><pubDate>Sun, 01 Aug 2021 00:00:00 GMT</pubDate></item><item><title>原子化學習 — 程式語言中基礎知識的重要性</title><link>https://muji.dev/zh/2021-08-08-atomized-learning/</link><guid isPermaLink="true">https://muji.dev/zh/2021-08-08-atomized-learning/</guid><description>回顧一下轉為前端工程師的這一年經歷，因為一些原因，偶然讓我在將近三個月內就找到新的工作並成功轉職，而在那之前，我自認是一個毫無實戰經驗的打雜工讀生 (在公司只接觸 CMS 系統後端，並不斷重複造輪子)。這篇文章旨在分析並強調學習基礎知識的重要性，以及分享我這一年來學習的心得 ，希望你能夠從這之中得到一些東西，如果有什麼疑問，也歡迎隨時和我一起討論。</description><pubDate>Sun, 08 Aug 2021 00:00:00 GMT</pubDate></item><item><title>超越技術的工作能力</title><link>https://muji.dev/zh/2021-08-08-beyond-technical/</link><guid isPermaLink="true">https://muji.dev/zh/2021-08-08-beyond-technical/</guid><description>在新創工作剛滿一年，覺得正值一個可以好好整理所有收穫的時間點，現在回想起來的確學到許多以前不知道的方法跟思維，但因為都是比較零散的個人經驗，所以一直在想要以什麼為主軸來跟大家分享，既然暫時沒辦法有一個比較系統性的整理，我就來說說我在這段時間所學到的幾個工作中最重要的特質好了。</description><pubDate>Sun, 08 Aug 2021 00:00:00 GMT</pubDate></item><item><title>History-stack</title><link>https://muji.dev/zh/2021-08-08-history-stack/</link><guid isPermaLink="true">https://muji.dev/zh/2021-08-08-history-stack/</guid><description>或許 pushState 與 replaceState 這兩個方法你可能沒聽過，但是瀏覽器「上一頁、下一頁」功能你一定不陌生，其實這兩個 API 是瀏覽器提供給開發者操作瀏覽紀錄用的，透過這兩個 API 並搭配事件處理，我們就可以將瀏覽器預設的「上一頁下一頁」修改成我們想要的客製化結果。</description><pubDate>Sun, 08 Aug 2021 00:00:00 GMT</pubDate></item><item><title>寫給職場工作者：工作環境是否會影響一個人的思考方式？</title><link>https://muji.dev/zh/2021-08-13-environment-and-way-of-thinking/</link><guid isPermaLink="true">https://muji.dev/zh/2021-08-13-environment-and-way-of-thinking/</guid><description>自從我進入大學階段之後，就一直有人不斷告訴我，要快一點決定未來人生的方向，要趕快想清楚、沒時間了，每次被問到這些問題我都不是很能理解，_這個在前面將近一半的學習生涯把學生教成考試機器的教育體系，為何又理直氣壯地期望這些學生在短短幾年內如獲天啓般突然知道自己的人生規劃？</description><pubDate>Fri, 13 Aug 2021 00:00:00 GMT</pubDate></item><item><title>作自己的腦內偵探 —— 利用 PDCA 的概念，見證每天進步 1% 的自己！</title><link>https://muji.dev/zh/2021-08-14-pdca-method/</link><guid isPermaLink="true">https://muji.dev/zh/2021-08-14-pdca-method/</guid><description>嗨，我是 Mujing ，今天要講的跟技術比較沒有直接關係，我想要跟大家分享一個平常工作時可以逐步優化自己工作流程的方法，這個方法叫做 PDCA 筆記，最近剛好在研究。</description><pubDate>Sat, 14 Aug 2021 00:00:00 GMT</pubDate></item><item><title>React 元件庫製造紀事錄 (ㄧ) – 問題說明與第一個麻煩：JavaScript 的模組系統</title><link>https://muji.dev/zh/2021-08-18-react-module-note-1/</link><guid isPermaLink="true">https://muji.dev/zh/2021-08-18-react-module-note-1/</guid><description>這陣子為了解決了一個讓我蠻頭痛的問題，第一次接觸前端 module 的打包，也了解到原來平常我們很方便能夠用 Npm 或 Yarn 這類套件管理器裝一裝就能夠直接使用的一些第三方工具在功能開發完之後，為了要讓別人能夠使用所做的處理上並不是這麼的單純，隨著使用方式的不同，要處理的部份也會有所不一樣。</description><pubDate>Wed, 18 Aug 2021 00:00:00 GMT</pubDate></item><item><title>React 模組化筆記（二）- 打包工具的選擇</title><link>https://muji.dev/zh/2021-09-12-react-module-note-2/</link><guid isPermaLink="true">https://muji.dev/zh/2021-09-12-react-module-note-2/</guid><description>在開發 React 元件庫時，選擇合適的打包工具是一個重要的決定。這篇文章將介紹不同打包工具的特性，以及如何選擇最適合你需求的工具。</description><pubDate>Sun, 12 Sep 2021 00:00:00 GMT</pubDate></item><item><title>2022 年成為前端工程師的學習路線</title><link>https://muji.dev/zh/2022-01-16-become-a-frontend-2022/</link><guid isPermaLink="true">https://muji.dev/zh/2022-01-16-become-a-frontend-2022/</guid><description>想要在 2022 年成為一名前端工程師嗎？這篇文章將為你規劃一條完整的學習路線，從基礎的 HTML、CSS、JavaScript，到進階的框架和工具，讓你能夠循序漸進地達成目標。</description><pubDate>Sun, 16 Jan 2022 00:00:00 GMT</pubDate></item><item><title>零知識證明的原理- 阿里巴巴與山洞秘門的咒語</title><link>https://muji.dev/zh/2022-11-09-alibaba-zk-proof/</link><guid isPermaLink="true">https://muji.dev/zh/2022-11-09-alibaba-zk-proof/</guid><description>今天要為大家解說區塊鏈中一個被大眾注目已久、但目前暫時尚未出現一個主流應用的「零知識證明」的基本原理。區塊鏈發明以來，就為人們帶來了三個傳統金融世界沒有的突破性的改變：「去中心化」、「不可竄改」、「公開透明」；而其中「公開透明」雖然能夠為某些團體或是 DAO 組織宣示公平，但是卻沒有保障個人在鏈上活動的隱私。因此為了解決這個問題，在區塊鏈上利用「零知識證明」的想法就被提出了。</description><pubDate>Wed, 09 Nov 2022 00:00:00 GMT</pubDate></item><item><title>《巔峰心智》—— 有時候什麼都不做反而可以做地更多</title><link>https://muji.dev/zh/2022-30-10-peak-mind/</link><guid isPermaLink="true">https://muji.dev/zh/2022-30-10-peak-mind/</guid><description>我一直有在關注「注意力」或是「大腦神經學」相關的知識；這週用了零碎時間把這本書《 巔峰心智 》讀完了，（翻完看到最後一頁才發現是今年十月剛出的書啊），我覺得這是我目前讀過的相關主題裡面寫得脈絡最清楚最完整的一本。</description><pubDate>Sun, 30 Oct 2022 00:00:00 GMT</pubDate></item><item><title>演算法筆記 - Binary Search Tree (BST)</title><link>https://muji.dev/zh/bst-note/</link><guid isPermaLink="true">https://muji.dev/zh/bst-note/</guid><pubDate>Thu, 02 Jan 2025 00:00:00 GMT</pubDate></item><item><title>React 元件庫製造紀事錄 (三) – Rollup Bundler 實作，並探究 Webpack 的 Tree Shaking</title><link>https://muji.dev/zh/2022-21-08-react-module-note-3/</link><guid isPermaLink="true">https://muji.dev/zh/2022-21-08-react-module-note-3/</guid><description>在上一篇模組化系列文章的第二篇，我們說明了使用 webpack 來打包模組程式碼、並說明了 package.json 在我們想要打包自己的 Npm 模組時扮演了什麼樣的角色。在今天這一章節，我們會繼續看到怎麼用同樣是打包工具（ Bundler ) Rollup 來進行打包，並解釋為什麼最後會選用它來進行實作的最大來由 —— Tree Shaking。</description><pubDate>Tue, 12 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Codable Protocol in Swift</title><link>https://muji.dev/zh/codable-protocol-in-swift/</link><guid isPermaLink="true">https://muji.dev/zh/codable-protocol-in-swift/</guid><description>Codable protocol allows you to encode or decode custom data types to and from formats such as JSON</description><pubDate>Wed, 01 May 2024 00:00:00 GMT</pubDate></item><item><title>區塊鏈裡的共識機制：從 Nakamoto-style 到 BFT</title><link>https://muji.dev/zh/consensus-styles-in-blockchain/</link><guid isPermaLink="true">https://muji.dev/zh/consensus-styles-in-blockchain/</guid><description>在區塊鏈裡面，最重要的一個機制就是「共識」。它確保所有參與者對交易記錄達成一致，這些機制決定了交易的安全性、區塊鏈的運行效率，以及去中心化的程度。不同的區塊鏈，採用了不同的共識機制來達成這一目標。</description><pubDate>Mon, 10 Feb 2025 00:00:00 GMT</pubDate></item><item><title>EVM OPCodes 解析 - Contract Creation</title><link>https://muji.dev/zh/evm-opcode-deepdive/</link><guid isPermaLink="true">https://muji.dev/zh/evm-opcode-deepdive/</guid><description>這篇文章是為了介紹 Solidity 背後的操作碼 (Operaion Code 或 OP Code) 實際上在 EVM 裡面是怎麼運作的。我們在寫一份合約的時候雖然是使用 Solidity 這個人類看得懂的程式語言，不過 Solidity 可不是給機器看的，所以我們需要 Compiler 的介入來幫助我們把人類的自然語言轉換成能與機器溝通的機器碼。</description><pubDate>Wed, 26 Feb 2025 00:00:00 GMT</pubDate></item><item><title>以太坊虛擬機 - EVM 概覽</title><link>https://muji.dev/zh/evm-structure-overview/</link><guid isPermaLink="true">https://muji.dev/zh/evm-structure-overview/</guid><description>以太坊區塊鏈系統中，最核心的部分就是 以太坊虛擬機（EVM）。過去在解釋區塊鏈運作原理（特別是比特幣）時，常以「分散式帳本」作為比喻。然而，以太坊不僅具備分散式帳本的特性，還引入了智能合約，使程式碼也能被記錄並在區塊鏈上被執行。</description><pubDate>Sat, 15 Feb 2025 00:00:00 GMT</pubDate></item><item><title>我如何打造這個部落格（以及前幾個）？</title><link>https://muji.dev/zh/how-i-build-this-blog/</link><guid isPermaLink="true">https://muji.dev/zh/how-i-build-this-blog/</guid><description>我曾經試過許多不同的方式來建立自己的部落格。直到最近我發現了以前被我忽略的 Astro 這套框架，試著用它來架設部落格之後我才發現他對現在前端開發來說非常友善，所以我決定開始使用它，這篇文章集結了我所有踩過坑的部落格工具</description><pubDate>Fri, 24 Jan 2025 00:00:00 GMT</pubDate></item><item><title>如何用 JavaScript 做一個 HashTable? </title><link>https://muji.dev/zh/how-to-make-a-hash-table/</link><guid isPermaLink="true">https://muji.dev/zh/how-to-make-a-hash-table/</guid><description>這是我在學習 Hash Table 這個資料結構時的筆記。Hash Table 是什麼？Hash Table 是一種用來儲存鍵值對（ key-value pair ) 的資料結構，並且能夠讓我們用輸入的「鍵」值以非常快的速度來找到對應的資料。</description><pubDate>Mon, 20 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Solidity 裡的 Function Selector</title><link>https://muji.dev/zh/solidity-function-selector/</link><guid isPermaLink="true">https://muji.dev/zh/solidity-function-selector/</guid><description>在學習 Solidity 的時候，曾對 Function Selector 和 Function Signature 這個詞感到疑惑，不過仔細了解之後，我發現他其實沒那麼抽象，這篇文章會解釋這兩個專有名詞的定義，以及衍生的相關問題。</description><pubDate>Tue, 11 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Swift Cheatsheet</title><link>https://muji.dev/zh/swift-cheatsheet/</link><guid isPermaLink="true">https://muji.dev/zh/swift-cheatsheet/</guid><description>A quick reference guide for the Swift programming language covering the primary types, including Number, String, and Bool, and advanced data structures like Set, Array and Dictionary</description><pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate></item><item><title>Gas 優化基礎：減少合約 Slot 的使用量</title><link>https://muji.dev/zh/the-basics-for-gas-optimization/</link><guid isPermaLink="true">https://muji.dev/zh/the-basics-for-gas-optimization/</guid><description>在這篇文章裡面，我們會討論到合約上的資料是怎麼被儲存到 EVM 的 Storage 內的，以及怎麼盡可能減少 Storage 的使用量，以達到 Gas 優化的效果。</description><pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate></item><item><title>別把 Vue 的 Composable 當成 React 的 Hook 來用</title><link>https://muji.dev/zh/dont-miss-use-vue-composable-with-react-hook/</link><guid isPermaLink="true">https://muji.dev/zh/dont-miss-use-vue-composable-with-react-hook/</guid><description>這是一篇踩雷紀錄，雖然我知道 Vue 底層實作有許多地方看起來很像 React 但是其實不一樣的地方，但是在寫了一陣子 Vue 之後，有時還是忍不住會在實作元件的時候帶入 React 的一些使用方式。</description><pubDate>Mon, 03 Feb 2025 00:00:00 GMT</pubDate></item></channel></rss>