<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Engineering on Yosgi</title><link>https://yosgi.github.io/en/tags/engineering/</link><description>Recent content in Engineering on Yosgi</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 08 Oct 2026 01:31:25 +0000</lastBuildDate><atom:link href="https://yosgi.github.io/en/tags/engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>AI Won’t Replace Software Engineers. It Will Replace the Parts of Coding We Never Loved.</title><link>https://yosgi.github.io/en/post/ai-won-t-replace-software-engineers-it-will-replace-the-parts-of-coding-we-never-loved/</link><pubDate>Thu, 21 May 2026 23:28:56 +1200</pubDate><guid>https://yosgi.github.io/en/post/ai-won-t-replace-software-engineers-it-will-replace-the-parts-of-coding-we-never-loved/</guid><description>AI will not replace software engineers as a whole. It will remove much of the repetitive, mechanical work and give engineers more leverage to focus on judgment, systems, users, and building better products.</description></item><item><title>High-Frequency Synchronization Architecture Between React State and a 3D Engine</title><link>https://yosgi.github.io/en/post/high-frequency-synchronization-architecture-between-react-state-and-a-3d-engine/</link><pubDate>Sat, 31 Jan 2026 23:42:31 +1300</pubDate><guid>https://yosgi.github.io/en/post/high-frequency-synchronization-architecture-between-react-state-and-a-3d-engine/</guid><description>A synchronization paradigm for massive real-time data: a middle layer isolates high-frequency data sources, and React consumes only the linear projection of the visible viewport.</description></item><item><title>138-Copying a linked list with random pointers</title><link>https://yosgi.github.io/en/post/138-copying-a-linked-list-with-random-pointers/</link><pubDate>Thu, 22 Jul 2021 00:00:00 +1200</pubDate><guid>https://yosgi.github.io/en/post/138-copying-a-linked-list-with-random-pointers/</guid><description>Deep-copying a linked list with random pointers using a hash map from old nodes to new.</description></item><item><title>865 - Minimum subtree with all deepest nodes</title><link>https://yosgi.github.io/en/post/865-minimum-subtree-with-all-deepest-nodes/</link><pubDate>Sun, 21 Mar 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/865-minimum-subtree-with-all-deepest-nodes/</guid><description>Finding the smallest subtree containing all deepest nodes with a single bottom-up recursion that returns each subtree's depth.</description></item><item><title>783-Binary Search Tree Node Minimum Distance</title><link>https://yosgi.github.io/en/post/783-binary-search-tree-node-minimum-distance/</link><pubDate>Thu, 18 Mar 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/783-binary-search-tree-node-minimum-distance/</guid><description>Finding the minimum distance between BST nodes using the ordered property of in-order traversal.</description></item><item><title>1448-Count the number of good nodes in a binary tree</title><link>https://yosgi.github.io/en/post/1448-count-the-number-of-good-nodes-in-a-binary-tree/</link><pubDate>Wed, 17 Mar 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/1448-count-the-number-of-good-nodes-in-a-binary-tree/</guid><description>Notes on counting good nodes in a binary tree using DFS with a running max.</description></item><item><title>1325-Delete the leaf node of the given value</title><link>https://yosgi.github.io/en/post/1325-delete-the-leaf-node-of-the-given-value/</link><pubDate>Wed, 17 Mar 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/1325-delete-the-leaf-node-of-the-given-value/</guid><description>Post-order traversal approach to delete target-valued leaf nodes using a dummy root.</description></item><item><title>129-Find the sum of numbers from the root node to the leaf node</title><link>https://yosgi.github.io/en/post/129-find-the-sum-of-numbers-from-the-root-node-to-the-leaf-node/</link><pubDate>Tue, 16 Mar 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/129-find-the-sum-of-numbers-from-the-root-node-to-the-leaf-node/</guid><description>Summing all root-to-leaf numbers with top-down pre-order DFS, carrying the running value down each path.</description></item><item><title>863-All nodes with distance -K- in a binary tree</title><link>https://yosgi.github.io/en/post/863-all-nodes-with-distance-k-in-a-binary-tree/</link><pubDate>Sat, 13 Mar 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/863-all-nodes-with-distance-k-in-a-binary-tree/</guid><description>Finding all nodes at distance K by first adding parent links with DFS, then searching outward from the target.</description></item><item><title>222-Number of nodes in a complete binary tree</title><link>https://yosgi.github.io/en/post/222-number-of-nodes-in-a-complete-binary-tree/</link><pubDate>Sat, 13 Mar 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/222-number-of-nodes-in-a-complete-binary-tree/</guid><description>Counting nodes in a complete binary tree using left/right subtree depths instead of a full DFS.</description></item><item><title>450-Delete a node in a binary search tree</title><link>https://yosgi.github.io/en/post/450-delete-a-node-in-a-binary-search-tree/</link><pubDate>Thu, 11 Mar 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/450-delete-a-node-in-a-binary-search-tree/</guid><description>Deleting a node from a binary search tree by locating it via the BST property, then handling the three deletion cases.</description></item><item><title>116-Fill in the next right node pointer of each node</title><link>https://yosgi.github.io/en/post/116-fill-in-the-next-right-node-pointer-of-each-node/</link><pubDate>Wed, 10 Mar 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/116-fill-in-the-next-right-node-pointer-of-each-node/</guid><description>Connecting each node to its right neighbor per level, reusing the previous layer's links to reach constant space.</description></item><item><title>Summary of Binary Trees</title><link>https://yosgi.github.io/en/post/summary-of-binary-trees/</link><pubDate>Sun, 28 Feb 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/summary-of-binary-trees/</guid><description>Notes on binary tree traversal — why DFS uses a stack and BFS a queue, with reusable pre/in/post-order and level-order templates.</description></item><item><title>Understanding React Hooks</title><link>https://yosgi.github.io/en/post/understanding-react-hooks/</link><pubDate>Thu, 25 Feb 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/understanding-react-hooks/</guid><description>Why React introduced Hooks — moving state out of class components and into function components, with worked examples.</description></item><item><title>Review of login and registration requirements</title><link>https://yosgi.github.io/en/post/review-of-login-and-registration-requirements/</link><pubDate>Sun, 21 Feb 2021 00:00:00 +1300</pubDate><guid>https://yosgi.github.io/en/post/review-of-login-and-registration-requirements/</guid><description>A retrospective on a login/registration project that overran from one month to three — the requirements, the multi-channel auth, and the WeChat scan-code polling design.</description></item><item><title>Vue + express + mongodb build a backend login system</title><link>https://yosgi.github.io/en/post/vue-express-mongodb-build-a-backend-login-system/</link><pubDate>Fri, 29 Jan 2021 17:44:40 +1300</pubDate><guid>https://yosgi.github.io/en/post/vue-express-mongodb-build-a-backend-login-system/</guid><description>Keywords nodejs vue express mongodb</description></item><item><title>DOM event flow</title><link>https://yosgi.github.io/en/post/dom-event-flow/</link><pubDate>Fri, 29 Jan 2021 17:44:40 +1300</pubDate><guid>https://yosgi.github.io/en/post/dom-event-flow/</guid><description>DOM event flow is easy to confuse</description></item><item><title>Hexo upgraded to 5</title><link>https://yosgi.github.io/en/post/hexo-upgraded-to-5/</link><pubDate>Fri, 11 Dec 2020 12:37:55 +1300</pubDate><guid>https://yosgi.github.io/en/post/hexo-upgraded-to-5/</guid><description>Filling Diary</description></item><item><title>Update after a year</title><link>https://yosgi.github.io/en/post/update-after-a-year/</link><pubDate>Fri, 11 Dec 2020 00:17:30 +1300</pubDate><guid>https://yosgi.github.io/en/post/update-after-a-year/</guid><description>One month after leaving Dahua</description></item><item><title>CSS pseudo-class selector nth-child</title><link>https://yosgi.github.io/en/post/css-pseudo-class-selector-nth-child/</link><pubDate>Thu, 07 Mar 2019 17:32:19 +1300</pubDate><guid>https://yosgi.github.io/en/post/css-pseudo-class-selector-nth-child/</guid><description>About nth-child and HTML specifications</description></item><item><title>Ajax data transmission optimization</title><link>https://yosgi.github.io/en/post/ajax-data-transmission-optimization/</link><pubDate>Wed, 28 Nov 2018 14:47:40 +1300</pubDate><guid>https://yosgi.github.io/en/post/ajax-data-transmission-optimization/</guid><description>High Performance Javascript Knowledge Points</description></item><item><title>UI interface response optimization</title><link>https://yosgi.github.io/en/post/ui-interface-response-optimization/</link><pubDate>Thu, 22 Nov 2018 16:55:21 +1300</pubDate><guid>https://yosgi.github.io/en/post/ui-interface-response-optimization/</guid><description>High Performance Javascript Knowledge Points</description></item><item><title>Regular expression performance optimization</title><link>https://yosgi.github.io/en/post/regular-expression-performance-optimization/</link><pubDate>Tue, 06 Nov 2018 15:48:14 +1300</pubDate><guid>https://yosgi.github.io/en/post/regular-expression-performance-optimization/</guid><description>High Performance Javascript Knowledge Points</description></item><item><title>Algorithm and process control optimization</title><link>https://yosgi.github.io/en/post/algorithm-and-process-control-optimization/</link><pubDate>Thu, 25 Oct 2018 14:33:59 +1300</pubDate><guid>https://yosgi.github.io/en/post/algorithm-and-process-control-optimization/</guid><description>High Performance Javascript Knowledge Points</description></item><item><title>Performance optimization of DOM operations</title><link>https://yosgi.github.io/en/post/performance-optimization-of-dom-operations/</link><pubDate>Wed, 12 Sep 2018 15:09:33 +1200</pubDate><guid>https://yosgi.github.io/en/post/performance-optimization-of-dom-operations/</guid><description>High Performance Javascript Knowledge Points</description></item><item><title>Summary of Vue's easy-to-error and easy-to-confuse knowledge points</title><link>https://yosgi.github.io/en/post/summary-of-vue-s-easy-to-error-and-easy-to-confuse-knowledge-points/</link><pubDate>Mon, 10 Sep 2018 18:30:10 +1200</pubDate><guid>https://yosgi.github.io/en/post/summary-of-vue-s-easy-to-error-and-easy-to-confuse-knowledge-points/</guid><description>Knowledge Points Summary</description></item><item><title>JavaScript Loading Optimization</title><link>https://yosgi.github.io/en/post/javascript-loading-optimization/</link><pubDate>Tue, 04 Sep 2018 09:23:11 +1200</pubDate><guid>https://yosgi.github.io/en/post/javascript-loading-optimization/</guid><description>Notes from 'High Performance JavaScript'</description></item><item><title>Arrays, stacks, queues</title><link>https://yosgi.github.io/en/post/arrays-stacks-queues/</link><pubDate>Wed, 22 Aug 2018 15:09:45 +1200</pubDate><guid>https://yosgi.github.io/en/post/arrays-stacks-queues/</guid><description>Javascript Data Structures</description></item><item><title>Proxy implementation of data response</title><link>https://yosgi.github.io/en/post/proxy-implementation-of-data-response/</link><pubDate>Fri, 27 Jul 2018 15:56:49 +1200</pubDate><guid>https://yosgi.github.io/en/post/proxy-implementation-of-data-response/</guid><description>Rebuilding Vue-style reactive data binding with ES6 Proxy, and why it handles arrays and nested objects more cleanly than Object.defineProperty.</description></item><item><title>HTTP Protocol Summary</title><link>https://yosgi.github.io/en/post/http-protocol-summary/</link><pubDate>Mon, 23 Jul 2018 23:29:19 +1200</pubDate><guid>https://yosgi.github.io/en/post/http-protocol-summary/</guid><description>HTTP simple organization</description></item><item><title>ES5-Inheritance</title><link>https://yosgi.github.io/en/post/es5-inheritance/</link><pubDate>Tue, 17 Jul 2018 09:57:34 +1200</pubDate><guid>https://yosgi.github.io/en/post/es5-inheritance/</guid><description>ES5 knowledge review</description></item><item><title>ES5 - Creating Objects</title><link>https://yosgi.github.io/en/post/es5-creating-objects/</link><pubDate>Fri, 13 Jul 2018 16:51:52 +1200</pubDate><guid>https://yosgi.github.io/en/post/es5-creating-objects/</guid><description>ES5 knowledge review</description></item><item><title>async</title><link>https://yosgi.github.io/en/post/async/</link><pubDate>Wed, 11 Jul 2018 14:47:05 +1200</pubDate><guid>https://yosgi.github.io/en/post/async/</guid><description>"ES6 Standard Introduction" Knowledge Points Summary</description></item><item><title>Generator functions and applications</title><link>https://yosgi.github.io/en/post/generator-functions-and-applications/</link><pubDate>Fri, 06 Jul 2018 18:37:55 +1200</pubDate><guid>https://yosgi.github.io/en/post/generator-functions-and-applications/</guid><description>"ES6 Standard Introduction" Knowledge Points Summary</description></item><item><title>A Brief Introduction to Web Security</title><link>https://yosgi.github.io/en/post/a-brief-introduction-to-web-security/</link><pubDate>Thu, 05 Jul 2018 10:05:36 +1200</pubDate><guid>https://yosgi.github.io/en/post/a-brief-introduction-to-web-security/</guid><description>Web security related content</description></item><item><title>promise</title><link>https://yosgi.github.io/en/post/promise/</link><pubDate>Wed, 27 Jun 2018 13:18:47 +1200</pubDate><guid>https://yosgi.github.io/en/post/promise/</guid><description>"ES6 Standard Introduction" Knowledge Points Summary</description></item><item><title>Javascript deep copy implementation</title><link>https://yosgi.github.io/en/post/javascript-deep-copy-implementation/</link><pubDate>Tue, 26 Jun 2018 17:01:50 +1200</pubDate><guid>https://yosgi.github.io/en/post/javascript-deep-copy-implementation/</guid><description>Javascript Basics</description></item><item><title>Javascript sorting algorithm</title><link>https://yosgi.github.io/en/post/javascript-sorting-algorithm/</link><pubDate>Mon, 25 Jun 2018 18:48:42 +1200</pubDate><guid>https://yosgi.github.io/en/post/javascript-sorting-algorithm/</guid><description>Javascript algorithm sorting algorithm</description></item><item><title>proxy</title><link>https://yosgi.github.io/en/post/proxy/</link><pubDate>Fri, 18 May 2018 09:59:26 +1200</pubDate><guid>https://yosgi.github.io/en/post/proxy/</guid><description>"ES6 Standard Introduction" Knowledge Points Summary</description></item><item><title>Observer mode and Vue monitoring object changes</title><link>https://yosgi.github.io/en/post/observer-mode-and-vue-monitoring-object-changes/</link><pubDate>Sat, 05 May 2018 22:38:54 +1200</pubDate><guid>https://yosgi.github.io/en/post/observer-mode-and-vue-monitoring-object-changes/</guid><description>Javascript Design Patterns Knowledge Points</description></item><item><title>Set and Map Data Structures</title><link>https://yosgi.github.io/en/post/set-and-map-data-structures/</link><pubDate>Wed, 02 May 2018 00:00:00 +1200</pubDate><guid>https://yosgi.github.io/en/post/set-and-map-data-structures/</guid><description>"ES6 Standard Introduction" Knowledge Points Summary</description></item><item><title>Object Expansion</title><link>https://yosgi.github.io/en/post/object-expansion/</link><pubDate>Tue, 24 Apr 2018 00:00:00 +1200</pubDate><guid>https://yosgi.github.io/en/post/object-expansion/</guid><description>"ES6 Standard Introduction" Knowledge Points Summary</description></item><item><title>Iterator pattern</title><link>https://yosgi.github.io/en/post/iterator-pattern/</link><pubDate>Fri, 20 Apr 2018 09:41:05 +1200</pubDate><guid>https://yosgi.github.io/en/post/iterator-pattern/</guid><description>Javascript Design Patterns Knowledge Points</description></item><item><title>Proxy Mode</title><link>https://yosgi.github.io/en/post/proxy-mode/</link><pubDate>Thu, 19 Apr 2018 09:46:11 +1200</pubDate><guid>https://yosgi.github.io/en/post/proxy-mode/</guid><description>Javascript Design Patterns Knowledge Points</description></item><item><title>Js singleton pattern</title><link>https://yosgi.github.io/en/post/js-singleton-pattern/</link><pubDate>Fri, 13 Apr 2018 20:06:30 +1200</pubDate><guid>https://yosgi.github.io/en/post/js-singleton-pattern/</guid><description>Javascript Design Patterns Knowledge Points</description></item><item><title>Function extension</title><link>https://yosgi.github.io/en/post/function-extension/</link><pubDate>Thu, 12 Apr 2018 00:00:00 +1200</pubDate><guid>https://yosgi.github.io/en/post/function-extension/</guid><description>"ES6 Standard Introduction" Knowledge Points Summary</description></item><item><title>Array expansion</title><link>https://yosgi.github.io/en/post/array-expansion/</link><pubDate>Wed, 11 Apr 2018 00:00:00 +1200</pubDate><guid>https://yosgi.github.io/en/post/array-expansion/</guid><description>"ES6 Standard Introduction" Knowledge Points Summary</description></item><item><title>Destructuring assignment of variables</title><link>https://yosgi.github.io/en/post/destructuring-assignment-of-variables/</link><pubDate>Tue, 10 Apr 2018 11:07:34 +1200</pubDate><guid>https://yosgi.github.io/en/post/destructuring-assignment-of-variables/</guid><description>"ES6 Standard Introduction" Knowledge Points Summary</description></item></channel></rss>