文章

Android ImageView 圖片縮放(ScaleType 屬性)

在 Android 中想要呈現一張圖片可以使用 ImageView,但我們無法預設每張圖片長寬都一樣。 除了預先調整圖片長寬外,ImageView 也提供 ScaleType 屬性,讓 application 自動調整。

以下我將列出關於 ScaleType 的各屬性結果,方便各位找出適合需求的參數來使用。

Posted on  Jun 28, 2020  in  Android  by  Zizi Chou  ‐ 2 min read

Docker 環境變數使用筆記

環境變數(Environment variable)是開發時常見用來控制程式行為的方法之一。

近年隨著 Docker 被普遍運用在開發環境之中,如何方便地在 Docker 中使用環境變數就變成必學的課題之一。

本篇介紹幾種 Docker 與 Docker compose 中設定環境變數的方法。

Posted on  Jun 19, 2020  in  Docker  by  Amo Chen  ‐ 2 min read

從零開始的 React 教學 Part 3 - Class Components

從零開始的 React 教學 Part 2 中,我們學會利用 Webpack 編譯含有 JSX 的 React 專案,讓我們能夠利用 JSX 語法提高開發 React 的效率。

本篇會將 從零開始的 React 教學 Part 1 中的範例改成 JSX 語法呈現,並且模組化部分組件(components) ,從而達到較高的可維護性。

最後再加上新的外掛 babel/plugin-proposal-class-properties ,讓我們能夠使用 Arrow function 更加簡化 React 程式碼。

Last updated on  Oct 2, 2022  in  ReactJS 前端框架  by  Amo Chen  ‐ 3 min read

使用 Python typing 模組對你的同事好一點

由於 Python 動態型別(執行階段可以任意改變變數的型別)的特性,所以很多時候開發者們都會透過變數的命名讓他人知道該變數的型別,例如:

dicts = [{"key": "value"}, {"key": "values"}]

複數型的 dicts 命名讓其他人在閱讀時能夠大致猜到它可能是個字典(dict)的列表(list)。

但是現代專案不可能經常是如此簡單的結構,有時光從命名仍難以了解是什麼型別的變數,例如:

def get_value(json):
     return parse(json)

當我們看到上述函式中的 json 時,就會疑惑它是什麼? str? dict? 而回傳的值到底長怎樣,有什麼 key 可以使用?也由於這種不確定性,所以在除錯甚至協同開發時都需要實際執行才能夠知道該變數到底是什麼型態,在複雜的大型專案中甚至會成為一種痛苦。

p.s. Javascript 也有相同的痛點,所以才有 TypeScript 問世

這種情況,我們除了用心命名之外,還可以搭配使用 typing 模組來改善!

Last updated on  Sep 24, 2023  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 6 min read

實用的 Oh My Zsh plugin - zsh autosuggestions

使用 Mac 作為日常開發工具的開發者們,應該都有使用 item2 搭配 ZSH 與 Oh My Zsh

Oh My Zsh 等於是幫 ZSH 加上一雙翅膀,讓 ZSH 更加好用之外,同時也有很多好用的 Plugins 可供選擇,本篇將介紹 zsh-autosuggestions 這套可以在 command line 顯示提示的 Plugin 。

zsh-autosuggestions 的 demo 可以先觀看以下影片:

Posted on  Jun 3, 2020  in  開發工具  by  Amo Chen  ‐ 1 min read

jq 指令超實用秘訣

談到透過命令列處理 JSON ,直覺就會想到 jq

近來學會利用 jq 指令處理 JSON 資料後透過樣板(template)輸出格式化字串,因此本篇將分享 2 個關於 jq 的實用秘訣:

  • | 運算子(operator)
  • 輸出 jq 結果到 standard output (stdout)

Posted on  May 21, 2020  in  Unix-like 命令列教學  by  Amo Chen  ‐ 2 min read