はじめに

ディレクトリ(プロジェクト)ごとに Node.js のバージョンを変更したかったので、管理ツールを調べた。

TL;DR

  • nodenv を使えば、ディレクトリごとに Node.js のバージョンを管理できる
  • nodenv install <version> で Node.js の指定バージョンをインストール
  • nodenv local <version> でそのディレクトリで使う Node.js のバージョンを固定

目的・やったこと

ディレクトリ(プロジェクト)ごとに Node.js のバージョンを変更したかったので、管理ツールを調べた。

続きを読む

はじめに

JavaScript で setTimeout, setInterval, addEventListener のコールバック関数に引数を渡す方法をまとめた。

TL;DR

  • setTimeout, setInterval には bind(<this>, <args>)
    • コールバック関数内では、関数定義の仮引数でアクセス
  • addEventListener には第二引数を Object 型で渡す
    • コールバック関数内では this.args で引数にアクセス

目的・やったこと

setTimeout, setInterval, addEventListener のコールバック関数に引数を渡したかったので調べてまとめた。

続きを読む

はじめに

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 で提供したい場合の使い方を調べた。

続きを読む

r17n


Softwear Engineer


Fukuoka