Yuta NakataのBlog

Python / AWS / ITについて役立つ情報を発信します

Step Functionsにて、次のStateに進めなかったエラーの話とその回避策について

ランキング参加中AWS (Amazon Web Services) 謎エラーの概要 StepFunctionsにて発生したエラー Lambda の処理が正常に完了した。が、次のStateに進むことができず。 エラー文としては、Timeoutと表記される ただし、このエラーは一度きり確認されたのち、同…

AWS Lambdaのランタイムサポートが終わるとどうなるか?

Lambdaのランタイムサポートが終わるとどうなる? AWS Lambdaは、FaaS(Function as a Service)、サーバーレスサービスの実現において非常に重要な役割を担っています。 一方で、サポートするランタイムの変遷も早く、適宜Version Upを行っていく必要性が求…

AWS/boto3でRate Exceeded の回避方法

結論 import boto3 from botocore.config import Config config = Config(retries = { 'max_attempts': 10, 'mode': 'standard' } ) client = boto3.client('s3', config=config) でOKです。 巷では、 pip install retrying https://github.com/rholder/retr…

python3.12でnpm iをすると、エラーになる話

問題 npm iを叩くと以下のようなエラーに遭遇 npm WARN deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs npm WARN deprecated stringify-package@1.0.1: This module is not used anymore, and has been replaced by …

【2024年最新版】シドニー国際空港のAMEXラウンジはなくなりました

結論 シドニー国際空港のAMEXラウンジは、Plaza Premiumラウンジとなっており、AMEXカードでは入れませんでした(実際に行って確認しましたがダメでした)。 詳細 シドニー国際空港には、AMEXラウンジがあることで有名です。 このラウンジでは、AMEXセンチュ…

【爆速】pythonを使って、ポリゴンデータから地点データを取得する方法

はじめに ベクトルデータからデータを切り出す方法は以前、こちらでも紹介しました。 www.yuta-nakata.net 今回は、より高速に・Tipsも交えて追加の内容があるのでご紹介します。 結論 import pandas as pd import shapely # 取得したい緯度・経度 lon = 135…

LambdaでPandasを高速化するための方法

Lambda(Python)でPandasを使ってる方は、多いのではないのでしょうか? 弊社では、サーバーレスがファーストチョイスとしてよく使われるため、Lambdaの出現頻度が高いです。 このPandasですが、Lambdaの世界(FaaS)で使う際の高速化の方法についてお教えて…

立ち上げ時のSaaS/Webアプリに役立つサービスまとめ

私自身、立ち上げ期のSaaSサービス・Webサービスの開発、個人開発を通じて学んだ立ち上げ期に役に立つサービスをまとめます。 そもそも、なぜ立ち上げ期で役に立つのか? サービス立ち上げ時は、とにかく爆速でコンテンツの充実・プロダクトの中身を作ってい…

CfnでS3バケットを作成・削除、再作成すると、QuickSightのアクセス権外れるらしい

概要と結論 生じた問題 QuickSightのセキュリティ・アクセス権限から、特定のS3バケットを選択して、このバケットを使っています。 CloudFormationを用いて、 S3バケットの作成 を行ったのち、アクセス権の追加を行い、S3バケットを作成したCloudFormationを…

Webサービスとラスター/ベクトルデータについて考える

Webサービスにおけるラスター・ベクトルデータの使い分けについて考えようと思います。 私自身、MapboxやOpen Street Mapを通じて、地理情報データを扱う機会が多いです。 ラスターデータとは? .tif .png といったグリッド形式のデータです。 ベクトルデー…

Mapboxで複数のRaster Tileを同時にセットアップしたい。

やりたいこと Mapboxを使って、複数のタイルデータを同時に表示したい。 ここでは、仮として表示したいタイルサーバーAを、 http://a.example.com/tiles/{z}/{x}/{y}.png とし、 表示したいタイルサーバーBを、 http://b.hoge.com/tiles/{z}/{x}/{y}.png と…

【2024年版】エアーズ・ロックでのオススメプラン

この記事では、オーストラリア ウルルを旅行するにあたり、 バスの乗り方 おすすめの過ごし方 などを、筆者の実体験に基づき紹介します。 今後の観光の参考になればと思います! (朝焼け直前のエアーズ・ロックから一枚) はじめに バスの乗り方 エアーズ・…

テスト自動化ツール「Autify」を使ってみた

Autifyとは? E2E(エンドツーエンド)のテスト自動化ツールです。 ノーコードでシステムの動作テストを複数のOS・ブラウザでテストできるので非常に便利です。 Freeで使用を開始できるので、興味がある方は使ってみてください。 autify.com 使ってみての感…

Pythonマスターへの近道: きれいなコードでプロになる

現場のエンジニア目線でPythonのコードの書き方について、初学者から未経験エンジニアに知ってもらいたい内容です。 一般的な話が多く、現場のスタイルに制限されるものではないので色々なところで使えるかと思います。 やってほしくないこと 変数名をカタカ…

【バックグラウンドプロセス】計算時間の長いタスクはお任せしよう

課題背景 このような場面はありますでしょうか? プログラムAを使って、計算を回したい! ただし、このプログラムは計算時間が長く、待っているのが嫌だ! このときに役に立つのが、バックグラウンドプロセスです。 バックグラウンドプロセスとは? ユーザー…

Lambdaでサードパーティライブラリを爆速で使う方法

ランキング参加中Python ランキング参加中AWS (Amazon Web Services) やりたいこと AWS Lambdaでサードパーティ製のライブラリを使う方法についてです。 今回はPythonを取り上げます。 結論 公式で出しているレイヤーを使う すでに公開されているレイヤーを…

AWSコストを半分に削減した方法

はじめに 弊社でAWSを使ったシステム開発をメインにしています。 年末の大掃除ということで、日頃使っているサービスのコスト見直しを行い、月数千ドルの削減を行いました。 はじめに、我々のチームで使っているAWSアカウントは下記のようなユースケースで使…

Webデザインの扉を開ける:初心者向けFigma活用術

この記事では、Webデザインの勉強を始めようと考えている方に向けて、はじめの一歩の勉強法をお伝えします! この記事でわかること Webデザインを勉強にするにあたり、最初の一歩 Figmaを勉強したい方に向けた勉強法 この記事で扱わないこと Webデザイナーの…

2023年買ってよかったオススメ技術書4選

2023年、最後の記事になります。 記事をお読みなってくれた方、ありがとうございました! 今年1年読んだ本の中で、特に勉強になったものを紹介したいと思います。 1. Vue 3 フロントエンド開発の教科書 2. 達人プログラマー第2版 3. オブジェクト指向UIデザ…

EBSのボリュームサイズを小さくする方法

はじめに EBSボリュームのサイズは増やすことしかできません。デフォルトでは、EBSを縮小することはできません。 AWS公式によれば、小さいボリュームを使用する場合、小さいボリュームを新たに作成し、それにデータを移行する必要があります。 repost.aws こ…

EC2でOS Error Not enough free space to write XXXXXX bytesが出た場合

EC2にログインしたのち、 OS Error Not enough free space to write XXXXXX bytes とエラーがデータ出た場合の解決方法です。 結論 以下の2STEPで解決できます。 根本的な原因は、EC2にアタッチされているEBS(Elastic Block Store)のストレージサイズの容…

QuickSightでWe cannot update the IAM Role. The reason could be one or more from the followingのエラー解決法

事象と経緯 QuickSightを用いてデータの可視化を行っています。 データセットとして、Athenaを使っており、セキュリティとアクセス権限から書き込み権限を追加しています。 起こったエラーとしては、対象バケットにアクセス権を追加した後に、下記のような書…

AWS CloudFormationでDELETE_IN_PROGRESSが終わらないときの対処法

状況 AWS CloudFormationでCloudFrontのリソースを削除しようとした。 DELETE_IN_PROGRESSが10分以上経っても、完了しない。 Eventを確認しても、エラーは確認できず、削除中っぽい。 対処法 とにかく待つしかないらしい 特に、CloudFront周りのネットワーク…

PR前にやって欲しいこと3選

現代のソフトウェア開発ではかかせないGit/GitHub。 GitHubを使ったチーム開発は、現代ではマストだと思います。 そこで、現場のエンジニア目線でこれだけはやっておいてほしい3選を紹介します。 他にも、色々言いたいことはありますが、、、、まずは、これ…

lru_cacheを理解する(Python)

ランキング参加中Python 結論 具体例 使い方のイメージ 結論 pythonには、lru_cacheと呼ばれる標準機能があります。 個人的に、納得できる解説がなかったので、ここにまとめます。 結論、下記のようにまとめられます。 言葉で説明すると、 メソッドのある引…

AWS EBS(Elastic Block Store)はEC2を止めても課金されます

ランキング参加中AWS (Amazon Web Services) Cost Explolerで状況確認 EBSの課金を停止する EBSと料金について 表題の件について解説していきます。 結論としては、 AWS EBS(Elastic Block Store)は、アタッチしているEC2を停止しても課金されます。なので…

AWS Lambdaで複数のファイルを並列で取得する

ランキング参加中Python ランキング参加中AWS (Amazon Web Services) 今日は、AWS Lambda, Python, 並列処理について書こうと思います。 背景 プログラム 背景 Lamdaでデータをダウンロードする時間を圧縮したい! プログラム 下記の例では、awswranglerを用…

LambdaでBoto3/Pandasを使うのをやめて、awswrangler(aws-sdk-pandas)を使いましょう

ランキング参加中Python ランキング参加中AWS (Amazon Web Services) 1. awswranglerってなに? 2. Boto3/Pandasではなく、awswranglerを使う実践的なコード 2-1. boto3/pandasを使う場合 2-2. awswranglerを使う場合 3. なんでawswrangler? 4. 参考文献 1.…

テスト駆動開発の始め方

結局、テスト駆動開発とは何でしょうか? 結論 普通の開発の仕方との違い 参考文献 テスト駆動開発(Kent Beck) テスト駆動Python 結論 まずは、結論です。 テスト駆動開発とは、 ①テストを書き、 ②テストが通るようにプログラムを書き、 ③テストが通ったら…

達人プログラマーのTipsまとめ

先日、達人プログラマー第2版を読みました。 新卒2年目(ソフトウェア開発5年目)として、目から鱗の金言が多かったので、Tipsを一覧にしてまとめました。 また、ダウンロードできるように以下にPDF版も載せておきます。 https://drive.google.com/file/d…