Kids are able to perform well in school when they are guided properly. When kids complete their homework successfully they are praised by teachers and it shows that they take…
セマンティック・バージョニングと、Gemfileのバージョン指定方法 - Gemfileでよく見る`~>`を使いこなすRubyRails ライブラリを使う時、バージョンが合わなくてうまく動かないという問題は、Rubyに限らず、どのプログラミング言語でも常に悩みの種である。特にDepedencyの多いライブラリをインストール/インクルードするときは、大体この問題で躓く。C++とかでGUI関係のライブラリを入れるときは何度も挫折したし、特に、進化が速く変更の多いPerl,PHPをはじめとしたスクリプト言語では普通にそういう問題に出くわす。 もちろんRubyもその例外ではないのだが、より個人がライブラリ(gem)を作って、githubなどに上げ、公開していくという文化がある割に、あまりこの問題に悩まされないので、Ruby(on Rails)は比較的うまくやっていると思う。 これは、Bundler
So we have this method which, internally, uses a Hash#fetch to get a value. If the key it's looking for doesn't exist, it raises a KeyError. def user_name(params) params.fetch(:username) end user_name(username: 'Frank') # => "Frank" user_name({}) # => # ~> -:2:in `fetch': key not found: :username (KeyError) # ~> from -:2:in `user_name' # ~> from -:6:in `' We have some other code that uses this met
There are some times you need to merge the results of two or more queries in Rails. A typical situation for doing that is when you are implementing a timeline where you fetch events from yourself and also from your friends: class Profile < ActiveRecord::Base has_many :events has_many :friends has_many :friend_events, :through => :friends, :source => :events def my_timeline events + friend_events e
model の中にこんなのを書く [crayon lang=”ruby”] class User < ActiveRecord::Base module UnionHack def union(*relations) from '((' + relations.map { |r| r.ast.to_sql }.join(') UNION (') + ')) AS ' + self.table_name end end extend UnionHack end [/crayon] そんで、以下のように使える。 [crayon lang="ruby"] User.union(@group1.users, @group2.users).limit(20) [/crayon] 参考: http://coderwall.com/p/9hohaa
現在、A!@attripさん発で話題になっている「たった2行でIE5.5~IE8をモダンブラウザの挙動にする魔法のJS」という記事。 Webデザイン界隈では当たり前のものですが、実はもうひとつ追加しておくといいかもしれないjsがあったりします。 Photo:html5 By michael pollak IE8以前のブラウザはどうにもこうにも開発者泣かせなわけですが、ie9.jsとcss3-mediaqueries.jsを突っ込むことで、モダンブラウザと同じ挙動にすることができちゃいます。 もう少し具体的に書くと、ie9.jsを組み込むことで、 position:fixed;に対応 max-width、max-heightに対応 属性セレクタ、擬似クラスに対応 margin:0 auto;でのセンタリングに対応 透過PNGに対応 opacityに対応 といったことが可能になります。要はCS
最近色々あってAndroidと心を通わせられるようになってきたago(@kyo_ago)です。 このエントリは tech.kayac.com Advent Calendar 2012 3日目の記事です。 Application cache(cache manifest)とは WHATWGやW3で議論されているHTML5 Offline Web Applicationの仕様の一部です。 細かい仕様等に関しては最後に参考URLをつけたのでそちらをご覧ください。 ここでは色々誤解の多いApplication cacheの使い方をご紹介したいと思います。 使い方 .appcacheの拡張子に対してtext/cache-manifestのMIMEタイプを設定してください。 .appcacheファイルは以下の形式で作成してください。 CACHE MANIFEST: #更新用ID(日付+連番等) キャッ
こんにちは、tahara です。 Rails のエラー通知に Exception Notifier を使われてたりすると思いますが、 JavaScript のエラー通知はみなさんどうされているのでしょうか? ちょっと探してみたのですが、これだ! というもの見つからず、 PipelineDeals Dev Blog - PipelineDeals Dev blog - Javascript error reporting for fun and profit を参考にメールで JavaScript のエラー通知を行うようにしてみました。 JavaScript の window.onerror でエラーをつかまえる。 jQuery.post でエラー情報をサーバに送信。 サーバで ActionMailer を使ってエラー情報をメール送信する。 app/assets/javascripts/on
軽めのjQuery Advent Calendar 2012 に参加させていただきました。 この記事は2日目を担当しています。 題名の通り、似ているけど微妙に違う紛らわしいjQueryのAPIをざっとまとめてみました。 項目 比較
おすすめのポイント GIFアニメーションが簡単に作れるカメラアプリ 20枚の連続写真を撮るか、端末のギャラリーにある画像を複数選んでGIFアニメ化 コマの取捨選択やスピード設定、逆再生などの編集もできる 作ったGIFは端末のギャラリーにも保存OK TwitterやFacebookなどへもワンタッチシェア 誰かに見せたくなる 「GIFアニメーション」を誰でも一度は目にしたことがあるだろう。いわゆるパラパラ漫画のように複数の画像が順に表示されることで動画チックに見える、あの形式だ。GifBoomは、その場で撮った複数枚の写真や端末のカメラギャラリーにある画像をつなぎ合わせ、簡単にGIFアニメーション化してくれるアプリだ。 GIFアニメは静止画とも動画とも違う独特の雰囲気をもち、普通の光景が何だかコミカルな感じに見えたりして楽しい。よくネタ画像(動画)の形式として使われていたりする。作ったら思わ
Provides a menu and status bar to resize the window dimensions to a specific size. Unlike other similar extensions, this one sets the size of the *entire window*, not just the HTML area, which better reflects the environment that end users will be using. This add-on uses the "Add On" bar at the bottom of the Firefox window, which is hidden by default on recent versions of Firefox. I highly recomme
私のデスクトップは 1600×1200 ピクセルで、ブラウザを左に、メーラを右にして、左右に並べて表示しています。 この時、ブラウザの幅はちょうど横 800 ピクセルとなり、だいたいのウェブページは横スクロールすることなく表示できていますが、最近は、1024×768 ピクセルのディスプレイを前提としたページが多くなり、横 800 ピクセルのウインドウでは横スクロールが出るようになりました。 そこで、横幅を 1024 ピクセルとし縦幅を最大にするブックマークレットなどを書いてみました。 1024 : Max Height 1024 : 768 800 : Max Height 800 : 600 たいしたスクリプトじゃないんですが便利です。とりあえず、Macintosh の Safari と Windows の Firefox で動きました。ソースは下のような感じ。 javascript:v
「情報革命」とは何でしょうか。それはネットを介した大量情報の流入による社会生活の変化の連続のことです。情報革命の初期に始まる一つの変化は「見る変化」です。情報を最も効率的に処理できる人間の入力デバイスは「目」であり、そのための環境作りがまず構築されるでしょう。 スマートフォンが携帯電話を駆逐したのは、iPhoneのデザインが素晴らしかったからではありません。人々が大量の情報を処理するためには、非効率な「耳」デバイスを置いて、より効率的な「目」デバイスを活用する必要があったからです。 7インチタブレットの新製品投入が相次いでいます。これは何を意味し、何を駆逐するのでしょうか。そのフォルムを見れば答えは明らかでしょう。それはまさに「書籍」なのです。7インチタブレットは「アトムの読書」を「ビットの読書」にすべて置き換えようとしています。 スマートフォンは、話し言葉を文字化して見るためのデバイスと
近藤 嘉雪 Perlの「ラクダ本」「リャマ本」の訳者です。 著書に「定本 Cプログラマのためのアルゴリズムとデータ構造」 「定本Javaプログラマのためのアルゴリズムとデータ構造」があります。 3月末にヤフーを退社しました。仕事探してます! 先週、ブログとウェブサイトを分離して、サーバを移転しました。これまではレンタルサーバを使っていましたが、新サイトはさくらVPSのサーバの上で、ウェブサーバNginxを動かしています。 Nginxは、ロシアで開発された軽量で高速なウェブサーバで、HTTPのリバースプロキシー機能とメールのプロキシー機能も備えています。詳しくは公式サイトwww.nginx.orgの解説(日本語)をご覧ください。 このエントリでは、Ubuntu 12.04 LTSにNginxをインストールする手順を説明します。 インストールするパッケージを決める Nginxをインストールする
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く