タグ

ブックマーク / xoyip.hatenablog.com (16)

  • リモートワークを始めたら家から出なくなった話 #sgadvent - ぴよログ

    この記事はソニックガーデン Advent Calendar 2015 、3日目の記事です。 (いつもは常体メインの適当文体で書いていますが、アドベントカレンダーってことでなんとなく敬体にしてみます。) どうも大野(@xoyip)です。ここにもTwitterにもFacebookにもどこも書いていませんでしたが、10月からソニックガーデンという会社で働いてます。 ソニックガーデンというと納品のない受託開発をしているとかRuby on Railsで開発しているとか、コードレビューをしっかりするとかリモートワークをしている人が多いとか、色々なイメージがあると思います。今回はその中でもリモートワークにフォーカスして何かを書いてみます。 リモートワーク ソニックガーデンでは積極的にリモートワークを取り入れています。リモートワークは場所を選ばすに働くということなので、ソニックガーデンのメンバーは必ずしも

    リモートワークを始めたら家から出なくなった話 #sgadvent - ぴよログ
    suginoy
    suginoy 2015/12/11
  • RailsアプリをHeroku→さくらVPSに移行 - ぴよログ

    Herokuのプランが変わったのでRailsアプリケーションをさくらに移行した。 ここ最近Herokuの料金体系が変わってFree Dynoは18時間までしか動かせないようになったらしい。それにともなってこんなHackをする人まで出てきているようで、Freeでとりあえず動かしたいという人たちに与える影響はそれなりにあるように思える。 ssig33.com - 最悪!意地でも Heroku を無料で使う そういう僕も家族用に自分で作ったウェブアプリケーションを運用していたんだけど、料金体系が変わる前から自分のさくらVPSに移行したいと思っていたところにこのプラン変更が来たのでこれを機にと思い移行してみることにした。 ちなみに移行したアプリケーションは、 普通のRailsアプリケーション PostgresqlがあればOK というシンプルなものだった。Herokuで色々なアドオンを使いまくってる

    RailsアプリをHeroku→さくらVPSに移行 - ぴよログ
  • bundle openで使うBUNDLER_EDITORをカスタマイズする - ぴよログ

    Rebuild.fmで開発環境の話が出たので便乗。 Rebuild: 41: Kids These Days Don't Know Shell (Naoya Ito) bundle openするとEDITORに指定されているエディタでgemのディレクトリが開く仕組みになっています。@miyagawaさんはEDITORに自分で書いたシェルスクリプトを指定していて、シェルでgemのディレクトリに移動してlsとかいろいろやって編集してシェルをExitすると元のディレクトリに戻るって話をしていました。なにそれ便利そう、っていうね。 BUNDLER_EDITOR シェルが開くエディタは一般的にはEDITOR環境変数に設定しますが、Bundler用の環境変数BUNDLER_EDITORというものがあります。これを使うことで既存のEDITORを変える必要がありません。 この環境変数にシェルスクリプトのパ

    bundle openで使うBUNDLER_EDITORをカスタマイズする - ぴよログ
    suginoy
    suginoy 2015/07/05
    “miyagawaさんはEDITORに自分で書いたシェルスクリプトを指定していて、シェルでgemのディレクトリに移動してlsとかいろいろやって編集してシェルをExitすると元のディレクトリに戻るって話をしていました”
  • homebrewでpdftkを入れてコマンドラインでPDF結合 - ぴよログ

    PDFの結合にGUIを使うのが面倒なのでコマンドラインで実行する方法を探してみたらpdftkというのが使えるっぽかった。 PDFtk - The PDF Toolkit 導入編 homebrewで入れられないか探してみた。 % brew search pdftk No formula found for "pdftk". Searching pull requests... Closed pull requests: pdftk: 2.02 - a Handy Tool for Manipulating PDF Documents (https://github.com/Homebrew/homebrew/pull/25953) お、ということはbrew pullすれば、、、 % brew pull https://github.com/Homebrew/homebrew/pull/259

    homebrewでpdftkを入れてコマンドラインでPDF結合 - ぴよログ
    suginoy
    suginoy 2015/07/03
  • routes.rbでresourcesを使ったときのパラメータをid以外にする - ぴよログ

    Railsではhas_manyな関連を持つモデルに対してRESTなルートを簡単に定義することができる。 # routes.rb resources :blogs, only: [:index] resources :posts, only: [:index] end このようなルートが定義される。 % rake routes Prefix Verb URI Pattern Controller#Action blog_posts GET /blogs/:blog_id/posts(.:format) posts#index blogs GET /blogs(.:format) blogs#index このときのパラメータである:blog_idにはデフォルトではBlogモデルのidが使われる。そしてこれらのルートに相当するURLは/blogs/1/postsなどとなる。 id以外のカラムをパ

    routes.rbでresourcesを使ったときのパラメータをid以外にする - ぴよログ
  • RailsでDeviseを使ったときのログイン周りの画面遷移 - ぴよログ

    Deviseを使ってユーザー認証機能を作ったときに、もうちょっとよくするための方法メモ。Deviseは普通の実装するとログイン後は/にリダイレクトされる。それを別のURLにする方法はここに書いた。 Deviseでログイン後のURLを変える方法 - PILOG では、ログインに必要なページのURLに直接アクセスがあったときはどうするか。流れとしてはこうなるのが望ましい。 ログインが必要なページにアクセスがある ユーザーにログインフォームを見せる ログインが完了したら最初にアクセスしたURLへリダイレクト ログインが必要かどうかはコントローラレベルで制御する。これはまあよくやるやつ。 # application_controller.rb class ApplicationController < ActionController::Base private def sign_in_requi

    RailsでDeviseを使ったときのログイン周りの画面遷移 - ぴよログ
  • Railsでモデルの一覧を取ってくる - ぴよログ

    アプリケーションの中にあるModelのレコードを数を調べたかったので、それをプログラムから動的に行う方法を考えてみた。 ActiveRecord::Baseのサブクラスを取ってくればいいはずだ!ということで、ActiveRecord::Base.subclassesを使うことにした。確認にはrails consoleを使った。 % rails c ActiveRLoading development environment (Rails 4.1.0) Frame number: 0/5 [1] pry(main)> ActiveRecord::Base.subclasses => [User (call 'User.connection' to establish a connection)] [2] pry(main)> UserというModelが取れたことはわかる。でも実はこのアプリケ

    Railsでモデルの一覧を取ってくる - ぴよログ
  • railsのサブコマンドが使えなくなる問題の原因はbinstubs - ぴよログ

    半年ほど前ですがアプリケーションをデプロイした先でコンソールを起動できない問題に遭遇しました。よくわからなかったのでQA@ITで質問を投げたのですが、結局解決には至らず。 AWSにデプロイしたRailsアプリケーションのコンソールを起動したいがUsageが出てしまう - QA@IT その代わり同じような機能を実現するスクリプトを書いて回避したというところで僕としてはこの問題をスルーしていました。 デプロイ先のサーバーでrails consoleできないときの対応とCapistranoからの使い方 - PILOG その原因が今更ながらわかったのでメモしておきます。 Rails4以降+binstubsで起こる問題 bundlerにbinstubsという機能があります。 $ bundle install --binstubs とやると、実行ファイル系のgemを実行するのに便利なスクリプトを./b

    railsのサブコマンドが使えなくなる問題の原因はbinstubs - ぴよログ
  • Railsのredirect_toでちょっとだけはまる - ぴよログ

    普通にRails書いていてどうもうまくいかないところがあってはまったのでメモしておく。 フォーム埋めてcreateアクションにPOSTしたあと、モデルのsaveが成功したらindexアクションへリダイレクト、失敗したらもう1回newをレンダリングというよくあるケース。これで保存に成功してindexにリダイレクトしたとき、なぜかURLに?notice=successがくっついてしまうということがあった。 実際に書いたコード(とほぼ同じもの)はこちら。 def create @entry = Entry.new(permitted_params) if @entry.save redirect_to action: :index, notice:"success" else render :new end end 実は上のコードだと問題があるが、気を抜いていたので見落としてしまった。 redi

    Railsのredirect_toでちょっとだけはまる - ぴよログ
  • RubyでLoadErrorをキャッチする - ぴよログ

    requireが失敗したときに発生するLoadError例外をキャッチすべくこのようなコードを書いたが、うまくいかなかった。 begin require "hogehoge" rescue puts "LoadError!" puts "Install hogehoge gem before running this code." exit end # do something どうやらrescue節に何も指定しなかった場合、StandardErrorの例外のみをキャッチするらしい。LoadErrorはScriptErrorのサブクラスであり、StandardErrorとは異なる継承ツリーにいる。 先ほどのコードを次のように変更すればLoadErrorをキャッチできるようになるというわけ。 begin require "hogehoge" rescue LoadError puts "Lo

    RubyでLoadErrorをキャッチする - ぴよログ
    suginoy
    suginoy 2014/06/18
    “LoadErrorはScriptErrorのサブクラスであり、StandardErrorとは異なる継承ツリーにいる”
  • RailsのRakeタスクが定義される順番 - ぴよログ

    Railsで使うRakeタスクは大きくわけて3種類あり、普通はこの順番で定義されることになっている。 gemのタスク アプリケーション固有のタスク Railsのタスク まずソースコードを読んでみた。 Rakefile # Rakefile require File.expand_path('../config/application', __FILE__) Rails.application.load_tasks config/application.rbを読んでからRails.application.load_tasksを呼ぶ。 Rails.application.load_tasks Rails.application.load_tasksはrailtieのRails::Engineに定義されている。 # railties-4.1.0/lib/rails/engine.rb def l

    RailsのRakeタスクが定義される順番 - ぴよログ
  • rails-composerとrails newの-mオプション - ぴよログ

    Railsで使いたいgemが大体定まってくるとrails newでアプリケーションを作ってからの作業が毎回同じことの繰り返しで面倒になってくる。その上、手作業だと設定漏れが出ることも往々にしてあるため、自動化するのが望ましい。 幸いrails newコマンドには-mオプションでテンプレートを指定することができるようになっている。 公式ドキュメントはこれ。 Rails Application Templates — Ruby on Rails Guides サンプルコードを見ると何ができるのかわかりやすい。 # template.rb generate(:scaffold, "person name:string") route "root to: 'people#index'" rake("db:migrate") git :init git add: "." git commit: %Q

    rails-composerとrails newの-mオプション - ぴよログ
  • Rails4.1のsecrets.ymlはfigaroと違うの? - ぴよログ

    Rails4.1が正式にリリースされたらしいので少し見てみたけど、secrets.ymlとかいうのがサポートされるようになったんですね。 公開したくないAPIキーなどの情報をconfig/secrets.ymlに書いておくとRails内でアクセスできるのだとか。 こうやって書いておくと # config/secrets.yml development: secret_key_base: cfcc784a39.... hoge_api_key: hogehogehoge こう呼べる。 Rails.application.secrets.hoge_api_key で、このsecrets.ymlをソース管理から外しておけばその他は公開できるよね、みたいな。他のサービスと連携するオープンソースなRailsアプリにするときなんかに使えばいいんだと思います。 Figaroと一緒では 同じことをするため

    Rails4.1のsecrets.ymlはfigaroと違うの? - ぴよログ
    suginoy
    suginoy 2014/04/26
    “Figaroの作者がsecrets.ymlに触れてたので読んでみました。 ”
  • ウェブサイトやブログ記事中の本文を抽出するgem - ぴよログ

    大元はこちらで、 Webページの文抽出 (nakatani @ cybozu labs) Ruby1.9対応され、gemになったものがこちら。 mono0x/extractcontent Bundlerを使ってリポジトリ指定でインストールできます。 gem 'extractcontent', :git => 'https://github.com/mono0x/extractcontent.git'☄ 使い方 html = open(url).read body, title = ExtractContent.analyse(html) これだけでタイトルと文を持ってきてくれます。精度も悪くなさそう。 HTMLタグを残したい 純粋に文章のみを残すという作りになっているため、抽出された文からはHTMLタグがなくなっています。画像も無くなってしまいます。 少し話がそれますが、この文抽出

    ウェブサイトやブログ記事中の本文を抽出するgem - ぴよログ
    suginoy
    suginoy 2014/04/15
  • IKEA家具で作る格安コーナーデスク - ぴよログ

    この記事におおいにインスパイアされて自宅のデスク環境を新しくしました。 リビングにIKEAで作る2畳の快適仕事環境 | @masuidrive blog IKEAに行ったことについては前に書きました。 初心者が初めてIKEAに行ってきたけど難易度高かった - PILOG これまでのデスク環境 これまでのデスクはこれでした。GarageのY2、幅100cm、奥行き70cm。以前住んでいた家に合わせて購入したものでサイズはあまり大きくありません。 デスクY2・CL パソコンデスク 通販|Garage(ガラージ) このデスクの上にMacbook Airと外付けモニター、トラックボールやiPhoneなどを置くとスペースはほとんど残りません。ちょっとした事務書類を書くときなど、無理矢理スペースをあけなければならなくていちいち面倒でした。 証拠がこれ。今気づいたけどほぼ1ヶ月間隔でボヤいてるww 自宅

    IKEA家具で作る格安コーナーデスク - ぴよログ
  • 自前のgemをRailsアプリと並行して開発するワークフロー - ぴよログ

    Railsアプリケーションを書いていて一部機能をgemに切り出したほうがいいんじゃないか、という場面に遭遇したのでローカルでgemを作りました。 Railsアプリケーション側ではbundlerでローカルにあるソースをrequireして使うことができます。なんでgithub等を介する必要はありません。さらに、サーバーの再起動無しにgem側のソースの更新を反映する方法もあるので、アプリケーションから切り離したgemであることを意識することなく開発をすることができます。 まずgemを作る $ pwd /path/to/gems # ここにいるとする $ bundle gem piyopiyo bundlerでローカルのgem指定する # Gemfile gem 'piyopiyo', path:"/path/to/gems/piyopiyo" サーバーの再起動無しにリロードする ググるとconf

    自前のgemをRailsアプリと並行して開発するワークフロー - ぴよログ
  • 1