2019-01-01から1年間の記事一覧

darksky APIのiconとslackのemojiをマッピング

天気予報から今日のステータスアイコンを変更するLambdaを書くときに使ったもの darksky doc def weather_emoji_mapper(weather_icon) case weather_icon when 'clear-day' ':sunny:' when 'clear-night' ':crescent_moon:' when 'rain' ':umbrella_with_rai…

Sorcery + Request Specで undefined local variable or method `user_sessions_url'

Sorceryを使ったユーザー認証のあるRailsアプリケーションについて、 Request Specでユーザーログインしている状態としていない状態でテストをしようとしたら undefined local variable or methoduser_sessions_url'` が出たのでそのあたりの話 Request Spec…

ユーザー認証にSorcery使ってるときのFactoryBotでactivation_state: 'active'にできない

表題の通り ユーザー認証にSorceryを使っていて、(:user_activationを設定していて、) authenticates_with_sorcery!したUserモデルのFactoryBotで、 FactoryBot.define do factory :user do ... trait :activated do activation_state { :active } end ... e…

AWS Lambdaに割り当てるメモリが少なすぎてスクレイピングに失敗していた

タイトルの通りです。 Lambda + Ruby2.5 + Mechanizeでのスクレイピングが50%ぐらいの確率で失敗していて、 原因がわからず彷徨っていたけどなんとなくメモリ増やしたら落ちなくなったのでメモ ちなみに128MB -> 1024MBにしました ユースケース的には、 毎日…

パターンマッチ中の `..`

mdbookのコードを読んでいて、なんじゃこの記法は、となったコードがあったので、 理解してしまえばなんて無いことですが、しばらく悩んだし戒めのために書きます 簡略化して書くとこんなコードです enum Enum { A(u8, u8, u8), B } macro_rules! some_macro…

mdBookに変なPRを出した

mdBookという、gitbookのrust版みたいなOSSがあります。 github.com マークダウンをつっこむとサイト(やpdfやepubその他レンダラを書けば何でも!)を出力してくれるものです。 主にドキュメントサイトを生成するのに使われていると思います。 Rustの公式ド…

Zero-SizedなオブジェクトをVecに入れてみる

Zero-Sizedなオブジェクトは、メンバを持たない構造体から作ることができます。 struct Blank; // struct Blank {} と同じ fn main() { println!("{}", std::mem::size_of::<Blank>()); // => 0 } https://play.rust-lang.org/?version=stable&mode=debug&edition=2</blank>…

FlutterでFireRemoteConfigを使ってバージョンアップを強制する

FlutterとRemoteConfigを使って、 アプリをあるバージョン"以上"にする方法を紹介します (正確には アプリがあるバージョン未満の場合にアップデートを促す方法、です) まずFlutter側のRemoteConfigの設定を済ませます pub.dev 以下のようにRemoteConfigの…

String and &str in rustについて

github.com My first ever zine, titled "String and &str in Rust" and featuring many cats!✨You can print it from here -> https://t.co/X1xQWrqzpC pic.twitter.com/qV68ZaDjZz— Jeena Lee (@thejeenalee) September 17, 2019 Twitterでみかけたこちら…

std::i32::MAX vs i32::max_value()

std::i32::MAXとi32::max_value()、重複した役割のものがなぜ存在するのかなーと思ってちょっと調べていたことをメモ