タグ

ブックマーク / techracho.bpsinc.jp (60)

  • Railsガイドに「Action Cable の概要」など4章を追加しました|TechRacho by BPS株式会社

    どうもご無沙汰しました。hachi8833です。もはやライフワークとなった感がありますが、BPS社内を始め、多くの皆様に愛用いただいているRailsガイドに、このたび新しい章を4つ追加翻訳しましたのでお知らせいたします。多くはRails 5に関連する内容です。 お気付きの点がありましたら、ガイド右上にある[翻訳に貢献する]に記載の方法でフィードバックをお願いします。 Railsガイドに追加された4つの章 Active Support の Instrumentation 機能 http://railsguides.jp/active_support_instrumentation.html Active Supportの「Instrumentation」という用語は、「計測」や「測定」とすると逆にわかりにくくなりそうなので、英ママとしてみました。なお、マイクロソフトの.NET Framewo

    Railsガイドに「Action Cable の概要」など4章を追加しました|TechRacho by BPS株式会社
    yahihi
    yahihi 2016/08/31
  • Rails勉強会まとめ -- 非同期処理/RSpecなど|TechRacho by BPS株式会社

    こんにちは、hachi8833です。 今回は棚卸しとして、弊社CTOのbabaさんによるRails勉強会スライドから引用して記事にします。 勉強会自体はRails 3.x時代のものなので既出が多くなっていますが、棚卸しも兼ねて今のうちに記事にいたしました。 非同期処理 言うまでもなく、リクエストからレスポンスまでの時間が長くなるほどユーザー・エクスペリエンスの質が低下します。これを改善するためにさまざまな工夫が必要になるわけですが、その中の一つとして、時間のかかる処理をバックグラウンドで実施しておくというのがあります。 cron 最も素朴な方法はやはりunix標準のcronを使って定時に出力データを準備することでしょう。この場合、起動用スクリプト(rakeなど)やジョブ管理は自分で作成する必要があります。 delayed_job delayed_job gemを使用すると、ジョブをActi

    yahihi
    yahihi 2014/08/13
  • [翻訳] Rails Guideの翻訳を進めました|TechRacho by BPS株式会社

    こんにちは、hachi8833です。これまでチマチマ翻訳してきたRails Guideへのリンクをご紹介します。ガイド全体から見ればまだ半分ぐらいですが、サイズの大きいファイルから先に翻訳を進めてきたので、残っているのは比較的小さなファイルです。 注意: これらのファイルは今のところ翻訳が完了しただけであり、レビューなどはまだ行われていません。各人の責任でご利用ください。 補足: Githubに置いたことでmarkdownは簡易整形されていますが、画像は表示されません。Railsガイド ガイドラインに記載されている方法で Railsガイドをビルドすれば画像+CSSのあるガイドが得られます。 ファイル間のリンクはビルドが前提なので、そのままでは無効です。 訳していて怪しいと思った箇所には●を付けてとっとと先に進んでいます。 原文に忠実な訳とは限りません。原文より情報を増やしたり言い方を変えて

    yahihi
    yahihi 2014/08/10
  • blockの利用例 Ruby|TechRacho by BPS株式会社

    こんにちは。ikedaです。 以前ご紹介したgem Faradayの実装例で、blockを解説することがあったのですが blockを利用した書き方について触れていなかったので書いていきたいと思います。完全に小ネタです。 blockの書き方ですが、引数にblock宣言することと、yieldを利用する2通りあります。 ブロックを引数で持つ場合 class Hoge def initialize(&block) block.call end end Hoge.new do p "Hello" end # => "Hello" # => #<Hoge:0x007ff4f480cca8> Hoge.new { p "Hello" } # 上記と同じ意味です。 # => "Hello" # => #<Hoge:0x007ff4f480cca8> Hoge.new # ブロックを渡していないのでエラー

    blockの利用例 Ruby|TechRacho by BPS株式会社
    yahihi
    yahihi 2014/07/15
  • [Rails]ビューで配列を改行するなら脆弱なjoinではなくsafe_joinにしよう|TechRacho by BPS株式会社

    こんにちは、hachi8833です。小ネタなのでQiitaに書こうかと思いましたが、こちらにしました。 Railsのビューテンプレートで配列の内容を改行brで区切って縦に一覧表示したいとき(普通ならulを使うところですがあえてbrにしています)、こんなコードを最初書いてみました。なおビューではhamlを使用しています。 #コントローラ @my_array = ['太郎', '次郎', '花子'] #ビュー =@my_array.join('<br/>').html_safe が、書いてみてすぐ、このコードが脆弱なため使えないことに気付きました。ここで@my_arrayはユーザーが入力した内容をDBから取り出したものなので、ユーザー入力に悪意のあるタグが含まれていたらXSS脆弱性が発現してアウトです。ビューでユーザー入力にhtml_safeをかけるのは禁じ手です。 何かスマートな方法はないか

    [Rails]ビューで配列を改行するなら脆弱なjoinではなくsafe_joinにしよう|TechRacho by BPS株式会社
    yahihi
    yahihi 2014/06/21
  • [翻訳+α] Rails/RSpec/Capybara/Seleniumでdatabase_cleaner gemを使う|TechRacho by BPS株式会社

    2014.05.28 [翻訳+α] Rails/RSpec/Capybara/Seleniumでdatabase_cleaner gemを使う こんにちは、hachi8833です。 Rails 4.1.1環境でなぜかPoltergeistでスクリーンショットを保存できない問題が解決したら記事にしようと思っていたのですが、間に合わなかったので今回はConfiguring database_cleaner with Rails, RSpec, Capybara and Seleniumという記事を翻訳してみました。 なお、この記事の内容は、弊社で行った「Crafting Rails 4 Applications読み会:第8回資料」と密接に関連します(スライド47 - 53ページあたり)。 解説 RSpecの1つ1つのテスト(beforeとafterも含めて1つの単位とします)は来互いに独立す

    [翻訳+α] Rails/RSpec/Capybara/Seleniumでdatabase_cleaner gemを使う|TechRacho by BPS株式会社
    yahihi
    yahihi 2014/06/01
  • チーム開発においてGit初心者が踏みがちな地雷まとめ|TechRacho by BPS株式会社

    morimorihogeです。残暑やばい。 ※元々は2014年に書いた記事ですが、2020年になっていろいろと事情も変わっているので2020年revise版として更新しました。 弊社ではバージョン管理システムにGitを使っています。 数ヶ月以上一緒にやっているある程度ツーカーなメンバーだけのプロジェクトなら問題無いのですが、案件によっては協力会社の方が一時的にJOINしたり、新規参入メンバーの参加などで、これまでGitを使ったことがない、または格的なチーム開発でGitを使ったことがない人が参加することもあります。 ※2020年現在では流石に全くGitを使ったことのない開発者というのはほぼ見なくなりましたが、チーム開発できちんと運用に乗せて使ったことがない、という所は今でもそこそこあるようです。 Gitは自由度の高いシステムですが、その分概念を覚えることが必要なため、導入の敷居が高い方だと

    チーム開発においてGit初心者が踏みがちな地雷まとめ|TechRacho by BPS株式会社
    yahihi
    yahihi 2014/04/25
  • JavaScript: 入力制御を行うjQueryプラグインinput_restrictionを作ってみた|TechRacho by BPS株式会社

    2013.07.01 JavaScript: 入力制御を行うjQueryプラグインinput_restrictionを作ってみた こんにちは。入力制御を行うjQueryのプラグインはいっぱいあるのですが、今回の要件にマッチするものがなかなか見つからなかったので、自分で作ってみました。 今回の要件: 入力フォームに半角数字しか入力できないようにする。全角数字が入力された時は半角数字に変換する。 今回の要件は数字のみが対象だったのですが、せっかくなので、ひらがなのみやアルファベットのみなどのメソッドも作ってプラグインにしました。 input_restrictionプラグイン: https://github.com/djkazuma/input_restriction 動作はjQuery2.0.2で確認しています。 ※ひらがな、カタカナ入力系は一部ブラウザ、OSで期待通りに動かない可能性があるの

    JavaScript: 入力制御を行うjQueryプラグインinput_restrictionを作ってみた|TechRacho by BPS株式会社
    yahihi
    yahihi 2014/04/14
  • 今年は本気だす!メールサーバちゃんとする!(`・ω・´)|TechRacho by BPS株式会社

    「メールサーバをちゃんとする」という内容でユニバさんと勉強会をしてきました。 発表に使ったスライドです。 今年はメールサーバちゃんとする!(`・ω・´) 1月は終わりなので来月から気だす。 目次 1.メールサーバ(MTA)の仕事 2.reject,deferをちゃんとする 3.メールキューをちゃんとする 4.セカンダリサーバをちゃんとする 5.Webアプリ送信方法をちゃんとする 6.まとめ

    今年は本気だす!メールサーバちゃんとする!(`・ω・´)|TechRacho by BPS株式会社
    yahihi
    yahihi 2014/04/14
  • Ruby on Rails 4.1リリース前にアップグレードガイドを先行翻訳 & 同じ翻訳を2回しないで済むようにした|TechRacho by BPS株式会社

    2014.03.28 Ruby on Rails 4.1リリース前にアップグレードガイドを先行翻訳 & 同じ翻訳を2回しないで済むようにした こんにちは、hachi8833です。ニコマスおっホイは危険と痛感しました。 Rails Guideの「A Guide for Upgrading Ruby on Rails」を翻訳しました。 元にしているのはrails/docrailsのガイドですが、これはオフィシャルなガイドやedgeguides.rubyonrails.orgよりも新しく、その分不安定ですので、その点ご了承ください。 Rails 4.1は現時点でRC2なので記述は確定ではありません。ご注意ください。4.1リリース後にオフィシャル版を翻訳し直します。 Ruby on Railsアップグレードガイド ローカルのMacにgit cloneしたRails Guideのguides/sou

    Ruby on Rails 4.1リリース前にアップグレードガイドを先行翻訳 & 同じ翻訳を2回しないで済むようにした|TechRacho by BPS株式会社
    yahihi
    yahihi 2014/03/30
  • Ruby 2.1.0リリース!注目の新機能を見てみましょう|TechRacho by BPS株式会社

    2013年12月25日。おめでとうございます、Ruby 2.1.0がリリースされました! 日時間で26日という細かい突っ込みをしている場合ではありません。 まだ使ったことがない方、簡単に変更点を見てみましょう。 文法の変更 デフォルト値を伴わないキーワード引数 Ruby 2.0が出たときから誰もが思っていた疑問、「なんでキーワード引数はデフォルト値必須なんだ?」がついに解消されました。以下の記法で、デフォルト値をつけないキーワード引数を宣言できます。この場合、呼び出し時に対応する実引数を渡さないとArgumentErrorになります。 def hello(name: ) puts name end hello(name: "taro") # => taro hello # => ArgumentError: missing keyword: name キーワード引数同士ではデフォルト引数

    Ruby 2.1.0リリース!注目の新機能を見てみましょう|TechRacho by BPS株式会社
    yahihi
    yahihi 2013/12/26
  • Railsらしく書こう(社内勉強会)|TechRacho by BPS株式会社

    こんにちは、hachi8833です。 今回から趣向を変えて、弊社筆頭プログラマーのbabaさんによる社内講義録を元に記事を書きます。第一回は「Railsらしく書こう」です。 Railsらしく書こう 特にプログラミング経験の浅いうちは、コーディングに関するさまざまな慣習を知らないがために遠回りをしてしまうことがあります。この講義では、Rails (とRuby) の基的なコーディングルールについて説明します。 なお、この講義はRails3時代のものを元にしていますのでご了承ください。 基的なコーディングスタイル class CommentsController<ApplicationController def index() @comment=Comment.find ( params[:id] ) if(request.format==:xml) then render(:layout

    Railsらしく書こう(社内勉強会)|TechRacho by BPS株式会社
    yahihi
    yahihi 2013/12/18
  • Rails 4.0.2, 3.2.16リリース!重大なセキュリティFIXがあります|TechRacho by BPS株式会社

    昨日、Ruby on Railsの重要なセキュリティアップデートである、Rails 4.0.2と3.2.16がリリースされました。 このリリースには、5件(3.2.16には4件)のセキュリティFIXが含まれています。 重要度の高いものがあるため、早急なアップデートをしましょう。 CVE-2013-6416 simple_formatヘルパーのXSS脆弱性に関する修正です。 ※4.0.2のみ。3.2系では元から発生しないため、3.2.16には含まれません。 simple_formatはhtml_optionsとしてHashを渡せますが、デフォルトで、このclass指定がHTMLエスケープされていませんでした。 class指定をユーザ入力による場合、容易にXSSが成立してしまいます。 simple_format "hello\nworld", class: '"><script>alert(1

    Rails 4.0.2, 3.2.16リリース!重大なセキュリティFIXがあります|TechRacho by BPS株式会社
    yahihi
    yahihi 2013/12/05
  • 肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)

    更新情報: 2013/11/19: 初版公開 2021/01/08: 訳文見直し、追記 こんにちは、hachi8833です。今回は、自分が知りたかった、Active Recordモデルのリファクタリングに関する記事を翻訳いたしました。1年前の記事なのでRails 3が前提ですが、Rails 4以降でも基的には変わらないと思います。リンクは可能なものについては日語のものに置き換えています。 なお、ここでご紹介したオブジェクトは、app以下にそれぞれ以下のようにフォルダを追加してそこに配置します。 注記: 以下は使われそうなフォルダを列挙しただけであり、実際にはこの一部しか使いません。 Value Object Service Object Form Object Query Object View Object Policy Object Decorator ⚓ 肥大化したActive

    肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)
    yahihi
    yahihi 2013/11/19
  • WebエンジニアがPhotoshopで画像の文字を修正する方法|TechRacho by BPS株式会社

    Webプログラマやっているのですが、Webページを作成しているとよく、画像の文字を修正したいことやお客さんから画像の修正をお願いされたりすることがたびたびあります。 「PSDファイルはありますか?」と聞いて「あります。」なら話は早いのですが、大抵「ありません」ってなので、そのような場合に対応するために今回はPSDファイルがない場合に画像の文字を修正する方法を紹介します。 デザイナさんに頼めばきれいにやってくれるのですが、この程度のことをデザイナさんに頼んでいるときりがないので、Webプログラマであってもできるようにしておくと重宝する場面が多々あるかと思います。 使用環境 Windows 7 Adobe Photoshop CS6(デフォルト キーバインド) 今回使用する画像 この画像をよく見るとグラデーションが掛かっています。そのため、単色で文字を塗りつぶして新たに文字を入力するということ

    WebエンジニアがPhotoshopで画像の文字を修正する方法|TechRacho by BPS株式会社
    yahihi
    yahihi 2013/11/03
  • Ruby on Rails 4.0.1リリース!大量のバグ修正、3系からの移行も少し簡単になりました|TechRacho by BPS株式会社

    2013.11.02 Ruby on Rails 4.0.1リリース!大量のバグ修正、3系からの移行も少し簡単になりました 日、Ruby on Rails 4.0の最初のアップデートである、Rails 4.0.1がリリースされました。 6月に4.0がリリースされてから約4ヶ月、かなり久しぶりのアップデートとなりますが、どのような変更が含まれているのでしょうか。 まとめ 量が多いので最初にまとめです。 今回のリリースは大量のdiffを含みますが、そのほとんどは細かいバグ修正です。 Railsのリリース時期的には3.2.13 → Rails 4.0.0 → 3.2.14 → 3.2.15 → Rails 4.0.1となるため、3.2.14以降で適用されていた細かい修正も取り込まれています。4系が3系にようやく追いつきました。 4系はなんかデグレっぽいバグや非互換が多いなーと思っていた箇所が、

    yahihi
    yahihi 2013/11/03
  • Railsで検索を高速化するならこれで決まり!Sunspotで始めるSolr入門|TechRacho by BPS株式会社

    Railsで簡単に使える全文検索と言えば、Sunspotが人気です。 非常に使いやすくできていて、わずか数ステップで格的な全文検索を始めることができます。 バックエンドは信頼と実績のApache Solrなので、性能・信頼性・拡張性は折り紙付きです。 そんなSunspotですが、実際にサーバに設置してサービス運用に乗せるとなると、ローカルで試しに動かす分には必要なかったことも気にする必要がでてきます。 データのバックアップはどうすれば良いんだ? 公開したあとにインデックス張り直すときは? この1000行以上ある設定ファイルはいったい何なんだ? 最近は、Railsシステムの高速化・パフォーマンスチューニングをさせて頂くことも増えたので、Sunspot/Solrも小規模ながら活用できるようになってきました。 これを機に社内勉強会を開催したので、そのスライドをSlideShareにアップロード

    Railsで検索を高速化するならこれで決まり!Sunspotで始めるSolr入門|TechRacho by BPS株式会社
    yahihi
    yahihi 2013/08/22
  • iptablesで鉄壁?の守りを実現する3つのTips|TechRacho by BPS株式会社

    iptablesでサーバを守るときに知っておくと良いことを3つ紹介します 1. 接続回数を制限する(IPアドレスごと) hash_limitを使います これにより特定ホストからの大量アクセス、DoS攻撃を緩和することが可能です 例 2. 接続回数を制限する(サービスごと) limitを使って制限します これにより多数のホストからの攻撃、DDoS攻撃を緩和します limitを使った制限は全ホストが等しく制限を受けるため、ssh等に設定すべきではありません。 (攻撃を受けている間は自分たちも制限されるため) Webサーバが大量アクセスで落ちそうな場合は使えるんじゃないでしょうか? 例 3. 接続IPアドレスを限定する IPアドレスの国別割り当てをAPNIC等から取得してコマンドを作ります この手のルールは長くなるので、ユーザー定義チェインにしたほうが見やすくなります 例 あとはこんな感じのスク

    iptablesで鉄壁?の守りを実現する3つのTips|TechRacho by BPS株式会社
    yahihi
    yahihi 2013/05/02
  • Rails 3.2.7がリリースされました|TechRacho by BPS株式会社

    日、Ruby on Rails 3.2.7がリリースされました。 主なトピックは、Digest認証時にDoS脆弱性が発生する問題の修正です。 (3.1系列は3.1.7、3.0系列は3.0.16が対応版になります) https://weblog.rubyonrails.org/ https://groups.google.com/forum/?fromgroups#!topic/rubyonrails-security/vxJjrc15qYM 3.xのユーザはアップデートが強く推奨されています。 追記: テスト環境のデフォルトがdevelopmentになる問題があるので注意が必要です 今回は、Rails 4に向けて一部DEPRECATEDになった機能もあるようです。 一番わかりやすいところでは、update_attributeが非推奨になっています。 update_attributes,

    yahihi
    yahihi 2012/07/28
  • 次世代Ruby on RailsサーバーUnicorn(汎用のRackアプリケーションサーバ)を使ってみた|TechRacho by BPS株式会社

    2010.07.09 次世代Ruby on RailsサーバーUnicorn(汎用のRackアプリケーションサーバ)を使ってみた 2010.07.20追記: prefixを指定した運用も可能でした。ご指摘頂きありがとうございます。 2010.07.28追記: 関連記事「RailsサーバUnicornを飼いならす! 運用時の便利技」へのリンクを張りました。 Railsサーバはたくさんあってややこしいですね! 最近さらにUnicornというものが頭角を表してきたようで、Twittergithubも使っているようなので使ってみましたので、特徴や使い方などレポートしてみたいと思います。 このブログの他にもEngine Yardのブログ記事「Everything You Need to Know About Unicorn」やgithubの記事「Unicorn!」が非常に参考になると思いますので、