はじめに

Node.js で BTC の単位変換(1 BTC = 100,000,000 Satoshi)を正確に行う方法を調べた。

TL;DR

  • Node.js で BTC の単位変換をするには satoshi-bitcoin パッケージを使う
  • toSatochi で BTC → satoshi
  • toBitcoin で BTC ← satoshi

目的・やったこと

通常、整数型と浮動小数点数との変換には、丸め誤差による影響が出てくる。BTC の単位変換を行う際に、正確に変換する方法を調べた。

続きを読む

はじめに

Python boto3 で AWS S3 を操作する では、ローカルに保存されているファイルや画像をアップロードする方法などを調べた。

また、Python requests で画像をダウンロードして保存する方法 では、requests を使って、画像をダウンロードする方法を調べた。

今回は requests でダウンロードした画像を、ローカルに保存することなく 直接 S3 にアップロードする方法をまとめた。

TL;DR

  • res = requests.get(image_url, stream=True) でダウンロード
  • bucket.upload_fileobj(res.raw, "key/of/file") でアップロード
  • 必要に応じて ExtraArgs={"ContentType": res.headers["Content-Type"]} を付与

目的・やったこと

requests でダウンロードした画像を、ローカルに保存することなく 直接 S3 にアップロードする方法を調べた。

続きを読む

Python boto3 で AWS S3 を操作する



カテゴリー Programming

はじめに

Python boto3 を使って、AWS S3 にファイルのアップロードや削除方法を調べた。

TL;DR

  • アップロードは boto3.resource("s3").Bucket("your-bucket").upload_file
    • 公開状態にしたい場合は、Bucket そのもののブロックパブリックアクセスをオフにして、ExtraArgs={"ACL": "public-read"} を付ける
    • 画像をブラウザで開きたい場合は、ExtraArgs={"ContentType": "image/jpeg"} などを付ける
  • 削除は boto3.resource("s3").Bucket("your-bucket").delete_objects

目的・やったこと

Python boto3 を使って、AWS S3 にファイルのアップロードや削除方法を調べた。

続きを読む

はじめに

Rails で既存の DB を利用するアプリケーションの作り方を調べた。注意点としては、Rails からは DB の更新は行わず、読み込みのみ(Read Only)という構成である。

※最終的にはアクセスログなどのテーブルを更新することになると思うが、「アプリケーション本体の機能としては DB の更新はなし」(別のプログラムで DB が作られる)というイメージ。

TL;DR

  • DB 参照だけなら config/database.ymlapp/models/your_model.rb だけ作れば良い
  • db/schema.rbdb/migrate/xxxx.rb は不要
    • db/schema.rb あると、DB の構成確認できて便利かもね

目的・やったこと

冒頭に述べた通り、別プログラムで DB が作られているような構成で、ユーザー表示部分のみを Rails で提供したい場合の使い方を調べた。

続きを読む

Git で#から始まるコミットメッセージを登録



カテゴリー Programming
タグ
Git Programming

はじめに

GitHub で Issue と紐付けるため、# から始まるコミットメッセージにしようとしたらコメント扱いされてハマったので対処方法を残しておく。

TL;DR

  • 1行メッセージなら git commit -m "#x hogehoge" で OK
  • 複数行メッセージなら git commit --cleanup=whitespace で OK
    • 余計な内容がコミットメッセージに残らないように注意

目的・やったこと

Git のコミットで # をコメント扱いされない方法を調べた。

続きを読む

r17n


Softwear Engineer


Fukuoka