電気ひつじ牧場

技術メモと日常のあれこれ

JSONを書くのが1ミリくらい楽になるシンタックスチェッカーを書いた

Go

JSONのチェックくらいjqでやればええやろ、そう思っていた時期が私にもありました。

cloudfrontでログバケットにログが流れてこない

cloudfrontでコンテンツ配信をする際、Terraformであれば次のようにlogging_configを指定することでアクセスログを残すことができる。

isucon11予選に参戦してきました

「何もしてないのに壊れました」というふざけたチーム名で会社の同期(kypくん、shikiさん)とisucon11の予選に参戦しました。 使用言語はGo、結果は42525点、93位/約600チームで予選敗退でした。 前日までにやったこと 当日 -20分 0分 +30分 +2時間 +4時間 +6…

Post: "https://cognito-idp.ap-northeast-1.amazonaws.com/": x509: certificate signed by unknown authority" となるエラー

概要 Post \"https://cognito-idp.ap-northeast-1.amazonaws.com/\": x509: certificate signed by unknown authority" プログラムからAWSのリソース(今回はcognito)にアクセスしようとしたときにこのようなエラーになった。 利用していたDockerfileは次の…

Software Design誌に約半年間連載を書いていました

Twitterなどで散々言っていましたが、今年の1月〜7月号までの7回、技術評論社さんのSoftware Designに連載記事を寄稿していました。自分の中では今年上半期のビッグイベントだったので振り返ってみます。

DNSレコードを設定した後の確認

結論 www.blacksheep.link IN A 13.231.154.170のようなレコードを権威サーバに設定したとする。

【Terraform】CIでinitした時にdoesn't match any of the checksums previously recorded in the dependency lock fileとなる

codebuildでterraform initをした時に下記のようなエラーが出力されて落ちた Initializing provider plugins... - Reusing previous version of hashicorp/aws from the dependency lock file - Installing hashicorp/aws v3.42.0... Error: Failed to insta…

【Elasticsearch】時間経過でインデックスを削除・設定変更

ログデータにはある種の鮮度のようなものがあります。一般的に1年前のログと2日前のログだと、おそらく後者の方が取り出される頻度も重要度も大きいため、より早く、確実に取得したいと考えるでしょう。 そのため、これらのデータを同様のストレージに同様の…

シェル色付け対応早見表

ターミナルに文字を出力する際に $ echo -e "\033[<パラメータ>m <表示する文字> \033[0m" とすることでパラメータに応じた文字色、背景色をつけることができる。パラメータは;で区切ることで複数種類指定することが可能。

CircleCIでyarn installした時に出る"EPERM: operation not permitted, copyfile ~"みたいなエラー

CircleCIでnodeアプリケーションのイメージをビルドしている時にエラーが出てfailした時の対処法メモ

vectorでelasticsearchにEchoのログを収集してみる

この記事について golangのechoが吐き出すログをvectorで収集し、opendistro版 Elasticsearchに収集、可視化する方法についてメモ

技術書典10で「Rustで始めるTCP自作入門」を頒布してます

どんな本か 最終的に出来上がるもの 対象読者について 各章について 1章 2章 3章 4章 頒布先リンク 書籍で解説しているソースコード おわりに

Rustでbrainf*ckインタプリタ作ってみた

この記事は,HUITアドベントカレンダー2020の20日目の記事です.一昨年はスクリプト言語「Sheep」を作ってみた - Qiitaを書きました.去年は卒論で戦死してたのでアドカレがあったのかどうかも知らないです().

Rust エラー処理2020

このエントリは,Rust 3 Advent Calendar 2020の8日目の記事です.

Gitでコミットを分割する

Git

ハッシュがa6e0229のコミットは関係ない2ファイルを同時にコミットしており,これを1ファイルずつのコミットに分割したいとする.コミットログはこのようになっている.

旅行記【箱根・下部温泉編】

8~10月の間ずっとインターンやら何やらをしていて休みという休みがなかったので,3密に気を付けながらgotoしてきました.自分が5年後くらいに見返して懐かしむ用の記事なので内容は期待しないでください. 前回↓ cha-shu00.hatenablog.com

はてなのサマーインターン2020に参加してきた

8/24~8/28の5日間,Webに関する豊富な講義と京都観光で有名なはてなのインターンに参加してきました.

GoアプリケーションからAWS SecretsManagerの値を取得

EC2にデプロイされたGoのアプリケーションからDBのアクセス情報を受け取って使うときのメモ

ドメインと証明書を無料で取得

freenomでドメインを,let's encryptで証明書を取得します.

GCP: googleapi: Error 400: Role roles/** is not supported for this resource., badRequest

GCP

terraformでサービスアカウント作って,IAMロールを付与しようとしたときにこうなった. 付与しようとしたのはroles/cloudsql.adminなど,ロールについてに掲載されているもの.

TerraformでGKEにクラスタを構築+Goのアプリケーションデプロイ

InfraStudyのIaC回に触発されてTerraformを触ったので構築めも

Dockerのマルチステージビルドで,Alpine Linuxを使った時にno such file or directoryになる

状況 GoのプログラムをDockerのマルチステージビルドを利用してビルドして,バイナリ実行用のイメージを作成することを考える.この時,バイナリ実行用のコンテナイメージのベースとしてAlpineを指定し,そのイメージをdocker runした際に次のようなエラーが…

DockerfileのARGとスコープ

知らなかったので少しハマってしまったARGのお話しです.

VSCodeでGoをいい感じにフォーマットする

Go

普通はFormat Toolにgoimportsを指定すれば終わるはずだけど,上手くいかないのでなんとかするメモ

Deploy Prometheus to minikube

Prometheusとは オープンソースの監視,アラートツール.CNCFプロジェクトに参加している. prometheus.io

How to use minikube with KVM

k8s

minikubeとは ローカルでk8sを動かすためのツールで,主に検証や開発用に使われる.1ノードしか動かすことはできないと言う制約がある.似たようなものにmicrok8sがある.

OpenStackでインスタンスが起動できない

問題 論理ボリュームの確認 論理ボリュームの拡張

Archlinuxにデスクトップ環境構築

最近はArchlinuxをいじって遊んでいます.今日はZoomでオンライン会議している時に「今Archlinuxで繋いでるんですよwwww」と自慢するためにデスクトップ環境を構築します*1. *1:実は公式でもしっかりサポートされています. https://bit.ly/2XfqYsB

GolangでTCPエコーサーバを作る

golangを使って普通のエコーサーバを作成する.

DBだけDockerを使ってISUCON9の環境構築した

今更ですが一人ISUCONをしたくなったので環境作りします.