If architects had to work like programmers... 上記サイトの翻訳です。 ソフトウェア開発という行為が、いかに複雑で困難なことかを説明する時のために残しておく。 全プログラマが泣ける内容になっております。 建築士様、 家を一つ設計施行してください…
戦術的設計 レイヤ化アーキテクチャ 依存関係逆転の原則(DIP) エンティティ ドメインサービス 集約 ファクトリ リポジトリ アプリケーション ユーザーインターフェース アプリケーションサービス インフラストラクチャ 前回の続き。 DDDの戦術的設計をざっく…
前提 DDDとは DDDの登場人物 DDD導入メリット(事業) DDD導入メリット(人物) DDD導入メリット(具体例) DDD用語集 DDDをざっくりまとめておく必要があったので、メモがてらまとめる。 前提 「ソフトウェア開発とは、恐ろしく複雑である」という事実を真正面か…
PHPの環境構築 nginxの環境構築 index.php docker-compose 感想 ちょっとPHP触ってみたくなったのでnginxとMySQLなWebアプリケーションをdocker-composeで構築してみる。 PHPの環境構築 PHPの実行環境をnginxで構築する場合、PHP-FPMを使いやり取りを行うら…
全部GCPで、 ストリーミングサーバはWowza Streaming Engine アプリケーションサーバはElixir/Phoenix とりあえずザックリ全体像だけ 誰かの役に立てればいいなと
Cloud Storage FUSE とは インストール マウントする GCE起動時にgcsfuseを実行する Cloud Storage FUSE とは GCSを、Linux または OS X システム上でファイル システムとしてマウントするためのGoogle謹製OSS。 Cloud Storage FUSE | Cloud Storage | Googl…
NVIDIA Driver をダウンロードする GCEでNVIDIA Driver を使うためのセットアップ NVIDIA Driver をGCEにアップロードしインストールする 動作確認 前回の続き。 この記事ではGPUをGCEで使えるようにする設定を行う。 NVIDIA Driver をダウンロードする Nvid…
WSEのOSイメージを作成する ファイアーウォールのルールを作成する GCE作成 Wowza Streaming Engine(WSE)のライセンス等は既に取得済みとして進める。 この記事では、WSEのOSイメージを作成し、GCEのイメージとして登録し、 ファイアーウォールのルールを設…
Redisにおけるレプリケーションとは master/slave 各設定ファイル Dockerfile Cloud Build でビルドし、Container Registryにプッシュする GCEのターミナルからdocker run 動作確認 GCE(Container-Optimized OS)を2台使って、Redisのレプリケーションを組ん…
grpc-gateway とは 登場人物 gateway/main.go echo/main.go auth/main.go .protoから.bp.goと.bp.gw.goを生成する リバースプロキシサーバ実装 echo/main.go サーバ実装 auth/main.go サーバ実装 動作確認 前回の記事でgRPCを使ったので、今回はgrpc-gateway…
gRPCとは セットアップ .protoファイルを実装する .protoファイルから.goファイルを生成する サーバーサイドプログラミング クライアントサイドプログラミング ほとんど公式のQuickStartのまんまだけど、一応備忘録 gRPCとは gRPC は、Protocol Buffers を使…
マージソートの問題を解いてみた 問題 AOJからのフィードバック 前回同様、AOJの問題を解いてみます。 yuki-toida.hatenablog.com マージソートの問題を解いてみた 問題 https://onlinejudge.u-aizu.ac.jp/courses/lesson/1/ALDS1/5/ALDS1_5_B 自分が書いた…
挿入ソートの問題を解いてみた 問題 AOJからのフィードバック 挿入ソートの計算量を考える 前回同様、AOJの問題を解いてみます。 yuki-toida.hatenablog.com 挿入ソートの問題を解いてみた 問題 https://onlinejudge.u-aizu.ac.jp/courses/lesson/1/ALDS1/1/…
文字列変換の問題をやってみた 問題 AOJからのフィードバック 前回同様、AOJの問題を解いてみます。 yuki-toida.hatenablog.com 文字列変換の問題をやってみた 問題 https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/9/ITP1_9_D 自分が書いたコード…
行列の問題をやってみた 問題 AOJからのフィードバック 前回同様、AOJの問題を解いてみます。 yuki-toida.hatenablog.com 行列の問題をやってみた 問題 https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/7/ITP1_7_D 自分が書いたコードはこちら pack…
AOJ(Aizu Online Judge)とは 組み合わせの問題をやってみた 問題 Input Output AOJからのフィードバック Aizu Online Judge を使って、プログラミングコンテストの過去問やアルゴリズムの問題をGolangで解いてみようと思います。 今までプロコンに出場したこ…
multi-stage buildsとは Golangで試す まとめ multi-stage buildsとは まずはドキュメントから。 Use multi-stage builds | Docker Documentation multi-stage buildsとは、アプリケーションのビルド環境と実行環境を分けることが出来る機能 っぽいです。 こ…
アプリケーション概要 サーバーサイドの処理 Golang良き良き Golangを書いてみたかったので、仕事上必要そうなmp4を連結するアプリを実装してみました。 ※ 勉強がてら作ったものなので、グローバルにホストしたコンテナは削除してしまいました。 アプリケー…
ドキュメント ソースコード 公開 Elixirのライブラリ公開シリーズ第6弾 ドキュメント developer.chatwork.com 必要な部分だけ実装。 何も問題なし。 ソースコード GitHubのソースコードはこちら github.com 公開 #!/bin/sh ENV=dev # get dependencies MIX_E…
ドキュメント ソースコード 公開 Elixirのライブラリ公開シリーズ第5弾 ドキュメント LINEログイン 特に問題なくさくっと実装。 ソースコード GitHubのソースコードはこちら https://github.com/yuki-toida/line 公開 #!/bin/sh ENV=dev # get dependencies …
ドキュメント ソースコード 公開 Elixirのライブラリ公開シリーズ第4弾 ドキュメント Instagram Developer Documentation 今後大幅にAPIに変更が入る模様。 実装するタイミングミスったかもしれない。 ソースコード GitHubのソースコードはこちら github.com…
LINE Payとは ドキュメント ソースコード 公開 Elixirのライブラリ公開シリーズ第3弾 LINE Payとは line.me LINEでお金のやりとりをするスマホのおサイフサービスとのこと。 ドキュメント 技術サポート : LINE Pay Merchant はっきり言ってしまうのは憚れる…
Paidyとは ドキュメント ソースコード 公開 Elixirのライブラリ公開シリーズ第2弾 Paidyとは paidy.com 事前登録不要・クレジットカード不要・早い・安心・支払いが便利なカンタン決済サービスです。 ドキュメント paidy.com JavaScriptのドキュメントで一部…
Hex PAY.JPとは ドキュメント ソースコード 公開 Elixirのライブラリ公開シリーズ第1弾 Hex Hex は Elixir, Erlang 向けのパッケージ管理ツールです。 ruby で言うところの rubygems、node.js で言うところの npm です。 Hexの使い方は省きます。 PAY.JPとは…
metabaseってなんぞ? GCE(Container-Optimized OS)作成 ユーザー定義bridgeネットワーク作成 CloudSQLへのプロキシコンテナ作成 metabase コンテナ作成 PINGで疎通確認 おまけ metabaseってなんぞ? データ可視化OSSです OSSのデータ可視化ツール「Metaba…
まえがき certbot インストール certbot 実行 DNSにTXTレコード追加 tls用の Secret 作成 IngressでSecretを参照 まとめ まえがき cert-manager は使わないです。 理由は、kube-lego で時間を無駄にしてしまったから。 これから kubernetes がどう変わってい…
GCE(Container-Optimized OS)作成 Redis コンテナ起動 GCE の startup script 設定 GCE(Container-Optimized OS)作成 インスタンスの作成と設定 | Container-Optimized OS | Google Cloud コンソールのブートディスクからContainer-Optimized OSを選択す…
追記 kube-legoのセットアップ kube-legoのリソースを作成する Ingressリソースを作成する 追記 kube-legoがオワコンになったのでこの記事もオワコンになりました GitHub - jetstack/kube-lego: Automatically request certificates for Kubernetes Ingress …
適切なサービスアカウントを作成する ターミナルサーバ(GCE)作成 gcloudでGCEインスタンスを起動停止するスクリプト cron で定時にスクリプトが実行されるようにする Cloud SQL の起動停止も追加する 適切なサービスアカウントを作成する インスタンスのサ…
GCEにstartup-scriptを設定する yuki-toida.hatenablog.com 前回の記事でredisコンテナは作成されている前提ですすめる 今回はインスタンス起動時に停止しているredisコンテナを起動する GCEにstartup-scriptを設定する 新しいインスタンスに設定する場合はc…