Yuta NakataのBlog

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

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…

ベクトルデータ・ラスターデータから任意の緯度経度のデータを抽出する方法

課題背景 地理情報系のデータを扱う際、ベクトルデータとラスターデータがあります。 これらのデータは、度々巨大であることが多く、素直にデータを読み込むと、読み込み処理が重いという現象があります。 そこで、今回は、大きなデータであっても、データサ…

StepFunctionの基礎と概要【サンプルコード付き】

StepFunctionsとは? 概要 ハンズオン 今回やること 勉強教材 StepFunctionsとは? 概要 StepFunctionsとは、AWSのサービスの一つです。 複数のAWSサービスを簡単に組み合わせ・自動化でき、計算機リソースを分散・並列化させつつ大規模計算を可能にすること…

AWS利用コストをSlackに通知させるツールを作る

はじめに 弊社では、基本的にAWSをベースに開発をしており、クラウド・サーバーレスが基本になっています。 この環境は、様々な面でメリットをもたらす一方で、従量課金型のサービスであるパブリッククラウドにて、予期せぬ出来事が起きないように、利用料金…

Webにおける位置情報技術の概要

はじめに 仕事柄、位置情報を使ったApplicationを作ることが多く、今回Webの世界における位置情報について体系的に学習したいと思い、一冊購入して勉強しました。この記事では、Google MapやOpen Street Map, Mapbox, MaplibreなどのMap情報とWebの世界につ…

AWS Lambda(Python) をローカルで実行する方法

ランキング参加中AWS (Amazon Web Services) ランキング参加中Python はじめに AWS Lambdaは、サーバーレスアプリケーション開発において、とても重宝します。 15分でタイムアウトや、メモリサイズ・エフェメラルストレージに制限があったり、サードパーティ…

AWS Solutions Architect Associate (SAA-C03)に合格するまでの話

はじめに AWS Solutions Architect Associate (SAA-C03)に2022/09/17に受験し、合格しました。 試験勉強をしていた時は、試験が改定されることを途中まで知らず、 え、試験内容改定されるの?しかも前情報が全然ないじゃん!! とめちゃくちゃ焦りました。 …