セコン (id:secondlife, @hotchpotch) です。ウェブサービスにはよく「このエントリーに関連するブログ記事」や「このレシピに関連するレシピ」という機能が実現されてますよね。さて、この機能はどのように実現すれば良いでしょうか。例えば tf-idf で単語の類似度を求め…といった実装が必要になり、いささか面倒です。 しかしながら Elasticsearch や Solr *1を使うと手軽に実現できます。例えば、クックパッドニュースの記事では Solr を使い「この記事を読んだ人におすすめ」の機能に、最近クックパッドにジョインしたインドネシアの会社の DapurMasak では Elasticsearch を使い「Resep serupa(関連レシピ)」の機能で利用しています。 クックパッドニュースでのこの記事を読んだ人におすすめ DapurMasak での関連レシピ 使
先週アップルが発表した iOs 8 のリリースに、私たちは非常に興奮しております。iOS 8 の正式リリースを手にして数日しか経っていませんが、いち早く世界中の Web 開発者コミュニティに最新のアップルのリリースについて徹底的にお伝えしたいと思っています。もちろん数週間、数ヶ月後にはここではカバーできなかった項目が発覚するのは承知ですが、既に分かっていることを少しでも共有できたらと思っています。 この記事は、今後iOS 8 がアップルのデバイスのベースラインとなることを見越して、HTML5 の現状を技術解析したものです。去年 iOS 7 にも似たようなレビュー記事を Web 開発者のために書きましたので、気になるかたはそちらもご覧ください。 iOS 8 の新機能は HTML5 開発を進めます 今回のアップグレードで加えられた機能について見ていきましょう。 Source: caniuse.
N+Keyboard iOS 8からサードパーティのキーボードを利用できるようになりました。 以前にも親指シフトキーボードの使えるエディタとしてN+Noteというものをリリースしましたが、当然そのアプリでしか使えないという制限がありました。 しかし、これからはどんなアプリでも好きなキーボードを使うことができるようになります。 正直、現状のAPIを使って日本語変換を実装するのはなかなか困難なのですが、やってやれないことはないのでいろいろなキーボードがリリースされて、APIも機能拡張が進んでいけばいいなと思います。 親指シフトを使ってるひとはぜひ(安い価格ではないですが)ダウンロードして使ってみてください。 カスタムキーボードはアプリケーションをダウンロードするだけでは使えるようになりません。 設定アプリからキーボードを有効にする必要があります。 「設定」アプリから「一般」>「キーボード」>「
One of the most highly debated topics at The Frontier Group over the last two years has been whether to use RubyMotion or Objective C for iOS development. There were a tremendous amount of reasons for and against both RubyMotion and Objective C. In the end we settled on RubyMotion, reasoning that we could learn Cocoa Touch and iOS faster using Ruby than Objective-C. In hindsight, I think it was th
Appleについてあなたがどう思っていようと、スティーブ・ジョブズ氏は、同社の顔という以外に、非常に多くのものを生み出したCEOでもあります。ジョブズ氏は、2011年に亡くなるまでに、Appleを再建するとともに、生産性の高いユニークな職場環境を作り上げました。以下、彼が行った施策をいくつか見ていきます。 ジョブズ氏は間違いなく複雑な人物でした。天才的なアイデアだけでなく、たくさんの悪いアイデアも持っていました。マネジメントスタイルは対決的、礼儀知らずな性格で、その権威主義的態度はよく知られていました。つまりジョブズ氏は、一緒に働くのが大変な、面倒な人物だったのです。それでも、彼は企業を再建し、革新的な製品を市場に送り出してきました。90年台にはPixarを創設し、1997年にAppleに戻ると、倒れかかっていた同社を立て直しました。 ガラクタを一掃し、大事なことにフォーカスする 1997
AppStoreで「Appバンドル」という機能がスタートしましたのでそれ関連のメモ。これは有料アプリをまとめてパックで買ってもらう代わりに、割引販売するイメージです。 例えば「ファイナルファンタジーセット」はFFの7作品を通常10,600円⇒7,400円で買うことが出来ます。(ひとつでも買ったことがあるアプリがあれば、その分は割引されるようです、iTunesのアルバムと同じ仕組み?) バンドルについて・有料アプリしかまとめられない。 ・自分のアプリしかまとめられない。 ・バンドル名はキーワード検索にはひっかからない。 開発者としてのバンドル活用メリット1、個別のアプリページにバンドルが表示される。 バンドルに入っているアプリのページを見ると「ちなみに、このバンドルに入ってるから、こっち買ってくれてもいいんだよ!」的な感じで表示されます。思いもよらない、まとめ買いが発生するかもしれません。(
Ruby | RubyKaigi2014で話題に。安全に Ruby のコードを変換できる Synvert gem をインストール #rubykaigi RubyRubyKaigi 概要 RubyKaigi2014で話題になった安全にRubyのコードを変換できる Synvert gem をインストールして 簡単な動作確認をしてみます。 Synvert GitHub Synvert Document Synvert って? Synvert は Ruby のコード変換用の gem です。 RubyKaigi 2014 の発表により注目度アップ中。 Rubyは動的言語の特性上、リファクタリングを行う際などに ツールの補助を受けられない(or 受けにくい)ケースが多々あります。 そのため、 正規表現などで文字列置換する ripper などで AST を操作する などの方法がありますが、前者は誤った置
toRuby & guRuby 出張版 でシグナルについてやってたので、関連して書いてみます。 どのような時にシグナルハンドラを定義するのか どのような時にシグナルハンドラを定義するのかという話がありました。 UNIXのデーモンプログラムは、何が由来なのかわかりませんが、SIGHUP で設定ファイルの再読み込みを行うのが慣習になっています。 SIGHUP はデフォルト動作ではプログラムを終了させてしまうだけなので、SIGHUP で特別な処理を行いたいプログラムはシグナルハンドラを定義しています。 本来 SIGHUP は端末が終了した時に端末上で動いていたプログラムに対してOSが発行するためのものです。 たとえば、端末エミュレータを開いて、 % sleep 9999 と実行してる状態で端末エミュレータを閉じると sleep プロセスに SIGHUP が送られます。別の端末から strace
This document summarizes Narihiro Nakamura's presentation on symbol garbage collection in Ruby. It describes the problem that symbols are currently uncollectable in Ruby and outlines an idea to make symbols collectable by differentiating between immortal symbols and mortal symbols. Immortal symbols would refer to symbols used in the C layer like method names, while mortal symbols like those genera
ささだこういちさんによるRGenGCの発表資料を読みました。 英語だったので条件反射的にウッとなったのですが印刷してボールペンを片手に辞書を開きながら読み通しました。 RGenGCとは何物か、その仕組みはどうなっているのかということに注目してまとめます。誤りがあれば指摘していただけると助かります。 世代別GCの復習 世代別GCではオブジェクトを新世代と旧世代にわけます。 オブジェクトは最初新世代として生成され、一度でもGCして生き残ったオブジェクトは旧世代となります。ふだんのGC (minor GC)では新世代のみを扱い、旧世代オブジェクトは死んでいても回収しません。たまに行うmajor GCで旧世代も含めてGCします。 世代別GCのminor GCでは次のことをします: ルートオブジェクトからたどれるオブジェクトにマークをつけます マークをつけたオブジェクトは旧世代へ移行します ただしマ
プログラミング (iOS, JavaScript, Jenkins, Sikuli) とMacやiPhoneなどの話題が中心のブログ ドキュメントにないメソッドreflectを使えば、Swiftで一応リフレクションが使えるようなので使ってみました。 なお、ドキュメントには載っていない情報なので、今後変更されたり、なくなったりする可能性があります。 前提 次のようなクラスとインスタンスがあったとします。 struct Foo { let num = 3 let str = "Hoge" } class Bar { let num = 3.14 let str = "Fuga" let foo = Foo() } let x = Bar() reflect reflectを使うと識別子名や値などを見ることができます。 var ref = reflect(x) for var i = 0; i
第58回 iOS 8のカメラと写真機能はこんなに変わった!――カメラ編:荻窪圭のiPhoneカメラ講座(1/2 ページ) iOS 8が出たのである。iOS 7から8にしても見た目が大きく変わるわけじゃないので「どこが変わったの?」的に感じる人もいるかもしれない。でも触ってみるとかなり変わってる。 というわけでサクサクっとカメラと写真関連の変更点を見てみるのである。 すでにiPhone 6/iPhone 6 Plusも出ているが(わたしも買ったし)、今回はiOS 8の話、ってことで画面や写真は全部iOS 8にしたiPhone 5sのものを使っており、iPhone 6特有の機能については触れてないのでその点はご了承ください。5s以前の人はぜひこちらをどうぞ。 カメラ編 まあ、普通にカメラアプリを起動して撮影ボタンを押して終わり、というシンプルな撮り方をしてる人には大きな違いはないが、ちょっとで
Xcode6からSizeClassesという概念が加わったのと、AutoLayoutも微妙に変更されていて謎のMarginが出るようなので調査した結果をまとめました。 SizeClassesとは Xcode6からAutoLayoutに加え、SizeClassesという概念が加わりました。 Xcode5では、Universalアプリを作るには、iPhone向けとiPad向けのStoryboardをそれぞれ用意していましたが、Xcode6/iOS8からは、一つのStoryboard(あるいはXib)で対応させてしまおう、というのがSizeClassesです。 考え方としては、iPhoneやiPadの特定のサイズではなく、抽象的なサイズを扱うということです。ですので、今まで以上にAutoLayoutの制約によるレイアウトデザインが重要になります。 注目すべきは赤枠で囲った2箇所です。 まず右側。
iOS 8からアプリの動画をスクリーンショットと共に載せられるようになりました! App Video Preview 仕様 15秒〜30秒 500MB以下 900 x 1200 pixels か 1136 x 640 pixels M4VまたはMP4、MOV形式 H.264(推奨)かApple ProRes videoコーデック 30 fps フレームレート ステレオ 256kbps AAC オーディオフォーマット 画面の向きはportraitかlandscapeどちらでもOK これは必須ですか? 任意です。 いくつまで載せられますか? 1つです。 ※ 3.5inchビデオはサポートしていません BGMやナレーション、画面上にグラフィックを重ねてもいいですか? はい。 動画はローカライズできますか? いいえ。 一つの動画がすべての言語に対して表示されます。 サムネは設定できますか? できま
http://www.youtube.com/watch?v=YUxBdBexmFI バリュエーションが$8B(約8,000億円)に達し、Ycombinatorのポートフォリオの中で最も成功している投資先になったDropboxのCEOのDrew Houstonは、14歳のときにオンラインゲームのセキュリティバグを報告して、そのゲーム会社からオファーをもらったのが、最初のプログラマーとしての仕事。 MIT卒業後、SAT(大学進学適性試験)のオンラインコースをたちあげようとしたがうまくいかず、2006年11月にDropboxのプロタイプをつくりはじめます。 友人のKyle Vogt(JustinTVのFounder)がYcombinatorに入って、億単位の投資を受けたのを知って、自分もチャンスがあるのではと思い、Ycombinatorに申込んだが、Paul Graham (Ycombinat
How to automate releasing iOS app with Travis CI
[iOS 8] iOS 8がついにリリース!クラスメソッドブログにiOS 8の記事を200本公開します! はじめに 本日、日本時間の9月18日午前2時に、ついにiOS 8がリリースされました。iOS 7の時と異なりAPIの情報はDeveloper以外も情報を得ることができたため、WWDC14の直後から新機能が至る所で紹介されているので、iOS 7の時ほどのインパクトはないにしても、「クラスメソッドさんは今年iOS 8の8にちなんで、80本出すんですか?期待しています!」と言われることも多く、期待されている以上やるしか無いということで、今年も特集ページを作りました!今年は80本ではなく100本にしました!そして今後さらに100本を随時追加して最終的に200本を目指しています! iOS 8特集ページはこちら 何が変わったの? iOS 7のAppleからのメッセージは「モバイルOSをまったく新し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く