strings

HasPrefix 檢驗字串的 prefix strings.HasPrefix(s, prefix string) bool HasSuffix 檢驗字串的 suffix strings.HasSuffix(s, suffix string) bool Contains 檢驗字串是否包含 substring strings.Contains(s, substr string) bool Index 指出第一個符合的 substring 是在哪個位置,沒找到的話回傳 -1 strings.Index(s, str string) int LastIndex 指出最後一個符合的 substring 是在哪個位置,沒找到的話回傳 -1 strings.LastIndex(s, str string) int 若是非 ACSII 的話,用 strings.IndexRune(s string, ch int) int IndexRune 非 ASCII 找 index 時用的 strings.IndexRune(s string, ch int) int Replace 取代字串,從頭開始 n 次,全部取代的話用 -1 strings.Replace(str, old, new string, n int)

rabbitmq

RabbitMQ RabbitMQ = message broker (accepts, stores, and forwards binary blobs of data - messages) 術語: Producer: 送出 messages (sending) Queue: a large message buffer producer 可以送 message 到 queue 裡面 consumer 可以從 queue 把 message 收走 Consumer: 等待接收 messages (receiving) producer, consumer, broker 不需要在相同的 host 上 要先安裝 rabbitMQ service 安裝連結 以下是用 golang 實作練習 用到的 package amqp091-go Hello World 實作兩個檔案 send.go (代表 producer 送出 message) receive.

iam

設定帳戶密碼失敗 可能是碰到需要 MFA 操作,但是在剛建立使用者的時候還沒有 MFA 的關係 AWS: Allows MFA-authenticated IAM users to manage their own credentials on the My Security Credentials page AWS IAM won’t let my users change their passwords 做法有兩種 改 policy 的規則,讓變更密碼這件事不需要 MFA (官方說不推薦這做法) 砍掉帳號重新建立一個,然後先不要勾 Require password reset,等他登入後設定完 MFA,這樣之後就可以改密碼了

Mysql

使用者相關 要注意的是 User, Host 的搭配會影響到使用者可不可以登入 或是登入後的權限不同 % 指的是 localhost ::1 指的是 Ipv6 的 localhost How to delete or remove a MySQL/MariaDB user account on Linux/Unix How To Create a New User and Grant Permissions in MySQL Grant_Priv 欄位是指可不可以更換權限 # 檢視 user 欄位 descmysql.user;# 顯示當前使用者 SELECTuser();# 搜尋使用者 SELECT*FROMmysql.user;# 建立使用者 CREATEUSER'shou'@'%'IDENTIFIEDBY'password';CREATEUSER'academy'@'172.123.0.0/255.255.0.0'IDENTIFIEDBY'password';# 更改使用者密碼 ALTERUSER'shou'@'%'IDENTIFIEDBY'newPass';# 刷新權限 FLUSHPRIVILEGES;# 給予使用者權限 GRANTALLPRIVILEGESON*.*TO'shou'@'%';GRANTSELECTON*.*TO'shou'@'%';# 查詢權限 SHOWGRANTSFOR'shou'@'%';# 刪除使用者 DROPUSER'shou'@'%';Reset table index ALTERTABLE[table_name]AUTO_INCREMENT=0;

The Linux Basics Course

The Linux Basics Course Working with Shell - I / 是根目錄 /home 是所有使用者的家目錄放置的位置 比如一個使用者叫做 shou,那 shou 的家目錄就在 /home/shou 一般使用者不能訪問其他使用者的家目錄 家目錄的標記為 ~ 英文是 tilde flag 通常是 一個單字 配一個 - hyphen . 代表當前目錄 .. 代表上一層目錄 通常指令要找 help 的話可以在指令後方加上 -h 或 --help $HOME 是家目錄的環境變數 Shell Types Bourne Shell (sh) C Shell (csh or tcsh) Korn Shell (ksh) Z Shell (zsh) Bourne again Shell (bash) # 查看當前是用哪種 shell echo $SHELL Bash Shell Features

Ultimate Service V3

Github repo 整理了下,如果整個 cluster 重啟,要跑哪些步驟 # 把 cluster shutdown make kind-down # 1. 啟動 kind make kind-up # 2. build 新的 service image make all # 3. 設定 kind 要抓本機的 image make kind-load # 4. 設定 kind cluster 要吃本機的 config 設定 make kind-apply # extra: 看 log make kind-logs # extra: 直接更新 kind 設定 # all + kind-load + kind-restart make kind-update Modules Project: a repo of code defines the philosophy, policy and guideline go mod init [module name] # 範例 go mod init github.

Refactor With Bill

Project init 結構會是先建出下列資料夾 (一個 repo 可以執行多個 binary 的結構) 再來是做 go mod init [name] # 可執行的程式入口 cmd/violin/css/ cmd/violin/image/ cmd/violin/mp3/ cmd/violin/templates/ cmd/violin/internal/ cmd/violin/main.go # 商業邏輯 internal/platform/ go.mod 起手式 main.go func main(){ if err := run(); err != nil { log.Println(err) os.Exit(1) } } func run() { return nil }

ultimate syntax

Variables 一般來說使用 int 較多,而不是 int32 或 int64 少用 := zero value,碰到 zero value 的話不如直接用 var 宣吿 Strings string 是 2 words 的 data structures 空字串 第一個 word 是 nil 第二個 word 是 0 字串 Hello 第一個 word 是指標,指向 hello 陣列的 h 位址 第二個 word 是長度 5 Struct golang 的三種印出格式 %v -> {false 0 0} %+v -> {flag:false counter:0 pi:0} %#v -> main.