lima 紹介
庄司です。 M1 チップ搭載の mac で Windows の WSL2 のような感覚で仮想 Linux 環境を手に入れたいとの思いから、lima というプロジェクトがあることを知り早速使い始めました。 インストールは、Homebrew を使うと楽にインストールすることができます。 brew install lima 仮想マシンの起動 # 次のようにコマンドを実行するとデフォルトの仮想マシンが起動します...
記事を読むクラスタ環境デプロイ - コンテナレジストリ(ECR)
さて、ここまででWeb・バッチアプリケーションの開発が終わり、ローカル環境で動作確認ができました。 いよいよここからは、AWS EKSにアプリケーションをデプロイしていきます。 その前に、アプリケーションをEKSにデプロイする際、コンテナイメージはどこで管理すべきでしょうか? 今まではコンテナのビルドと実行が同一環境(ローカル環境)のため、イメージビルド後にそのまま実行できていました[1]...
記事を読むsb2md - Scrapbox ページを Markdown に変換する CLI
Scrapbox の記法はシンプルでサクサク書けます。ただ、書いた記事をブログなどに転用する際 Markdown に変換するのがちょっと手間です。sb2md は Scrapbox のページを Markdown に変換するための CLI です...
記事を読むAWS を利用して遠隔地にあるサーバを管理する
庄司です。 遠隔地にサーバや Raspberry Pi や Jetson Nano などの IoT デバイスを配置する場合、これらのメンテナンスのためのアクセス手段をセキュアに構築する方法を考えることは頭の痛い課題の一つです。特に、このために ssh ポートを開放することは攻撃者に絶好の口を提供することになります...
記事を読むKubernetesマニフェスト作成 - バッチアプリケーション
前回は、ローカル環境のKubernetesでタスク管理ツールのWebアプリケーションを動かすことができました。 今回は日次でタスク完了レポートを出力するバッチアプリケーションを作成してみましょう。 Kubernetesを利用する主なメリットとして、セルフヒーリングによる耐障害性強化や、大規模トラフィックに耐えられるスケーラビリティが得られる等の印象が強いかと思います...
記事を読むElectron - WebView から BrowserView に移行する
--> 2024.7.22、8.28追記BrowserView は WebContentsView に置き換えられ、現在非推奨になっています。BrowserView の API は残っていますが、新規開発では、WebContentsView を使いましょう。以下の記事でも紹介しています...
記事を読むeleventy-plugin-code-clipboard
eleventy-plugin-code-clipboardは、静的サイトジェネレータツールの1つであるeleventy(以下11ty)のカスタムプラグインです。 このプラグインは、マークダウンのコードブロックで生成されたものに対して、クリップボードコピー機能を提供するもので、本サイトでも使用されています。 プラグインは以下の2つの機能で構成されます。 markdown-it カスタムレンダラー # 11tyのマークダウンパーサー markdown-itのカスタムレンダラーです...
記事を読むScrapbox の社内導入
これは、Scrapbox Advent Calendar 2021 - Adventar 22 日目の記事です。 普段 豆蔵デベロッパーサイト では技術情報を中心に紹介しています。 ですが、本記事では技術情報そのものではなく、技術情報をどのように社内で共有・活用しているかについてご紹介します。 弊社豆蔵では、Nota社 による Scrapbox を社内公式ツールとして 2018 年 5 月に導入しました。 この記事を書いている 2022 年 1 月現在で、3 年 8 ヶ月が経過しています...
記事を読むDapr on Jetson Nano with k3s
庄司です。 マイクロサービスのように、多言語プログラミング (polyglot programming) が前提の環境では、認証認可やログのような横断的関心事 (cross-cutting concern) をアプリケーションのコードとして実装すると、各言語やフレームワークごとに移植が必要となり最新化への足かせとなります...
記事を読む分散 IoT Hub プラットフォーム
庄司です。 グローバルに展開する IoT プロダクトの場合、IoT デバイスとの通信のレイテンシーが非常に大きな課題となります。また、それぞれの地域で異なるセキュリティポリシーの課題もあり、可能な限りデバイスに近接したロケーションで処理を行い、中央との通信をフィルターし、通信量の低減も求められます...
記事を読むKubernetesマニフェスト作成 - Webアプリケーション
ここまででローカル環境で開発する準備が整いました。 ここからは、実際に動くアプリケーションをローカル環境にデプロイしましょう。 このチュートリアルでは、一般的によくあるであろうシンプルなWebアプリケーションとバッチアプリケーションを例に見ていきます。 題材としてはタスク管理ツールとします。このツールの機能としては以下になります...
記事を読むWindows への Docker CLI のインストール
庄司です。 Docker は背後で Docker デーモンが実行されて、Docker コマンドは Unix ドメインソケット (Linux や macOS の場合) または tcp ソケットで Docker デーモンと通信します。 Linux にインストールした Docker デーモンは設定により Unix ドメインではなく tcp で外部マシンからのアクセスもできます。これは、Windows Subsystem for Linux 2 にインストールした Docker デーモンの場合も同様です...
記事を読むローカル開発環境準備 - ローカルAWS(LocalStack)
これまでローカルでKubernetesを実行する環境としてminikube、開発からデプロイまでを自動化するツールとしてSkaffoldを導入し、いよいよ開発が始められる準備が整ってきました。 最後にアプリケーションが外部プロダクトに依存する場合を考えてみましょう。 一般的にアプリケーションはそれのみで完結することはほとんどなく、DBやキャッシュ等他のプロダクトを利用することが大半です。 ここでは開発対象のアプリケーションがS3やDynamoDB等のAWSのサービスを使うことを想定してみましょう...
記事を読むマイクロサービスの Active Directory の活用
庄司です。 新たなサービスの開発では、誰がサービスを使用できるかを確認するための認証 (Authentication) とサービスのどの機能にアクセスしてよいかを確認するための認可 (Authorization) を考える必要があります...
記事を読むローカル開発環境準備 - 実行環境(minikube)
それではここからはアプリケーションの開発編に入っていきましょう。 チームでKubernetesで動作するアプリケーションを開発する場合に、どうやって各開発者がコンテナ環境で動作するアプリケーションを実装・テストすればよいでしょうか? クラウド上に各個人のクラスタ環境を準備するのが理想的ですが、コスト的に難しいというのが一般的かと思います...
記事を読むローカル開発環境準備 - 自動化ツール(Skaffold)
前回は、minikubeを使ってローカル環境内でコンテナアプリケーションを実行する環境を整えました。 しかし、サンプルアプリのデプロイを通して、ソースコードに加えて、コンテナイメージのビルドやKubernetesマニフェストの反映等、手順が煩雑だと感じられた方も多かったのではないでしょうか? コンテナ以前のアプリ開発だと、任意のIDEを利用してソースコードを記述し、IDEまたはコマンドからそのままローカル環境で実行・確認していた方が多いと思います...
記事を読む非公式 Scrapbox アプリを開発している話
これは、Scrapbox Advent Calendar 2021 - Adventar 15日目の記事です。 2017年の終わり頃から個人で Scrapbox を使い始めました。それまでは Tumblr にサブアカウントを作って個人用 Wiki 的に使っていたのですが、テキスト(Markdown)編集が使いづらいと感じていました[1]。Scrapbox をちょっと使ってその書きやすさやリンクの機能に感動したので Tumblr から全てのエントリーを移行しました...
記事を読む「豆蔵デベロッパーサイト」ローンチのお知らせ
ビジネスソリューション事業部の近藤です。このたび豆蔵デベロッパーサイトを公開の運びとなりました。 このサイトは、豆蔵に所属する開発者が業務内・業務外を問わず注目したり採用したりした技術、使ってみての見解などを開発者の皆さんをターゲットにお届けする場として更新していこうと考えています。 サイト立ち上げの経緯 # 豆蔵公式サイトにも技術情報ページはありますが、顧客向けにコンテンツを作成して発信するという意味合いが大きく、社員が自発的に発信するメディアというかプラットフォームが存在しませんでした...
記事を読むbuildpacks-action
buildpacks-action は GitHub Actions で Cloud Native Buildpacks を使ってコンテナイメージビルドを実行するための Action です。 Buildpacks は Dockerfile を記述しなくても、アプリケーションのコンテナイメージを作成してくれるツールであり、各種プログラミング言語・アプリケーションフレームワークに対応した buildpack が提供されています...
記事を読むconcourse-k8s-resource
concourse-k8s-resource は Concourse CI で、Kubernetes クラスターにコンテナイメージをデプロイするための Concource カスタムリソースです。 Concourse CI では、Resource という概念で、パイプラインから成果物を取得したり生成するターゲットを定義します。公式・サードパーティ含め多くのリソースが公開されています...
記事を読む