読者です 読者をやめる 読者になる 読者になる

"Devise" は自分にはまだ早かった話

Railsチュートリアルから少し離れた話です。




Railsを利用して、1本学習系のサービスを開発中です。

そこに付与する認証機能として、
やはり独自でemailなどの情報を保持しておきたくないので、
Omniauthを利用して

を利用しようかと考えています。

Google先生に教えていただきながら進めていくと、
どうしても出てくるのが Devise という名前。

認証に関わるような「あるある処理」を一括実装できるようで、
いろいろ説明を読んでいると、たしかにすごい。

でも、触っていると(私が初心者だからもあると思いますが)疑問が湧いてきます。


なんでも出来過ぎじゃないのかな?という疑問

いろいろな機能が一気に突っ込まれることは理解できましたが、
私自身使いこなせる気がしていません。

たしかに各所に存在する情報を利用すると、
簡単に認証系が実装できましたが、
一部はなんとなく動作を把握できましたが、細かいところは個人的にブラックボックスです。

「使いこなせないお前が悪い」、と言われたらそれまでなのですが、
まずはRuby on Railsでの認証のなんたるかを把握してから
こういうものに手を出したほうがいいのでは?という気持ちになってきました。

果たして何か起きた時に対応できるのか?

普段の業務では Java/javascript を利用しており、
OSSのライブラリやフレームワークを利用することも多々あります。

ただし、トラブルが起きた際にはソースを読んで動きを追うことも多々あります。
javascript系のライブラリであれば、実際に手を加えて直すこともあります。

ただ、これをJava/javascript初心者だったころにやれと言われたら無理だった気がします。


というわけで...

今のところ一人で進めている開発なので、
何か起きた時に自分で対応できるよう、認証系でDeviseは利用しないことにしました。

でも。。。

正直、DeviseというGemはすばらしいと思いました。

あれだけのものを、瞬く間に作れてしまう。これはやはり驚異的です。

こういったものを有効活用して効率的に作成するのもRailsの魅力だと考えているので、
いずれ自作した認証部を置き換えてみたいと思います。




でも実際のところ業務とかでは使うのだろうか?

認証と言っても、やはりサービスモデルによって色々差異はあると思いますし、
すべてが共通だとは思えないです。

Deviseを入れてカスタマイズするのと、スクラッチで作るのを天秤にかけて
より効率的なほうを選んでいく感じなのかな?



うーん、やはりまだまだ未熟でございます。。