2021-01-01から1年間の記事一覧

Amazon RDSでkillコマンド

プロセス見て show full processlist; kill するが kill {process_id} 怒られる You are not owner of thread {process_id} そんなときは CALL mysql.rds_kill({process_id}); これで強制的にkillできる(Amazon RDS)

Beekeeper Studio も使ってみる

元ネタ Linuxで使えるMySQL操作できるGUIを探してました Sqlectronを使おうと思ったのですが、接続先をタブで表示する Sequel Pro 的な事ができなかったのでこちらに... r-o-head.tk Beekeeper Studio Beekeeper Studio も DBアクセス部分は Sqlectron-core …

Sequel Pro の代わりにSqlectronを使う

元ネタ smot93516.hatenablog.jp 導入 Download github.com 最新版の1.37.1.deb を落とす sudo apt-get install ./sqlectron_1.37.1_amd64.deb 落としてくると出てくる こんな感じ 所感など 接続先ごとのタブが開けないのがすごい難点…開く方法を知らないだ…

elementary OS の dock を下から横に

コードを書いている時にwindowを縦に長くするので下にdockがあるとすごい不便だった。 非表示にはできるけど、付近にカーソルを持っていくと表示していまうので… 元ネタ ググればなんでも出てくるさすが。 elementaryos.stackexchange.com やり方 これを実行…

dockerにvim入れるだけ

Docker内でvimが使えなかった せやなって感じですが… container id を確認 docker ps -a dockerに入る docker exec -it {container_name} bash vim入れる Ubuntu系 apt-get update apt-get install vim CentOS, Red Hat とか yum install vim

Linux(Red Hat系) に Golang 入れる

好きなバージョンを入れる 今回は1.16.2 EC2の中に入ってなかったので wget https://golang.org/dl/go1.16.2.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.16.2.linux-amd64.tar.gz たったこれだけ

golang for loop は break でも retrun でも抜けられる

タイトルの通り forはいつもbreakで抜けていた… return で抜ける package main import ( "fmt" ) func main() { for { fmt.Println("Hello, playground") return } } // 結果 Hello, playground breakで抜ける package main import ( "fmt" "strconv" ) func…

Linux(Red Hat系) に MySQL コマンドを入れる

mysql clientのインストール方法 リポジトリを追加する。 rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 確認 yum repolist enabled | grep mysql mysql-connectors-community/x86_64 MySQL Connectors Community 167+45 …

Vegetaで負荷試験シナリオを作る(初歩)

パクリ元 rarejob-tech-dept.hatenablog.com 基本的にここのパクリ 実装 main.go package main import ( "context" "encoding/json" "flag" "os" "sync" "time" log "github.com/sirupsen/logrus" vegeta "github.com/tsenart/vegeta/lib" "github.com/hogeh…

Vegeta触ってみる

Vegeta golang 用の負荷試験ツール github.com Install ╰─$ brew update && brew install vegeta Run 10request/sec を 5秒間行う ╰─$ echo "GET https://hogehoge.com" | vegeta attack -rate=10 -duration=5s | tee result.bin Result ╰─$ vegeta report r…

elementary OS 導入時メモ

elementary OS 導入メモ 日本語打てない問題 クラッシュ頻発問題 再起動かけるとBluetoothが切れる問題 LINE入れる Skype入れる git を入れる deepl を入れる Steam入れる ApexをするためにLutris入れる 急に音声(Output)がでなくなった medium.com 日本語打…

Atom 正規表現モード

Cmd+Option+/ を押して正規表現モードを有効にする これを今までやってこなくてめっちゃ苦労していた・・・ qiita.com

Golang テストケースで同メソッドを何度も呼ぶ場合

テストケースでエラーでた has already been called the max number of times すでに最大回数呼び出されています。 え、呼び出し回数とか決まっている? gomockに1回しか呼び出さないようにしている書き方 mock := hoge.NewMockIFHoge(xxxx) mock.EXPECT().G…

Golang map を for loop

package main import ( "fmt" ) func main() { hogeMap := make(map[int64]string) hogeMap[1] = "A" hogeMap[2] = "B" for key := range hogeMap { fmt.Println(key) } // 1 // 2 } key だけほしい場合はこうなるらしい。初めて知った。

GORM bulk insert

GORM golang の ORM 直感的に扱えはするので◯ gorm.io GORM で bulk insert これ gorm.io 大量のレコードを効率的に挿入するには、Createメソッドにスライスを渡します。 GORMはすべてのデータを挿入し、主キーの値をバックフィルするための単一のSQL文を生…

Golang for loop

よく使ってるやつ for index, value := range []string{"a", "b", "c"} { fmt.Println(index, value) } map を回すとき for key, value := range map[string]string{"a": "a1", "b": "b1", "c": "c1"} { fmt.Println(key, value) } あとは continue, break …

Golang gzip response → struct

gzip圧縮されたresponseをhoge struct にいれるまで import ( "net/http" "compress/gzip" "bytes" "encoding/json" ) func main() { // どこかへGetRequest req, err := http.NewRequest(http.MethodGet, "https://hogehoge/foo/bar.jp", nil) if err != ni…

elementary OS 6 'Odin' が出たらしい

おすすめ記事になんか出てきた。 elementary OS を使っているので帰ったら早速DLしよう。 betanews.com 英語は読めないのでDeepLで翻訳 なぜ、デスクトップパソコンのユーザーは、LinuxベースのOSを使わないのでしょうか?ソフトウェアの互換性はさておき、…

Golang で日付操作(UTC→JST)

UTC → JSTに変えたくなった。 やったこと package main import ( "fmt" "time" ) const ( ISO8601Format = "2006-01-02T15:04:05Z" ) func main() { // UTC value := "2021-08-10T13:41:32Z" jst, _ := time.LoadLocation("Asia/Tokyo") r, _ := time.ParseI…

golang nil map で panic

よくやらかすやつ var testMap map[int64]string testMap[100] = "あいうえお" testMap[101] = "かきくけこ" // panic: assignment to entry in nil map なぜ? 初期化(メモリの確保)をしていないから 言われれば当然… 解決策 マップリテラルで初期化 2行に…

golang 小ネタ

goでの前方一致と後方一致 imports "strings" prefix := "hoge" suffix := "bar" str := "hoge foo bar" strings.HasPrefix(str, prefix) // true strings.HasSuffix(str, suffix) // true strings の中身 func HasPrefix(s, prefix string) bool { return l…

GolangでAWS SES

AWS SES AWS側の設定また別途 code import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/ses" ) const ( charSet = "UTF-8" ) func main() { // BCC setting bccEmailAddress := []*strin…

Twitter Account Activity API のSubscribe登録

実装例 func (h *TwitterHandler) Register(params twitter.GetRegisterParams) middleware.Responder { // :env は設定した環境名 endpoint := "https://api.twitter.com/1.1/account_activity/all/:env/subscriptions.json" req, err := http.NewRequest("…

Twitter Account Activity APIの登録確認

╰─$ curl --request GET \ --url https://api.twitter.com/1.1/account_activity/all/webhooks.json \ --header 'authorization: Bearer hogehogehogexxxxx' 結果がこう { "environments": [ { "environment_name": "user environment", "webhooks": [ { "id…

Twitter Account Activity API の登録

AccountActivityAPIとは Stream APIの後継。 Stream APIの場合はActivityがあるか定期的な問い合わせが必要だったが、ActivityAPIはなにかしらのアクションがあった場合に知らせてくる 詳しくはここ AccountActivityAPIの登録まで Twitterの開発者アカウント…

goswagger触ったときのメモ

やること 導入 swagger-codegen install? goswagger install サンプルプロジェクトの作成 pj準備 project generate 自動生成されたもの確認 起動 初回API実行 API実装 API実装 API実行 ​ 環境 macOS Catalina(Version 10.15.7) ​ swagger-codegen install? b…

Package管理メモ

やること apt とは aptの設定ファイル package install package remove apt キャッシュ消す 依存性のないpackageを自動で消す aptとは aptとは apt(Advanced Package Tool)はパッケージ管理ツールとして、Debian GNU/LinuxやUbuntuなどのディストリビュー…

Stripeクレジットカード決済メモ

やったこと 環境 大まかな決済の流れ StripeAPIを用いたクレジットカード決済の実装 環境 サーバ側 : golang フロント側 : Nuxt.js 大まかな決済の流れ PaymentMethod > PaymentIntent > PaymentConfirm (画像はApplePayのシーケンス図) クレカ入力の場合 Pa…

Golangの開発環境設定したときのメモ

やること Goのインストール GOPATH 設定 IntelliJ Golang Plugin設定 Visual Studio Code インストール Visual Studio Code 設定 GOPATHの設定 適当にコード書く(main.go) 起動 環境 linux Elementary OS Goのインストール まずはInstall golang.org 展開 su…