理系学生日記

おまえはいつまで学生気分なのか

レストランModesty

妻も在宅、ぼくも在宅ということで、ずっと家にいると気分転換もできなくなるねという話をしていました。 ここは1つ気分を変えようかということで、今日はカーシェアで外食ランチに行きました。 行った先はModesty。埼玉県の川越にあるレストランで、3年くら…

魂が死んだような1日だった

今週は本当に疲労していて、今日は生産的なことを何もする気が起こらなかった。 午前中はだいたい寝ていて、15時くらいからようやくやる気が少し出て家事をしたり家族と買い物に行ったりした。 ときどきこういう生産性の欠片もない1日が生まれて、振り返るこ…

風邪をひいた

最近は朝から喉の痛みを感じることが多かったのだけど、ついに咳が出てきまして、目出たく風邪をひいたという自覚が出てきました。めでたい。 過去実績から類推するに、この調子だと週末に熱が出て寝込み、週明けに回復。週末マジで無駄にしたぜ、という感想…

壊れていたと思っていた加湿器が直った

うちは季節ごとの湿度の振れ幅がすごくて、何もしないと夏は70%を超えるし冬は20%を切る。 そういうわけで冬は加湿器を使ってるんですが、2-3週間前から加湿器が全然加湿してくれなくなった。 加湿器には気化式や超音波式などいくつかのタイプがあるんだけ…

Semantic VersioningをGolangで扱う

ローカルにインストールされているツールが想定のバージョンであるかを確認するために、Golangでチェックを入れることになりました。昨今のツールの多くはSemantic Versioningをサポートしているので、Semantic Versioningで比較したい。 しかし、Semantic V…

go-playground/validatorでYAMLファイルのバリデーションを行い、エラーのあったフィールドを表示する

Golangでの有名バリデーションライブラリにgo-playground/validatorというのがあります。ライセンスはMITで使いやすい。 このライブラリを使ってYAMLファイルのバリデーションを実装したのですが、そこそこ悩まされました。 本ライブラリはYAML等のバリデー…

砂場で学ぶ工場制手工業

今日は妻と娘と近場の公園で遊びました。 最近は多忙でなかなか子供と遊ぶ時間もとれず、夕ご飯を一緒にしてあとは寝姿を見るだけという生活にもなってしまっています。 なので、今回のような時間をとると、なんだか赦されたような気分になります(本当に赦…

毎回go.sumのconflictを解消するのがつらすぎるので、.gitattributesでunion merge driverを使うよう指定する

Golangのツールをチームで開発しているのですが、Merge Requestをmergeする度にgo.sumとのconflictが発生する。つらい。 実のところは「つらすぎる」というほどつらくはないのですが、毎回conflict markerの<<<<<<<を消していく作業で人生を浪費するのはつら…

マルチテナントアーキテクチャのモデル

ちょっとした打ち合わせがあり、そこでマルチテナントアプリケーションのS3 Bucketの使い方についての相談をいただきました。 打ち合わせの中で、マルチテナントなアプリについてはなかなかアーキテクチャレベルでの選択肢やそのメリット・デメリットが自分…

血液成分の再検査の結果

血液検査の結果がすこぶる良くなく、先日再検査に行ってきました。 どのくらいよくなかったかというと、こちらが国立がん研究センターの臨床検査基準値一覧からの抜粋です。白血球数は3.3-8.6 [tex:103]/uLが基準範囲になっています。 一方で、こちらがぼく…

Golangでバイナリを配布するとき、go-licensesとgoxzを使って利用モジュールのLICENSE、NOTICEを同梱する

Golangで作ったプロダクトを公開・配布するとき、課題となるのが利用するモジュールのライセンスです。 MITライセンスであれ、MPLライセンスであれ、利用するモジュールのLICENSEやNOTICEファイルを同梱することになるでしょう。 goxzとgo-licensesを使うと…

Blog 1エントリを書くのにどれだけ時間をかけているのか

年始にこういうことを言ったので、相当ズルをして1月は毎日エントリを書いたことにしました。 相当ズルをしたというのはどういうことかをご説明しますと、土日にまとめて色々とエントリを書きまくり、Dateをイジって毎日エントリを書いていることにするとい…

電気湯たんぽ

子供の頃から冷え性であったのですが、昨今のフルリモートでの勤務体制によって運動不足が爆発、足の先が常に氷漬けのような感覚でした。 結果として椅子の上であぐらをかき、足先を膝の裏で挟むというような異常な体勢が誕生、姿勢の悪さに拍車をかける悪循…

血液検査に行った

人間ドックの結果がすこぶるよくなくて、特に白血球の数が前回(正常値)の3倍に届くかという勢いでした。 ありがたくも1ヶ月後再検査というE1判定を受け取り、本日や恭しくも池袋にて再検査となったわけです。 病院の受け付けを通った直後、看護師さんから「…

Golangのファイル差分におけるコードカバレッジの強調表示をGitLabで実現する

テスト文化を作るためには、自分の書いたコードのどこがテストされているのかを明示するのも意味があります。人は「ここがテストされていないよ」と言われたら、テストしたいと考えるものだからです。知らんけど。 誰もが見える場所にカバレッジなどの数値を…

GolangのカバレッジをGitLabのMerge Requestに表示させたい

マネジメントを行う上では以下のような取り組みが重要です。 何らかの定量指標を収集し、目標を設定する その数値を誰もが見る場所に置く これはテスト文化を作るときにも例外ではありません。 「テストを書こう」といくら啓蒙したところで、ぼくの経験上効…

Golangで複数パッケージをまとめてカバレッジを取得する

Golangでカバレッジを取得するためには、単純にgo test -coverprofileをすれば良い。そういうふうに思っていた時期がぼくにもありました。 $ go test -coverprofile=coverage.out ./... | tail -5 ? gitlab.com/eponas/epona-aws-starter-cli/internal/loggi…

OWASPのチートシート集がすごい

セキュリティに関するガイドを書いています。 セキュリティといえばOWASPでときどき参照させていただいていましたが、その過程で初めてのプロジェクトに出会ってしまいました。 OWASP Cheet Sheet Seriesです。 こちら、様々なセキュリティ分野のチートシー…

節分

毎年2/3だった節分が今年は2/2らしい。 これはなぜかというのを軽く調べてみたところ、立春が例年と違う日である起因するようで。 (一般的にいう)節分は立春の前日に行われる 2021年は立春がいつもの2/4ではなく2/3 では立春がなぜ2/3にずれたのかというと…

SlackのRSSインテグレーションは最新エントリより前のタイムスタンプのエントリは配信してくれない

SlackにはRSSインテグレーションがあり、これを用いて様々な情報をトラックされている御仁も多いのではないでしょうか。 実はこのBlogのRSSも、会社のコミュニケーションで使っているチャンネルで捕捉してもらっているのですが、 配信されるBlogエントリと配…

全員に情報を行き渡らせるには

「社内の多くの人にこの情報を届けたい」と考えることがあります。が、それは叶わぬ夢なのでしょう。 人の「関心」は、容量に上限のある資源であるという考え方があります。 Attention economy 人に情報を届けるというのは、この「関心」という資源をめぐる…

Macのカレンダーで「十分な空き容量がありません」と出てしまい同期ができない問題

Macのカレンダーが突然「十分な空き容量がありません」というエラーを返しはじめました。 イベントは作ることができますが、それがiPhone等の他のデバイスに同期されない。 「空き容量がない」と言われているので、iCloudの残容量やローカルディスクの容量を…

「マクドナルド」アプリのモバイルオーダーの素晴らしさ

お昼ご飯とか作るのを面倒だと感じる時があり、マクドナルドのハンバーガーでも食べるか、という気になる時があります。みなさんもそうでしょう。 人生は面倒くさいことばかりです。 そこで非常に便利だと感じるのが「モバイルオーダー」機能です。スマフォ…

Golangでコマンドラッパーを作ってみる

業務でGolangを使うことにしたので、久しぶりにGolangを書いてみています。 シンタックスレベルでかなりの部分を忘れていて、もろもろググりながらという感じ。 最初のお題は、Golangを使って外部コマンドを実行するユーティリティでした。 実施したいこと …

子供が中耳炎になった

保育園から電話があり、子供の耳から汁のようなものが出てきたとのことでした。 耳鼻科に連れていくと、副鼻腔炎から中耳炎になったとの診断です。 中耳とは そもそも中耳とは何でしょうか。 耳は大きく、外耳、中耳、内耳という3つの部分に別れています。 …

Canonical Link

Canonical Linkを正確な理解をしていなかったので調べてみた。以下のようなヤツです。 <link rel="canonical" href="https://kiririmode.hatenablog.jp/entry/20210124/1611500399"> 仕様 Googleのガイド 気にしていること 仕様 Canonical Linkの仕様はRFC6596で語られています。 The canonical link relation specifies the preferred IRI from resour</link>…

実効再生産数がわからない

コロナ禍において、実効再生産数をよく聞くけど、この算出方法がわからなかった。数理モデル上は基本再生産数という言葉も聞くけど、実効再生産数とどう違うかもわからない。 調べみた結果をまとめてみる。ぼくはこの分野ぜんぜん詳しくないので間違ってる可…

品質評価に向き合う

qa

なにかリリースしたりするとき、品質評価を組織に対して報告することが必要になったりします。 ぼくの仕事も例外ではなく、やはり品質をどう担保しているのか、その結果がどうだったのかといったことを報告します。 この間ひさしぶりに、本当にひさしぶりに…

Eponaをリリースした

この間ようやくDevOps環境構築キットEponaというものをOSSとしてリリースしました。 DevOps DevOpsという言葉は様々な場所で聞きますが、理解するのがとても難しいです。 ずっと頑張って学んでいますが、まだまだ奥深く、いくらでも掘り下げるところがありま…

「安全なウェブサイトの作り方 改訂第7版」を読んだ

セキュリティのガイドを書けという話があり、日本で最も基本的なところであろうIPAの「安全なウェブサイトの作り方」の1章を再確認します。 対策の種類 脆弱性対策には2種類があり、根本的対策と保険的対策です。 根本的対策はそもそもとして「脆弱性を作り…