メモるブログ

技術メモを書いていく所存

2018-05-16

記事紹介

Ruby’s New Exception Keyword Arguments

  • 概要
    • Ruby 2.6でKernel.systemとかInteger(xx)とかでexceptionのオプションを入れられる。falseの場合はエラー時にraiseしない
    • rescueすれば今までも何とかなったけどパフォーマンスの問題があった

Google Chrome 68 introduces HTTPS as the new security must-have

  • 概要
    • Google Chrome 68でhttpのサイトはNot Secureと表示される
    • HTTP/2とかの話もあるのでSSL化良い

6 Things to Share Before Outsourcing Your Rails App

  • 概要
    • Railsアプリをアウトソースする前にシェアすべきことを開発・非開発サイドにわけて解説
  • コメント
    • これ、Railsにかぎらずって感じだな。SIではよくアウトソースするのでこういうの大事。

To Sleep, Perchance to Dream: Rails Ruby Bench and Sleepy GC

Deprecating Paperclip

Functional Programming in Ruby — Closures

  • 概要
    • RubyでFPやる話。
  • コメント
    • 関数型馴染みがない…
    • callが[]や.()で呼べるの好き

The biggest Rails code smell you should avoid to keep your app healthy

  • 概要
    • コールバックはちょっと可読性悪いし不具合出しやすいので外に出すのはどうですか?という話
  • コメント
    • わかる。けど小さいうちはコールバックでも良いのでは?という感じもする
    • メール送信系とかは怖いのでフォームやサービスにラップして扱いたい

Domain Events over Active Record Callbacks

  • 概要
    • コールバックは毎回飛ぶので飛ばしたくないケースに出くわしたとき色々大変。
    • あとデータの整合性の話でafter_saveなのかafter_commitなのか、など色々と注意すべき点がある。
    • なのでイベントのpub/subでコールバックを外に出していい感じに分離しつつ柔軟に設定できるのではないか?という話

How To Remove Argument Order Dependency In Ruby

  • 概要
    • 3rd partyライブラリのイニシャライズのインターフェースがいけてなくてハッシュのargumentじゃなかったのでラッパー=Factoryの層を噛ませて良い感じにした話

How to mitigate DDoS using Rack::Attack

  • 概要
    • Rack::Attackの使い方

gem

baweaver/pry-macro

  • pryでマクロ(=コマンド列)をカジュアルに試せるやつ
  • これ良いかも!と思って試してみたけどうまく動かない…?

browserslist/browserslist-useragent-ruby

  • ユーザーエージェントがブラウザーなのか?とかoutdatedじゃないか?とかを調べるgem

RailsEventStore

  • イベントpub/subでActiveRecordのcallbackをなくそう、というモチベーションのgem
  • ドキュメント見てると blockで処理を囲ってlistenerとlistenするイベントを指定してcallするとコールバックする仕組みっぽい。これならserviceじゃなくてcontrollerに入れても良いかも。
  • コールバック忘れ問題はあるんだけど、subscribeしなかったらワーニングとかが出来るのであればより良さそう(仕組みとしてはできそう…?)