茶トラ猫エンジニア

フリーランスとして働く、先が見えないエンジニアのメモ帳

Dockerコンテナ上のファイルをローカルにコピーする

コンテナのビルド時に、コンテナ上のサーバにファイルを配備するには Dockerfile を利用すると楽です。 RUN でコマンドを定義できますし、ENV で環境変数の設定もできます。 今回はコンテナ上の C 言語で書かれたプログラムを gcc でコンパイルして、そのコ…

【Kotlin入門】sha256で文字列からハッシュを作成する

Kotlin で文字列をハッシュしようと思ったら、それっぽい関数やクラスが見当たらなかったので調べてみました。 少し前までは md5 や sha1 が主流でしたが、最近は sha256 が無難なところでしょうか。 sha256でハッシュする sha256でハッシュする もし PHP で…

PHPのステータスコード別のheader関数の引数

PHP

PHP で意図的に特定のステータスコードでレスポンスを返そうと思う場面がときどきあります。 フレームワークによってはフィルタで設定したり、目的のコントローラ内に定義したり作法はそれぞれですが、通常のシンプルな PHP スクリプトであれば header() 関…

Dockerコンテナのビルド時にvi(vim)をインストールする

以前、Docker コンテナ上のファイルをローカルにコピーする記事を書きました。 www.saratoga.jp その際、コンテナ上の Linux では vi でプログラムを書いてコンパイルしたのですが、実は以下の Docker のイメージには最初から vim(vi)が入っていませんでした…

【Kotlin入門】関数のオーバーロードで引数違いの使い分け

前回、「クラスの基本構造(変数、関数、継承)」でクラスの作成や継承について紹介しました。 www.saratoga.jp その中で、メソッド(関数)のオーバーライドを使いましたが、今回はオーバーロードについて触れておきたいと思います。 引数違いの同一関数名 ポリ…

RestTemplateでクライアント証明書の認証を突破する

SpringBoot のフレームワークを使った環境下で、別のサーバと http や https で通信する場合、RestTemplate のライブラリが便利です。 どの言語、フレームワークでも似たような機能は用意されていますが、やはり PHP に比べると利用するまでが比較的面倒です…

PHP+ApacheのDockerコンテナをSSL通信に対応させる

以前「Dockerコンテナ上のファイルをローカルにコピーする」で紹介した、PHP と Apache がセットになった Docker イメージ。 www.saratoga.jp サクっと PHP が動作するサーバを立てるなら、Nginx と php-fpm を導入するよりは楽です。 そこで今回は、このコ…

【Kotlin入門】クラスの基本構造(変数、関数、継承)

Kotlin のクラスは他の言語と同じような構成なので多く語ることはありません。 しかし、少しだけ書き方に特徴のある部分もあるのでそこだけチェックしておきます。 プロパティ(フィールド変数) メソッド 継承 サンプルプログラム プロパティ(フィールド変数)…

【Kotlin入門】配列の中身を繋げるJoinと文字列を分解して配列にするSplit

「SpringBootのCharacterEncodingFilterで特定のURLパスの文字コードを変更する」の記事で、String 型の配列に入れている文字列を「|」の記号で繋げる処理を書きました。 www.saratoga.jp これは、パターンマッチングの OR の条件のためでしたが、配列の中身…

SpringBootのCharacterEncodingFilterで特定のURLパスの文字コードを変更する

Kotlin と Sprint Boot の組み合わせでアプリを作っていて、外部から Shift_JIS(SJIS)の文字コードでリクエストを受け付けないといけないケースが発生したので対応。 以前「SpringBoot(Thymeleaf)でレスポンスの文字コードを指定する」でも書いた通り、レス…