• 2024年10月4日
  • 2024年10月5日

【Docker】軽量版Ubuntuイメージをunminimizeで通常に戻す

シェルの勉強をしようと思って、Ubuntuイメージでコンテナ起動したときに、一部コマンドが使えなかったので調べて使えるようにした際の備忘録です。 エラーメッセージちゃんと読みましょうという結論でした。 環境構築 dockerイメージをダウンロードする イメージの確認 コンテナに入って、シェル起動 使 […]

  • 2024年7月13日
  • 2024年9月9日

【Go】スタックとヒープについて簡単なサンプルで確認する

はじめに メモリ領域にはスタックとヒープがあります。 スタックは関数呼び出しやその中で使われるローカル変数などが格納されるメモリ領域。 ヒープは動的にメモリが割り当てられる領域で、サイズの決まっていないデータや関数外で参照されたりする場合に使用するメモリ領域。 ヒープが大量に使用されてしまうと処理動 […]

  • 2024年7月13日
  • 2024年7月13日

【Go】ファイルに追記したいときは、os.OpenFileメソッドでos.O_APPENDフラグを使おう

はじめに ファイルに追記するプログラムを書いているときに、追記ではなく上書きされてしまうことがあり、勉強になったので書いておきます。 上書きされてしまうコード os.WriteFileメソッドを使うと、ファイルの中身が上書きされてしまう。 追記できるコード os.OpenFileメソッドで、os.O […]

  • 2024年7月13日

【Go】依存性の注入をやってみる

はじめに PHPやLaravelで依存性の注入は書いたことがあるのでイメージできますが、Goでは書いたことがないので、書いてみました。 コード Loggerインターフェイスで持たせたいメソッドを定義しています。 そして、そのインターフェイスを満たす実装をしているのが、ConsoleLoggerとFi […]

  • 2024年7月11日

【Go】delveでデバッグしてみる

はじめに Goでデバッグってどうやってやるんだろうと思ったので、調べてやってみました。 delve インストール VSCode拡張機能 インストール https://marketplace.visualstudio.com/items?itemName=golang.Go 動かしてみる ブレークポイ […]

  • 2024年7月9日
  • 2024年7月9日

dockerコマンドとdocker composeコマンドの違い

はじめに dockerコマンドをdocker composeコマンドに書き換える際に、少しだけ迷ったので記録として書いておきます。 dockerコマンド 書き換え前 こちらはコンテナ名を指定する docker composeコマンド 書き換え後 こちらはサービス名を指定する

  • 2024年7月8日
  • 2024年7月8日

【PHP】マルチバイト文字をバイト数を指定して取得する場合は、mb_strcut()を使うと良い

はじめに 業務でマルチバイト文字をバイト数を指定して取得する機会があり、そのときバイトの関係で文字化けしてしまったので、調査した結果を書いておきます。 コード 動かしてみる mb_strcut()を使うと、バイトのきりの良い所で文字を取得してくれるため文字化けしていません。 substr()の場合は […]

  • 2024年7月7日
  • 2024年7月7日

GoのCobraを使ってCLIを作ってみた

コード ルートのコマンドとして、toolkitという名前のコマンドを作成しています。 そのサブコマンドとして、countとlinesを作りました。 Useフィールドにコマンド名、Runフィールドに実行する関数を登録します。 そして、それぞれFlags().StringP()で引数を定義します。 定義 […]