🤖

🤖

:gijutsu_burogu:

2020-07-01から1ヶ月間の記事一覧

Dockerイメージ分析ツール「dive」を利用してDockerイメージを軽量化する

はじめに Docker イメージサイズは小さければ小さいほど、Push と Pull の高速化につながり嬉しいです。 docker historyによってイメージレイヤーごとのサイズは分かりますが、どのレイヤーのどのファイルのサイズが大きいかは分かりません。 $ docker histo…

GitHub Actionsを例にCI環境でのマルチステージビルドのキャッシュの活用について🐳

はじめに 以前、CI 環境での Docker ビルドのキャッシュについて記事を書きました。 kotaroooo0-dev.hatenablog.com 前回の記事のようにマルチステージビルドでない場合は、1 Dockerfile 1 Cache で問題ありませんでした。 しかし、今では Docker イメージの…

docker-composeでdepends_onしても起動順を制御するだけで稼働順は制御されない問題

本記事での言葉の定義 起動: 動き始めること(例: PC の電源ボタンを押すこと) 稼働: 働きはじめること(例: PC が利用可能になること) はじめに 以下の Redis と MySQL を利用するアプリケーションの docker-compose を考えます。 version: "3" services: app…

俺のコンテナ - libcontainerでコンテナを作ってみた

はじめに 仮想化は使いたいアプリケーションだけでなく OS も含めてまるごと動かす仕組みです。 これでは、ゲスト OS とホスト OS が同じ Linux であればカーネルなどを重複してロードすることになり無駄にメモリを消費してしまいます。 OS のカーネルはホス…

システムコールとGo

Go

この記事の内容 システムコールとは Go ではどうシステムコールを呼び出しているか システムコールとは システムコールとは、特権モードで OS の機能を呼ぶことです。 アプリケーションでは通常、ユーザーモードであり CPU の利用が制限されています。 その…

読み込み、書き込みされるまで処理をブロックするチャネル(Go)

はじめに Go ならわかるシステムプログラミングを読みました。 Goならわかるシステムプログラミング作者:渋川 よしき発売日: 2017/10/23メディア: 単行本(ソフトカバー) 僕は本で読みましたが、元々は Web で連載していたみたいで無料で読むことができます…

GitHub ActionsでのDockerビルドをキャッシュで高速化する

はじめに GitHub Actions 上での Docker イメージのビルド高速化について情報が少なかったので自分なりに調査してみました。 Jenkins のように自分でホストするのではなく、GitHub Actions や CircleCI ではステートレスにジョブが行われます。 そのため、ロ…

Goでのストリームの使い方と使うべき理由

Go

はじめに Go ならわかるシステムプログラミングを読みました。 Goならわかるシステムプログラミング作者:渋川 よしき発売日: 2017/10/23メディア: 単行本(ソフトカバー) 僕は本で読みましたが、元々は Web で連載していたみたいで無料で読むことができます…

問題を解いて学ぶio.Writerとio.Reader(Go)

Go

はじめに Go ならわかるシステムプログラミングを読みました。 Goならわかるシステムプログラミング作者:渋川 よしき発売日: 2017/10/23メディア: 単行本(ソフトカバー) 僕は本で読みましたが、元々は Web で連載していたみたいで無料で読むことができます…

似ている文字列を検索したい(編集距離、レーベンシュタイン距離)

課題 入力に対して、文字列集合の中から最も似ている文字列を返したい。 例 ["gmail", "googlemap", "googledrive", "dockerhub", "github"]という集合がある。 "mail" と入力されると "gmail" が返ってきて、"docker" と入力されると "dockerhub" が返って…