タグ

ブックマーク / qiita.com/yuku_t (12)

  • 結局jQuery.Deferredの何が嬉しいのか分からない、という人向けの小話 - Qiita

    結局jQuery.Deferredの何が嬉しいのか分からない、という人向けの小話 一年ほど前に JavaScript - jQuery.Deferredを使って楽しい非同期生活を送る方法 - Qiita [キータ] という記事を書きました。 で、一年経って、ふと、「もっと分かりやすくjQuery.Deferredの便利さを説明できるんじゃないか」と思い立ってざざざっと書いてみました。 小話と言うにはちょっと長いけど。 -- jQuery.Deferredを使うと嬉しいのは、jQuery.Deferredの仕様を満たす部品同士を簡単に組み合わせることが可能だからです。中には処理を書き下すことができるとかコールバックのネストを防げるのがいいとか言う人もいますが、個人的にこっちのほうがよっぽど重要だと感じます。 例えるならレゴブロックです。レゴブロックはあの凸と凹を持ってるブロックを自由に組み合

    結局jQuery.Deferredの何が嬉しいのか分からない、という人向けの小話 - Qiita
  • gem installでGitHubリポジトリにある最新版をインストールする - Qiita

    って書いて bundle update spring を実行してね。 参考: https://github.com/jonleighton/spring/issues/143#issuecomment-17984728 みたいなことがある。だいたいの場合はこれでいいんだけど、ここで引用しているspringの場合、これで直るのは bundle exec spring だけで、 bundle exec 無しだと実行できない。(僕の勘違いかも知れないので、正しいやり方を知っている人は是非コメントで教えてください。) 我慢して古いバージョンをRubygemsから引っ張ってきてインストールしてもいいんだけど、やっぱりbundlerでインストールしてあるのと同じバージョンにしたい。 で、gemコマンドにはgitリポジトリを指定して直接インストールする機能が無いので、こういう場面ではspecific_i

    gem installでGitHubリポジトリにある最新版をインストールする - Qiita
  • Gitフックを使っておかしいRubyコードをコミットできないようにする - Qiita

    #!/bin/sh git diff --cached --name-only --diff-filter=AM | grep '\.rb$' | xargs rubocop exit $? grep '\.rb$' で拡張子が rb であるファイル、という意味なので、必要に応じてこの部分を変更してください。例えば app ディレクトリ以下のみにしたければ ^app/.*\.rb$ にします。 忘れずに実行権限をつけます。

    Gitフックを使っておかしいRubyコードをコミットできないようにする - Qiita
  • git-rebaseのexecを使ってstashした内容を履歴に埋め込む - Qiita

    あなたはgitリポジトリでコードを書いています。 で、コミットをするとき「このコードはさっきのコミットと一緒にした方がいいな」と思った場合どうしますか?

    git-rebaseのexecを使ってstashした内容を履歴に埋め込む - Qiita
    ruedap
    ruedap 2013/08/17
    ハイテクだなぁ
  • Rubocopをsyntasticを使ってVimから自動実行する - Qiita

    NeoBundle 'scrooloose/syntastic' let g:syntastic_mode_map = { 'mode': 'passive', \ 'active_filetypes': ['ruby'] } let g:syntastic_ruby_checkers = ['rubocop'] syntastic_mode_map は 'active' もしくは 'passive' を指定します。 'active' だとバッファを保存するたびにsyntasticが走り、 'passive' の場合は :SyntasticCheck 実行時に走ります。 'active_filetypes' は保存の度にsyntasticを走らせるファイルタイプを指定します。 2つをあわせると、基的にsyntasticは走らせないけど、rubyのときだけは自動的に走らせる、という設定にな

    Rubocopをsyntasticを使ってVimから自動実行する - Qiita
  • schema.orgに準拠してクローラと会話しよう - QiitaのSEO事情(後編) - Qiita

    前編ではHTML5のアウトラインを綺麗にする、というお話でした。アウトラインを綺麗にすれば、検索エンジンにコンテンツの階層構造がどうなっているのか、正しく教えることができます。 けどそれだけでは1つ1つのまとまりが一体何を表しているのかが不明です。 schema.orgに準拠することで、そこに何が書かれているのか、を検索エンジンに教えることができます。 schema.orgとは schema.org はGoogle, Microsoft, Yahoo!などの検索エンジンベンダーが集まってマークアップ方式を標準化している組織とその標準化された仕様を文書化しているサイトです。 例えば「ここは著者のことを書いています」「これは著者の名前です」「この記事が公開されたのはこの日時です」などなど、HTMLの機能だけでは伝えきれない詳細な情報をクローラに伝えるための手段が色々定義されています。 ちなみに

    schema.orgに準拠してクローラと会話しよう - QiitaのSEO事情(後編) - Qiita
    ruedap
    ruedap 2013/07/18
    こういうSEO対策は有益
  • HTMLのアウトライン意識してますか? - QiitaのSEO事情(前編) - Qiita

    「最近Qiitaを検索結果でよく見るようになったなぁ」と感じる人はいませんか? SEOを頑張ってるWebサービスは数多存在しますが、Qiitaもその中の1つです。 SEOっていうとやれキーワードがどうだこうだ、サイト内リンクがどうだこうだ、という話になってしまいがちですが(そういうのが不要と言っているわけではないですよ)、今回はQiitaがSEOの一環として行なっている数多の取り組みの中で、比較的Web上での言及数の少ない印象のある、HTMLのマークアップについて、外に出せる範囲で、前編と後編に分けて解説したいと思います。 後編はこちら 免責事項的な SEOというのは完全に結果論でしか語ることのできないものです。また時と共に効果的とされるテクニックは変わっていきます。この記事はQiitaの中の人が「効果あるんちゃうか」と試行錯誤しながらあれこれ行なっていることの一部を紹介するものであって、

    HTMLのアウトライン意識してますか? - QiitaのSEO事情(前編) - Qiita
  • GitHubのようなtextareaの補完機能を実装する - カーソル位置の取得 - Qiita

    続編 JavaScript - Qiitaのtextarea自動補完がOSSになりました GitHubのコメントでは@と入力するとカーソルの下に入力補完が出現する。さらっとやっているが、実はこれが結構難しい。なぜ難しいのかというと、JavaScriptではカーソルが何文字目にいるかは分かるが、 カーソルのXY座標を取得するAPIが存在しない からだ。カーソル位置が分からなければ、適切な位置に補完候補を表示することができない。では一体どうすればいいのか? 今回Qiitaではコメント欄でのメンションの補完機能を実装した。稿では前述の問題を解決するために用いたテクニックを解説する。 ちなみにこのメンション補完機能はチーム用プライベートQiitaである「Qiita:Team」でも勿論使える。現在絶賛無料トライアル実施中なので、興味を持たれた方はそちらも使ってみて欲しい。 要約 textarea内

    GitHubのようなtextareaの補完機能を実装する - カーソル位置の取得 - Qiita
  • A/Bテストよりすごい?バンディットアルゴリズムとは一体何者か - Qiita

    オバマ大統領の再選に大きく寄与したことで大きな注目を集めているA/Bテスト。A/Bテストを導入した、することを検討している、という開発現場も多いのではないだろうか。 そんな中、Web上で次のような議論を見つけた。 20 lines of code that will beat A/B testing every time Why multi-armed bandit algorithm is not “better” than A/B testing 一言でまとめると「A/Bテストよりバンディットアルゴリズムの方がすごいよ」「いやいやA/Bテストの方がすごいし」ということだ。 で、バンディットアルゴリズムとは一体何者なのか? そこでBandit Algorithms for Website Optimization (O'REILLY)を読んでみた。その結果分かったことを踏まえてざっくりと

    A/Bテストよりすごい?バンディットアルゴリズムとは一体何者か - Qiita
  • Backbone.js入門 「Events」 - Qiita

    閲覧上の注意 この記事で対象としているバージョン0.5.3は結構古いので注意してください。この記事でいえば、bindは無くなり、現在ではonやlistenToが使われています。 その他の割りと新しい情報は Backbone.js Advent Calendar 2012 などにあります。 (追記ここまで) ネタ切れ感が否めないBackbone.js Advent Calendarですが、今回から何回かに分けて懇切丁寧な入門記事を書いていこうと思います。 以下のように書き進めていく予定です。 Events View Model ViewとModelの連携 Collection ViewとModelとCollectionの連携 RouterとHistory なおここで扱うBackbone.jsのバージョンは0.5.3です。 Backbone.jsのドキュメントを開くとまず最初に解説されているの

    Backbone.js入門 「Events」 - Qiita
  • RailsアプリでBackbone.jsを使う - Qiita

    Backbone.js Advent Calendar 5日目 Backbone.jsの家ドキュメントにtodoリストをブラウザのLocalStorageを使って保存するチュートリアルがあります。 todo.js 今回は、このtodoアプリのバックエンドとして、Ruby on Railsを使うように変更してみたいと思います。 Backbone.jsとサーバの通信 Backbone.jsはModelやCollectionの内容をサーバと同期するための手段を提供してくれています。標準で用意されているBackbone.syncはサーバがRESTfulと呼ばれるインタフェースを提供していることを前提に動作しますが、同期する方法を自作することも可能で、例えば上記のtodoリストのチュートリアルではLocalStorageにデータを保存するために、Storeという名前のオブジェクトを自作して用いてい

    RailsアプリでBackbone.jsを使う - Qiita
  • js->coffee移行にあたって考えたこと - Qiita

    個人製作のシステムのjsをcoffeeに完全移行したのでその雑感を書きます。あくまでも個人的な感想です。感じ方は人それぞれです。 ちなみに僕は勉強を兼ねて手で移行させましたが、js2coffeeというツールを使うと自動で変換してくれるらしいです。 先に結論 coffeeの方がいいと思う。 よくある批判に「js書けばいいじゃん」というのがあるけど、極端な話、「アセンブラ書けばいいじゃん」と高級言語が出てきた頃に言ってた人と主張の方向性は似てると思う。極端すぎるけど。 jsには落とし穴がいっぱいある。慣れてもたまにはまる。varを忘れたり「関数の頭で全部のvarを列挙する」というプラクティスに従ってたら、冗長になって管理するコスト高くなったり。 coffeeを使うとそういう余計な問題を意識しなくてよくなるのはとても大きい。 しかもjsでできることの全てをcoffeeでできる。工夫が必要になる場

    js->coffee移行にあたって考えたこと - Qiita
  • 1