もた日記

くだらないことを真面目にやる

Python

人気の負荷試験(負荷テスト)ツールを調べてみる(Locust, Vegeta, wrk)

負荷試験(負荷テスト)ツール一覧 Locust Vegeta wrk 負荷試験(負荷テスト)ツール一覧 人気の負荷試験(負荷テスト)ツールを調べてみる。 ツール一覧はawesome-http-benchmarkにまとまってた。 github.com スター数順に並べてみる(スター数500以上)。 …

Pythonメモ : 「Rich」ターミナルでリッチなテキスト表現を可能にするライブラリ

Rich インストール 使い方 Rich github.com Richを使うとターミナル上でカラー、スタイル付け、テーブル表示、シンタックスハイライト、Markdown表示などのリッチなテキスト表現ができる。

Vimメモ : Neovimで開発環境を段階的に構築する(7)コメントアウト、Undo、カーソル移動など

コメントアウト Undo カーソル移動 囲み文字の編集 自動で閉じ括弧 まとめ 今回は開発するときにあると便利な比較的ユーザ数が多いプラグインを紹介していく。 コメントアウト コメントアウトをサポートするプラグインとしては下記が挙げられる。 Repository…

Vimメモ : Neovimで開発環境を段階的に構築する(6)プログラム実行

プログラム実行 まとめ プログラム実行 プログラム実行をサポートするプラグインとしては下記が挙げられる。 Repository スター数 tpope/vim-dispatch 1966 skywind3000/asyncrun.vim 921 kassio/neoterm 752 thinca/vim-quickrun 614 Neovimでは:terminalコ…

Vimメモ : Neovimで開発環境を段階的に構築する(5)スニペット、入力補完と定義元ジャンプ

スニペット 入力補完 定義元ジャンプ まとめ スニペット スニペットを利用するには下記のスニペットエンジンと、 Repository スター数 SirVer/ultisnips 4737 garbas/vim-snipmate 1795 Shougo/neosnippet.vim 937 drmingdrmer/xptemplate 278 スニペット定…

Vimメモ : Neovimで開発環境を段階的に構築する(4)LinterとFormatter

多言語パック Linter Formatter まとめ 多言語パック vim-polyglotは各種ファイルタイプ用のプラグインをまとめたもので、標準で対応していないような新しいプログラミング言語や使い慣れていないファイルタイプを編集するときに便利。 対応しているファイル…

Vimメモ : Neovimで開発環境を段階的に構築する(3)あいまい検索とGit連携

あいまい検索 Git連携 Git差分表示 まとめ あいまい検索 ファイルを開くときや検索するときにあいまい検索ができると作業効率が上がるのでインストールしてみる。 以下のようなプラグインがあるがfzfが人気のようだ。 Repository スター数 junegunn/fzf 2301…

Vimメモ : Neovimで開発環境を段階的に構築する(2)プラグインマネージャーと見た目の変更

プラグインマネージャー カラースキーム ステータスライン 空白可視化 インデント可視化 ファイルエクスプローラー タグ一覧表示 まとめ 今回はプラグインをインストールして主に見た目の変更をしてみる。 プラグインマネージャー プラグイン管理はプラグイ…

Vimメモ : Neovimで開発環境を段階的に構築する(1)インストールとcheckhealth

Neovimのインストール checkhealth まとめ 最近はVisual Studio Codeを使うことも多くなってきたが、Vimが好きなのでNeovimで開発環境を構築してみる。 Vimの設定については検索すると色々出てくるが、設定ファイルが複雑だったり、自分の環境では動かなかっ…

Pythonメモ : bulletでインタラクティブなコマンドラインツールを簡単に作成

bullet インストール 使い方 オブジェクト 色変更 bullet github.com bulletを使うとPythonでコマンドラインツールを開発するときに図のようなインタラクティブプロンプトを簡単に作成できる。

CSVの処理で使えそうなコマンドラインツール(column, textql, csvkit, xsv, visidata, csvtotable, daff, tabview)

column textql csvkit xsv visidata csvtotable daff tabview CSV(またはTSV)を処理するときにはcut, sort, awk, paste, joinといったコマンドを使うことが多いが、CSVの処理で使えそうなコマンドラインツールを簡単に試してみる。 テスト用のCSVデータは…

JSONの処理で使えそうなコマンドラインツール(json.tool, jo, jq, jid, gron, jp, json-server, json2csv, jsondiffpatch)

python -m json.tool jo jq jid gron jp json-server json2csv jsondiffpatch JSONの処理で使えそうなコマンドラインツールを簡単に試してみる。 python -m json.tool 19.2. json — JSON エンコーダおよびデコーダ — Python 3.6.5 ドキュメント Pythonのjson…

Djangoメモ : django-silkで時間のかかるリクエスト、SQLを計測

django-silk インストール 計測結果ページ Summary Requests Details SQL Profiling 認証、認可 リクエストログ削除 django-silk github.com django-silkを使うと時間のかかるリクエスト、SQLを計測することができるので試してみる。 以下のバージョンでテス…

Djangoメモ : データベースをSQLiteからPostgreSQLに変更する

PostgreSQLの設定 Djangoの設定 (参考)django.db.utils.OperationalError: FATAL: Ident authentication failed for user (参考)AssertionError: database connection isn't set to UTC (参考)UserWarning: The psycopg2 wheel package will be rename…

Djangoメモ : python-decouple, django-environで設定情報を管理

python-decouple インストール 使い方 django-environ インストール 使い方 まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にプロジェクトの設定情報を管理してみる。 python-decouple Djangoのsettings.pyに書いてある設定情報にはSE…

Djangoメモ(36) : 掲示板アプリの最終調整

更新日時を保存する 同じユーザーの場合は閲覧数を何回もカウントしない 各Topicに対するページネーション 返信ページで表示する返信数を制限 返信投稿後に最後のページへ遷移するようにする まとめ A Complete Beginner's Guide to Djangoのチュートリアル…

Djangoメモ(35) : Gravatarを表示する独自テンプレートフィルタを作成

Gravatar 独自テンプレートフィルタ まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にGravatarを表示する独自テンプレートフィルタを作成してみる。 Gravatar Gravatarとは「グローバルに認識されるアバター」という意味でブログやコ…

Djangoメモ(34) : humanizeで日時などをわかりやすく表示(naturaltime, intcomma, ordinal...)

humanize 使用可能なフィルタ apnumber intcomma intword naturalday naturaltime ordinal まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にDjango テンプレートフィルタセットのhumanizeを使用してみる。 humanize humanizeはドキュ…

Djangoメモ(33) : Markdownエディタを追加する

Markdownパッケージのインストール Markdownエディタを追加 まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にMarkdownエディタを追加してみる。 Markdownパッケージのインストール Markdownエディタを追加するにあたり、最初にMarkdow…

Djangoメモ(32) : UpdateViewでユーザーアカウント情報を編集

UpdateViewでユーザーアカウント情報を編集 fieldsの変更 まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にユーザーアカウント情報を編集してみる。 UpdateViewでユーザーアカウント情報を編集 前回まででクラスベース汎用ビューのUpd…

Djangoメモ(31) : クラスベース汎用ビューのListViewで一覧表示とページネーション

ListViewで一覧ページ作成 対話型シェルでページネーションの確認 関数ベースビューでのページネーション クラスベース汎用ビューのListViewでのページネーション ページネーションのテンプレートを再利用 まとめ A Complete Beginner's Guide to Djangoのチ…

Djangoメモ(30) : クラスベース汎用ビューのUpdateViewで編集機能作成

ビューの種類 関数ベースビュー クラスベースビュー クラスベース汎用ビュー UpdateViewを使って編集機能を作成 UpdateViewのテスト まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にクラスベースビューを使用してみる。 ビューの種類…

Djangoメモ(29) : migrateでモデルに閲覧数カウント用のフィールドを追加

モデルにフィールド追加 migrateコマンド実行 ビュー、テンプレートの変更 まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にモデルに閲覧数カウント用のフィールドを追加してみる。 モデルにフィールド追加 migrateコマンドを使ってTo…

Djangoメモ(28) : QuerySet API(count, annotate)で個数のカウント

対話型シェルで確認 モデル、テンプレートの実装 annotate() まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にQuerySet APIを使ってみる。 対話型シェルで確認 チュートリアルに沿って掲示板アプリを作成しているが、今回はQuerySet A…

Djangoメモ(27) : 掲示板アプリの返信機能を実装する

返信一覧ページの作成 返信一覧ページのテスト 返信一覧の表示 返信フォーム作成 返信機能のテスト まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考に掲示板アプリの返信機能を実装する。 返信一覧ページの作成 このチュートリアルで作…

Djangoメモ(26) : coverage.pyでカバレッジ(網羅率)を計測

coverage.pyのインストール coverage.pyの実行方法 coverage.pyの設定 coverage.pyのプラグイン まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考に作成している掲示板アプリのテストコードのカバレッジを計測してみる。 coverage.pyの…

Djangoメモ(25) : login_requiredデコレータでビューをログイン済みユーザーのみに制限

login_requiredデコレータ ログイン後のリダイレクト先 login_requriedのテスト Topic作成者としてログインユーザーを指定 まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にビューをログイン済みユーザのみに制限してみる。 login_req…

Djangoメモ(24) : ユーザー認証を実装する〜パスワード変更

パスワード変更 パスワード変更のテスト まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にパスワード変更機能を実装する。 パスワード変更 サインアップ、ログアウト、ログイン、パスワードリセット機能を実装してきたが、最後にパス…

Djangoメモ(23) : ユーザー認証を実装する〜パスワードリセットとメール送信

パスワードリセットの流れ メール送信設定 メールドアレス入力(password_reset.html) メール送信完了(password_reset_done.html) 新パスワード登録(password_reset_confirm.html) パスワードリセット完了(password_reset_complete.html) パスワード…

Djangoメモ(22) : ユーザー認証を実装する〜ログインと独自テンプレートタグ、フィルタ

ログインページ作成 ログインフォーム作成 バリデーションメッセージ 独自テンプレートタグ、フィルタを作成 独自テンプレートタグ、フィルタのテスト まとめ A Complete Beginner's Guide to Djangoのチュートリアルを参考にログイン機能を実装する。 ログ…