Hero Image
Ubuntu22.04 LTSの基本構築

改定箇所 2022-07-05:GitHub Token 修正 コマンドラインでGitHubに接続するためにアクセストークンが必要となりました 「2-8. GitのUbuntuへ導入」を修正 Token:ghp_xxxxx 1. 概要 「システム開発・デプロイ環境の構築」の重要性について、以下の2つ挙げることができます。 開発エンジニアは、開発環境を構築する手間が省き、メンテナンスを容易にする Dockerイメージの中に既に開発に必要なものは入っているので、開発エンジニアが自ら開発環境を構築する必要はない。 開発環境と本番環境で全く同じ構成を実現したい。 開発環境で動作したコンテナをそのまま本番環境で動作させるので、開発環境と本番環境で動作するものは寸分違わず同じものとなる。 開発・デプロイ環境の構築の説明資料として、以下のようにに分けて説明します。 (1-1)WSL+Ubuntuインストール (1-2)GitHubへの登録と設定 (1-3)Netlifyの登録と設定 (1-4)VPSへの登録と設定 (1-5)GoogleDomainの登録と設定(メール) (1-6)WSL+Ubuntu20.04+Dockerに関わる設定 (1-7)WSL2+Ubuntu20.04+Docker-補足 (1-8)(1-8)開発・デプロイ手順 1-1. WSLとは Linux 用 Windows サブシステムを使用すると、開発者は、従来の仮想マシンまたはデュアルブート セットアップのオーバーヘッドなしで、ほとんどのコマンド ライン ツール、ユーティリティ、アプリケーションを含む GNU/Linux 環境を変更せずそのまま Windows 上で直接実行できます。 1-2. WSL2とは WSL 2 は、Linux 用 Windows サブシステムが Windows 上で ELF64 Linux バイナリを実行できるようにする、Linux 用 Windows サブシステム アーキテクチャの新しいバージョンです。 その主な目標は、ファイル システムのパフォーマンスを向上させること と、システム コールの完全な互換性 を追加することです。 1-3. WSL2の機能 OS ファイル システム間でのパフォーマンス Linux ファイル システムのルート: \wsl$\Ubuntu-18.04\home<user name>\Project Windows ファイル システムのルート: C:\Users<user name>\Project

Hero Image
Djangoのインストール

1. Djangoの開発環境を構築 ここでは、wsl+ubuntu+python+djangoの開発環境を構築します。 Django は、動的な Web サイトやアプリケーションを開発するためのフル機能の Python Web フレームワークです。Django を使用すると、Python Web アプリケーションをすばやく作成し、フレームワークに依存して手間のかかる作業を大幅に行うことができます。 このガイドでは、Ubuntu22.04サーバーでDjangoを起動して実行します。インストール後、サイトの基礎として使用する新しいプロジェクトを開始します。 1-1. パッケージからのグローバルインストール 参考URL:DigitalOcean Windows11 WSL:Linux 用 Windows サブシステム ディストリビューション OS:“Ubuntu 22.04.1 LTS” Python 3.10.6 pip 22.3.1 from /home/matsu/.local/lib/python3.10/site-packages/pip (python 3.10) sudo apt update python3 -V Output Python 3.10.6 sudo apt install python3-django django-admin --version Output 4.1.4・・・OK 1-2. サンプルプロジェクトの作成 Django をインストールすると、プロジェクトのビルドを開始できます。プロジェクトを作成し、仮想環境を使用して開発サーバーでテストする方法について説明します。 プロジェクトのディレクトリを作成 mkdir ~/django-test cd ~/django-test 仮想環境を作成します。 python3 -m venv my_env 環境をアクティブ化します。 source my_env/bin/activate (my_env) matsu@RYZEN-PC:~/workspace/django-test$ Djangoをインストールします。 pip install django (or pip install django==4.

Hero Image
WSLに複数のインスタンス

WSL2に1つのディストロから複数のインスタンスを作成方法 1. はじめに WSL2 では Linux ディストリビューション(以下 ディストロと表記します)を導入することができますが、通常ですと1種類のディストロを複数個(複数のインスタンス)導入することはできません。しかし、wsl.exe コマンドを使えば実現可能です。本記事では、この手順について説明します。 開発で使用する言語に応じて、linux を使い分けることができるので、環境をきっちり分けたいときに便利です。 2. 手順 Ubuntu を複数インスタンス導入する手順について説明します。 ※ WSL 2 の導入手順については省略します。 マイクロソフト・ストア Ubuntu22.04LTS Ubuntuで利用するユーザー名とパスワードを入力する。 user:xxxx PW:xxxxxxx "\\wsl.localhost\Ubuntu-22.04" Ubuntuのインストール直後のrootのpassword設定 user:root PW:xxxxxx root@RYZEN-PC:~# sudo passwd root New password: Retype new password: passwd: password updated successfully Linuxの確認 root@RYZEN-PC:/home# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 DISTRIB_CODENAME=jammy DISTRIB_DESCRIPTION="Ubuntu 22.04 LTS" root@RYZEN-PC:/home# 2-1. 通常通りディストロをインストールする(インスタンスを作成する) Microsoft Store から Ubuntu を導入します。 導入後に、PowerShell で wsl.exe -l -v コマンドを実行した結果が以下です。 (base) PS C:\Users\RYZEN> wsl.exe -l -v NAME STATE VERSION * Ubuntu-20.

Hero Image
WSL-Ubuntuの導入

1. 概要 「システム開発・デプロイ環境の構築」の重要性について、以下の2つ挙げることができます。 開発エンジニアは、開発環境を構築する手間が省き、メンテナンスを容易にする Dockerイメージの中に既に開発に必要なものは入っているので、開発エンジニアが自ら開発環境を構築する必要はない。 開発環境と本番環境で全く同じ構成を実現したい。 開発環境で動作したコンテナをそのまま本番環境で動作させるので、開発環境と本番環境で動作するものは寸分違わず同じものとなる。 1-1. WSLとは Linux 用 Windows サブシステムを使用すると、開発者は、従来の仮想マシンまたはデュアルブート セットアップのオーバーヘッドなしで、ほとんどのコマンド ライン ツール、ユーティリティ、アプリケーションを含む GNU/Linux 環境を変更せずそのまま Windows 上で直接実行できます。 1-2. WSL2とは WSL 2 は、Linux 用 Windows サブシステムが Windows 上で ELF64 Linux バイナリを実行できるようにする、Linux 用 Windows サブシステム アーキテクチャの新しいバージョンです。 その主な目標は、ファイル システムのパフォーマンスを向上させること と、システム コールの完全な互換性 を追加することです。 1-3. WSL2の機能 OS ファイル システム間でのパフォーマンス Linux ファイル システムのルート: \wsl$\Ubuntu-18.04\home<user name>\Project Windows ファイル システムのルート: C:\Users<user name>\Project Windows からの Linux ネットワーク アプリへのアクセス (localhost) Linux ディストリビューションでネットワーク アプリ (たとえば、Node.js または SQL Server で実行されるアプリ) を構築する場合、(通常の場合と同様に) localhost を使用して (Microsoft Edge または Chrome インターネット ブラウザーなどの) Windows アプリからアクセスすることができます。

Hero Image
「MicroとgRPC」について

ローカルSNSで使っている【MicroとgRPC】 ローカルSNSで使っており、便利な技術です。 Go-Microは、基盤となるプラットフォームがそれらを記述するために必要なプリミティブを定義し、外部の手段からアクセスするために必要なプリミティブを定義する理由である、このサービス開発モデルを念頭に置いて構築されています。Micro には、高速での使用が非常に簡単になる Go サービス フレームワークが含まれています。 本システムを構成するために使われており、カスタマイズに必要なアプリケーションについて説明します。全体は、microサービスで構成されており、gRPCアプリケーションの各サービスと技術について説明します。 クラウドサービスの定義は、次のTwilioまたはStripeを構築するのに役立つものと考えています。クラウドサービスは、APIとして完全に消費されるように構築されたもののようにますます見ています。だから、マイクロは、そのモデルを念頭に置いて構築します。バックエンドにマイクロサービスを記述し、フロントエンドの単一の API としてそれらをつなぎ合わせます。 マイクロは、HTTP/JSON 要求を外部で処理し、バックエンド用に gRPC に変換する API ゲートウェイを提供します。これにより、バックエンドで効率的にパフォーマンスの高いサービスを構築し、相互に切り離されるが、消費者に単一のビューを提示するエクスペリエンスが大幅に簡素化されます。 Microは、マルチ環境モデルに存在するだけでなく、最初にリモートモデルに存在するという知識を持って構築されました。そのため、CLI とローカル サービスの gRPC ID プロキシを構築し、任意の Micro サーバーにリモートで安全に接続し、認証サービスに格納されている資格情報を使用してそれらのサービスとリソースにアクセスできるようにします。 サービスはクラウドの第 1 時代に合わせて構築されているだけでなく、サービスへのアクセスもそのようにしていると考えることができます。 M30 - M3OはMicroを搭載した次世代クラウドプラットフォームです。10 倍の開発者エクスペリエンスを実現するために、1 つのプラットフォーム上で、より簡単なプログラム可能なビルディング ブロックとして、無料で有料の公開 API を探索、発見、消費します。 プログラム可能な実世界マイクロサービスのレシピ - マイクロサービスは、あらゆる製品、アプリ、サービスの基本的な構成要素を提供します。これらは、単独で使用することも、組み合わせて強力な分散システムを作成することもできます。サービスは、RPC を使用して相互に使用され、Micro API を介して外部の世界から使用されることを意図しています。 参考資料 Go Micro - Go Microは分散システム開発のフレームワークです Micro Services - プログラム可能な実世界マイクロサービス Micro - マイクロは分散型クラウドオペレーティングシステムです。 Micro Document - マイクロへの高レベルの説明 M30 Micro Platform - Next Generation Cloud - 10 倍の開発者エクスペリエンスを実現するために、単純なプログラム可能なビルディング ブロックとしてパブリック API を 1 つのプラットフォームで探索、検出、使用します。 マイクロサービスフレームワークGo-Microを使う前にgRPCが必要になりますので、gRPCからGo-Microと進みます。