Cloud · DevOps · Backend — 78 記事
2026
3 記事
はじめに TLS で使う X.509 証明書には 、 、 など似た拡張子があり、秘密鍵を含む や、Web API で使われる JWK も登場します。 混乱しやすい理由は、拡張子、データ形式、格納される内容がそれぞれ別の概念だからです。本記事では、それらの関係と OpenSSL を使った確認・変換方法をまとめます。 秘密…
はじめに Claude Code は Anthropic 公式の CLI コーディングエージェントです。バックエンドとして Anthropic API のほかに Amazon Bedrock を指定でき、AWS アカウント内で完結する形で利用できます。 一方で、ローカルから Bedrock を叩くための認証をどう用意す…
はじめに 2026年を始めるにあたり、ITフリーランスエンジニアとしての私(またはあなた)の1年間の目標と行動計画を整理します。大きなビジョンから月次・週次の具体的なアクションまで落とし込み、定期的に振り返って軌道修正できるようにします。 ビジョン(1年後にどうなっていたいか) 技術的な価値提供で信頼を得て、継続的に案…
2024
2 記事
Flutter のマルチプロジェクトのお悩み Flutterは、モバイル、ウェブ、デスクトップアプリケーションの開発において人気のあるフレームワークです。しかし、プロジェクトごとに異なるバージョンのFlutterを使用する必要がある場合、バージョン管理が課題となります。 Flutterのバージョンアップで前に作成したサ…
シーケンス図 ファイルステータスの説明
2023
9 記事
基本設定 パス: | 名前 | 種類 | データ | メモ | | ------ | ------------- | ------------------ | -------------- | | (既定) | REGEXPANDSZ | Code で開く | メニューの文字 | | Icon | REGEXPANDS…
PowerShellとは 現在のWindowsのオペレーティングシステム(OS)に標準搭載されている、拡張可能なコマンドラインインターフェース(CLI)です。 PowershellはDotNetの全ての機能を使えますので、何でもできると思います。 PowerShellの機能だけを利用すれば、簡単な機能を拡張出来るでしょ…
Microsoft 365 MicrosoftのOfficeはもう必要不可欠なソフトであります。 サブスクリプションを購入しております。 日本から購入する場合、Microsoft 365 Familyの年間のサブスクリプション料金が です。 ちょっと高いなと思います。 中国サイトからのライセンスを調べてみましたが、キャ…
SAM とは AWS Serverless Application Model (AWS SAM) は、AWS 上でサーバーレスアプリケーションを構築および実行するデベロッパーのエクスペリエンスを改善するツールキットです。AWS SAM は次の 2 つの主要な部分で構成されます。 AWS SAM テンプレート仕様 –…
外部環境変数 外部環境の設定を別ファイルに切り出せば、実行環境関連の設定を別のコンフィグに切り出す必要があります。 Windows Batchファイルで読み込む処理を簡単で整理しておきます。 Windows Batchのサンプル実装 一行ずつ読み込んで環境変数を設定します。 ポイント解析 コマンド本文を出力しないように…
Resinとは Resinは米Caucho Technology社が開発しているオープンソースのWebサーバ兼Javaアプリケーションサーバである。 Resin 環境構築 前提環境 JDK --> Temurin-11.0.16.1+1 (build 11.0.16.1+1) Resin 取得 こちらから をダウンロー…
概要 Windows環境でExcelを操作する時、VBAは第一候補ではないかと思います。 VBAは古くからの文法なので、現代人のコーダーとして使いにくいです。 高度の操作はJavaやC#などを使ったほうが効率は良いですが、簡単な編集なれば、PowerShellも悪くないですよね。 Excelの簡単な操作を少し纏めて置き…
ネット情報調べツールの必要性 セキュリティとダウンロード時間の削減等の観点から最小限のライブラリーしかContainerのOSにしかインストールしていません。 ネットワークの調査時に必要な ネットのコマンド 対象コマンド ifconfig arp route netstat DNS系コマンド nslookup dig…
Gradle の資材管理 Gradle プロジェクトの依存ライブラリーは と同じセントラルリポジトリーからダウンロードできます。ダウンロードされた依存されるライブラリーは にキャッシュされています。 時には、共通やFW等のライブラリーをセントラルリポジトリ(インハウスリポジトリも含め)に登録されない可能性があります。そ…
2022
29 記事
前描き 現在LTSのJavaバージョンでは三つがあります。 21 17(2023年12月の現在のメイジャーバージョン) 11 8(新規プロジェクトには殆ど使わない) 案件によりますが、使用するバージョンが違うかも知れません。コマンドラインからビルドする時、JAVAHOMEを指定しての実施ではないかと思います。 しかし、…
IntelliJの右コンテンツメニュー設定 を利用して、IntelliJ IDEAをインストする場合、右コンテンツメニューがセットされていません。 これがなければ、ちょっと不便なので、手動で設定しないといけません。 IntelliJ IDEのフォルダー開き 下記の通り、レジストリの設定を追加します。 レジストリファイル…
マルチリージョンのリソースの参照 CDKのv2.50.0からスタック間&リージョン間の参照は自動的に構築できるようになりました。 これらのきっかけでリージョン間のVPCペアリング構成をやってみたいと思います。 ※リリースノート: インフラ構成 東京リージョンと大坂リージョンにそれぞれVPCを作成して、VPCペアリングを…
前下記 時々コマンドを探す必要があります。 コマンド探すのコマンド Windows CMD Posershell Linux
Mesonとは ビルディングツールです。 参照 Linux for Amlogic Mesonの使い方メモ
CDKとは The AWS CDK lets you build reliable, scalable, cost-effective applications in the cloud with the considerable expressive power of a programming language.…
Minikubeクラスタの作成 自分の環境に合わせてMinikubeクラスタを作成してください。 WindowsのHyper-Vでminikubeの基本的な使い方 Macでminikubeの基本的な使い方 今回はWindows環境でテストするので、下記のコマンドでクラスタを作成します。 Helmからインストール 簡単に…
jqコマンドとは jqは、軽量で柔軟なコマンドラインJSONプロセッサです。 JSONデータの加工・整形等の機能があります。 jqコマンドの基本的な利用パータン JSONデータのハイライト表示 echoコマンド等のJSON出力データはハイライト表示していません。 にパイプしておくと、コンパクトなJSONデータを整形して…
改行コード 改行コード不一致のトラブル チームで開発する時、改行コードを統一しないと、不注意にトラブルが発生する恐れがあります。 スクリプト実施不可 - Linuxのシェルの改行コードがLFではないと、実行できません。 - 逆にWindowsのコマンドスクリプトの改行コードがCRLFではないと、実行出ません。 差分比較…
前提条件 devopsへのログインは完了していること。 pipelines管理 新規 ⚠️ 注意 下記のオプションを付けると、下記のエラーが発生してパイプラインを作成できません。 パイプライン変数管理 追加 削除 一覧表示 更新 ビルド管理 ビルド定義 一覧表示 詳細取得 ビルド結果 ビルド要求 (キュー) ビルドの詳…
IntelliJ IDEAとは Javaエンジニアとして、IntelliJ IDEAを使う時間が長くなっております。 普段は開発端末はWindowsとMacの両方を使っています。ホットキーが違うため、偶に忘れちゃうので、自分メモとしてよく使うホットキーを纏めようと思います。 Find everything Source…
検証環境 インストール JDK jdk 1.8以降のバージョンは基本的に問題ありません。OSに合わせてインストールしてください。 Kafka Cli 基本操作 Topic 作成 zookeeperやbrokerのどちらを指定すれば操作できます。高可用性を考慮してzookeeperの接続情報を指定しましょう。 zooke…
無料トライアル フィーチャーの有効 プランを選択する。 プリファレンスを設定する。 完了する。 サポートされているエディター Visual Studio Code Visual Studio JetBrains Neovim 参照 HP
WSL2とHyper-Vのネットワーク MinikubeをローカルマシンのHyper-Vに構築しました。KubectlはWSL2からアクセスしようとしても、ネットワークが通りませんでした。 WSL2とHyper-Vのネットワークインタフェース間のForwardingのデフォルトはDisableのため、通信できません。…
Minikubeとは Minikubeでは仮想化ソフトウェアを使ってLinuxのインストールされた仮想マシンを作成し、そこでKubernetesクラスタを動作させることができるツールです。 動作環境 環境構築 ドライバー 下記のいずれかが使っても、特に問題ありません。 Hyper-VはProfessional以上のエデ…
Apache Kafkaとは Apache Kafka(以降、Kafka)はスケーラビリティに優れた分散メッセージキューです。 Bigdataの処理にはよく利用しているでしょう。 開発環境の構築 ローカル開発で動作確認する時、可用性など考慮不要のため、Dockerを利用して構築すると思います。 ローカル環境の概要 do…
Markdownはサクサク書けますが、スクリーンショットの貼り付けは苦労しています。 Markdownにスクリーンショットを入れると、毎回下記のような手順で実施しています。 スクリーンショットをとります。 取ったスクリーンショットを画像ファイルとして保存します。 画像をカレントプロジェクトのあるフォルダーにコピーします…
Z Shell Z shell(ズィーシェル、zsh)は、Unixのコマンドシェルの1つである。対話的なログインコマンドシェルとしても、強力なシェルスクリプトコマンドのインタープリターとしても使うことができる。 https://ja.wikipedia.org/wiki/ZShell macOS Catalina から…
Minikubeとは Minikubeでは仮想化ソフトウェアを使ってLinuxのインストールされた仮想マシンを作成し、そこでKubernetesクラスタを動作させることができるツールです。w 動作環境 環境構築 ドライバー 下記のいずれかが使っても、特に問題ありません。 Docker Desktopを使ってるなら、hy…
前描き 現在LTSのJavaバージョンでは五つがあります。 25 21 17 11 8(新規プロジェクトには殆ど使わない) 案件によりますが、使用するバージョンが違うかも知れません。コマンドラインからビルドする時、JAVAHOMEを指定しての実施ではないかと思います。 しかし、手でコマンドを打つ時、一時的にバージョンを…
リポジトリが多い時のお悩み マイクロサービス化のせいで独立のアプリが多くなりました。 個々の開発者が同時に管理するリポジトリも多数があります。 実際の作業はfeatureブランチを作成して進めます。 テストが終わった時メインのブランチにマージする運用が殆どだと思います。 特定のfeatureブランチに対して何か処理する…
プロキシ時のPowershell運用 プロキシのある社内環境でネットをアクセスする時、プロキシを設定する必要があります。 Profileをセットして、自動反映 Profileの場所確認 > $PROFILE変数 | [説明] | 名前 | | -------------------------------- | ---…
長文字列の問題 YAMLは人間に優しいフォーマットです。多くのコンフィグはYAMLを採用しておいます。 値の文字列がスクリーンの幅を超えた場合、如何でしょう? 超えてない時でも、適切に改行すれば、読めやすい可能性があります。 複数行の記載パータン テストのフルファイル 改行で区切り '|'を使って、改行(\n)で複数行…
Gitのブランチ管理 バグ対応のhotfixや新規機能のfeatureはmainブランチを切って対応するのは一般的です。 ブランチの操作に関して、少しまとめました。 ローカルのブランチ ブランチ作成 前提条件 HEADからブランチを新規作成 HEADからブランチを作成しますが、カレントブランチにセットしていません。 一…
Junit5とは JUnitとは、Java言語で開発されたプログラムの単体テスト(ユニットテスト)を行なうためのソフトウェア。v5は現時点の最新バージョンです。 Spring Boot Test SpringBootアプリケーションの統合テストのサポート。 Test Scope Dependencies JUnit 5…
https://github.com/tfutils/tfenv Terraformのマルチバージョンの問題 複数のプロジェクトは同じバージョンのTerraformを使う可能性があります。 特定のバージョンを使わないと実施できない可能性があります。 そして、バージョンの切り替えが必要です。 tfenvのインストール(W…
僕、だれ ニックネームがgekalです。 初めに、英語を勉強した時、この単語の発音が名前の発音と類似するかと思いました。 2011年卒業から、ずーっと、プログラミングの仕事をやってました。派遣会社の社員なので、開発言語を選ばれませんでした。お陰で、色んな開発言語を触りました。 Java JavaScript Dotne…
環境構築 WSL(Ubuntu 20.04 LTS) n – Interactively Manage Your Node.js Versions インストール 最新のLTSをインストールする :::details 最新のLTSのインストール ::: 任意のバージョンをインストールする :::details 最新のLT…
はじめに ブログにソースコードを載せるとき、色が付いていないと読みづらいものです。highlight.js を使えば、 で囲んだコードを、言語を自動判定してきれいにシンタックスハイライトしてくれます。CDN から読み込むだけで導入でき、静的サイトとも相性が良いので、Jekyll のブログに組み込んでみます。 導入手順…
2020
12 記事
認証付きプロキシの悩み エンタープライズ企業のネットワークでは、インターネットへのアクセスにプロキシを経由するのが一般的で、その多くが 認証付き です。 これがやっかいで、一部のツール(例:古い JDK 8u111 など)は、HTTPS 接続のトンネリング時に Basic 認証を扱えません。また、パスワードが定期的に変…
AWS Organizations とは AWS Organizations は、複数の AWS アカウントを 1 つの「組織」に統合して一元管理するためのサービスです。 事業部やプロジェクトごとにアカウントを分けると、権限や課金の境界が明確になる一方で、アカウントが増えるほど管理が煩雑になります。Organizati…
課題:GUI 操作が地味に面倒 Finder で開いているフォルダをターミナルで開く(またはその逆)という操作は、日常的によく発生します。 Finder からターミナルを開くこと自体は数クリックでできますが、マウスに手を伸ばして右クリックメニューをたどる動作は、地味に集中を切らします。これをキーボードだけで完結できるよ…
はじめに パスワード認証での SSH は手軽ですが、総当たり攻撃に弱く、毎回パスワードを入力する手間もあります。公開鍵認証に切り替えれば、より安全に、かつパスワード入力なしでログインできます。ここでは Raspberry Pi を例に、公開鍵認証を有効にする手順をまとめます。 鍵ペアを作成する クライアント側で SSH…
プロキシとは プロキシとは、企業などの内部ネットワークとインターネットの境界にあり、内部のコンピュータの「代理」(proxy)としてインターネット上のコンピュータへ接続を行うコンピュータのこと。また、そのような機能を持つサーバソフトウェア。 — IT 用語辞典 企業ネットワークでは、社内端末からインターネットへアクセス…
RESTful API とは RESTful API とは、Web システムを外部から利用するための呼び出し規約(API)の一種で、REST(Representational State Transfer) と呼ばれる設計原則に従って策定されたものです。REST そのものは適用範囲の広い抽象的なモデルですが、一般的には…
Raspberry Pi とは Raspberry Pi(ラズベリー パイ)は、ARM プロセッサを搭載したシングルボードコンピュータです。 もともとは教育用途を想定して作られたものですが、IoT が盛り上がった 2010 年代後半以降は、安価に手に入るシングルボードコンピュータとして、趣味や業務(試作品の開発)でも広…
AWS CDK とは AWS クラウド開発キット (AWS CDK) は、使い慣れたプログラミング言語を使用してクラウドアプリケーションリソースをモデル化およびプロビジョニングするためのオープンソースのソフトウェア開発フレームワークです。 — AWS CDK 公式サイト CloudFormation の YAML/JS…
はじめに Windows で AWS を操作する際、WSL(Ubuntu)上に AWS CLI を入れておくと、Linux と同じ感覚でコマンドを実行できます。ここでは pip を使ったインストール手順をまとめます。 この記事は AWS CLI v1 を pip で入れる手順です。現在は v2 の公式インストーラ( で…
JAMstack とは JAMstack は JavaScript・API・Markup の頭文字を取ったアーキテクチャの考え方です。従来のようにリクエストのたびにサーバーが HTML を生成するのではなく、あらかじめビルドした静的ファイルを配信し、動的な部分だけを JavaScript と API で補う構成を指しま…
SSH の config ファイルとは SSH コマンドを使う機会が増えてくると、毎回ホスト名・ユーザー名・ポート・鍵ファイルを指定するのが面倒になります。 に接続設定を書いておけば、 だけで接続できるようになります。設定内容をここで整理しておきます。 主なディレクティブは以下のとおりです。 サンプル 鍵認証の場合 パ…
Amazon EKS とは Amazon EKS(Elastic Kubernetes Service)は、AWS が提供するフルマネージドの Kubernetes サービスです。 Kubernetes を自前で運用しようとすると、コントロールプレーン(API サーバーや etcd など)の構築・冗長化・アップグレード…
2019
18 記事
Jekyll とは Jekyll は、プレーンテキスト(Markdown など)から静的な Web サイトやブログを生成するツールです。GitHub Pages と組み合わせれば無料でホスティングでき、個人サイトを手軽に始められます。 以前 Mac に Jekyll 環境を構築する方法を紹介しましたが、今回は Wind…
Amazon VPC とは Amazon VPC(Virtual Private Cloud)は、AWS クラウド内に 論理的に隔離された自分専用の仮想ネットワーク を構築できるサービスです。IP アドレス範囲(CIDR)の設定、サブネットの分割、ルートテーブルやゲートウェイの構成などを自分でコントロールでき、EC2…
はじめに Android アプリを実機でデバッグするには USB デバッグを有効にする必要があります。HUAWEI 端末は独自の HDB(Huawei Debug Bridge) 許可が絡むため、一般的な Android とは少し手順が異なります。ここでは HUAWEI 端末で実機デバッグを有効にするまでの流れをまとめ…
Flutter とは Flutter is Google's portable UI toolkit for building beautiful, natively-compiled applications for mobile, web, and desktop from a single codebase. F…
Gradle とは Gradle は、Groovy(または Kotlin)の DSL でビルドスクリプトを記述できるビルドシステムです。Java の世界では Maven の後継的に広く使われており、依存関係の解決からコンパイル・テスト・パッケージングまでを自動化できます。Android アプリの標準ビルドツールでもあり…
Git とは Git は、ソースコードなどの変更履歴を記録・追跡するための 分散型バージョン管理システム です。各開発者の手元にリポジトリの完全な複製があるため、オフラインでもコミットでき、複数人での並行開発にも強いのが特徴です。 ここでは、よく使うコマンドを用途別にまとめます。 の分類にならって整理しています。 リポ…
はじめに PHP の実行環境というと LAMP(Linux + Apache + MySQL + PHP)が有名ですが、macOS には Apache と PHP が最初から入っている ため、追加インストールなしで手軽に PHP を動かせます。 まずは標準で入っているバージョンを確認します。 補足:macOS Mont…
Spring Cloud Data Flow とは Spring Cloud Data Flow は、データ連携やリアルタイムデータ処理のパイプラインを構築するためのツールキットです。ストリーム処理やバッチ処理を、GUI やコマンドから宣言的に組み立てられます。 ここでは、ローカルの minikube 上に Helm…
minikube とは minikube は、仮想化ソフトウェア上に Linux VM を作成し、その中で 1 ノードの Kubernetes クラスタ を動かすためのツールです。本番さながらの Kubernetes を、手元のマシンだけで気軽に立ち上げられます。学習や、マニフェストの動作確認に最適です。 環境構築 事…
CI/CD とは CI/CD は Continuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー) の略です。 CI:コードの変更をこまめにリポジトリへ統合し、そのたびにビルドとテストを自動実行する取り組み。バグの早期発見と「統合地獄」の回避が狙いで…
はじめに CKAD(Certified Kubernetes Application Developer)の受験を準備中です。出題範囲や、試験本番で役立つ注意点をメモしておきます。 出題比率や試験環境は改定されることがあります。受験前に必ず公式のカリキュラムで最新情報を確認してください。 CKAD とは CKAD は、…
はじめに Docker イメージを軽量化したり、意図しないファイルが含まれていないか確認したりするには、イメージを構成する各レイヤーを調べる必要があります。 でもレイヤーの概要は分かりますが、dive を使うと、レイヤーごとに追加・変更されたファイルをツリー表示で確認でき、無駄になっている領域まで教えてくれます。公式の…
はじめに Homebrew の基本的な使い方については、以前に別の記事で紹介しました。 macOS のパッケージ管理ツール Homebrew 通常の はコマンドラインツール向けですが、VirtualBox や VS Code のような GUI アプリ をこれまで手動で「サイトからダウンロード → インストーラを実行」し…
はじめに Docker や Kubernetes を学ぶには自前で環境を構築するのが基本ですが、「ちょっと試したいだけ」というときにローカル構築は少し重たいものです。そんなときに便利なのが、ブラウザだけで動かせるオンライン環境です。代表的なものを整理しておきます。 Play with Docker / Kubernet…
はじめに Windows から Linux サーバーへ SSH でログインするとき、Tera Term を使う人は多いと思います。毎回ホスト名・ポート・鍵を指定してログインし、さらにポートフォワードを設定するのは手間です。 Tera Term には TTL(Tera Term Language) というマクロ機能がある…
はじめに 普段の仕事では Windows を使っていますが、Linux も併用したいときに便利なのが WSL(Windows Subsystem for Linux)です。ここでは、その WSL 上で Docker Engine を直接動かせるか検証してみます。 注:この記事は WSL1 の時代(2019 年)の内容で…
OpenAPI 仕様(OAS)とは OpenAPI 仕様(OpenAPI Specification, OAS)は、REST API のインターフェースを プログラミング言語に依存しない形 で記述するための標準仕様です。 API の入出力やエンドポイントを OAS で定義しておくと、人間もコンピュータも、ソースコードや…
Jekyll とは Jekyll は、プレーンテキスト(Markdown など)から静的な Web サイトやブログを生成するツールです。 静的サイトは高速で安全ですが、ページを一枚ずつ手で書くのは大変です。Jekyll を使えば、記事を Markdown で書くだけでサイト全体を自動生成できます。さらに GitHub…
2018
5 記事
はじめに 先日、中国向けの独自ドメイン を取得しました。アリババクラウド(阿里云)では、ドメインに無料のメールサービス(企業メール)が付いてくるため、 のような独自ドメインメールを無料で使えます。 サービスの詳細は公式ドキュメントを参照してください。 https://help.aliyun.com/product/35…
はじめに Mac で開発するなら、まず入れておきたいのが Homebrew です。コマンドラインツールやアプリケーションのインストール・更新・削除をコマンド一発で管理できるようになります。ここでは基本的な使い方を整理します。 Homebrew とは Homebrew(ホームブルー)は、macOS オペレーティングシステ…
なぜ Vagrant で構築するのか 当時の Docker はネイティブでは Linux 上でしか動かず、Windows や macOS で使うには次の 2 つの方法が一般的でした。 Docker for Windows / Docker for Mac を使う VirtualBox などの仮想マシン上に Linux…
なぜコマンドから開きたいのか Windows で環境変数を変更するとき、多くの人は GUI から操作します。ところが「システム → システムの詳細設定 → 環境変数」とメニュー階層が深く、毎回たどるのは地味に面倒です。 環境変数の追加・編集は開発作業で意外と頻度が高いので、コマンド一発で設定画面を呼び出せるようにしてお…
Chocolatey とは Chocolatey(チョコレイティ)は Windows 向けのパッケージ管理ツールです。macOS の Homebrew や Linux の / に相当するもので、ソフトウェアのインストール・アップデート・アンインストールをすべてコマンドラインから実行できます。 GUI で「サイトを開いて…