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

  • 突然シリコンバレーのエンジニア2名から連絡をうけ日本で共同開発してみてわかったこと|TechRacho by BPS株式会社

    2ヶ月前、シリコンバレーでこれまで仕事していた2人組からMANGAREBORNに関わりたいと、FACEBOOK経由で連絡をうけました。FACEBOOKのFANPAGEは64万ほどLIKEされているのでいろんな人と繋がれてるんだなあと関心しつつも日語は話せなさそうなのでどうやって共同開発するか?ソースコードだけで採用可否を判断したことはあるけど言語も住む国も異なるとさすがに難しいので”日に来なよ”と連絡したらその翌月(先月)日に来た。定期的にFACEBOOKのスパムフォルダを見るのは大事ですね。 一人は大学の入学手続きをして学生というステータスと住むところと収入源をある程度確保していて、もう一人は住むところも給与も在留資格もなく海を越えて飛んできました。間違いなくいいやつだと確信しました。会った初日は延々とサービスを世界に広めるロードマップやそれぞれの夢について語りあいました。夢の話が

    突然シリコンバレーのエンジニア2名から連絡をうけ日本で共同開発してみてわかったこと|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2014/04/13
    わあ、興味深いな。
  • Ruby on Railsアップグレードガイド (4.1対応版)とAssociation Basics(翻訳)|TechRacho by BPS株式会社

    こんにちは、hachi8833です。やっとRails 4.1が出ましたので、この間翻訳したアップグレードガイドを更新しました。前回からの更新は10行程度で、Google Translator Toolkitのおかげでいつものようにあっさりと翻訳を更新できました。続いて、前から少しずつやっていたAssociation Basicsも翻訳しました。 Ruby on Railsアップグレードガイド(4.1対応版) Ruby on Railsアップグレードガイド(4.1対応版) 今回の原文はedgeguidesをベースにしました。 前回の記事は更新前のアップグレードガイドを参照ください。 Active Record関連付け Active Record関連付け 原文:Active Record Association 今後 しばらくはRails GuideのうちActive Record関連を訳して

    Ruby on Railsアップグレードガイド (4.1対応版)とAssociation Basics(翻訳)|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2014/04/12
  • Rails4でサイト構築をする-スクレイピング機能編(Nokogiri)|TechRacho by BPS株式会社

    [Rails4でサイト構築をする] - Rails環境構築編 - Scaffold利用編 - Bootstrap導入編 - WYSIWYG導入編 - CSV出力機能編 - スクレイピング機能編(nokogiri) - 非同期処理導入編(delayed_job) - デプロイ環境構築編(capistrano3) 上記を毎週1つずつ出す予定 今回は別のサイトのHTMLをパースして情報を取得する機能を作ってみたいと思います。 HTMLのパースにはNokogiriというプラグインを使います。 Nokogiriのインストール Gemfileに以下を追加する gem 'nokogiri' そして、bundle install Nokogiriを使って別サイトのHTMLから情報を取得する 対象サイトのHTMLを把握する 試しに、弊社のサイト(//www.bpsinc.jp)のグローバルナビの情報を取得し

    Rails4でサイト構築をする-スクレイピング機能編(Nokogiri)|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2014/04/10
  • オープンリゾルバ確認サイトopenresolver.jpの仕組みと注意点|TechRacho by BPS株式会社

    オープンリゾルバ確認サイトで自分が使うDNSが オープンリゾルバになっていないか確認できます。 こちらでも紹介されています。 【簡単チェック】お宅のルーターは大丈夫? 悪用されないかどうかチェックしてみよう 仕組みと注意点について書いておきます 仕組み 仕組みは以下の通り、リクエストのたびに一意なドメイン(xxxxxx.chk.openresolver.jp)にリダイレクトさせ、名前解決をさせます。 ns.chk.openresolver.jp側ではxxxxxx.chk.openresolver.jpの名前解決を要求してきたIPアドレスが分かるので、 そのIPをオープンリゾルバかチェックしています。 clientのIPアドレスはリクエストしてきた時点で分かります。 注意点 この仕組みから分かる通りチェックしてくれるのは権威サーバに問い合わせたIPだけです。 例えばGoogleのPublic

    オープンリゾルバ確認サイトopenresolver.jpの仕組みと注意点|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2014/04/10
  • Railsのルーティングを極める(前編)|TechRacho by BPS株式会社

    更新情報 2014/03/03: 最初の版を公開 2020/11/18: Rails 5と6の情報を反映 Railsのルーティングを極める(後編)もご覧ください。 こんにちは、hachi8833です。今回も弊社CTOの馬場さんによる勉強会のスライドを元に記事を書きました。発表当時はRails3だったので、Rails4情報も追加しました。 ⚓ Railsのルーティング(routes)を極めよう 2012/03: baba Railsのルーティングはきわめて自由度が高い分、気を付けないとすぐカオスになってしまいます。Railsのルーティングのコツについて勉強していきましょう。Railsのルーティングはconfig/routes.rbで設定します。 ⚓ まずはrails routes 追記(2020/11/18):以前はrake routesコマンドでしたが、Rails 5や6ではrails r

    Railsのルーティングを極める(前編)|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2014/02/18
  • 社員数名の開発会社がエンジニア20人採用するためにやってみたこと|TechRacho by BPS株式会社

    続編はこちらです:社員数名の開発会社が20人採用したあと黒字をキープするためにやったこと 約2年前の今頃、弊社はこんな状況でした。 学生アルバイトだけは今も昔も一杯いるけど、優秀な学生であっても仕事経験がないと戦力計算は難しい。一部の仕事デキル人たちがすべてを回していて、仕事は一杯あるんだけど仕事できる人が足りない状態でした。 というわけで、売上の10%程度である1000万くらいのキャッシュを投入して全力で採用活動してみました。社内人員の動きも含めると計15%かな?大事になパートナー探しですからね。しっかりやるとしっかり時間とられます。 試してみたこと+感想 社員に紹介をお願いしてみた 紹介で入社した場合のインセンティブを設定してみました。紹介したほうに20万円。紹介された方にも20万円。そもそも全員知り合いは片っ端から連れてきていたので紹介料を設定しても最初は意味はなかったですね。でも、

    社員数名の開発会社がエンジニア20人採用するためにやってみたこと|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2014/02/12
  • Unicornがどれくらい仕事してるかさくっと調べる|TechRacho by BPS株式会社

    Unicornのワーカー数を増やすべきか考えるために、今いくつのワーカーがリクエストを捌いているのかさくっと調べたいことがあると思います。 Passengerだとpassenger-statusコマンドが標準で付いていて便利なのですが、Unicornではそうもいきません。 今知りたい場合 たとえば以下のような1行コマンドで調べられます。 ps l --ppid=`cat /path/to/rails/tmp/pids/unicorn.pid` | \ awk "{ print \$10}" | grep R | wc -l これは、masterプロセスの子プロセスを一覧してステータスがTASK_RUNNINGのものを数えているだけです。 多少雑ですが、watchで数秒おきに見ておけば、負荷状況がざっくりとわかります。 muninで監視する場合 これだけだと短いので、muninで監視する設定

    Unicornがどれくらい仕事してるかさくっと調べる|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2014/02/10
  • vim日本語検索をちょっと便利にするmigemo検索|TechRacho by BPS株式会社

    migemo検索とは migemo検索はvimに限った話ではないですが 半角/全角の切り替えが少なくてすむとvimは便利なので紹介 migemo検索はこんな感じでローマ字で日語を検索できます インストール aptでパッケージを入れて # apt-get install cmigemo .vimrcにこんな感じで追加します NeoBundle 'rhysd/migemo-search.vim' migemo検索をON/OFFできたほうが便利なので以下の設定を.vimrcに追加しています :MigemoでON/OFFをトグルできます 参考リンク https://github.com/rhysd/migemo-search.vim

    vim日本語検索をちょっと便利にするmigemo検索|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2014/02/09
    huumu
  • ちょっと待った! Railsのgitリポジトリから Gemfile.lockとdb/schema.rbを除外してはいけない|TechRacho by BPS株式会社

    2014.02.07 ちょっと待った! Railsのgitリポジトリから Gemfile.lockとdb/schema.rbを除外してはいけない こんにちは、hachi8833です。 Railsをgitで管理するのであれば、ログファイルや、パスワード入りdatabase.ymlなどの登録したくないファイルを.gitignoreに記載してリポジトリから除外するのが普通です。しかし実際の案件では、除外すべきでないファイルが除外されていることがたまにあります。言うまでもないような話ですが、心当たりのある方は念のためチェックしてみましょう。 gitリポジトリから除外すべきでないファイル 以下では、誤ってgitリポジトリから除外されがちなGemfile.lockとdb/schema.rbについて説明します。代表的なものであり、すべてを網羅しているわけではないのでご注意ください。 Gemfile.lo

    ちょっと待った! Railsのgitリポジトリから Gemfile.lockとdb/schema.rbを除外してはいけない|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2014/02/08
    schema.rb やっぱり必要なんだ。
  • Fontconfigことはじめ|TechRacho by BPS株式会社

    Fontconfigは、Linuxで古くから使われている、フォント設定を一元管理してアプリケーションに提供するライブラリです。 fc-cacheコマンドなどを叩いたことはあっても、fonts.confファイルの書き方は知らないという方も多いでしょう。Fontconfigの動作概要と設定ファイルの書き方について、簡単にまとめてみました。 資料は、先日実施されたユニバさんとの合同勉強会で発表した資料です。今回は会場と運営をユニバさんにしていただきましたが、計8名で発表し合いとても充実したイベントになりました。 【宣伝】 BPSでは不定期に公開勉強会を開催しています。 facebookグループなどで告知していますので、もし興味がある方はご覧になってみてください。 2014/01/27追記 嘘書いていました。AndroidではFontConfigではなく独自XMLを読み込んでいました。申し訳あり

    Fontconfigことはじめ|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2014/01/29
  • 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株式会社
    masa-wo
    masa-wo 2013/12/05
  • ぐにゅぐにゅ動く直感的なGitクライアント ungit|TechRacho by BPS株式会社

    ungitはnode.jsで動くグラフィカルなgitクライアントです Learn Git Branchingみたいな直感的なGUIで操作できるので とても分かりやすいです インストール 今回はnvmを使用してnode.jsを入れます $ git clone git://github.com/creationix/nvm.git ~/.nvm $ source ~/.nvm/nvm.sh $ nvm install v0.10.22 $ npm install -g ungit $ nvm use v0.10.22 ログイン時も有効にしたい場合は.bashrcに以下のように書いておきます if &#91; -d $HOME/.nvm/ &#93; then source ~/.nvm/nvm.sh nvm use v0.10.22 &#62; /dev/null fi 起動 以下のコマンドで

    ぐにゅぐにゅ動く直感的なGitクライアント ungit|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2013/11/22
  • 肥大化した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つの方法(翻訳)
    masa-wo
    masa-wo 2013/11/20
  • 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系はなんかデグレっぽいバグや非互換が多いなーと思っていた箇所が、

    masa-wo
    masa-wo 2013/11/03
  • imadesyo(今でしょ!).vimを作りました|TechRacho by BPS株式会社

    突然ですが サーバの設定ファイルをvimで書いた後、反映させるときどうしていますか? たとえばapacheの設定ファイルを編集した後に今までは ↓こんな感じにvimから外部コマンドを実行していました :!service apache2 restart Ctrl-Zでvimをバックグラウンドにまわして上記コマンドを打つ人もいるでしょう でもなんだかこの作業めんどくさくないですか? vimスクリプトでいい感じに編集中のファイルを判定して再起動コマンドを実行してもらいたいものです じゃあいつvimスクリプト書くか? 今でしょ! というわけで作りました imadesyo.vim https://github.com/yaasita/imadesyo インストール vundleとかの人はこんな感じでインストールしてください Bundle 'yaasita/imadesyo' 使い方 ファイル編集中に

    imadesyo(今でしょ!).vimを作りました|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2013/09/09
    俺得スクリプト的な。
  • できるbyobu - 5分でわかる? 仮想端末入門 -|TechRacho by BPS株式会社

    大好評だったできるtmux-5分でわかる?仮想端末入門-の記事に対抗してbyobuを布教するための記事を書いてみました。 byobuはめんどくさい設定をしなくても結構使えるので、これから仮想端末を使おうと思っている方にはおすすめです。 環境 OS: Ubuntu12.04 LTS 1. byobuのインストール $ sudo apt-get install byobu 2. byobuのバージョン確認 byobuは日々更新されているのでバージョンの違いでショートカットが使えないなんてこともあるので、しっかりバージョンを確認します。 $ byobu -v とりあえず設定とか気にしない方は5からどうぞ 3. バックエンドの仮想端末の選択 byobuはscreenかtmuxをベースとして使用することができます。デフォルトはtmuxです。 3.1 screenに変更したい場合 $ byobu-se

    できるbyobu - 5分でわかる? 仮想端末入門 -|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2013/09/07
  • ActiveRecordの便利機能previous_changes|TechRacho by BPS株式会社

    ActiveRecordには便利なprevious_changesというメソッドがあります。 割と知名度が低いので、ここで使い方をご紹介します。 (08/26追記) はてブでご指摘(?)頂きましたが、正確にはActiveRecordではなくActiveModel::Dirtyの機能です。 まずはchanges previous_changesの前に基のchangesです。 これは、saveする前に変更されたattributeを調べる機能です。 まずはfindした直後です。changed?は当然falseになります。 User.create(name: "Taro") user = User.find(1) user.changed? # => false user.changed [] user.changes # => {} user.changed_attributes # => {

    masa-wo
    masa-wo 2013/08/26
    _was とかとはまた違うやつかな。
  • 初めてのGemの読み方|TechRacho by BPS株式会社

    Web開発においてRailsの開発効率は圧倒的ですが、これは「Ruby言語の素晴らしさ」「Railsの優れた設計」はもちろんのこと、「やりたいことがたいてい見つかる豊富なGem」にも支えられています。 しかし、不慣れなうちはRails黒魔術やGemの挙動が理解できず、振り回されているのもよく目にします。 ライブラリのアップデートが速く、ググって得られる情報だけでは更新に追いつけないことも多いですね。 そこで今回の社内プチ勉強会は、「初めてのGemの読み方」を実施しました。 Gemを使うだけでなく、自在にソースを読めるようになるのが目標です。 使った資料をSlideShareにアップしておきました。 まとめ 簡単なGemは、初めてでも簡単に読むことができます。 今までGemを使うだけだった人は、ステップアップに是非読んでみると良いと思います。 はまったときのトラブル解決に役立つだけでなく、高

    初めてのGemの読み方|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2013/07/29
  • Rails 3.2.14がリリースされました|TechRacho by BPS株式会社

    日、Ruby on Rails 3.2.14がリリースされました。 3.2.14は数々のバグフィックスが含まれたバージョンになります。大きなセキュリティフィックスは含まれていませんが、早めのアップデートを検討すると良いと思います。 なお3.2系は、次のリリース(3.2.15)が最後のバグフィックスになります。3.2.16以降はセキュリティパッチしか提供されない予定なので注意しましょう。 変更点 3.2.14には約40のバグフィックスが含まれていますが、いくつか見てみます。 routing routes.rbにおいて、scopeでcontroller/actionを指定すれば、その内部のgetなどに反映されるようになりました。以下のような記述が可能になります。 # config/routes.rb # ... scope '/job', :controller => 'job' do sc

    masa-wo
    masa-wo 2013/07/24
  • 高速ソースコード検索|TechRacho by BPS株式会社

    先日コード修正のために検索コマンドを幾つか使ったので簡単なまとめを投稿します。 問題になったコード @adults = User.select(:id).where("age >= ?", 20).map(&:id) pluckを使った方が良いですね @adults = User.where("age >= ?", 20).pluck(:id) 複数のファイルで同じような記述をしている可能性があるので ".map(&:id)" が含まれるファイルを検索します。 基のfindコマンドで検索 find . -name *.rb |xargs grep '.map(&:id)' 大抵の環境で動作するので覚えておくといいかもしれないですね。 検索範囲が広い場合は速度が気になるかもしれません。 ackコマンドで検索 普段はackを使っています Macを使っていれば Homebrewで簡単にインスト

    高速ソースコード検索|TechRacho by BPS株式会社
    masa-wo
    masa-wo 2013/07/05
    pluck しらなかた。git grep は結構使ってるな。