のーずいだんぷ

主に自分用メモですが、もしかしたら誰かの役に立つかもしれません

Python

<python>json.load()でjsonを読み込めない(jsonlinesを読み込む方法)

はじめに 対策 raw_decode()とは? jsonlinesファイルで実験してみる json.loadでデコードしてみる。 JSONDecoder.raw_decode()でデコードしてみる 原因 おわりに はじめに 自然言語処理100本ノックの3章20番の問題を解いているときに詰まったエラー。 Pytho…

pre-commitでisortの設定ファイルをpyproject.tomlにする

はじめに 競合する理由 解決する方法 参考 はじめに pyproject.tomlでblackとisortの競合を修正して、実行したところ、以下のように競合&warningメッセージが出力された。 /path-to-your-directory/.cache/pre-commit/reponx26mlg0/py_env-python3/lib/pytho…

複数言語が混在したプロジェクトでlinterとformatterをgit-commitにフックする

はじめに 複数言語をすべてgit-hookで連携するのはしんどい git-hook連携ツール:pre-commitを使用する インストール 設定ファイル 設定の反映 単純な実行 汎用的なチェック 各言語の方針 Python pre-commitへのhook設置 各設定ファイル Node.js 1. pre-commi…

15stepで踏破 自然言語処理アプリケーション開発入門 を読んだ

本書の感想 本書の構成 学習まとめ 本書の感想 私は自然言語処理のサービスを提供する会社に勤めているのだが、そろそろ自然言語処理の仕事をする必要が生じたため、とっかかりとして以下の本で勉強した。 15Stepで踏破 自然言語処理アプリケーション開発入…

<Mac>MeCabをMacへインストール/アンインストール/文字化け対処

はじめに mecabエンジンのインストール エンジンのインストール 辞書のインストール 文字化け対処 MeCabのアンインストール はじめに タイトルの通り、mecabの導入についての備忘録。 散々qiita等で記事にされているが、今日時点でのうまく行った結果として…

<AWS>EC2のuser-dataでメインアプリケーションの実行をしてはいけない

はじめに システムの概要 user-dataとは? どういう問題が起こったのか? この問題の特徴 原因と解決策 はじめに 本記事はタイトルについての不具合の備忘録である。 正直、私の未熟さ故の不具合であり普通のエンジニアならこんな失敗はしないものと思うが、…

Lambdaでseleniumを使ってフォームテストを自動化してみた

はじめに ソースコード Lambdaデプロイパッケージの準備 seleniumとheadless-chromeをインストール lambdaへデプロイ パッケージ構成 Lambdaへデプロイ 参考 はじめに サイトの問い合わせフォームの調子が時折悪くなるため、seleniumとheadless-chromeを使用…

テスト駆動Python読んだ 〜その2:フィクスチャとは?組み込みフィクスチャを使ってみる〜

テスト駆動Pythonをよんだ フィクスチャとは? 使い方 フィクスチャってどんなふうに動くの?? フィクスチャのyield ってなんだ フィクスチャを他のモジュールで共有する方法 フィクスチャ実行をトレースする方法 ERRORとFAILEDの違い フィクスチャをパラメ…

<Python>悪い例外処理とraiseへの誤解

概要 Goto文としての例外は使ってはいけない。 結局なにがいいたいのか? raise文への誤解 結論、raiseに渡すのはクラスでもインスタンスでも良いということ 参考 概要 今回はコードレビュー中に指摘を頂いた2点数の内容について説明する。 Pythonをはじめと…

<Python>boto3 でfargate設定しようとするとエラー:No Fargate configuration exists for given values. が発生する

何をしようとしたのか エラー 原因 対策 何をしようとしたのか タイトルのとおり、ECSのFARGATEでタスク定義をboto3から登録しようと考えていた。 使用したAPIは、register_task_definitionを使用 そのときに以下のエラーが発生した。 エラー No Fargate con…

<Python>AWS-SDK(boto3)の例外ハンドリング

やろうとしたこと 実際のコード例 コードの解説 ちょっと特殊?な例外ハンドリングのコード コードの解説2 補足 やろうとしたこと AWS-SDKでは沢山の例外が存在するが、実際はいくつかの例外クラス以外はbotocore.errorfactory.****のように実は逐次生成して…

Pythonでサブコマンドを持つCLIを使えるパッケージをつくった

何をしようとしたのか? CLIを作成する順序 1. デフォルトのPythonパッケージを作成する。(Cookiecutter) 2. CLI用のスクリプトを作成する。(Clickを使用する) 3. Pythonの配布用パッケージの設定する。(setup.py) 1. packages 2. entry_points 最後に ほん…

IntelliJでPythonモジュールの補完が効かない(unresolve)ときに確認すること5点

どういう状況か? 5箇所の設定を確認しよう 設定1:Pythonプラグインは有効になっているか 設定2:Project StructureのModule設定 設定3:正しいインタプリタが設定されているか 設定4:PreferenceのPython Console 設定5:モジュールのコンテンツルートが設…

テスト駆動Python読んだ 〜その1〜

テスト駆動Pythonをよんだ 1-2章まとめ 1. pytestは命名規則がある。 2. 簡単なテスト(assertionとraises) テストの実行 assertionを使う 例外のテストをraisesで行う 3. デコレータによる色々 テストシナリオ(マーキング)作成 フィクスチャ(テスト専用関数)…

Pythonにはプロパティのgetter、setterは不要、それがパイソニック

今日も一日一文法シリーズ、やる。 Pythonのリファレンスや、参考書を読んでこれは知らなかったなとか、うろ覚えだな…というものを個人的に紹介していく。 勉強中の方の役にたてば嬉しい。そんな趣旨ではじめた。 読者になってもらうと一緒に勉強できておす…

Pythonのジェネレータへの苦手意識をなくしたい

今日も一日一文法シリーズ、やる。 Pythonのリファレンスや、参考書を読んでこれは知らなかったなとか、うろ覚えだな…というものを個人的に紹介していく。 勉強中の方の役にたてば嬉しい。そんな趣旨ではじめた。 読者になってもらうと一緒に勉強できておす…

Pythonの関数内関数とクロージャについて

今日も一日一文法シリーズ、やる 。 Pythonのリファレンスや、参考書を読んでこれは知らなかったなとか、うろ覚えだな…というものを個人的に紹介していく。 勉強中の方の役にたてば嬉しい。そんな趣旨ではじめた。 読者になってもらうと一緒に勉強できておす…

Pythonで新しいリストオブジェクトを作る方法(Copyメソッド)

一日一Python!はじめました! 最近業務でPythonに対する理解が以前と変わらないままだな…と思って始めた。 プログラミング言語の仕様を一度に把握するのは大変だけど、毎日一つずつ覚えていったらいつの間にかかなりマニアックな仕様すらも簡単に理解できる…

Python のサーバレスwebフレームワークのchaliceのconfig.jsonで設定できることをまとめた

chaliceとは? ざっくりまとめ API Gateway Lambda ディレクトリ構成(設定ファイルの場所) 設定内容 設定を分ける方法 API Gatewayのstage毎に設定を分ける Lambda関数ごとに設定を分ける 例外としてREST APIのlambda関数は名前が決まっている 簡単な例 IAM…

CloudWatchLogsにログを保存する際に便利なこと

はじめに CloudWatchLogsはログをjsonで引き渡すとよいという話 はじめに webサーバやアプリケーションサーバ等を構築する際に、ログをどう集め分析するかが課題になるが 単一のサーバでの分析であれば、CloudWatchLogsエージェントを使用すれば簡単なログの…

pythonでミリ秒のunixtime(utc基準)を生成する方法

はじめに なぜミリ秒? 実際のコード はじめに よく使うけどdatetime周りは忘れやすいのでめも なぜミリ秒? awsのcloudwatchlogsのapiの fiter_log_events 等では取得範囲を時間で指定するが、 その時間はutc基準のunixパラメータで指定する必要がある。 実…