自作キーボード7sProをもう一台購入した

2023年に7sProを組み立て、ずっとメインキーボードとして使っている。 前回組み立てたときのブログはこちら。 inari111.hatenablog.com 今回、2台目の7sProを購入し、組み立てた。 2台目を組み立てた理由は、他のキースイッチ、キーキャップを試してみたかっ…

2023年振り返り

買ってよかったもの こちらに書いた。 inari111.hatenablog.com 体調 春に体調を崩し、治りかけの頃に喘息になってしまった。 呼吸器内科で検査をし薬を処方してもらったが、治りが遅いせいもあり、数ヶ月通院してだいぶ落ち着いてきた。 今は8割程度は回復…

2023年買ってよかったもの

7sPro 今年買ってよかったもの1位だった。 HHKB配列の分割キーボードは自分が求めていてたものだったので最高。 詳しくはこちらに書いた。 inari111.hatenablog.com iPhone 15 Pro USB-Cになったので勢いで買った。 発売日にナチュラルチタニウムを受け取れ…

HHKB配列の自作キーボード7sProを使い始めて2ヶ月が経った

HHKB配列の自作キーボード 7sPro を組み立てた。 すぐにブログ書くつもりだったがバタバタしていて遅れてしまった。 使い始めて2ヶ月が経つ。 これまで使ってきたキーボード HHKB Lite 2014年、2015年 HHKB Professional2 2015年〜2017年 HHKB Professional2…

inari111.comを取得した

inari111.com を取得してプロフィールページを作った。 ドメインを取るのは8年ぶりらしく月日が流れるのは早い。 連休だし普段やらないことをやってみようと思って始めた。 静的ページの作成 何を使うか悩ましかったので、軽く触ったことのあるNext.jsを使っ…

2022年振り返り

仕事 入社から3年半が経ち、今まで働いてきた会社の中で一番長く在籍していることになりました。 引き続き ID 基盤の開発をしています。 ID 基盤のバックエンドで使っている OpenID Connect フレームワーク fosite にコントリビュートすることができ、そのこ…

2021年買ってよかったもの

inari111.hatenablog.com inari111.hatenablog.com 時間がないので簡単に書く。 ローテーブル 2月に引っ越したので、その際にNOCEでローテーブルを買い替えた。 けっこう気に入っている。 ラック 別注プロダクト|ZAGA ラック60 www.receno.com これも引っ越…

sqlcでSQLからGoのコードを生成する

kyleconroy/sqlc はSQLからGoのコードを生成してくれるツールです。 schemaやSELECT文などからコードを生成してくれます。 今回は基本的な使い方を紹介します。 インストール $ go install github.com/kyleconroy/sqlc/cmd/sqlc@latest brewでもインストール…

Cloud RunのサービスからCloud Tasksにenqueueし別のCloud Runサービスに処理させる

前回の記事では Cloud Scheduler から Cloud Run (batch) の呼び出しについて書きました。 inari111.hatenablog.com 自分のメモ用に雑に書いていきます。 今回は Cloud Scheduler → Cloud Run(batch) → Cloud Tasks → Cloud Run(task) の流れを目指します。 …

Cloud Shcdulerから認証が必要なCloud Runのサービスを実行する

GCP

認証が必要なサービスがCloud Runにデプロイは完了している前提で進めます。 デプロイ周りはこれらを参考に進めていけば完了します。 Cloud Run へのデプロイ | Cloud Build のドキュメント | Google Cloud コンテナ イメージのデプロイ | Cloud Run のドキ…

2020年買ってよかったもの

2020年買ってよかったものを記録として残します。 だいたい買った順になっています。 Xiaomi Mi Smart Band 4 スリープトラックをしたくて買いました。 安くて、軽くて、バッテリーの持ちが良いのでスマートウォッチの入門としてよかったです。 感覚ですが、…

goenvを使うのをやめた

Go

Goを書き始めた当初からずっとgoenvを使っていましたが、Gophers Slackを見ているとgoenvを使わずにGoをインストールしている人が多い印象を受けたのでgoenvから脱却してみました。 以下、メモ書きとして残します。 1. go getしてくる $ go get golang.org/d…

2019年買ってよかったもの

今年買ってよかったものを記録として残します。 Soundcore Liberty Air rebuild.fm で紹介されていたので買ってみました。 値段も手頃で、半年くらい使っていました。 【第2世代】Anker Soundcore Liberty Air(ワイヤレスイヤホン Bluetooth 5.0)【Qualcom…

ASRock DeskMini A300で初めて自作PCを作った

自作PCをやろうと思った理由 普段はMacBook Proで開発しているのですが、Docker for Macがあまりに遅く、開発機をMacからLinux Desktopに移行できないかと考えていました。 しかし、いきなり移行するのは厳しく、とりあえずLinux Desktopがどんなもんか試し…

Cコンパイラを作り始めた

タイトルの通り、コンパイラを作り始めました。 先日、 転職のお知らせ にも書いたのですが、低レイヤーを勉強していきたいとここ最近考えていました。 正直、僕が考えていた低レイヤーというのは、AWS上でインフラを構築できるようになることやRDBのチュー…

転職のお知らせ

2019年4月12日でピックアップを退職します。 3月19日が最終出社日で、在籍期間は1年9ヶ月ほどでした。 3年くらい働いたような感じがしますが、実際は2年も働いていませんでした。 最終出社日でした。またどこかでお会いしましょう!— 4/12まで有給消化 (@ina…

【メモ】 DockerでMySQLサーバーコンテナを起動する

バージョンを指定してイメージの取得 docker pull mysql:5.7.25 MySQLサーバーコンテナを起動し、DATABASEを作成したりする hoge というDBの作成 inari111 というユーザーの作成 -eオプションは環境変数を設定 -d detachといい、バックグラウンドでコンテナ…

EC2にGoのアプリケーションをデプロイしてレスポンスが返ってくるまで

EC2のインスタンスが起動している前提で進めます。 ビルドする GOOS=linux GOARCH=amd64 go build デプロイする ビルドしたbinaryを配置することにしました。 今回はapp以下に配置します。 scp -i ~/.ssh/hoge.pem {binary名} ec2-user@{IP}:~/app Nginxのイ…

Cloud BuildでAPIドキュメントの生成を自動化

https://cloud.google.com/cloud-build より引用 ピックアップ Advent Calendar 2018 16日目です。 今日はサーバーサイドエンジニアのinari111がお送りします。 Goを毎日書いていますが、Goの話は出てきません… adventar.org 弊社ではProtocol Buffersという…

HHKBのキーキャップをピンクに交換した

インスタの#HHKBタグをフォローしてチェックしていると、海外でキーキャップを交換している方が多く、前々から興味がありました。 Massdrop で見つけて購入を検討していたのですがいつの間にか終わってしまい、 結局AliExpressで購入しました。値段は$32.90…

favclip/testeratorを使ってGAE/Goのテストを高速化する

testeratorはGAE/Goのテストを高速化するライブラリです。 このライブラリを使ってテストの高速化ができたので紹介したいと思います。 contextを必要とするテストでは aetest.NewContext() や aetest.NewInstance() を使うかと思いますが、これを使うと goap…

FirebaseUIでTwitterログイン機能を実装する

FirebaseUIはFirebase Authentication SDK上に構築されるライブラリで、アプリで使用するログイン機能とUIを提供してくれるものです。 メールアドレス、Facebook、Twitter、GitHub、電話番号といった複数のプロバイダに対応しています。 今回はTwitterでログ…

BigQueryの集計結果をテーブルに保存した後GCSにエクスポートしてみた

こういう細かいネタもブログに残していこうと思います。 ってブログ書く度に決意しているんだけど続かないですね... BigQueryの集計結果をテーブルに保存 使うpackageは cloud.google.com/go/bigquery です。このpackageはまだbetaらしいです。 google.golan…

Goのstructを比較してdiffを見るなら godebug/pretty が便利

Go

Goのテストでstructを比較するときに reflect.DeepEqual で比較することがあります。 テストを書き、テストを実行するとFAILだったとき...つらい... structが大きいとさらにつらい。どのフィールドの値が違うのかわかると早くテストを直せて(または実装を直…

Goでsliceを結合するときのパフォーマンスについて

Go

Goでslice結合するとき、append(slice1, slice2…)するのとfor _, s := range slice2 {slice1 = append(slice1, s)}1つずつappendするのどっちがパフォーマンスいいんだろう— inari111 (@inari111) 2018年2月14日 sliceを結合するときに、どういう書き方をす…

fish shellでgoenvを使う

メモ書きとして残す。 $ brew install goenv config.fishを編集する まだ書き方に慣れない eval (goenv init - | source) set -x PATH $HOME/.goenv/bin $PATH set -gx PATH ‘/Users/inari111/.goenv/shims’ $PATH set -gx GOENV_SHELL fish goenv install 1…

datastoreに依存したテストはStronglyConsistentDatastoreをtrueにする

Goを書き始めた頃、テストで下記のようにcontextを生成していた。 ctx, done, e := aetest.NewContext() if e != nil { t.Fatal(e) } defer done() // 1. Putする // 2. 1でPutしたデータをGetする このコードには、datastoreにPutした直後にGetするとデータ…

hatebu: はてブのホットエントリーを表示するCLIツールを作った

最近Goを書いているので、勉強がてらCLIツールを作ってみた。 作ったもの はてブのホットエントリー(テクノロジー)の一覧を表示するCLIツール hatebu を作った。 github.com 学生の頃からはてブが好きで、2014年頃はホットエントリーを収集して過去のホット…

fish shellでgvmを使う

gvmを使うとGoをバージョン指定してインストールできる。 https://github.com/moovweb/gvm 以下、Macにインストールするのを前提とする。 依存ツールのインストール ➤ brew update ➤ brew install mercurial gvmのインストールは bash < <(curl -s -S -L htt…

--allow-emptyで空コミットを作る

Git

プルリクはできるだけ粒度を小さくしレビューをしやすくしていきたい。 そんなとき、空コミットがあると便利。 git commit --allow-empty -m "commit message" feature/hogeブランチで空コミットを作ってPushしWIPのプルリクを作る。 各作業はfeature/hogeか…