タグ

ブックマーク / qiita.com/joker1007 (10)

  • pry-docでカジュアルにRubyのソースコードを読む - Qiita

    RubyのREPL環境として一般的なpryというgemがあります。 pryの非常に便利な機能としてshow-sourceというコマンドがあり、指定したクラスやメソッドのソースコードをpry上で表示してくれます。 [15] pry(main)> require 'tsort' true [16] pry(main)> show-source TSort#tsort From: /Users/joker/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/tsort.rb @ line 133: Owner: TSort Visibility: public Number of lines: 5 def tsort result = [] tsort_each {|element| result << element} result end デフォルトのままのp

    pry-docでカジュアルにRubyのソースコードを読む - Qiita
    kimihito
    kimihito 2018/03/06
  • 開発しやすいRails on Docker環境の作り方 - Qiita

    最近、Rails界隈でDocker使い始めました、という話を聞く機会が増えてきたので、自分が開発環境整備用に構築したDockerの設定をまとめておく。 ちなみに、production運用については以前書いたので適当に探してくださいw 結論から書いておくと、volumeをちゃんと活用すればいい、ってだけの話です。 まず、番用と開発用のDockerfileは分けた方が良い。一つでやろうとするとどうにも無理がでるので。 自分はDockerfileとDockerfile-devというものを用意している。 docker-composeはほぼ必須です。少なくともrailsプロセスとDBだけでも二つは必要だし、Dockerfileを分けてると事故るので。 Dockerfileはこんな感じ。 FROM mybase:ruby-2.3.1-debian RUN echo "deb http://http.

    開発しやすいRails on Docker環境の作り方 - Qiita
    kimihito
    kimihito 2016/10/24
  • そろそろポリモーフィック関連について一言いっとくか - Qiita

    class Notification < ActiveRecord::Base belongs_to :notifiable, polymorphic: true end class Message < ActiveRecord::Base has_one :notification, as: :notifiable end class Like < ActiveRecord::Base has_one :notification, as: :notifiable end 一行で色んなクラスに対する関連が指定できて便利感がある。 だからって、これを安易に使う前にちゃんと考えよう。 ポリモーフィック関連は単に関連の定義を省力化するためのものじゃない。 ポリモーフィックという名前が示す様に、これは多態性を持ったものに対する関連を定義する事であって、インターフェースに対する関連の定義だということ

    そろそろポリモーフィック関連について一言いっとくか - Qiita
    kimihito
    kimihito 2016/05/20
  • HTML5のvideoタグで利用するmp4の動画を作る時のTips - Qiita

    最近、スマホやタブレットを使う機会も多いですが、その辺りの端末に動画コンテンツを提供する時に楽なのがmp4形式の動画をvideoタグで貼り付ける事です。 ただ、ちょっとした注意点があって、どういう状況で再生するかによって細かい調整をしておかないと、再生開始までにえらく時間がかかるようになって、非常に不便になります。 既に作成済みの動画を再生する場合 mp4形式の動画を再生するためにはメタデータ情報が必要です。メタデータは通常ファイルの末尾に付与されます。ファイルサイズが小さい時は気付かないのですが、10分、20分ぐらいあるような動画を再生しようとすると末尾まで読んでから再生できるかどうかを判別するので、再生が開始できるようになるまでに異様に時間がかかるようになります。 そこで動画作成時にメタデータをファイルの先頭に移動させておきます。 こうする事で、ファイルサイズが大きい動画でも一瞬で再生

    HTML5のvideoタグで利用するmp4の動画を作る時のTips - Qiita
    kimihito
    kimihito 2015/10/05
  • Sprockets再考 モダンなJSのエコシステムとRailsのより良い関係を探す - Qiita

    すいません。締切守れませんでした…。 やっぱ、java-jaの忘年会の翌日は辛い…。 はじめに Webシステムを開発していると切っても切れないのがJavaScriptです。 Railsはかなり早い時期からalt-JSや結合、minify等を組み込めるようにフレームワークにそれを取り入れてきました。 それを支えているのがRails3.1から導入されたsprocketsです。 それに伴なってJSのライブラリをどうやって管理するかという点について、独自の路線を取ることになりました。 JSのライブラリを同梱したgemパッケージにラップしてrubygemsとして管理する方法です。 ある程度は上手くいっていたし、今もその流れは続いているんですが、時々問題になることもあります。 例えばメンテナの対応時期がズレてて古いバージョンのままだったり、似たようなgemが乱立してややこしくなったり。(backbon

    Sprockets再考 モダンなJSのエコシステムとRailsのより良い関係を探す - Qiita
    kimihito
    kimihito 2015/04/24
  • Quickfixを知ってからfugitiveを使うと捗る - Qiita

    vimgrepとQuickfix知らないVimmerはちょっとこっち来い - http://qiita.com/items/0c1aff03949cb1b8fe6b こんな記事が上がっていたので、勝手に応用編を書いてみる。 まあ、以前LT等で話したことをQiitaに書き移してるだけですが。 QuickFixの拡張 QFixGrepというプラグインがあります。 これを入れていると、以下のような事が出来ます。 QuickFixバッファで選択した検索対象をプレビューして確認できる QuickFixの表示を更に絞り込んで検索 QuickFixの表示をファイル名、更新時間、内容でソートする 他にもいくつか機能がありますし、Windowsで利用するのに便利な解説などもあります。 また、以前自分のブログなどで書きましたが、qfreplaceというプラグインがあります。 QuickFixで出力されている各

    Quickfixを知ってからfugitiveを使うと捗る - Qiita
    kimihito
    kimihito 2014/09/21
  • 俺がGitHubでスターを付けたリポジトリ一覧 - Qiita

    GitHubを彷徨っていてよくあるのが、ググったりRuby Toolboxとかで見つけて「これイイじゃんよ!」と思ったら既にスター済み、という奴。 一回、自分がどんなリポジトリにスター付けたのか整理しつつ、更新止まってたり古くなったやつを削除していこうと思う。 それぞれの説明は超適当。基的にいつか使おう的な感じでスターを付けているので、あんまり使ったことあるのが無い。 そもそも良く使うものにはスター付けてないこと多いし…。 大体rubygemsで一部JSのライブラリ、少しvimScalaって感じ。 思い返したようにスター付けてたので、時期がバラバラだけど、基的に下に行く程付けた時期が新しい。 リポジトリ 説明

    俺がGitHubでスターを付けたリポジトリ一覧 - Qiita
    kimihito
    kimihito 2014/03/11
  • てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! - Qiita

    てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ!RubyRails ちょっと煽り気味のタイトルにしてみましたが、Railsで開発する時は意識的にOOPに寄せないとオブジェクトの力が活かせなくなるよってことと、Railsが提供しているクラスの責務を分割することを支援してくれる機能について話をします。 ActiveRecordの性質 Rails開発においては、モデル層にロジックを書いてコントローラーは薄くしろ、というのはしつこく言われているので、概ね浸透してきていると思います。 それに加えて、最近私が結構しつこく主張しておきたいのが、モデル = ActiveRecordでは無いよ、ということです。 ActiveRecordは成り立ちから言うと、ロジックとDBへの永続化をまとめてカプセル化するアーキテクチャパターンから来ています。

    てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! - Qiita
    kimihito
    kimihito 2013/12/04
  • Rails4へのアップデート時に引っかかったポイントいくつか - Qiita

    Rails 4.0.0がリリースされたので今参加しているプロジェクトのアプリのアップデートが出来るかを試してみました。 やってみた結果としては、2.3 -> 3.0や、3.0 -> 3.1に比べると大分楽にバージョンアップできる感じです。 たまたま今のプロジェクトで引っかかった問題について、メモがてらまとめておきます。 rake rails:update diffを見ながらconfigファイルを書き換える。 そんなに大きな変更は無い。 rails4からはinitializerに色々移せって感じで、application.rbが軽量化されてるけど、元のままでも別に問題無い。 設定項目の重複だけ注意。 strong_parameters 元々、gemで先行導入して取り入れていたので概ね問題無く移行できました。 attr_accesibleを利用したセキュリティ対策は、外部のgemに分離されてい

    Rails4へのアップデート時に引っかかったポイントいくつか - Qiita
    kimihito
    kimihito 2013/07/20
  • Rubyのコードを読むのが捗る技 (Vim) - Qiita

    Rubyでソースコードを読む時の小技について書いてみようと思う。 この投稿も参考になる。 Rubyでメソッドの定義場所を見つける方法 #Ruby - Qiita http://qiita.com/items/fc8a61b421d026a23ffe ちなみに、私はVimmerなので、Vimに寄った話です。 emacsについては身近にemacsユーザーに聞きましょう。 ctagsを活用する ctagsでtagsファイルを出力しておけば、メソッドの定義元に飛ぶのが非常に楽になります。 Railsで開発しているなら、Railsプロジェクトルートで以下のようなコマンドを打ちます。 (bundlerでプロジェクト内にGemがある場合を想定) langmapとかは別に無くても大丈夫だと思いますが。 --excludeを付けずにctagsを実行するとjavascriptのライブラリもタグ付けされて、

    Rubyのコードを読むのが捗る技 (Vim) - Qiita
  • 1