Python
LocalStack とは Testcontainers とは セットアップ テスト対象コード テストコードの実装 まとめ 本記事時は サーバーワークスアドベントカレンダー 2024 - シリーズ 1 の 15 日目の記事です。 LocalStack とは こちらはご存知の方も多いかと思いますが、Lo…
はじめに AWS CDK とは カスタムリソースとは 今回の目的 やってみる AWS CDK のインストール AWS CDK プロジェクトの初期化 S3バケットを作成するCDKを作成する 初期データファイルをアップロードする S3バケット内のファイルをコピー 実装完了 まとめ はじ…
はじめに データベースでレコードを管理するとき、レコードごとにユニークなキーを設定しておきたい場面は多々ありますよね。 例えば、MySQL の場合は AUTO_INCREMENTのような自動シーケンス機能を使うことで連番を割り当ててくれます。 しかし、DynamoDB に…
はじめに 対象読者 書かないこと uv とは インストール よく使うコマンドの対応 対応表 Python ランタイムの管理 Pipenv uv プロジェクトの初期化 Pipenv uv 仮想環境の有効化 Pipenv uv 依存ライブラリの追加 Pipenv uv 依存ライブラリの削除 Pipenv uv ロ…
こんにちは。 DevOpsが好きなアプリケーションサービス部の兼安です。 本記事は「Amazon Neptuneで始める初めてのグラフDB」というテーマの連載記事の2回目です。 Amazon Neptuneで始める初めてのグラフDB① NeptuneクラスターとNotebookの作成 Amazon Neptun…
こんにちは。 DevOpsが好きなアプリケーションサービス部の兼安です。 今回からしばらく「Amazon Neptuneで始める初めてのグラフDB」というテーマで連載記事を書いていこうと思います。 本記事はその1回目です。 Amazon Neptuneで始める初めてのグラフDB① Ne…
リッチな機能が要らない場合の簡易テンプレートエンジンとして使える Template クラスの紹介です。似たような立ち位置で使える envsubst についても紹介しています。
こんにちは。AWS CLIが好きな福島です。 完成イメージ プログラム 解説 セッション管理 画面描画 画像を表示する関数 モーダルを描画する関数 終わりに 前回、Streamlitでページネーションを実装する例をご紹介いたしましたが、 今回はモーダル内でページネ…
こんにちは。AWS CLIが好きな福島です。 今回はStreamlitを使って、ページネーションを実装する方法をご紹介します。 完成イメージ プログラム 実行方法 解説 セッション管理 アプリケーションロジック 3次元配列で猫の画像パスを格納 ページのインデックス…
こんにちは。 ディベロップメントサービス1課の山本です。 今回は datetime 型にて、タイムゾーンを扱う場合の注意点を説明します。 タイムゾーンの変更方法は主に 2 種類あり、それぞれ挙動が異なるため解説します。 この記事の対象者は? datetime 型 の…
こんにちは。AWS CLIが好きな福島です。 ※5選と言いながら、AWSサービスのアイコン4つしかないですが、Lambdaを使った構成が2つあります。 構成 構成判断フロー図 各構成にWebアプリをデプロイしてみる 構成パターン①: WAF + ALB + VPC + EC2 構成パターン②:…
こんにちは。AWS CLIが好きな福島です。 はじめに インフラエンジニアのキャリアがメインの私が社内でPythonを使ったアプリ開発の学習をする機会があったため、先日から学んだことをアウトプットしています。 今回は以下の技術を活用し、TODO管理ができるWeb…
こんにちは。AWS CLIが好きな福島です。 今回は、インフラエンジニアのキャリアがメインの私が社内でPythonを使ったアプリ開発の学習をする機会があったため、学んだことをアウトプットしていきたいと思います。 アプリ開発では以下の技術に触れたため、いく…
こんにちはこんばんは! サーバーワークスの新谷です。 日本では一般的に業務用のPCとして Windows を使われることが多いかと思いますので、WSL(Windows Subsystem for Linux)と VSCode(Visual Studio Code)を使って開発環境を作ると、Windows と Linux …
こんにちは、ディベロップメントサービス1課の山本です。 初めてスプレー形式の日焼け止めを使ったのですが、うまく伸ばせずまだらに日焼けしてしまいました。太陽が憎い。 今回は DynamoDB JSON 形式データの変換方法について説明します。 低レベルAPI(cl…
WebSocketとは サンプルチャットアプリケーションを構築 websocket-clientを使ってみる 最後に アプリケーションサービス部の鎌田(義)です。 PythonのWebSocketクライアント用ライブラリである、 websocket-client を使ってみたので、基本的な使用方法をご紹…
はじめに 前提 起こったこと 原因 回避策 1. poetryを使用する 2. requirements.txtを使用する 開発環境ではPipfileを使用しつつ、パッケージングにはrequirements.txtを使うパターン 3. カスタムDockerイメージを使用する 最後に はじめに アプリケーション…
この記事について AWS CloudFormation(以下、CloudFormation)テンプレートファイルを渡すと、Parametersセクションを読み取り、AWS CLIでデプロイする際に使えるパラメーター(parameter-overrides)のJSONを生成するPythonスクリプトの紹介です。(ファイ…
こんにちは。アプリケーション部の兼安です。 少し前に脆弱性検知のブログを書かせていただきました。 blog.serverworks.co.jp その時に作った検証用リポジトリでGitHubのDependabotをONにしていたところ、2024年1月になってパッケージの脆弱性を検知してく…
こんにちは。 アプリケーションサービス部の兼安です。 今回はAmazon Timestreamの書き込み処理のお話です。 本記事のターゲット Amazon Timestreamを使い始めたぐらいの方を想定しています。 Amazon TimestreamがSQLが使えるため、一見RDBと同じように見え…
本記事はサーバーワークス Advent Calendar 2023 の 13日目のエントリーです。 qiita.com はじめに 最近、AWS CDK を使った開発をしているのですが、AWS CDK のテスト手法としてスナップショットテストと呼ばれる手法があり、これを AWS CDK 以外の開発にも…
はじめに アプリケーションサービス部の鎌田(義)です。 アドベントカレンダー6日目ということで、 最近Pythonでコードを書いていて試行錯誤した内容をブログにしたいと思います。 はじめに 概要 背景 使用したファイル 検証環境 Amazon EC2 Python 検証に使…
はじめに 概要 参考 やってみた 環境の作成 ElastiCache ServerlessをMemcachedで作成 Opensslで接続 Pythonで接続 おわりに はじめに こんにちは、荒堀です。 Amazon ElastiCache ServerlessのRedisを触ってみたので、今度はMemcachedの方も触ってみます。 …
はじめに 概要 参考 やってみた 環境作成 Cloud9にデータベース作成 Python実行 おわりに はじめに こんにちは、荒堀です。 ElastiCacheの公式のハンズオンがあります。今回はこれをAmazon ElastiCache Serverlessでやってみます。 aws.amazon.com このハン…
はじめに 概要 参考 やってみた 環境の作成 Pythonで操作 おわりに はじめに こんにちは、荒堀です。 先日、一般利用開始したAmazon ElastiCache Serverlessを、Pythonから使ってみました。 概要 Pythonのredisライブラリを使います。以下の2点の対応が必要…
GPT-4 との対話を通して EC2 インスタンスを起動する様子 はじめに Function Calling とは 実装 ライブラリのインポートと openai クライアントの定義 対話を行う chat 関数 1. Chat completion API に渡す引数を作成する 2. ユーザーの初回の投稿を送信する…
東北のサウナー、小菅です。 AWSのCloud9上でPythonを使って検証をしようとしましたが、 「Pythonのバージョンアップってどうやるんだっけ?」と言いつついつもググるんですが よくわからないエラーが出たりしては他の記事を辿り・・・となりがちです。 備忘…
本記事では、GitHub リポジトリへのプッシュをトリガーに、CodeBuild で Alembic を用いた DB マイグレーションを行います。
pythonコードでRDBの変更管理を可能とするプラクティス
AWSにおいてJupyterノートブックを実行する場合は、通常はSageMakerの画面でノートブックインスタンスを起動してJupyterを画面を開いて実行します。 つまり、手作業なりますが、Papermillというツールを使えばバッチ実行が可能です。 本記事ではPapermillを…
こんにちは。技術課の山本です。 Lambda のランタイムに Python 3.10 が追加になったようです。 4/20 追記:正式に発表がありました。(4/19) aws.amazon.com AWS マネジメントコンソールに表示が出るようになりました。 AWSの最新情報 に発表はまだなく、ド…
要約 serverless-python-requirements で設定値を変更した後は $ serverless requirements cleanCache を実行しておかないと変更が反映されないときがある。 そして、プロファイルごとに実行しよう。 はじめに こんにちは。アプリケーションサービス部の保田…
デザインパターンとは何か、用語の意味およびなぜ学ぶ必要があるかについて話します
オブジェクト指向プログラミングとよく耳にしますが、どのようなプログラミング手法を見てみましょう
PythonでClassを定義する方法と、Classの定義に使用される__init__とselfがどのようなものかを紹介します。
Classメンバー(属性やメソッド)にアクセスする際に、その制御をするためのアクセス修飾子と、クラスから直接呼び出せるメソッド、クラスメソッドを紹介します。
デザインパターンを理解するにあたって必須概念となる「継承」と「オーバーライド」を紹介します
抽象Classとは?抽象メソッドとは?抽象とはどのような意味かをみてみましょう。
pytest-cov とは カバレッジとは C0 カバレッジ(Statement coverage: 命令網羅) C1 カバレッジ(Branch coverage: 分岐網羅) C2 カバレッジ(Condition coverage: 条件網羅) 試してみる インストール 実行方法 Visual Studio Code で可視化したい まとめ…
はじめに この夏の 土用の丑の日 に鰻を食べれなかったので、この秋は秋刀魚を絶対に食べることを目標にしているアプリケーションサービス部の森です。 今回は、たまたまOSをクリーンインストールしたので、 新たにPythonをインストールすることになったので…
概要 各ツールの対応範囲 pyenv の主要操作(Python のバージョン管理) パッケージ管理ツール別の主要操作 仮想環境(シェル)への入り方 パッケージを指定してインストール パッケージを requirements.txt, Pipfile, project.toml からインストール パッケ…
Pythonのcollectionsライブラリに含まれた型の中で有用なものを紹介します。今回はnamedtupleです。
Pythonのcollectionsライブラリに含まれた型の中で有用なものを紹介します。今回はOrderedDictです。
Pythonのcollectionsライブラリに含まれた型の中で有用なものを紹介します。今回はdequeです。
Bandit とは 試してみる インストール 実行方法 設定 特定箇所のみチェックを無効にしたい flake8 のプラグインとして まとめ あわせて読みたい Bandit とは github.com Python コードのセキュリティ問題をチェックしてくれるツールです。Amazon CodeGuru Re…
McCabe とは 循環的複雑度とは 試してみる インストール 実行方法 flake8 のプラグインとして まとめ あわせて読みたい McCabe とは github.com Python コードの複雑さをチェックしてくれるモジュールです。複雑さをチェックすることで、保守性の悪いコード…
どうも! swx-ochiai です。 Python 3.10.x をAmazon Linux 2 にインストールします。 ただし、プリインストールのOpenSSLバージョンが 1.1.1 未満の場合、インストールに失敗します。 そのため、この記事では、ハマりやすいポイントを取り除くためインストー…
こんにちは。DS1課の戸塚です。 今回は、PythonでBoxSDKを使ってBox上のファイルをダウンロードする方法を書いていきます。 インストール pip install boxsdk サーバー側JWT認証を使用するBoxアプリを使用する場合 pip install "boxsdk[jwt]" 認証 Box SDKを…
はじめに アプリケーションサービス部ディベロップメントサービス1課の森です。 めちゃめちゃ久しぶりのブログを書いてますが、最近の流行りはマインクラフトとスプラトゥーン2です。 もうすぐスプラトゥーン3が出るので楽しみにしています。 今回は、Pyt…
pytestの概要およびインストール方法、使用方法を紹介します。