2021-01-01から1年間の記事一覧

vim / fzf + rg で .gitignore以外のファイルも検索したい場合

FZFとは fzf optionの基本 rgも使おう .gitignoreを利用しないで.rgignoreを使う fzf使ってます? fuzzy searchをvim でインテグレーションするにはfzf + fzf.vimがおすすめ ただfzfの問題点は、.gitignoreファイルを標準では無視することです。 FZFとは FZF…

Pythonのlogging二種類: RotatingFileHandlerとTimedRotatingFileHandler

Pythonのloggingモジュールにはたくさんのオプションがある。 この記事では、logging モジュールのログローテションの機能について解説していきます。Pythonには2種類のログローテションをサポートしています。 ログローテーションとは ログローテーションと…

DashとZealとは?

DashとZealは、何百もの一般的なプログラミング言語、フレームワーク、ライブラリのオフラインドキュメントを提供する。 どちらもスタンドアロンのアプリケーションで、各種OSのネイティブアプリとして動作します。 DashはMacOS用(有料)で、Zealはオープン…

なぜpath.joinでなくpathlibを使うべきか

os.path osモジュールは機能が多くてややこしい globもシンプルに pathlibでファイルを開く Object志向でコードをより明確に pathlibには何が足りないの? pathlibをos.pathモジュールを不必要にオブジェクト指向にしたものとおもってませんか? そんなあな…

hashコマンドとは?bashでコマンド有無を確認する

Linuxシステムにおけるhashコマンドは,bashの組み込みコマンドであり,最近実行されたプログラムのハッシュテーブルを管理するために使用される。プログラムの位置を記憶し、表示します。各コマンド名のフルパス名が表示されます。 hash [-lr] [-p pathname…

モノリシックなデータレイクから分散型データメッシュへの移行方法とは

多くの企業は、次世代のデータレイクに投資しており、大規模なデータを民主化してビジネスインサイトを提供し、最終的には自動化されたインテリジェントな意思決定を行うことを期待しています。データレイクアーキテクチャに基づくデータプラットフォームに…

Dict[]に複数の型を指定する

Pythonで h = {'a': [], 'b': {}) のような辞書にたいして型ヒントを設定したい場合どうすればいいだろうか? これは「混合辞書(Heterogeneous dictionaries)」と呼ばれるもので、特定のキーに対して特定の型の値を定義する必要がある。この問題は、文字列キ…

PythonでInner class(Nested Class)を使うケース

なぜInnerクラス(Nested クラス)なのか? 主に以下の3つのメリットがあげられる 2つ以上のクラスをグループ化することができる 車とエンジンの2つのクラスがあるとします。車にはエンジンが必要です。しかし、エンジンは車がないと使えません。そこで、エン…

python ; json serialize時の変数の命名・改変

変数の命名・改変をしたい モチベーション データソースのフィールド名がコードスタイルと一致しない場合(キャメルケースのフィールドなど)、classに変換方法を記述し自動的にエイリアスをjson でdumpするときに生成したいことがある。JSON形式などで生の…

dataclassのmetadataにアクセスする方法 : __dataclass_fields__を使う.

メタデータ。これは通常は辞書であり、様々な情報とそのデータを示すキーと値のペアです。 この属性は、ほとんどの場合には使用されていないようですが、もしあなたのDataClassが開発中にどこかで実際に使用されていて、サードパーティのツールやソフトウェ…

ライブラリ紹介:schema libraryの marshmallow

marshmallow はオブジェクトのような複雑なデータ型を Python のネイティブデータ型との間で変換するための ORM/ODM/フレームワークに依存しないライブラリ。 marshmallow.readthedocs.io