IPv6 簡介
IPv6 是為了解決 IPv4 位址用盡問題而誕生的 長度從 IPv4 的 32 位元增加到 128 位元 常用表示方法 使用冒號組合 8 組 4 個十六進位數字 1 2 ex. 2001:0db8:86a3:08d3:1319:8a2e:0370:7344 簡短 IPv6 的規則 每一組數字前導...
IPv6 是為了解決 IPv4 位址用盡問題而誕生的 長度從 IPv4 的 32 位元增加到 128 位元 常用表示方法 使用冒號組合 8 組 4 個十六進位數字 1 2 ex. 2001:0db8:86a3:08d3:1319:8a2e:0370:7344 簡短 IPv6 的規則 每一組數字前導...
原本的 vim file explorer 是用 NERDTree,最近發現 vim 大師 Shougo 有推出 Defx,所以就來試試新工具 Defx 沒有預設的快捷鍵,需要自己做大量設定。一開始我把快捷鍵...
Makefile Rule Makefile Rule 格式如下 1 2 target: prerequisites recipe target: 要產生的檔案名稱 prerequisites: 產生 target 所需要的檔案 recipe: 要執行的動作 這裡準備一個寫 golang 會用到的 Makefile 如下面: 1 2 build: go build -o main main.go 執行 make bui...
開會很花時間,不順利的會議令人心很累。 有效率的會議提升時間的價值,更使人愉快工作。 工作時一定會有各種會議,「時間」跟「注意力」在不知不覺中就...
使用 github api 就可以查到最新的版本 需要的 command: curl jq 1 2 3 4 5 6 latest_release() { repo_name=$1 curl --silent \ https://api.github.com/repos/$repo_name/releases/latest | \ jq -r '.tag_name' } 執行結果,以 tmux 當範例 1 2 $ latest_release tmux/tmux 3.1c Reference Shell - Get latest release from GitHub
最近把 git 升級到 2.27 版 1 2 $ git version git version 2.27.0 執行 git pull 指令時,會跳出一篇警告 1 2 3 4 5 6 7 8 9 10 11 12 13 $ git pull warning: Pulling without specifying how to reconcile divergent branches is discouraged. You can squelch this message by running one of the following...
寫這篇文章時的 docker 版本 1 2 $ docker -v Docker version 19.03.13, build 4484c46d9d 查看、刪除 Image 查看 images $ docker images 刪除 images $ docker rmi <image_id> 正在使用的 image 不能刪除 1 2 $ docker rmi 63130206b0fa Error response from daemon: conflict: unable to delete 63130206b0fa (must be forced) - image is...
一直想找看看有沒有更加簡單好懂,更為基本的原則,當做程式設計時核心理念。 看過 SOLID,讀過 Clean Code,在實戰中不斷的練習。研究設計模式 (Design P...
前陣子在一場討論中,聊到一些能夠觸發測試的自動化工具 (Gitlab CI, Phabricator Arcanist, Git hooks) 討論的過程中,發現有些人會認為只要能夠自動執行測試,效果上都是一樣的。但實際...
ORM (Object Relational Mapping) ORM 是一種把 資料庫 對應到 程式物件 的技術,可以讓開發者更快速的開發處理資料庫的程式 使用上常見優點: 快速開發 較高的安全性 也是有相對的缺點:...
問題情境 拿到一份程式碼,但是不知道可以做什麼,不知道怎麼運行它 一個宣稱幫你解決很多麻煩的工具,但是沒有說明清楚怎麼使用 想要參與專案的開發,但...
最近在 github 上發現一個功能,不確定是什麼時候開始有的 就是只要建立一個跟自己帳號同名的 repository 裡面 README.md 的內容就會顯示在 profile 上面 建立新的倉庫 輸入自己的帳號,g...
go 1.14 開始,go modules 可以在正式環境上使用了 你可能會建立自己私人的工具庫,這時要搭配 go modules 就需要做一些設定 基本的設定 假設現在要建立一個私有 module 倉庫,放...
Functional Programming 中文:函數式程式設計,是程式設計方法 (programming paradigm) 的其中一種 所謂的 Functional Programming 是以數學函數的概念來設計程式,並避免有狀態 (state) 與避免可變資料 (mutable data) 以下是一些 Functional Programming...
Manifesto Software Craftsmanship As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value: Not only working software, but also well-crafted software Not only responding to change, but also steadily adding value Not only individuals and interactions, but also a community of professionals Not only customer collaboration, but also productive partnerships...
想要評估一份程式碼是不是好的設計,不會是比較資深的工程師說了就算數 其中一個方法就是從內聚跟耦合的程度來評估 Cohesion (內聚) 一個模組內的不同功能的相...
最近在 code review 時,看到不少讓人頭暈的程式碼 在討論如何寫出更好的程式碼之外,應該要回顧幾個軟體開發原則,避免自己走歪路 DRY wiki: https://en.wikipedia.org/wiki/Don%27t_repeat_yourself 原文: Don't repeat yourse...
把 user 設定成 sudoer 的方式 直接修改 /etc/sudoers 最暴力的作法,不小心打錯字就 game over 透過 visudo 指令去修改 visudo 會幫忙檢查有沒有打錯字 增加檔案到 /etc/sudoers.d/ 裡面 不會改動 /etc/sudoers 使用 ansible 的選擇 使...
介紹 命名由來:小說 Ender’s Game (安德的遊戲 or 戰爭遊戲) 官網上的 slogan Automation for everyone 一個自動化工具,幫你完成組態管理、程式部署等工作 實現 Infrastructure as code (IaC) 其他類似的工具: Puppet,...
server 需要經由跳板登入時有幾種做法 ssh tunnel ProxyCommand ProxyJump 這邊介紹 ProxyJump 的用法,算是目前最方便的方法 支援 ProxyJump 的是從 OpenSSH 7.3 開始,在 August 2016 released (http://www.openssh.com/txt/release-7.3) ssh 指令加上 -J 參數 經由 jump.host 登入 dist.host 1 $...