Yuta NakataのBlog

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

【サンプルコード有】今日から始めるpytest

背景 Pythonユーザー初級〜中級者の方にとって、 書いたコードの正しさを効率的にテストしたい と考えるのではないでしょうか。 Pythonには、テストフレームワークはいくつもありますが、pytestの人気が高いことは明らかです。 そこで、今回は今すぐ始められ…

【サンプルコード有・コピペで行ける】EC2, ALB, CloudFrontをCloudFormationを使って書く

背景 EC2、ALB、Cloudfrontを使ってリソースをデプロイしたい。 めちゃくちゃあるあるな構成(SAAの試験に出てきそうなぐらい)なので、巷にそれらしい記事はいっぱいある。 しかし、、 マネコン操作があったり EC2とALBのみ 等、以外と同じことをしている記…

プログラミングコードの書き方一つでAWSのクラウドコストは大きく減らせる話【数値計算偏】

ランキング参加中AWS (Amazon Web Services) 背景 AWSを用いた数値計算は往々にして行われているかと思います。 計算にあたって、コンピューティングリソースは、EC2、ECS、Lambdaなど様々な選択肢があるかと思います。 一方で、数値計算をクラウド環境で行…

【最速】Cartopy / Matplotlibで最速で日本語を使う方法

ランキング参加中Python 結論 フォントはこだわらない、だけど日本語は使いたいそこのあなたへ! 解決策1 import matplotlib.pyplot as plt import cartopy.crs as ccrs plt.rcParams["font.family"] = "Osaka" plt.title("これで日本語が使えるはずです") …

GitHub Galaxy Tokyo 2024に参加してきました

今回は、GitHub Galaxy Tokyo 2024に参加してきましたので、プロダクトセッション・ビジネスセッションを通じて得られた学びをこちらにまとめていきたいと思います。 github.registration.goldcast.io テクノロジー 新規Updateについて Copilot WorkSpace 全…

【Vue】実際の現場でよく使うイベントをまとめてみた

本記事のPoint Vueでは、 @イベント名="メソッド名" 等様々なイベントがあります。 ただし、イベントによっては実際の現場で使われないものもあります。 たとえば、 <template> <div id="app"> <input type="text" v-bind:value="Name" v-on:input="changeName"> {{Name}} </div> </template> のように、 v-model = v-bind + v-on など、v-modelで書けるのであればそち…

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選を紹介します。 他にも、色々言いたいことはありますが、、、、まずは、これ…