タグ

ブックマーク / gihyo.jp (24)

  • 機械学習 はじめよう 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    機械学習 はじめよう 記事一覧 | gihyo.jp
  • 第3回 クックパッド技術部部長 井原正博氏に訊く(前編)―「強い個」を採用することへのこだわり | gihyo.jp

    僕の仕事は「優秀なエンジニアを採用すること」 いまや月間4.9億PV、1,400万人のユーザを擁するレシピコミュニティーサイト『クックパッド⁠』⁠。同サービスを運営するクックパッド株式会社は、日有数のテクノロジー・カンパニーとしても知られています。今回は、同社で技術部部長を務める井原正博さんを訪ね、お話を伺いました。 現在社員数は100名弱、そのうち35名ほどのエンジニアが在籍しています。その技術部門の部長を務める井原さんの役割は、 (クックパッドでいうところの)優秀なエンジニアを採用すること 優秀であるはずのエンジニアがきちんと成果を出している状態にすること の2点であると言います。 井原さんが「どういうものを作ろう」とか「ああいうことをやろう」といった指示を出すことはほぼないそう。そうしたことはスタッフ個々が当然自分の仕事としてやっている環境のようです。それも、井原さんが担うところの

    第3回 クックパッド技術部部長 井原正博氏に訊く(前編)―「強い個」を採用することへのこだわり | gihyo.jp
  • 第2回 階層的クラスタリングによる特徴抽出 | gihyo.jp

    はじめに 前回は、情報可視化の基的な考え方について、HatenarMapsなどの実例を示しながら説明しました。第2回以降は、Java言語を使用して実際にプログラムを作成することで、情報可視化の実践例を示していきたいと思います。 目標 連載では、はてなブックマークの人気エントリーのデータを可視化することを最終的な目標にします。可視化にあたっては、統計学的観点から「階層的クラスタリング⁠」⁠、視覚的観点から「ツリーマップ」の手法をそれぞれ用いることにします。 Java開発環境のセットアップ 手元にJavaの開発環境がなく、連載のプログラムを試したい場合には、Sun Microsystemsが提供している統合開発環境、NetBeansの導入をおすすめします。 NetBeansはオールインワン型のIDEですので、インストールするだけで特別な設定の必要もなく、一通りの開発環境を整えることができ

    第2回 階層的クラスタリングによる特徴抽出 | gihyo.jp
  • 第6回 Firebug要らずなChromeのWeb Inspector | gihyo.jp

    こんにちは、太田です。今回はChrome拡張の開発時のノウハウとして、開発ツールの解説をお送りします。Google ChromeにはWebKit由来のWeb Inspectorというデバッグツールが搭載されています。以前にも少しだけ紹介しましたが、今回は具体的な使い方まで掘り下げて解説します。なお、今回のWeb Inspectorの解説はChrome拡張だけでなく、JavaScriptを使ったウェブアプリケーションの開発に一般的に役立つノウハウとなっています。 WebKitのWeb Inspector Chrome拡張の開発の必需品であるWeb Inspectorですが、こちらは元々WebKit(Safari)で開発されたもので、Google ChromeChromium)に搭載されているものはさらに機能が追加されています。FirefoxにはFirebugという定番ツールがありますが、そ

    第6回 Firebug要らずなChromeのWeb Inspector | gihyo.jp
    sea_mountain
    sea_mountain 2011/03/25
    developer toolsの説明
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • 第1回 まずはTitaniumを体験してみよう | gihyo.jp

    はじめまして、株式会社はてなでアプリケーションエンジニアをしている倉井龍太郎(id:r_kurain)と申します。この連載では、今もっとも注目集めているスマートフォンアプリ開発環境であるTitanium Mobile(以下Titaniumと省略)を使ったiPhone及びAndroidアプリケーションの開発方法について解説していきます。 Titaniumとは TitaniumはAppceleratorが開発しているスマートフォンアプリ開発環境です。iPhone/iPod/iPad であればObjectice-Cを使用して、AndoridであればJavaを用いて作成するネイティブアプリケーションが、どちらの環境でもJavascriptのみで開発できるようになるものです。Titanuiumは無料で利用することができます。サポートを受けるにはAppceleratorの有料プランに入会する必要が

    第1回 まずはTitaniumを体験してみよう | gihyo.jp
  • 第2回 「マージ」は怖くない ~ 分散した成果の集約 | gihyo.jp

    前回は、様々な方法で複製したリポジトリにおいて、それぞれ異なる作業成果を"hg commit"し、下図のような状態を構築するところまでを説明しました。 図1 成果の分散 今回は、これら複数の成果を、最終的な成果へと統合する「マージ」について説明します。 成果の集約 成果をマージするためには、マージ作業を行うリポジトリへと成果を集約する必要があります。 成果の集約には"hg pull"を使用します。前回の説明では「リポジトリの複製」に使用した"hg pull"ですが、厳密には「一方の保持していない成果を他方に伝播」する、リポジトリ間連携機能なのです。 myrepo2の成果をmyrepoに取り込む手順を以下に示します。 コマンド1 % cd myrepo % hg pull ../myrepo2 pulling from ../myrepo2 searching for changes add

    第2回 「マージ」は怖くない ~ 分散した成果の集約 | gihyo.jp
  • Mercurialではじめる分散構成管理 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Mercurialではじめる分散構成管理 記事一覧 | gihyo.jp
  • 第3回 JSONPでのクロスドメインアクセス | gihyo.jp

    JSONPの動作原理 前回はAjaxに存在するセキュリティモデルであるSame-Originポリシーを紹介し、そのSame-Originポリシーを迂回する方法とセキュリティについて見てきました。また、回避する方法の1つめとしてリバースProxyを用いた方法を紹介しました。リバースProxyを用いた方法ではセキュリティ的な問題点もありましたが、そもそもProxyサーバを用意しなければならないため、この方法は手軽に使うことはできませんでした。 そこで考え出されたのがJSONP(JavaScript Object Notation with Padding)という方法です。 それではまず簡単にJSONPについて説明します。 Ajaxで使われるXMLHttpRequestオブジェクトには前回説明したとおりSame-Originポリシーがありクロスドメインアクセスはできません。一方、SCRIPTタグ

    第3回 JSONPでのクロスドメインアクセス | gihyo.jp
  • 第4回 ベータ版に向けたExtension総復習 | gihyo.jp

    こんにちは、株式会社ALBERTの太田です。Extensionsが有効になるベータ版のリリースが近づいてきました。そこで今回は、現時点(2009年11月23日)でのExtensionsの作り方をまとめてみます。 Extensionsの開発の下準備 まずは開発環境を整理します。といっても、基的にHTMLCSSJavaScriptで作成するので最低限エディタがあればなんとかなります。 ただ、実際に開発/テスト/リリースをする場合には、プロファイルの異なる複数のChromeを起動できると何かと便利です。そういった場合、起動オプションで--user-data-dirを指定することで同時起動ができます(User Data Directory - Custom-Location⁠)⁠。 プロファイル ディレクトリの指定 [パス省略]\chrome.exe --user-data-dir="C:\

    第4回 ベータ版に向けたExtension総復習 | gihyo.jp
    sea_mountain
    sea_mountain 2010/10/20
    クロスオリジン通信のところ! 楽天さん
  • 第1回 Chrome ExtensionsのAPI#1 | gihyo.jp

    こんにちは、ALBERTの太田です。今回からChrome4のリリースまでの間、Google Chrome Extensionsの詳細を追っていきたいと思います。なおタイトルの通り、この連載は先取り! Google Chrome Extensionsの続編となっています。 まず、重要なお知らせがあります。前回の特集で何度か使用していたToolstripsとMoleがベータリリースまでに削除されることが決まりました。その代わりとして、今回解説するBrowser Actionsが利用できるようになります(Important: Toolstrips being removed in favor of browser actions⁠)⁠。また、Browser Actionsに合わせて、第3回で解説したPage Actions APIの新バージョンが提案されています。こちらも詳細は追って解説します。

    第1回 Chrome ExtensionsのAPI#1 | gihyo.jp
    sea_mountain
    sea_mountain 2010/10/18
     そのまま使えるかも、後で確認
  • 続・先取り! Google Chrome Extensions 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    続・先取り! Google Chrome Extensions 記事一覧 | gihyo.jp
  • 第4回 Railsアプリケーションをもっと速く | gihyo.jp

    Rails Web アプリケーションをもっと速く こんなストーリーを考えてみます。 あなたは、Railsを学び、アプリケーションを作成し、サービスをインターネットに公開しました。しばらくすると、最初のユーザができます。あなたはとてもハッピーです。そうするうちにユーザが二人増え、十人になり、百人になりました。あなたはハッピーです、ユーザーもみんなハッピーです。 でも、ユーザが千人になり、一万人になり…。といった場合、何が起こるでしょうか? そこで起こるのはアプリケーションへの同時接続数増加によるサービス提供速度の低下です。ユーザ数が一万人を越えてしまうWebサーバに特有の問題は、C10K問題として知られています。 それでなくとも、残念ながらRailsは同様他種フレームワークと比べて、単位時間あたりの処理量が低いことで知られています。その理由は、RailsではRubyが遅くて、NativeTh

    第4回 Railsアプリケーションをもっと速く | gihyo.jp
  • RubyKaigi2010スペシャルレポート 記事一覧 | gihyo.jp

    Ruby会議2010 3日目レポート[更新終了] KaigiFreaks レポート班,赤松祐希,大和田純,すがわらまさのり,白土慧,三村益隆,with 編集部 2010-08-29 Ruby会議2010 2日目レポート[更新終了] KaigiFreaks レポート班,赤松祐希,大和田純,すがわらまさのり,白土慧,三村益隆,with 編集部 2010-08-28

    RubyKaigi2010スペシャルレポート 記事一覧 | gihyo.jp
  • 第4回 ウェブ開発を助ける拡張やノウハウ | gihyo.jp

    デベロッパーツールの機能が基準となっている面も少なからずありますが、間違いなくデベロッパーツール・Web インスペクタは開発者向けツールの中で最も多機能な開発者向けツールといえます。 ただし、FirefoxのFirebugについてはAdd-onと連携することで機能を追加できるため、総合的にはFirefoxに一日の長があります。なお、Firebug用のAdd-onはFirebug Extensions - FirebugWikiなどから見つけることができます。 デバッグ時の注意点・ノウハウ 起動オプションの指定 Chromeではオプション項目にない設定を起動オプションで指定するという方針を取っています。起動オプションで指定するオプションでは、試験的に導入されている機能を試したり、特定の機能を無効にしたりすることができます。 まず、アドレスバー(OmniBox)に about: とだけ入力して

    第4回 ウェブ開発を助ける拡張やノウハウ | gihyo.jp
  • 第7回 小規模Webアプリのためのフレームワーク、Sinatra | gihyo.jp

    はじめに あなたは「Ruby」と聞いて最初に何を思い浮かべますか? オブジェクト指向スクリプト言語であること、プログラミングの「楽しさ」を重視して設計された言語であること、最近新しいバージョンである1.9.1がリリースされたこと……。 Rubyにはいろいろな特徴がありますが、Rubyという単語からすぐに「Ruby on Rails」を思い出す方も多いのではないでしょうか。Ruby on Rails(以下Rails)は2004年に公開されたRuby用のWebアプリケーションフレームワークで、その生産性の高さから注目を浴び、Rubyの名前を広めることにも大きく貢献しました。 ですが、JavaPHPPerlPythonなど、他の言語の世界ではいくつものフレームワークがしのぎを削っているのに対し、Rubyの世界においてはRailsの完成度の高さから、長らくライバル不在の状況が続いてきました。

    第7回 小規模Webアプリのためのフレームワーク、Sinatra | gihyo.jp
  • Rails2.0の足回りと中級者への道:第3回 Rails2.0で作るRESTfulアプリケーション(後編)|gihyo.jp … 技術評論社

    例:リンクの表示 GET /users/1/links/6.xml :member CRUD以外、すなわち作成、参照、更新、削除以外の処理を行いたい場合、map.resoucesで、:memberオプションを指定します。:memberオプションには、アクション名とHTTP MethodのHashを指定します。 例として、リンクを非表示に設定するケースを考えます。リンクの非表示を、hideカスタムアクションへのPUT Methodで表現すると決定した場合、以下のように設定します。 :memberオプション map.resouces :link, :member => {:hide => :put} URI例 PUT /links/1/hide なお、このURIにはhideという「動詞」が入っているため、RESTの統一インターフェースの原則的にはあまり望ましくありません。 miniciousの

    Rails2.0の足回りと中級者への道:第3回 Rails2.0で作るRESTfulアプリケーション(後編)|gihyo.jp … 技術評論社
  • RubyKaigi2010スペシャルレポート 記事一覧 | gihyo.jp

    Ruby会議2010 3日目レポート[更新終了] KaigiFreaks レポート班,赤松祐希,大和田純,すがわらまさのり,白土慧,三村益隆,with 編集部 2010-08-29 Ruby会議2010 2日目レポート[更新終了] KaigiFreaks レポート班,赤松祐希,大和田純,すがわらまさのり,白土慧,三村益隆,with 編集部 2010-08-28

    RubyKaigi2010スペシャルレポート 記事一覧 | gihyo.jp
  • 第5回 クライアント側の実装 | gihyo.jp

    今回は、WebSocket APIについて解説と、WebSocketを使ったチャットアプリケーションのクライアント側の実装を行ないます。 WebSocketオブジェクト ブラウザのJavaScriptからWebSocketを利用するために、WebSocket APIがW3Cで策定中です。執筆時点のブラウザ(Safari及びChrome)は、最新のドラフト「Editor's Draft 27 July 2010」に対応していません。ここでは、現行のブラウザが対応しているWebSocketの仕様を解説した後、最新の仕様について説明します。 インスタンス化 WebSocketはインスタンス時、第一引数に「ws://」または「wss://」で始まる文字列で接続先を指定します。また、省略可能な第二引数にはサブプロトコルを指定できます。サブプロトコルについては後述します。 new WebSocket(

    第5回 クライアント側の実装 | gihyo.jp
  • 「Python Hack-a-thon 2010.07」レポート | gihyo.jp

    Pythonハッカソンは、Djangoハッカソン(8回まで開催)から引き継がれる形で開催されている勉強会です。7月10日、オラクル青山センターにて、4回目の勉強会「Python Hack-a-thon 2010.07」が開催されました。 Pythonと銘打っていますが、Pythonに限定しない話題も数多く登場します。今回も、Ocaml, C++(?), PHPなどについてのプレゼンもありました。初心者から上級者まで評判が良く、リピート率も高いイベントです。とにかく人気で、とくにここ数回は100人以上の規模での募集にも関わらず、申し込み後すぐにいっぱいになってしまう盛況ぶりです。 Pythonハッカソンは、ハッカソン、ハンズオン、プレゼンテーションの3つのパートで構成されています。稿では、これらのパートごとに、今回の勉強会についてレポートします。 Note: もともとは、Pythonのウェ

    「Python Hack-a-thon 2010.07」レポート | gihyo.jp