ソモサン

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

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 のカスタムコネクタで。

Windows でプロセスごとの TCP IO をとってグラフにした

まぁいうてリソースモニターでできてることなんですが… それでも面白いことがあったので。 結果はこんな感じ。 時々帯域をとってるのは、Firefox の通信です。 ブラウジングはこんなもんですかね。サイズ的にも KB なので、そこまでがっつり見に行ってなかっ…

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 書いてあります。 サンプルコードは割と雰囲気で書いているのでコンパイルはすぐできないかも。

MX ERGO 雑感

土曜日にヨドバシカメラで買って今日会社にもっていっての感想 www.logicool.co.jp 角度 買った一番の理由です。普通のマウスで角度が付いたやつがあるので、トラックボールもあるかなーと探してみてもなかったんですよね。前。 んで、今回でてきたので飛び…

builderscon tokyo 2017 で知らないものを見てきた #builderscon

短く やー、やっぱり面白い。 2年連続で参加して良かった。

builderscon tokyo 2017 でツライだけではない話を聞いた #builderscon

大人のビルコンめっちゃよかったです! 口外無用なので何も書けないんですけどw タイムテーブル builderscon.io 概要のブログ blog.builderscon.io 非常に泥臭く、人間臭く、でもツライだけで終わってない感じがよかったなぁ。 TL で流れてた某銀行の話は確か…

YAPC::Fukuoka 2017 Fukuoka に参加してきた

書くのが遅れに遅れて、展開したお土産がすっかり消化されるぐらいまでたっちゃってました。 感想ブログになります。 *1 *1:お土産はなんばん往来と博多ぶらぶらです

YAPC::Kansai 2017 OSAKA で会場のあれこれしてた #yapcjapan

yapcjapan.org というわけで、↑のあれこれやってました。 すべては下に集約されるわけですが。 あーーー、よかった。— 萬屋 rohki (@r_ohki) 2017年3月4日 会場に関してやっていたことを以下つらつらと。

Rust で素朴に HTTP リクエストを投げる

以前、Windows でHTTP リクエストするために、1時間ほど格闘した rohki です。 ツラカッタ… で、格闘する原因となった HTTP ライブラリ hyper の OpenSSL への依存が v0.10 でなくなったとのこと。 Release v0.10.0 · hyperium/hyper Remove SSL feature (and ope…

大阪から日帰り弾丸で builderscon に参加した

大まかな感想 面白かったー! なんだろう、異種格闘技戦というかごった煮というか闇鍋というか。 buildersconは「知らなかった、を聞く」をテーマとした技術を愛する全てのギーク達のお祭りです。 公式サイトや Opening で言われていた通り、祭りって言葉がぴ…

Rust でネストが深くなったけど未解決

前に行った into_iter() は無事動きました。何だったんだ。 今はこんな感じです。 perf_client/pdh_wrapper.rs at master · ROki1988/perf_client · GitHub impl PdhController { pub fn new(path: Vec<PdhCounterPathElement>) -> Option<PdhController> { pdh_open_query() .map(|q| { let cs = p</pdhcontroller></pdhcounterpathelement>…

Rust で Windows のパフォーマンスカウンターをとってみる

前回作った車輪の再発明!! 言い訳はしない! GitHub - ROki1988/perf_client 色々頑張った結果… fn main() { let path_list = vec!["\\Memory\\Available Mbytes"]; if let Some(pdhc) = PdhController::new(path_list) { let m = pdhc.current_values(); pri…

OOP の勉強がてら Windows の Graphite クライアント書いた

動機 Windows のパフォーマンス計測をしたかったのです。 で、クライアントの計測なので、ランタイムインストールはよけたい所でもあったのです。 インストールする物が多かったり大きかったりすると、協力して貰いにくく… C# 製の↓のがあったんで展開してみ…

Rust + Windows でウィンドウタイトルとかとってみる

なにしてんねん 社会人生活4年目で、Windows に染まりきってしまいました・・・ ShellScript で GCC ビルドをしていたあの頃にはもう・・・ さて Rust をこのごろ触ってます。 で、Windows でも API がちょろっとあったので、試しにやってみました。 ROki1988/acti…

トラックボール生活 -1週目-

Bash on Windows の流行にのれてない rohki です。 試す時間が・・・ ELECOM マウス トラックボール 有線 6ボタン ブラック M-XT3URBK出版社/メーカー: エレコム発売日: 2015/10/17メディア: Personal Computersこの商品を含むブログを見る さて、使っていたマ…

ややこしい COM とスレッドの初期化(?)をコードにする

Windows に相も変わらずどっぷりの rohki です。 Windows には COM という便利な、便利な仕組みがあります。 この COM とスレッドが絡むと、アパートメントという仕組みが出てきます。 COM ライブラリを初期化する (Windows) 上記を参照すると、以下のように…

プロセスごとの Disk IO がパフォーマンスカウンターの Process からじゃあとれない悲しみ

パフォーマンスカウンターでの性能計測は、テストや開発で行います…よね? そこでタイトルの話ですよ。

GW 読書強化週間!

の予定だった GW の間に積み本消化してやるぜ!といきごんでいたのです。 ところがどっこい、読み切れたのは2冊でした。 その紹介と感想をば。 エッセンシャル スクラム エッセンシャル スクラム: アジャイル開発に関わるすべての人のための完全攻略ガイド (O…

Delphi 開発環境で欲しかったモノが出そろってきた

どゆこと? 以前、Rad Studio 勉強会にて以下のような発表したんですよ。 20160326 第10回 Rad Studio 勉強会@Osaka from Ryo Ohki www.slideshare.net で、導入したいなーってことで以下3つがありました。 ソースコードの分析 テストコード実行の簡略化 Git …

REST.JSON での直列化

JSON の色々を調査中で、その一環として見つかったので書きます。 こんな書き方すると各方面の方に怒られますが、手続き的に。 procedure TForm1.JSON; var PersonList: TList<TPerson>; JsonObj: TJSONObject; begin PersonList := nil; JsonObj := nil; try PersonL</tperson>…

ガチガチに緊張しながら Scala Matsuri 2016 の LT で発表した

やるんだよね(ニッコリ) と再三再四背中を押していただいての発表と相成りました。 生放送で流れると当日確認してさらに死にかける罠。 内容はこんな感じ 3週間の Scala 開発で得たモノ from Ryo Ohki 1行もコード無し!!! ええやん、軽めのやつがあっても… …

2015年歳末棚卸し

Twitter 見ながらふりかえり。 なんか、色々積もり積もったものを頑張った1年だったかなぁ、と感じます。 特に CI 環境については、なんでできないんだろうを一つ一つ潰して、やっとできるようになったので、 結構感慨深くあります。*1 Podcast やブログ記事…