ソモサン

私rohkiによる活動や読書の記録をつらつらと書くページです

Programming

CodeStar で AWS Lambda + Golang の雛形をサクッと作成してみた

前回 Golang サポートしたらやってみるといってたので、まずは雛形作成と調査だけ。Golang しっかり書いたことないですし。 CodeStar で雛形作成 AWS Lambda Supports Go をよむと CodeStar に対応しているぜー とかいてあったので、そちらで作りました。 gi…

Kinesis Firehose のデータ変換を Rust でやってみて速度向上が見込めた話

概要 Rust コードを Lambda 上で動かせたーと喜んだんですが、活用どころあるんだろうかと考えてみて検証してみました。 結果として Python 比較で1秒当たりで 15 倍ほど多く処理できました。 以下でつらつらと書いていってます。

AWS Lambda 上で Rust のコードを実行しようとして結構頑張った話

短く OpenSSL はやはり鬼門 というわけでできたー。下が成果物。 github.com

Q. 2017/12/9 の AWS Lambda の OpenSSL のバージョンは?

import ssl def lambda_handler(event, context): return ssl.OPENSSL_VERSION チェック! 結果: "OpenSSL 1.0.0-fips 29 Mar 2010" おし、めんどくさくなってきた。 情報元: OpenSSL 1.0.2 Shared Library missing · Issue #855 · Miserlou/Zappa · GitHub

AWS Lambda の Traffic Shifting Using Aliases で無理やり Chaos Engineering

できんじゃねと思ったらできました。無理やり。 この間発表された AWS Lambda の更新で、エイリアスに対して割合で別バージョンを割り振ることができるようになりました。 ユースケースとしては Canary や Blue/Green が上がってたんですが、Chaos もいけん…

Rust の ライブラリ Rusoto を使って AWS サービスにアクセスする

表題にあるとおり、Rust から AWS にアクセスするための SDK を大分前にメモしていたので試した、という話。 extern crate rusoto_core; extern crate rusoto_s3; use rusoto_s3::{S3, S3Client}; use rusoto_core::{DefaultCredentialsProvider, Region}; u…

Swagger を使って ChatWork といろんなサービスをつなげてる (条件付き)

ChatWork とほかのサービスを連携させようとする場合、選択肢は Zapier か自前実装かと思ってます。 で、そこでタイトルにある第3の選択。Swagger があればどうにかなる。MS Flow のカスタムコネクタで。

Grafana で AWS の見える化がすぐできた

いやー、すごい。 わかったらすぐできました。 例として AWS の使用料を見える化します。 まず、AWS 側で計測をはじめるため、請求ダッシュボード -> 設定 -> 請求アラートを受け取る にチェックをつけます。 で、Grafana を公式サービスおひとり様用で作成…

Rust で Vector データを Map + Vector にいれる

どんな状況だったかというと、JSON で設定ファイルを書く必要があってそれが複数人にいじられるという感じで、マージで地獄を見たのでまずは TSV でどうにかしてみよう、となったときに書いたやつです。*1 ほんと JSON はマージしづらくてかなわん。 そして…

なんとなく思いついた Scala でのライブラリ切り替え

今日オブジェクトのシリアライズ形式を切り替える方法考えなきゃで、ぼんやりと思いついた方法。 trait DataFormat { type Format type Formatter[T] def ser[Data: Formatter](input: Data): Format def de[Data: Formatter](input: Format): Data } trait …

Scala spray-json の書き分けパターンのメモ

なんか、あとどれだけ json シリアライザを書けばいいんだ…ってぐらい書いて知見がまとまったのでメモ。 といっても大体 本家のReadme 書いてあります。 サンプルコードは割と雰囲気で書いているのでコンパイルはすぐできないかも。