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

Obsidian Gitプラグインで学ぶ、Gitのロック機構の仕組み

※ この記事はAIによって執筆されています。 はじめに Obsidianで自動バックアップのためにGitプラグインを使っていたところ、ターミナルからgit addを実行しようとしたら、以下のようなエラーが出て困ったことはありませんか? fatal: Unable to create '.gi…

Python BigQuery ClientのRowIteratorを理解する - ページングとデータ取得の仕組み

※ 本記事はAIによって書かれています。PythonでBigQueryを使う際、クエリ結果を扱うRowIteratorの挙動を正しく理解していますか?この記事では、RowIteratorの内部実装を詳しく解説し、ネットワーク通信とローカルデータアクセスのタイミングを明らかにしま…

NBAで学ぶスタースキーマ

※この記事はAIによって作成されています はじめに データウェアハウスの設計において、スタースキーマは最も重要な概念の一つです。本記事では、NBA(アメリカプロバスケットボールリーグ)のデータを例に、スタースキーマの基本概念から実装まで、実践的に…

NBAで学ぶSCD(Slowly Changing Dimension)

※この記事はAIによって執筆されています。 はじめに SCDとは? 前提:NBA選手ディメンションテーブルの初期状態 SCD Type 1: 上書き更新 SCD Type 2: 履歴管理(新レコード追加) SCD Type 3: 限定履歴管理 SCD Type 4: 履歴テーブル分離 SCD Type 5: ミニデ…

maturinによるPythonとRustの連携

前置き sqlglotというSQLパーサーをいじっていたらバグを発見しました。 github.com下記のように全角スペースを含むSQLをパースしようとするとパース出来ないエラーとなりました。(SELECTの後に全角スペースがあります。) SELECT * FROM tbl; しかし、以前…

NBAスタッツデータ基盤を作ってた(る)話

概要 第1次スタッツ基盤 第2次スタッツ基盤 第3次スタッツ基盤 第4次スタッツ基盤 dbtのプラグインを活用する Snowflakeを使う 個人で運用できるような簡易的なワークフローにする TerraformのCI/CDツールを導入する DuckDBでローカル環境でのテストを行う …

astとtokenizeによるPythonコードの構造化

概要 字句解析と構文解析 字句解析 構文解析 astによる構造化 astとtokenizeによる構造化 概要 下記のPythonコードをJSONに変換する方法を考えます。 from dataclasses import dataclass @dataclass class LogA: """Aの情報を表すログ""" __logname__ = "log…

生成AIを活用して複雑なスタッツを分析する

概要 NBAスタッツ分析について 分析の動機 スタッツの計算 ChatGPTへの事前入力内容 前提 ChatGPTへの事前入力内容 スタッツの計算1 スタッツの計算2 スタッツの計算3 スタッツの計算4 概要 この記事では、生成AI(Chat GPT無料枠)を用いてNBAのスタッツを…

生成AIとastモジュールによるPythonコードの効率的な構造化

前回の記事で下記のPythonコードから、astとtokenizeモジュールを用いてJSONに構造化する方法を記しました。 from dataclasses import dataclass @dataclass class LogA: """Aの情報を表すログ""" __logname__ = "log_a" a1: int # Aの1つ目の情報 a2: str #…