30歳からのプログラミング

30歳無職から独学でプログラミングを開始した人間の記録。

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

『WEB+DB PRESS Vol.55』の「モダンネットワークプログラミング入門」を読んだ

ネットワークプログラミングの基本的な用語や概念、 I/O 戦略の代表的なパターン、について書かれた特集記事。 15 年前の特集記事で、執筆者は古橋貞之氏。 業務でデータパイプラインのお守りをしている私にとっては「Embulk を作った人」というイメージが強…

短いサイクルで意思決定を繰り返してデータガバナンスを漸進的に改善していく

自分の現在の主業務はデータプラットフォームの構築や運用だが、その文脈でここ数ヶ月取り組んでいたことのひとつに、データガバナンスがある。 データを利活用したい人がより安全かつ便利に利活用できるようにしていくこと、データ利活用体験を向上させてい…

Google Cloud のデータプロファイル機能で BigQuery のデータを継続的に検査する

Google Cloud の Sensitive Data Protection には「データプロファイル」と呼ばれる機能がある。 この機能を使うことで、機密情報が入ってしまっていないかなどの検査を、大量のデータに対して実施できる。 この記事では、データプロファイルを利用するにあ…

『ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道』を読んだ

いわゆる「システムプログラミング」の入門書。 タイトル通り Linux の仕組みを学びながら、実際に C 言語でコマンドや HTTP サーバを実装していく。 本当に初学者向けの入門書であり、カーネルとは、システムコールとは、というところから説明していく。 そ…

データ領域の Platform Engineering と「データ利活用体験」の向上

ソフトウェア開発をよりよいものにしていくための取り組みのひとつとして Platform Engineering という考え方がある。 厳密な定義は存在しないようだが、概ね、社内の開発者向けにプラットフォームやツールを提供したり、それらに対するイネーブルメントを行…

BigQuery ポリシータグによるカラム単位でのアクセス制御と dbt によるポリシータグの付与

BigQuery にはポリシータグという仕組みがあり、これを使うことで BigQuery のリソースに対してきめ細やかなアクセス制御を行うことができる。 この記事では、ポリシータグを使って任意のカラムに対するアクセス制御を実現する方法を紹介する。 ポリシータグ…

Claude Code(Claude Sonnet 4) に Google Cloud + dbt のデータパイプラインを作らせてみる

自分ではコーディングやコマンドの実行などを行わずプロンプトによる指示だけで進める、いわゆる「バイブコーディング」で開発を行った。 Cloud Storage に csv ファイルが入っているだけの状態から、 BigQuery Data Transfer Service の定期実行で BigQuery…

Cloud DLP を使って BigQuery に入っている個人情報を検知する

Cloud Data Loss Prevention (以下 Cloud DLP) は機密データを保護するための Google Cloud のサービス。渡したデータや指定したストレージに入っているデータに対して、機密データが含まれていないか検査したり、含まれていた場合に匿名化を行ったりするこ…

データエンジニアリングって何が面白いんだ?

最近『データエンジニアリングの基礎』という本を読み始めた。 この本の冒頭で、データエンジニアリングやデータエンジニアの定義は曖昧で、人によって言っていることがバラバラだという話が出てくる。そこで著者たちは自分たちなりの定義を示し、それに則っ…

dbt の Python model を Dataproc クラスタで実行する

dbt には Python model という仕組みがある。これを使うことで SQL ではなく Python で model を書くことができ、SQL では不可能な処理が可能になる。 データウェアハウスとして BigQuery を使っている場合、 Dataproc を利用して Python model を動かすのが…

Dataproc クラスタで PySpark ジョブを実行して学ぶサービスアカウントの初歩

Dataproc は Google Cloud が提供しているサービスのひとつ。Dataproc を使うことで、Apache Spark や Hadoop を利用するためのインフラを簡単に用意することができる。 そして Python で Apache Spark を使うための仕組みが PySpark 。 Dataproc を利用する…

『GitLabに学ぶ 世界最先端のリモート組織のつくりかた ドキュメントの活用でオフィスなしでも最大の成果を出すグローバル企業のしくみ』を読んだ

現職はリモートワーク可能であり、自分はフルリモートで働いている。 そのためフルリモートでどうやって生産性を高めていくとよいのかに関心があり、本書を手に取った。 個々の取り組みについては斬新なことや目新しいことは特になく、必要なのは「やるべき…

Google Cloud クライアントライブラリがアクセスするプロジェクトはどのように決まるのか

Google Cloud のクライアントライブラリを使うと API を通して Google Cloud のリソースにアクセスすることができる。 そして多くの場合どのプロジェクトのリソースにアクセスするのかを指定する必要があるが、その指定方法は複数ある。 この記事では、プロ…

gcloud auth application-default login は何をしているのか

dbt でデータウェアハウスとして BigQuery を使う際、ローカル開発においては OAuth 方式を使うことが推奨されている。 そしてその場合はgcloud auth application-default loginコマンドを実行する必要がある。 確かにこのコマンドを実行すると BigQuery と…

gcloud CLI の認証とプロパティと構成

gcloud CLI は Google Cloud のリソースを管理するための CLI ツールだが、これを使ってリソースにアクセスするためには当然、アカウントの認証を行わなければならない。そして gcloud CLI では様々な操作を行えるが、その挙動を自分の意図した通りに制御す…