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に記載のコードを貼り付けるだけです。 ス…

Django 2でモデルにMeta.orderingを指定すると.values().annotate()が不正な結果を返す問題

はじめに 問題 原因 対策 まとめ はじめに Django(2.1.7)で集計処理( values().annotate() )が Meta.ordering を追加した途端に誤った結果を返すようになりました。 問題 例として以下の Foo モデルを用意します。 ここで created_at フィールドを Meta.…

Neovim v0.4.3でファイルを開くと一文字目がgに置換され謎のコマンドが入力される話

Vim

はじめに 原因 暫定対策 はじめに 先日macOSをMojave 10.14.6からCatalina 10.15.5にアップデートしたところ、Neovimでファイルを開いた際に一文字目が g に置換され、コマンドラインに謎の文字列 0d3d/0df6/1130^G が入力されるようになりました。 原因 Neo…

プライベートリポジトリにCodecovを導入

CI

はじめに Codecovでアカウント登録 リポジトリの追加とトークンの取得 Add a repositoryを選択 Codecovを導入するリポジトリを選択 表示されるトークンをコピー GitHubのリポジトリにトークンを登録 GitHub Actionsのワークフローからカバレッジレポートをア…

CentOS 7にJupyterHub 1.0を導入(SSL対応/NativeAuthenticator/DockerSpawner)

はじめに 前提 rootに変更 Miniconda3のインストール Conda環境の作成 JupyterHubのインストール NativeAuthenticatorのインストール DockerSpawnerのインストール Dockerのインストール Hub APIのポートを解放 設定ファイルの作成 JupyterHubサービスの設定…

DataTables(+Django)でAjax通信

はじめに DataTablesの設置 ajax オプション columns オプション deferRender オプション Ajax通信 クライアントサイド サーバサイド Ajaxリロード時のプログレス表示 エラー処理 (2020/07/26追記) ヘッダ・ボディ間のスペース除去 はじめに DataTables 1.10…

VimでNeomake + Pylavaを使用したPython3の自動静的コード解析

はじめに Python3のコーディングをVimで行う際にPEP8規約違反などを自動的に検出する方法をまとめます。 静的検証ツール Pylava の導入 Pythonの静的解析ツール Pylava を使用します。 github.com Pylava では pycodestyle や PyFlakes などのツール群が利用…

Miniconda3でPython環境構築

はじめに 本エントリではMinicondaでPython環境を構築する手順をまとめます。 インストール Miniconda3 Python 3.7 version(投稿時点最新Ver 4.5.11)を次の手順で導入します。 次のURLにアクセス : https://conda.io/miniconda.html 該当するOSのbashインス…

C#で非同期に処理するTask間のメッセージ通信

C#

はじめに C#でTaskを使用した非同期処理をする場合に複数スレッド間でメッセージのやりとりをする方法をまとめます。 実行環境 Windows 7 Professional Visual Studio Professional 2017 事前準備 MVVM Light ToolkitのMessengerを使用するのでNuGetでインス…