Entries from 2020-01-01 to 1 year

VeleroでEKSクラスタをバックアップ

VeleroでEKSクラスタのバックアップを試してみたので手順をまとめます。 今回はプロバイダーがAWS、オブジェクトストアがS3なのでvelero-plugin-for-awsの手順に従ってインストールを行います。 その他サポートしているプロバイダーはこちらを参照してくださ…

JupyterHubをKubernetes(Amazon EKS)にインストール(zero-to-jupyterhub-k8s 0.9.0)

Amazon EKSにJupyterHubを zero-to-jupyterhub-k8s(Z2JH)でインストールする方法をまとめます。 github.com 以下の手順に従って作業を実施します。 Zero to JupyterHub with Kubernetes — Zero to JupyterHub with Kubernetes 0.0.1-set.by.chartpress doc…

DjangoでViewのリクエスト前後に任意の処理を差し込む

デコレータを使用し、DjangoのViewでGETやPOSTリクエストの処理前後に任意の処理を差し込む方法をまとめます。 やりたいこと デコレータの作成 Viewの実装 利用例 事前処理でビューへのアクセス権限を判定 事後処理でレスポンスを更新 まとめ やりたいこと …

SAMLtestでSAML2.0(Shibboleth)認証をテスト

SAML2.0 IdP/SPのテストに便利なサービスSAMLtest.idを見つけました。 実際にShibboleth認証に対応したSPのテストに使ってみたので、本エントリに手順をまとめます。 テスト対象のSP 使い方 SPのメタデータをアップロード IdPの追加 SPにログイン まとめ テ…

EKS(on Fargate)でEFSにデータを永続化

EKSでは積極的にRDS等のマネージドサービスでデータを保存したいところですが、種々の事情により永続ボリュームを用意しなければならないこともあります。 先日、PostgreSQLコンテナのデータをEFSを用いて永続化してみたので以降に手順をまとめます。 Amazon…

MongoDB Node.js DriverでAmazon DocumentDB(TLS有効)に接続するとunable to get local issuer certificate

AWSコンソールで確認したURIを指定してMongoDB Node.js driver( mongodb 3.0.2 )でDocumentDB(TLS有効)に接続しようとしたところ、 MongoNetworkError: unable to get local issuer certificate となってしまいました。 事象 DBの接続情報は作成したクラスタ…

Amazon DocumentDBでcollStatsは機能するがcollstatsだとCollection not found

事象 今まで自前で立てたMongoDBで問題なく動作していた pymongo.database.Database.command("collstats", "<collection-name>") が、Amazon DocumentDBではコレクションが存在するにも関わらず { "ok" : 0, "errmsg" : "Collection not found", "code" : 10 } を返すようにな</collection-name>…

Amazon EKS on AWS Fargate + ALB Ingress Controllerを試す

はじめに 実行環境 eksctlでEKSクラスタを作成 前提 EKSクラスタの作成 サンプルアプリのデプロイ ロードバランサの設定 IAM OIDCプロバイダーの作成 ALB Ingress Controllerポッド用のIAMポリシーを作成 alb-ingress-controllerサービスアカウント、Cluster…

MacでNeovimをソースからインストール

はじめに 以下の投稿で述べたNeovimの不具合がこのPRで直りそうなんですが、なかなかリリースされないので修正されたソースからNeovimをビルドします。 hiroki-sawano.hatenablog.com 実行環境 macOS Catalina Version 10.15.5 前提 macOSなので以下の前提を…

DjangoのFixtureで投入するユーザ・グループに権限を設定

はじめに パーミッションの作成 ユーザの作成 グループの作成 はじめに DjangoのFixtureでdjango.contrib.authのUserやGroupにPermissionを設定する方法を確認しました。 パーミッションの作成 まずは適当なパーミッション をModel.Meta.permissionsで作成し…

SAMLレスポンスをブラウザで取得・Base64デコード

SSO

はじめに SimpleSAMLphpでSAML認証に対応したSPで、IdP認証後のSAMLレスポンス検証がうまくいかなかったため、SAMLレスポンスのデバッグ方法を確認しました。 便利なもので、以下のリンク先にある通りChromeやFirefox等で簡単に取得できます。 docs.aws.amaz…

Jupyter Notebook+Ansible(ansible-jupyter-kernel)で実行可能な手順書を作成

はじめに 実行環境 ansible-jupyter-kernelのインストール Jupyter Notebookの起動 ノートブックの作成 プレイブックの記述 inventory play task ノートブックの実行 はじめに 先日以下のエントリでDjangoアプリのデプロイをAnsibleで自動化しました。 hirok…

SQL Serverの変更データキャプチャ機能(CDC)

はじめに 環境構築 SQL ServerとSQL Server Agentのインストール sqlcmdのインストール クエリの発行と変更データのキャプチャ DBサーバに接続 DBの作成 テーブルの作成 初期データの挿入 CDC機能の有効化 クエリの発行と履歴の確認 更新履歴(UPDATE) 挿入…

Angular10入門(環境構築〜REST APIアクセス)

はじめに 事前学習 環境構築 Node.jsのインストール Angularのインストール 新規アプリケーションの作成 アプリケーションのビルド・起動 生成されたAppコンポーネントの確認と編集 コンポーネントの作成 UserListコンポーネントの表示 ユーザ一覧の表示 Use…

jQueryでカルーセル

slick-carousel を使います。 kenwheeler.github.io いらすとやから入手した果物画像をカルーセル表示してみます。

PythonでExcelのセル入力&編集したExcelブックをDjangoでダウンロード(openpyxl)

はじめに Excelのセルを入力するスクリプト Djangoのビューで編集したExcelファイルをダウンロード はじめに openpyxlを使ってPythonでExcelファイルを編集します。 $ pip install openpyxl Excelのセルを入力するスクリプト 以下のスクリプトでは次の単純な…

PostgreSQLの外部データラッパー(FDW)でMongoDBにアクセス

はじめに MongoDBサーバ テストデータの用意 PostgreSQLサーバ Multicornのインストール yam_fdwのインストール 外部テーブルの作成 MongoDBにアクセス はじめに PostgreSQLには外部データラッパー(以降、FDW)と呼ばれる拡張機能があります。この拡張を使…

jQueryでスプリットペイン

はじめに jQueryで以下のように3つの領域に分割したスプリットペインを作ります。 実装 jquery-resizable を使います。 github.com CSSで指定してある各列の幅はお好みで調整してください。

ドラクエタクトで再戦を自動化

iOS

はじめに 注意事項 前提 方法 使ってみる はじめに 最近ドラクエタクトにハマってます。 スタミナ消費のないバトルロードでレベル上げしていますが、バトル後に 再戦 ボタンを押すのが面倒なので自動化します。 注意事項 ゲームの自動化は不正利用の扱いを受…

AnsibleでUbuntu18.04にDjangoアプリをデプロイ(Apache+PostgreSQL+Miniconda)

はじめに Ansibleのインストール ディレクトリ構成 作成したプレイブック 共通設定 変数 環境変数 タスク aptパッケージのアップデート、アップグレード タイムゾーンの設定 ユーザの追加 SSH接続の設定 Minicondaのインストール Djangoプロジェクトのアップ…

WebページのスクリーンショットをRobot Framework(+SeleniumLibrary)で撮るスクリプト

RPA

はじめに 前提 実装 実行例 はじめに URLの一覧を入力に、Webページのスクリーンショットをとる作業をRobot Framework(+SeleniumLibrary)で自動化してみます。 Robot Frameworkを使ってみたかっただけなのであまり実用性は考えてませんが、UI変更の都度発…

DjangoでDockerコンテナのログをテキストエリアに流し込む(Server-Sent Events)

はじめに 前提 ビューの実装 テンプレートの実装 実行例 さいごに はじめに DjangoでDockerコンテナのログをテキストエリアに出力する方法をまとめます。 前提 Dockerコンテナの操作には docker-py を使います。 github.com django==3.0.8 docker==4.2.0 ビ…

postgresイメージは使わずにDockerでPostgreSQLに初期データを投入

はじめに 実装 動作確認 コンテナイメージのビルド コンテナの起動 Dockerログの確認 データベースの確認 テーブルの確認 テーブルデータの確認 はじめに 公式のイメージは使いません。 CentOS7イメージベースでPostgreSQLをインストールしたかったので、DB…

JARファイルからresources内のディレクトリをコピー

はじめに やりたいこと うまくいかない方法 うまくいく方法 はじめに 実行可能なJARファイル(Java 8)で src/main/resources 以下に格納したディレクトリを外部のディレクトリにコピーしたかったので方法を調べました。 対象がファイルであれば java.lang.C…

[CentOS7] PostgreSQL9.6のYumリポジトリインストールでエラー(pgdg-centos96-9.6-3.noarch.rpmが消えた)

事象 CentOS7にPostgreSQL9.6を久しぶりにインストールしようとしたところ、Yumリポジトリのインストールでエラーが発生しました。 どうやらつい最近 pgdg-centos96-9.6-3.noarch.rpm が消えたようです。 # yum install https://download.postgresql.org/pub…

Djangoで登録/更新/検索フォームにカレンダコントロールを設置

はじめに 前提 サンプルアプリの実装 アプリの作成 モデル ビューとURL モデルフォーム フィルタ テンプレート ベーステンプレート 登録/更新画面のテンプレート 登録画面の動作確認 更新画面の動作確認 検索画面のテンプレート 検索画面の動作確認 カレンダ…

Djangoでsettings.pyの機密情報を管理する方法

はじめに プロジェクトの作成 settings.pyの設定内容 機密情報をJSONファイルで管理 1. 機密情報を管理するJSONファイル secrets.json の生成スクリプトを用意 2. settings.py で secrets.json の設定値を参照するように変更 3. 実行環境ごとに 1. のスクリ…

GitHubのラベルをコマンド一つでセットアップ

はじめに github-label-setupのインストール GitHubアクセストークンの作成 ラベル一覧の作成 ラベルのセットアップ はじめに GitHubのラベルをリポジトリごとに追加・変更するのは非常に手間がかかります。 本エントリではラベルの一覧をJSONファイルで管理…

Alexaのルーティンで音楽を停止するアクションを追加

はじめに 方法 無音再生のアクションを追加 はじめに 我が家はEcho Plus、Echo Dot、Echo Flex(+モーションセンサ)でスマート化してますが、ルーティンで再生中の音楽(Amazon Music)を停止する方法がわからなかったので調べました。 方法 こんなスレッドを…

はてなブログのヘッダーにGitHubのコントリビューションを表示

はじめに 生やし方 スマホで表示が崩れる場合 はじめに ヘッダに草生やしました。 生やし方 github-calendar を使います。 github.com Design > Customize > Headerに移動し、下図赤枠内の Below the title にREADMEに記載のコードを貼り付けるだけです。 ス…