タグ

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

  • Airbnbのサイトをいかにすばやく日本語に翻訳したか | gihyo.jp

    サンフランシスコの成功しているスタートアップの名を欲しいままにしているAirbnbがまたやってくれました。日語サイトを立ち上げて、その過程をブログで紹介しています。 図1 Airbnb日語版 まずは優先順位を決めました。40万もある英文フレーズをすべて即時に変換するのはどうしても無理ですので、頻繁に使われるフレーズの分析です。他言語置き換えメソッドにモンキーパッチを当て、そのキーを集計しました。翻訳者は最も使われるフレーズから順に翻訳できます。またこの方法で表示履歴も取れるので、翻訳者にはより最近アクセスのあった文を優先的に翻訳してもらうことができます。 次に文章がどこで使われているのかを翻訳者に見せるために、ヘッドレスブラウザを使ってスクリーンショットを撮るようにしました。またJavaScriptのツールも作って、サイトを利用しているそのままで翻訳文章の入力も可能にしました。ブラウザ

    Airbnbのサイトをいかにすばやく日本語に翻訳したか | gihyo.jp
  • YAPC::Asia Tokyo 2013 前夜祭レポート[更新終了] | gihyo.jp

    日19日から21日までの3日間、慶應義塾日吉キャンパス 協生館にて「YAPC::Asia Tokyo 2013」が開催されます。日は前夜祭。ここでは、前夜祭の模様を随時レポートしていきます。 受付は、藤原洋記念ホール前に設置されています。 前夜祭会場はイベントホールで行われます。前夜祭はビールなどの飲み物、つまみなどが用意されています。 30分押しの18時半から始まる予定です。 前夜祭のオープニング 櫛井さんから、諸注意とオープニングの挨拶がありました。前夜祭会場のイベントホールのみ、飲がOKとのことです。 LT-thon 今年の前夜祭はLT-thonです。MCは昨年に続き、uzullaさんです。 LT-thonの模様をいくつかのトークをピックアップしてお伝えします。 techno_nekoさん「継続可能な勉強会を支える技術」 昨年のベスト・エルティニスト賞受賞者のtechno_ne

    YAPC::Asia Tokyo 2013 前夜祭レポート[更新終了] | gihyo.jp
  • 第17回 Webアプリケーションのパフォーマンス改善(1) | gihyo.jp

    大きな効果を上げるために チューニンガソン#1~#3の改善率を見ると、アプリケーションや全体のアーキテクチャに手を入れないで改善できるのは最大でも10倍以下です。もちろん数倍速度が違えばサーバ台数を大きく減らせるので有意義なのは間違いないのですが、ISUCONやチューニンガソン#4のような飛躍的な高速化は望めないことがわかります。 つまりチューニングでは、単にパラメータ設定を変更するのみではなく、ボトルネックになっているコードやクエリ、アーキテクチャに的確に手を入れていくことで大きな効果を上げることができるのです。 ボトルネックの発見と解消が大事 システム全体の処理時間についてパレートの法則(経験則)を適用すると、「⁠全体の処理時間の80%は20%の部分で発生している」ということになります。実際にシステム全体で一番ボトルネックになっている部分を解消しないことには、ほかの部分に手を入れても大

    第17回 Webアプリケーションのパフォーマンス改善(1) | gihyo.jp
  • Hadoopでレコメンドシステムを作ろう 記事一覧 | gihyo.jp

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

    Hadoopでレコメンドシステムを作ろう 記事一覧 | gihyo.jp
  • 第1回 ギークはスーツが嫌いで、スーツはギークがわからない? | gihyo.jp

    はじめに ギークとスーツという表現が最近対立関係・わかりあえない関係のように独り歩きしている現状があり、筆者はとても残念に感じています。ここでは、エンジニアを中心とするギークと、非エンジニアを中心とするスーツがより良い関係を築けるためのヒントなどを語ってみたいと思います。 ギーク(geek)とは、アメリカ英語のスラングで「卓越した知識がある」という意味です。それから派生して主にWeb・IT-Tech業界のエンジニアのことをギークと表現するようになりました。 スーツ(suit)とは、比較的服装が自由なWeb・IT-Tech業界のエンジニア(ギーク)に対する用語として使われ、スーツなどの正装をしている非エンジニア職を指します。 前者は、「⁠卓越した知識がある」エンジニアという意味だけではなく、「⁠コードを書くことに集中したい⁠」⁠・「⁠コード書きが大好きな」エンジニアという意味も含んでいるでし

    第1回 ギークはスーツが嫌いで、スーツはギークがわからない? | gihyo.jp
  • 第8回 Perlによる大規模システム開発・設計のツボ(3) | gihyo.jp

    技術的負債の「見える化」 どのようなソフトウェアにも設計上のミスはあります。設計時点ではサービスの発展性や日々変わりゆく要件を完全に予測することはできないからです。ある時点で正しい設計も、その次のサービスリリースでは設計上の修正を必要とするかもしれません。これらの変更への粘着性や複雑性のある状態を、「⁠技術的負債」と言います。 mixiでは技術的負債は長らく、コードレビュー技術力の高いエンジニアによる新機能リリース時の修正などで対応を行ってきました。しかし、これまでに紹介した「わかりやすいコードの指針」や「アーキテクチャパターン」をレビューや教育だけで維持することは、ソフトウェアが巨大になり、開発者数が増加するにつれて難しくなります。そのため現在では、ソフトウェアの設計品質評価を自動化するツール群を開発し、それらを用いて技術的負債を見える化し、計画的に解消していく試みを行っています。 コ

    第8回 Perlによる大規模システム開発・設計のツボ(3) | gihyo.jp
  • 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
  • 第20回 Email::Sender:メールを送信する | gihyo.jp

    メール送信のあれこれ たとえばウェブアプリケーションでなにかの注文を受け取ったとき、あるいはシステム管理ツールでなにか異常を発見したとき、ユーザや管理者にメールを送れるようにしたい、というのはよくある要件です。昔はヒアドキュメントやテンプレートエンジンなどを使って送信したいメールを用意したあと、sendmailへのパイプを開いてメールを流し込んでいたものですが、いまはメールの作成から送信まで、すべてモジュールを使って実現できるようになっています。 とはいえ、需要が大きいだけにメール関係のモジュールは山のようにあります。ディストリビューション(パッケージ)の数だけで500を数えますし、メール関係の名前がついたモジュールは現在CPANにアップロードされている7万以上ものモジュールのほぼ1割を占めるほどです。これではどれを使えばよいのかわからないという声があがるのも当然でしょう。 そこで今回はP

    第20回 Email::Sender:メールを送信する | gihyo.jp
  • #03 The Perl Foundation Richard Dice氏に訊く―Perlの世界、世界のPerl | gihyo.jp

    gihyo.jpキーパーソンインタビュー~気になる“あの”人に逢ってきた! #03The Perl Foundation Richard Dice氏に訊く―Perlの世界、世界のPerl 2009年9月10、11日に開催されたYAPC::Asia Tokyo 2009の開催に伴い、The Perl Foundation Richard Dice氏が来日しました。今回、Japan Perl Association代表 牧大輔氏の協力により、インタビューを実施しましたのでその模様をお届けします。 図1 YAPC::Asia Tokyo 2009の会場にて。Dice氏と牧氏。 Richard Diceという人物 Q:まずはじめに簡単な自己紹介をお願いします。 D:私は、カナダのトロントの出身です。The Perl Founcation(TPF)には2005年頃から活動して2007年から最近まで代

    #03 The Perl Foundation Richard Dice氏に訊く―Perlの世界、世界のPerl | gihyo.jp
  • 第1回 Flash+MTでできること | gihyo.jp

    はじめに はじめして、トゴル・カンパニーのNORI(伊藤のりゆき)といいます。 Flashを使って10年。最近のFlashは、ActionScript3の登場で、かなり高度なプログラムが可能になりました。しかし、Flashユーザにとって1つの悩みは、どのように更新しやすいWebを作るかではないでしょうか? もちろん、バックエンドにDB関係のエンジニアがいて、DBとの接続が前提の中規模以上のWebであれば、そんな心配は無用でしょう。しかし、規模がそれほど大きくない場合、どうすれば良いでしょうか。 解決策として、更新情報を書いた外部テキスト(Flashから見て外にあるため外部と呼びます)を、FTPソフトでアップロードし、Flashで読み込み表示するという方法がありました。しかし、肝心の外部テキストの更新すら戸惑う場面がありました。しかし、Movable Type(以下、MT)の登場によって、外

    第1回 Flash+MTでできること | gihyo.jp
  • こうなる!?2009年のMovable Type!――加速する“つどい”と“つながり” | gihyo.jp

    連載「チャレンジ! Movable TypeをCMSとして使ってみよう!」の「くれま先輩」こと、Webデザイナーの黒野明子と申します。皆さま、今年もよろしくお願いいたします! 新しい年の始まりに際し、「⁠今年のMovable Type界隈は、こんな風になるのでは?」という希望を込めた予測を書かせていただきますね。 「Motion」登場! 原稿執筆時点(2008年12月22日)でのMovable Type関連最大のニュースは、なんといっても「Motion」のベータテスト開始でしょう。 「Motion」とは、「⁠Movable Type Pro(4.25ベータ版)+専用プラグイン+デザインテンプレート」のセットで、以下のようなことが可能になっています。 Twitterのようなマイクロブロギングができる FriendFeedのようにさまざまなWebサービスのフィードを収集・閲覧できる YouTu

    こうなる!?2009年のMovable Type!――加速する“つどい”と“つながり” | gihyo.jp
  • 第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp

    モバイルファクトリーの松野です。 今回から数回にわたって、Perl におけるテスト手法についてリレー形式で詳細に解説していきたいとおもいます。 今回は初回ですので、ざっくりと概論になります。 Perlの世界におけるテストの重要性 Perlの世界においてはテスト(test)は大変重要視されています。 その特徴がよく表れているのがCPAN Testersではないでしょうか。 CPAN Testers Perlといえば何はなくともCPANなわけですが、CPANでモジュールを探していると、図1のように、「⁠CPAN Testers」という項目があることに気付きます。 図1 CPAN Testers 世界中のPerl Mongersが、自分のマシンでテストを動かして、その結果をCPANに送っているのです。これにより、様々なOS/CPU/versionのPerlでテストがされています。貴方も気軽にCP

    第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp
  • 第1回 無料でFlash作りに挑戦!Flex 3 SDKを導入してみよう | gihyo.jp

    Flashを作るには何万円もする専用ソフトが必要…、デザイナーが使うものだから敷居が高い…。そう考えてる方も多いのではないでしょうか。実はそんなことはありません。 Adobe社が無料で提供している開発環境「Flex 3 SDK」を利用すれば、ActionScript 3.0というプログラミング言語でFlashを作成できます。ActionScript 3.0はECMAScriptに準拠しているため、プログラマの方にとってもなじみやすい言語といえます。 この連載ではプログラマの方に向けて、サンプルを交えながら、ActionScriptでFlashを作る手法を解説していきます。 ActionScript 3.0でHello World! いきなりですが、ActionScript 3.0のサンプルコードを見てみましょう。定番のHello World!です。 package{ import flas

    第1回 無料でFlash作りに挑戦!Flex 3 SDKを導入してみよう | gihyo.jp
  • 第8回 クロスブラウザ対応CSSでつまずかない | gihyo.jp

    前回はサンプルを交えながら(X)HTMLCSSの関係をおさらいしました。どれだけ画像を沢山利用したグラフィカルなサイトでも、画像を使わないシンプルなサイトでも基はまったく同じであり、(X)HTMLは文書構造を、CSSでは文書の要素に対して見た目等の振る舞いを指定することにより、ブラウザで私たちが閲覧できる状態になります。 ところがリファレンス等を参考にしながら正しく(X)HTML/CSSを書くように頑張ってみたわりには、ブラウザ(閲覧環境)によっては表示が崩れてしまうなど、最初はなかなか思い通りに表示されないことが多いものです。 W3Cが技術を標準化するため(X)HTMLCSSの仕様書を勧告していますが、現実に普及しているブラウザでは、仕様に完全準拠しているとは限りません。そのため、普及しているそれぞれのブラウザの特徴まで理解した上で(X)HTMLCSSの設計をすることが必要です。

    第8回 クロスブラウザ対応CSSでつまずかない | gihyo.jp
  • 1