理系学生日記

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

「新規事業の実践論」を読んだ

新規事業の実践論を読みました。 新規事業の実践論 (NewsPicksパブリッシング)作者:麻生要一ニューズピックスAmazon この本は、いわゆるスタートアップではなく「社内起業」に関する実践的なノウハウを扱ったものです。 勤める会社を飛び出して自ら事業を起…

GitHub ActionsでTerraformのinit/fmt/plan

これまでTerraformに関するCIとしてはGitLab CI/CDを使っていました。 最近はプライベートでGitHubを利用しTerraform周りのコードを管理しており、GitHub上でのCIを色々試行錯誤しています。 ようやく以下のように、terraform planの結果等をPull Requestへ…

.terraform.hcl.lockでChecksumエラーが発生する問題と対策

Terraformをローカルで実行するときには正常でも、いざGitHub ActionsやGitLab CI/CDでTerraformを実行すると以下のようなエラーと遭遇するケースがあります。 │ Error: Failed to install provider │ │ Error while installing hashicorp/aws v3.68.0: the …

GitHub ActionsでAWSのクレデンシャル登録なしにAWS操作を行う

これまでGitHub ActionsからAWSのリソース操作しようとすると、以下のような対応が必要でした。 権限を絞ったロールを付与したIAMユーザを作成する そのアクセスキーIDをGitHub Actionsに登録し、Jobから利用できるようにする しかし、GitHub ActionsがOIDC…

TerraformでAWS Budgetsを設定する

プライベートでもAWSを使っているのですが、そういえばAWS Budgetsを設定しようと思って忘れていました。 AWS Budgetsとは AWS Budgetsは、コストや使用量を追跡し、予実の可視化やコスト等が閾値を突破したときのアラートを通知してくれたりするサービスで…

Launcherを使ってiPhoneのホーム画面に表示できるアプリ数を多くする

日本でiPhone 3Gが発売されて以来、ずっとiPhoneユーザとして生きてきました。 それでもずっと問題だったのが、いわゆるホーム画面のアプリ1軍問題です。 ホーム画面には少数のアプリ(1軍アプリ)しか配置できず、それ以外の2軍以降のアプリは他画面に配置す…

GitLab CI/CDでMarkdownファイルをdocxファイルに変換し、Generic Packages Repositoryにアップロードする

手動でいちいちpandocを実行するのは面倒です。 Merge Requestの作成やそのbranchに変更が入ったタイミングで、Markdownファイルをdocxファイルに変換し、リポジトリにアップロードしたい。 実際にこれを実装すると、以下のようにMerge Requestに紐づく形で…

GitLab CI/CDで生成したファイルをGeneric Packages Repositoryに配置する

GitLabにはPackage Registryという機能があり、様々な言語のパッケージをホストできます。 Maven packages in the Package Repository | GitLab npm packages in the Package Registry | GitLab PyPI packages in the Package Registry | GitLab 一方で、言…

markdownをpandocでdocxに変換する

MarkdownのファイルをベースにPull/Merge Requestでやりとりすることが難しいケースというのは存在します。 そういった場合、指摘やそれに対する修正は、変更履歴の保存の容易なWord形式を使うのが楽でしょう。 Word での変更履歴の記録 そして、こういった…

Gitで変更のあったファイル一覧をコミットメッセージや空行なしで抽出する

git

課題 ファイル一覧の抽出については--name-onlyを使うのはよく知られているテクニックです。 例えば以下では、一週間前からコミットされたファイルを抽出しています。しかし、コミットハッシュやコミットメッセージは不要です。どうしたものでしょう。 $ git…