タグ

rubyとgemに関するMukeのブックマーク (18)

  • ActionArgsが素晴らしい件 #Rails - Islands in the byte stream

    github.com Railsのcontrollerで違和感があるのって actionのinputに params というインスタンスメソッド経由でアクセスすること しかも params はviewからアクセスできる! actionのoutputが controller のインスタンス変数への代入であること しかもそのインスタンス変数はviewからアクセスできる! というところだと思うんですよ。 なぜなら我々は「メソッドの引数でinputを受け取りメソッドの戻り値をoutputとすべし」ということを是としてコードを書いてるわけじゃないですか。リーダブルコードを読むまでもなく、変数のスコープは狭ければ狭いほどメンテナンスしやすいリーダブルなコードだというベストプラクティスを正しいものとしてコードを書いているわけじゃないですか。 そういうベストプラクティスに真っ向から反しているのが現在のRa

    ActionArgsが素晴らしい件 #Rails - Islands in the byte stream
  • Rails 5.1, Ruby 2.4にアップデートしました - Rista Tech Blog

    最近iOSアプリエンジニアに転向ぎみの@mikedaです。 JOBLISTで使っているrubyrailsのバージョンがRuby 2.3.1、Rails 4.2.6とけっこう古くなっていたので、最近、エイヤとアップデートしました。 やったこととか対応したエラーなどをざっとメモっておきます。 作業は以下のように少しずつ進めました。 Rails 4.2.6 -> 4.2.8。合わせて全体的にgemのバージョンアップ Rails 4.2.8 -> 5.0.3 Ruby 2.3.0 -> 2.4.1 Rails 5.0.3 -> 5.1.1 Rails 4.2.6 -> 4.2.8 まずはrailsを4系の最新版にアップデート。 合わせて全体的にgemのバージョンアップしました。 bundle update # Gemfile # gem 'rails', '4.2.8' bundle updat

    Rails 5.1, Ruby 2.4にアップデートしました - Rista Tech Blog
  • 全てのRubyエンジニアはだいたい糞である

    汎用系のエンジニアからRubyエンジニアとして転職して1年。 コボラー(笑)なんて言われることも多いが、この1年で出会ったRubyエンジニアは全て糞だった。 その特徴はだいたいこの3つだ。 1.テストを甘く見ているやれテスト自動化だ、やれテスト駆動開発だの口だけ達者なエンジニアの多いこと。 そもそもブラックボックステスト、ホワイトボックステストを分かっていない奴が多すぎ。 テストコードでカバレージが100%だったとしても実際の打鍵結果でエラーは弾けることが多いのにリリースしてしまう。 そもそもテストケース表を若いうちに書く習慣が無いからだ。 ドキュメントを揶揄し机上デバッグも行わない、こんな状態で「アジャイルですから」とかドヤ顔でいってしまうRubyエンジニアは糞である。 2.パフォーマンスを考えないRubyエンジニアはパフォーマンスを考えない。 どのメソッドがどれくらいの負荷なのか意識

    全てのRubyエンジニアはだいたい糞である
    Muke
    Muke 2016/06/20
    設計出来ないエンジニアがいる会社に入ってしまった事が悔やまれますね。
  • 自分のコード綺麗って思ってんの? - ✘╹◡╹✘

    guideline.gem https://github.com/r7kamura/guideline 恐怖体験があって、震え上がり、少しでも綺麗なコードが書けるようなGemつくってる。複雑過ぎるメソッドや、使われていないメソッドが定義されていないかとか、長過ぎる行を書いてないかとか、簡単なチェックを自動化できる。こういうコードは綺麗ではないみたいなことがふわっと言われているよりは、綺麗ではないコードというのがコードで表現されている方が安心感があると思った。もしコーディングルールとして文書化したのでみんな守ろうみたいな感じにしても、コードを書くときに常にそれを覚えていなければ意味がないし、常にそういうことを気にしながら、ずっと緊張しながらコードを書かないといけない。そういう風に常に何かに気を配りながら作業するというのは、意識は高いけど、疲れるから極力やりたくないし、そもそも新しくその文化

    自分のコード綺麗って思ってんの? - ✘╹◡╹✘
  • 権限管理のgemで良いのはどれ? - おもしろwebサービス開発日記

    昨日は ginza.rb 31回目のミートアップでした。 Ginza.rb 第31回 ユーザの権限管理どうしてます? - Ginza.rb | Doorkeeper @kyuden_ さんに、現状の二大認可 gem である cancancan や pundit、それらの問題点を解決するために作った banken について発表してもらいました。 感想 個人的には pundit のリソースベースでの権限管理は悪くないと思っています。ただスライドで書かれているような、Admin::UsersControlller と UsersController で処理を分けたい時などのエッジケースで回避策を模索しなきゃいけないのはだるいですね。banken だと、コントローラベースなのでコード記述量は増えてしまうのですがその分ハマりどころが減るので、そのトレードオフを考慮しつつ案件によって使い分けるのがいい

    権限管理のgemで良いのはどれ? - おもしろwebサービス開発日記
  • OS X 10.11 El Capitanでnokogiriをインストールする - There's an echo in my head

    $ brew install libxml2 libxslt libiconv $ gem install nokogiri -- --use-system-libraries bundlerでインストールするときのためにも設定しておく。 $ bundle config build.nokogiri --use-system-libraries なお前提として、公式サイトのインストール方法の"Other OS X tips"にあるように rubyが最新のclangでビルドされていてgccでの依存に無い状態で gemのネイティブ拡張もおなじようにclangでコンパイルされるようになっている ことが必要になる模様。 なのでアップグレードしてrbenvの環境をそのまま引き継いだ場合などでコンパイラがgccだったりする場合は、export CC=clangなどしてrubyをビルドしなおしてからno

    OS X 10.11 El Capitanでnokogiriをインストールする - There's an echo in my head
  • RailsでPDFKit + wkhtmltopdfを使ってPDFを作成する - Rails Webook

    PDFKit + wkhtmltopdf は、RubyもしくはRailsHTMLPDFに変換するGemとツールです。 これらを使うことで、HTMLPDFに変換する形でPDFファイルを作成できます。 wkhtmltopdfが、HTMLPDFに変換し、PDFKitはそのラッパーという構成になっています。 メリットとして、HTMLを作成するようにPDFファイルを作成することができるので比較的簡単にPDFファイルを作成できます。 デメリットとして、wkhtmltopdf の問題で現在は忠実にHTMLPDFに変換できないことが問題であります。 今回は、RailsPDFKit + wkhtmltopdfを使って注文票のPDFを作成する手順を説明します。 他にもPDFを作成するGemがあり、「Ruby/RailsPDF作成Gemまとめ 」でまとめています。 対象読者 Rails + PDF

    RailsでPDFKit + wkhtmltopdfを使ってPDFを作成する - Rails Webook
  • Rubyでバイナリデータを格好良く扱うgem「BinData」が素晴らしすぎて膝から崩れ落ちた - Bye Bye Moore

    0x1234567890abcdef とてな感じのバイナリデータがあったとします。*1 これを適正に振り分ける場合、どうしてますか? これまでの私だと、文字列のまんま val_a = "1234567890abcdef"[10].chr とやるなり、unpackで配列化して val_a = "ab".unpack("CC")[0].chr とやるなりしてました。 ただ、これだと32bitの時の扱いが面倒ですよね。 その上、可変長の場合は専用のロジックを組む必要がある。 しかも途中でセンサの仕様が変わって入り組んだメソッドチェインを解す過程で発狂しそうになったりした事も……。 そんな貴方や私の悩みを解決してくれるのが、今回紹介するGem「BinData」です。 導入 $ gem install bindata 使い方 require 'bindata' class Sample < BinD

    Rubyでバイナリデータを格好良く扱うgem「BinData」が素晴らしすぎて膝から崩れ落ちた - Bye Bye Moore
  • Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。

    ginzarb_21.md rails_adminのつらみとオススメGemについて rails_adminのつらみ カスタマイズできるようで出来ない rails_adminをカスタマイズする方法まとめ - Qiita レコード件数が一定以上になると使えない機能 ダッシュボード 何も考えずに各モデルをカウントするのでレコード件数増えるとえらいことになる。 関連を付け替えするフォーム 出したり出さなかったりを一々切り替えるのがめんどい 検索機能がほぼ役に立たない じゃあどうするか プロジェクト用のscaffoldを作る方が良いのでは? 一つのモデルに対するを管理画面を作って大まかなレイアウトを決める それをテンプレート化してlayoutとscaffoldのテンプレートを上書きする コントローラーの構成もテンプレートで上書きできる それ以上の場合はlib以下にgeneratorを書く Rails

    Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。
  • Rubyのgemで株価取得が超簡単だった。 | Project name

    株とサイバーって相性良いすよね。 こんにちは。 マツコ・デラックスの面白さに最近はまっているvsannaです。 あの超ニッチなおすすめ商品紹介する番組めっちゃ面白くないすか? 前回記事(【スクレイピングのやり方#1】周りに勧められてスクレイピングなるものをしてみたいけど何すればいいのかわからなかったあの日の自分へ)作成のためのスクレイピングの勉強中に面白いgemを発見したので、今回はそのご紹介です。 対象は、 Rubyの環境がある。(読み書き実行がある程度できる) ドットインストールのRubyを通し見でOK 株価分析に興味がある。 という方です。 でははりきって参りましょう。 今回やってみること ご紹介するのはyahooファイナンスをスクレピングしてくれるgemのjostock。 なお株についてあまり詳しくないので、数字の理解や扱いについては深く突っ込まないていただけると嬉しいです… あ

    Rubyのgemで株価取得が超簡単だった。 | Project name
  • clockwork について - 君の瞳はまるでルビー - Ruby 関連まとめサイト

    handler でジョブ実行 every で定義したタイミングで handler のブロックが呼び出されます。 ジョブを実行できる handler は1つだけ。 job は every の 2 つ目の引数で指定したオブジェクト。 サンプルでは全ての every 呼び出しで文字列を渡しているので 10 秒毎に Running frequent.job と表示されます。他のジョブも同様です。 1.day を除き、他のジョブは起動時にまず最初に実行され、そこから時間の計測がはじまります。 every や handler の名前が他と衝突するとき もしも every や handler が他の機能の名前と衝突する場合は、以下のようにして使います。 module Clockwork を削除する。 every の代わりに Clockwork::every を使う。 handler の代わりに Cloc

    Muke
    Muke 2014/08/19
    一定周期で開発機上でツールを回したりする時に便利
  • Rubyでプライベートネットワーク(RFC 1918)を判定する

    モチベーション IPアドレスがプライベートネットワークかどうかをRubyで判断したい。 プライベートネットワークはRFC19181への準拠を前提としている。 ※RPC1918「3. Private Address Space」で、プライベートネットワークのアドレス空間は次のように予約されている。 10.0.0.0 - 10.255.255.255 (10.0.0.0/8) 172.16.0.0 - 172.31.255.255 (172.16.0.0/12) 192.168.0.0 - 192.168.255.255 (192.168.0.0/16) 検討 その1: RubyGems ipaddress 調べると、ipaddressというgem23を使うと簡単にできることが分かった。 IPAddress#private?を使えば、IPアドレスがプライベートネットワークに属しているか否かを二

  • Rubyでコマンドラインツールを作って業務効率をアップしよう! | ジェネストリーム開発ブログ

    こんにちはクウハッカー開発者の粟島です。 今回はRubyを使ってコマンドラインツールをgemとして作成する 手順をまとめました。 世の中には大変多くのツールがありますが、 完全に自分の業務にフィットするものというのはなかなか 見つからなかったりします… そんなときは自分で作って、業務を効率化しちゃいましょう! 【経緯】 私はTODO管理をevernoteでやっているのですが、 基的にいつもiTerm2を使ってコマンドラインでごにょごにょやっているため TODO管理もブラウザではなくコマンドライン上でやってしまいたいなーと思いました。 Java製のコマンドラインツールは何度か作ったことがあったのですが、 せっかくなので勉強がてらRubyで作ってみようと思った次第です。 それではsampleのCLIツールを作成していきましょう! 【作成手順】 まずはbundlerを使

  • VoiceText Web APIで遊ぶ - ただのにっき(2014-07-09)

    ■ VoiceText Web APIで遊ぶ 昼すぎあたりからTwitterでVoiceTextという文字列をみかけるようになって、見てみたらVoiceText Web APIというのが公開されていた。(TV見ないのでよくしらないけど)「モヤモヤさまぁ~ず」内で使われているのと同じ合成音声エンジンのAPIらしい。開発にえにしテックが協力してるのでおれのTLに流れてきたんだな。 以前さとうささらを職場内で使ったけど、聴覚は上手に使うといいアテンションになるのでこういう自由度の大きなサービスは嬉しいね。VoiceTextでもさっそく遊んでみたけど、APIはシンプルで使いやすいし、声や感情も数種類から選べて組み合わせられるので、けっこう使える。文中の促音が消えてしまうことがあったり、疑問形の語尾上げが足らない感じはあるけど、まぁまぁ聞き取りやすいし実用にはさしつかえない。 サンプルにあるようにc

  • rbenv で gem を使った時に rbenv rehash しなくて良くする - はやくプログラムになりたい

    rvm が多機能&壊れやすすぎて Homebrew の ruby を直にインストールして使っていたのですが,Homebrew の ruby はバージョンを上げるときにgemで入れたコマンドを引き継いでくれなかったり,gemでインストールしたコマンドを反映してくれないので,rbenv という ruby のパッケージマネージャを使ってみる事にしました. しかし,rbenvも若干面倒なところがあり,gemでインストールしたコマンドを使う前にrbenv rehashをして $HOME/.rvm/shims 以下の情報を更新しなくてはいけません. そこで,gem でインストールしたときでもいちいち rbenv rehash しなくて良い方法を考えました. 方法1: rbenv-rehash という gem を入れる % gem install rbenv-rehashとするとインストールできます.

    rbenv で gem を使った時に rbenv rehash しなくて良くする - はやくプログラムになりたい
  • Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog

    「つくるための三種の神器」というテーマで続けている「777ブログウェイ」! 9日目となる日は「Rubyで開発するときに入れておきたい三種のRubyGems」と題して、定番の RubyGems を3つご紹介します。 1. bundler「bundler」は、アプリケーションが依存するgemを管理するツールです。今やgem管理のデファクトスタンダードです。 「gem install hoge」のようにコマンドで gem をインストールしていくと、あれよあれよとグローバルな領域にどんどん色んなgemが…それも複数バージョン混在していきます。そして、いずれは、このアプリケーションで必要なgemはどれだっけ…バージョンはいくつだっけ…といった具合に、どんどん依存関係が分からなくなってきます。ここで活躍するのが「bundler」です。 使い方はいたって簡単。1) bundler のインストールgem

    Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog
  • Rails3アプリをnginx+unicornで動かしたら速すぎた - ぱろっと・すたじお

    いやぁ・・・Rails3はいいですね(`・ω・´) b Rails2とはなんだったのか・・・というレベルの完成度で、 なんとなく納得しないままRails2を使っていた私も、 Rails3になってからはバリバリに使いまくりです*1 そんなRailsを動かすAppサーバとして、 以前から定番になっていたのがpassengerでして、 私もApacheやnginxと組み合わせて使ってました*2 ただ、最近よく耳にするのがnginxにunicornを組み合わせた構成です http://unicorn.bogomips.org/ 前々から気になっていたものの、なかなか手をつけられなかったのですが、 仕事でもプライベートでもちょうどRails3アプリをリリースするタイミングだったので、 nginx+unicornの環境を試してみました なお、非常に細かな解説がある良記事がありますので、 ぜひそちらを先

    Rails3アプリをnginx+unicornで動かしたら速すぎた - ぱろっと・すたじお
  • RailsのApplication templateを使って開発の初速をあげよう! - Qiita

    Rails Advent Calendar 9日目です。 どのくらい認知があるのか知りたい、という意味も込めての投稿です:-) Railsに標準で備わっているApplication Template(アプリケーションテンプレート)の概要とサンプルの紹介です。 RailsはGemが増えると最初の設定だるい よくRailsは「設定より規約」なんだよね、とか聞きますが、 たしかにRailsは仕組みさえ覚えてしまえば、 比較的簡単にデプロイまでできてしまいます。 難しい設定ファイルも書くことはとても少ないです。 特に最近はHerokuを中心とするPaaSの台頭でよりその恩恵を受けれている気がします。 また、Rubyのコミュニティがとても活発で、 優秀な方がたくさんいるので、めちゃんこ便利なGemがたくさん流通しています。 Githubをサーフィンしてたら、 「やっべー、このGemすげー、Gemfi

    RailsのApplication templateを使って開発の初速をあげよう! - Qiita
  • 1