構成 プライベートサブネット内で起動したlambda関数から、インターネットを経由せずSESを呼び出そうと思います。 本記事では以下の構成でlambda関数からSESを呼び出します。 acrhitecture 本文中コード. github.com lambdaからSESにアクセスする手段 プライ…
本記事は datatech-jp Advent Calendar 2024 の13日目の記事です。 はじめに Glue Catalogに登録したiceberg tableにAWS GlueJobでデータの書き込みを行うケースは多いかと思います。 通常、Glue Catalogのスキーマに登録されていないカラムを持つデータをGl…
本文中コード github.com flat layoutとsrc layoutについて Pythonプロジェクトのディレクトリ構成について調べてたところ、flat layoutとsrc layoutという2種類のディレクトリ構成が存在することを知りました。 src レイアウト対フラットレイアウト - Pytho…
本文中コード github.com Noxとは Noxはテスト用のpython仮想環境を作成し、テストを自動化するコマンドラインツールです。 Welcome to Nox — Nox 2024.10.9 documentation Noxを利用することで以下のことを実現できます。 チームメンバーのローカルPC上の環…
AWS Glue Jobによるicebergテーブル操作 AWS Glueではicebergテーブルフォーマットがサポートされています。 AWS Glue での Iceberg フレームワークの使用 - AWS Glue iceberg形式は大規模なデータセットを効率的に処理を行うことができる、データレイクに保…
Glue Jobのローカル開発 AWS Glue Jobをローカル環境で開発する際、AWS公式が提供してるDocker imageを活用する方法があります。 Developing and testing AWS Glue job scripts locally Glue Jobを利用する場合、S3からデータを取得・保存するユースケースが…
今回作成したdotfliesです。 github.com chezmoiとは Go製のクロスプラットフォームのdotfiles管理ツールです。dotfilesとは .zshrc や .gitconfig といった設定ファイルを指す言葉です。 chezmoiの名前はフランス語の chez-moi (シェモア)に由来し、意味は…
本記事について 機械学習システム設計の面接対策本である「Machine Learning System Design Interview」を読んだ時の読書メモです。 本書についての紹介記事は以下となってます。 nsakki55.hatenablog.com 本書の公式HP bytebytego.com 1. Introduction and …
どんな本か システム設計の本として有名な System Design Interview の著者であるAlex Xu 氏が運営するByteByteGoが監修した、機械学習システム設計面接について書かれた本です。 日本語訳の本ではシステム設計の面接試験が有名かと思います。 bytebytego.co…
Prefect 3.0とは 2024年6月にPrefect 3.0のtechnical preview版がリリースされました。 Introducing Prefect 3.0 2022年7月にPrefect 2.0がリリースされたので、2年ぶりのメジャーアップデートとなります。 Prefect 1.0から2.0へのメジャーアップデートの際…
ControlFlowとは Prefect社が2024年6月に公開した、LLM Agentワークフローを構築するOSSのPythonフレームワークです。 公式リリース記事: Agentic LLM Workflows | ControlFlow by Team Prefect 上記事ではLLMを含むワークフローの構築には、3つの課題が存在…
写真は前職の最終出社日に同期と朝まで飲んで撮った渋谷スクランブルスクエア この記事について 本記事では自分が外資IT企業のSoftware Engineer - Machine Learning(機械学習エンジニア)に応募して、オファーをいただくまでにやったことを書きます。 外資IT…
Breaking the Wall between AI and DevOps with MLOps microsoftの公式GitHubアカウントにMLOpsというレポジトリがあります。 その中に、MLOps whitepaper.pdfというファイルがあり、各章の要点をまとめました。 MLOps/MLOps whitepaper.pdf at master · mic…
MLOps: Continuous Delivery for Machine Learning on AWS AWSが2020年12月に公開した、AWSでMLOpsを実践するためのホワイトペーパーです。 MLOps: Continuous Delivery for Machine Learning on AWS 機械学習システムを運用するための要素、MLOpsと関連する…
Googleが公開した、MLOps実践のためのホワイトペーパー GoogleがMLOps実践のためのホワイトペーパーを公開しています。 Practitioners Guide to Machine Learning Operations (MLOps) 2021年5月に公開されたものですが、2024年現在に読んでも色褪せない内容…
「データエンジニアリングの基礎」を読んだので、感想・各章の内容についてまとめます www.oreilly.co.jp 全体を通しての感想 原本は Fundamentals of Data Engineering で本書は日本語訳となります。 筆者のJoe Reis氏とMatt Housley氏はデータエンジニアリ…
Data Engineering Study #23 Data orchestration 特集の発表「ワークフローオーケストレーション入門」から、ワークフローオーケストレーションの歴史について記事にまとめました。 概要 近年データエンジニアリングの周辺技術が話題に上がるようになり、ワ…
「入門 考える技術・書く技術」の読書メモ www.diamond.co.jp 全体を通しての感想 バーバラ・ミント氏著のピラミッド原則をまとめた「考える技術・書く技術」に対する、「日本人による日本人のための実践ガイド」とまえがきで述べられています。 全168Pと文…
問題 ~/.zshrcに記述した eval "$(pyenv virtualenv-init -)" によって、zshのプロンプト表示が遅くなってることに気づきました。 原因と解決方法を調べたのでまとめました。 結論 ~/.zshrcに記述するのを eval "$(pyenv virtualenv-init -)" ↓ eval "$(pyen…
ターミナルをiTerm2からAlacrittyに変えたので、Alacrittyの設定方法について紹介します。 Alacrittyとは Rust製のターミナルエミュレーターです。 公式READMEでは以下のように特徴を説明しています。 高速に動作 configファイルで柔軟にカスタマイズ可能 BD…
この記事は MLOps Advent Calendar 2023の20日目の投稿記事です。 PrefectワークフローをKubernetes Jobで実行する方法を紹介します。 本文中コード: code-for-blogpost/prefect_gke at main · nsakki55/code-for-blogpost · GitHub Prefect × Kubernetes Pr…
Prefect 2.10以降、インフラ管理の方法はAgentが非推奨となりWorkerが推奨となりました。 PrefectのWorkerについてのまとめ、KubernetesにWorkerをデプロイする場合のmanifestを紹介します。 本文中コード: code-for-blogpost/prefect_kubernetes_worker at …
「プロダクトマネージャーのしごと」を読んだので、メモをかねて各章の感想を書きます。 www.oreilly.co.jp 全体を通しての感想 原本は Product Management in Practice, 2nd Edition で本書は日本語訳となります。 本書が出版された時にプロダクトマネージ…
「機械学習システムデザイン」を読んだので、感想・各章の内容についてまとめます www.oreilly.co.jp 全体を通しての感想 原本は Designing Machine Learning Systems で本書は日本語訳版となります。 原本の著者である Chip Huyen氏が書籍に関する情報をま…
自分はキーボードに HHKB を愛用しています。プライベートでも仕事でも HHKB キーボードを使用していて、毎日 HHKB キーボードを使っています。 今回、動作異常が発生したので製造元の PFU に修理対応をしてもらったところ、サポートが最高だったので感謝の…
ゼロから自作したパケットをpythonのsocket通信を用いてサーバーに送信します。 SYNフラグのパケットをサーバーに送り、SYN, ACKフラグのパケットが返ってくるところまで確認します。 実行環境 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20…
Pythonのメモリプロファイルを行うためにmemrayを使用したところ、インストールからプロファイル実行まで手軽にでき、レポート方法が豊富で使い勝手が良かったので使用方法を紹介します。 本文中コード:code-for-blogpost/memray at main · nsakki55/code-f…
概要 Prefectを本番運用する場合、Flowの実行設定であるDeploymentをPrefect Cloudに登録する必要があります。 Prefectでワークフローを運用する場合、FlowとDeploymentをGitHubレポジトリでコード管理するケースが多いと思います。 この記事では、レポジト…
概要 PrefectではFlow内部で別のFlowを実行する、Sub Flowという概念があります。 Flows - Prefect Docs 例えばMLの学習パイプラインを 学習データの取得 前処理 学習 のように処理に分ける場合、各処理を1つのFlowとしてグループ化できます。 Sub Flowを呼…
PrefectでFlow実行名を変更する方法を紹介します。 本文中コード: code-for-blogpost/prefect_rename_flow at main · nsakki55/code-for-blogpost · GitHub flow実行名の変更について PrefectのFlow実行名は、デフォルトではランダムに名前が割り当てられま…