文章

後端工程師面試考什麼 - Race Condition 篇

面試時,每當談到平行處理(parallel processing)、多執行緒(multithreading)、多行程(multi-processing)之後,通常都會衍生一些關於 race condition 的問題,也可稱為 race hazard(競爭危害)。

本文以實際 Python 範例創造 race condition, 以理解何為 race condition 以及如何解決 race condition 所造成的問題。

Posted on  Oct 17, 2022  in  後端面試準備  by  Amo Chen  ‐ 3 min read

從零開始的 React 教學 Part 6 - React.memo

從零開始的 React 教學 Part 5 - PureComponent 中提到 PureComponent 透過 shallow comparison 加速比較 props / state 的速度,為 React 應用(application)帶來更好的效能。

p.s. 雖然 PureComponent 提升比較速度,但也犧牲比較時的精準度,使用時一定要理解何謂 shallow comparison, 才不會帶來預期外的 bug

不過 PureComponent 需要以繼承 PureComponent 類別(class) 的方式實作 Class Component ,對於某些 Functional Components 來說,沒辦法這樣進行。

所幸, React 也有提供 React.memo API ,讓開發者能夠將 Functional Component 用 React.memo 包裝起來,達到類似 PureComponent 的作用。

本文將介紹 React.memo API 如何使用,以及使用上應注意的點。

Posted on  Oct 13, 2022  in  ReactJS 前端框架  by  Amo Chen  ‐ 3 min read

用 gpg 指令加密帳號密碼,安心共享機敏資訊

除了口耳相傳或利用像 1Password 等密碼管理器(password manager)共享帳號、密碼之外,不知道大家是怎麼分享帳號、密碼或是極機密資訊的呢?

本文分享如何透過 gpg (GNU Privacy Guard) 產生公私鑰(public & private key)並對帳號、密碼等機密資訊進行加密,加密後的密文也僅有當初加密時指定的使用者才能解開,藉此增加分享機密資訊時資訊安全程度。

Posted on  Oct 11, 2022  in  資訊安全  by  Amo Chen  ‐ 5 min read

從零開始的 React 教學 Part 5 - PureComponent

從零開始的 React 教學 Part 3 - Class Components 一文介紹 Class Components, React 讓開發者們透過繼承 React.Component 類別並且實作少數方法就能夠實作 React 元件(component)。

但除了 React.Component , React 還提供另外 1 個 React.PureComponent 類別,開發者們也可以選擇繼承該類別實作 React 元件。

React components can be defined by subclassing React.Component or React.PureComponent.

不過這 2 個類別行為存在若干差異,如果沒有透徹了解就很容易造成 bug 或者效能上的問題。

Posted on  Oct 5, 2022  in  ReactJS 前端框架  by  Amo Chen  ‐ 4 min read

Python 單雙星號(* & **)解說

Python 內將函數的參數分為 keyword argument 以及 positional argument, 這 2 者的差異在官方文件中有清楚說明,同時這 2 種分別支援單星號 * 與雙星號 ** 的用法,是 Python 開發者一定要熟知的用法。

本文將詳細介紹說明。

Posted on  Sep 19, 2022  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 4 min read

後端工程師面試考什麼 - ACID 篇

隨著資訊技術的發展,工程師的面試越來越五花八門,面試過程問什麼都不足為奇,不過仍有些問題能夠事先準備,這些問題不僅常問也很實用,除了能夠應付面試之外,也能增加個人實力。

本文記錄後端工程師面試時經常會問到的資料庫 ACID 原則,並以實際範例作為說明,以讓人能夠對 ACID 有足夠的理解,避免死背。

Posted on  Sep 17, 2022  in  後端面試準備  by  Amo Chen  ‐ 3 min read