タグ

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

  • Ubuntu Weekly Topics 記事一覧 | gihyo.jp

    Ubuntu 24.10(oracular)の開発 / 仕様変更とQAの下ごしらえ⁠⁠、NativeEdgeへのUbuntuの採用 吉田史 2024-05-17

    Ubuntu Weekly Topics 記事一覧 | gihyo.jp
  • 正規表現技術入門 ――最新エンジン実装と理論的背景

    このの概要 最先端の正規表現技術にスポットを当てた,初学者向け技術解説書。プログラマにとって欠かせないツールである正規表現。便利な正規表現の実力を発揮させるには,動作原理から理解するのが近道です。 書では,パターンマッチの基から,基三演算および理論/数学的背景,VM型/DFA型という二大最新エンジン実装まで徹底解説。また,処理系を踏まえた効率的な書き方や落とし穴を避ける技法もしっかり押さえます。狙いどおりのパターンを綴り,高速に文字列を取得したい,そんなエンジニアの方々へ,長く役立つ技術知識を満載してお届けします。 こんな方におすすめ 正規表現をもっと便利に使いこなしたいプログラマの方々 正規表現とは何かを知りたい方 執筆担当一覧

    正規表現技術入門 ――最新エンジン実装と理論的背景
  • HTML5のCanvasでつくるダイナミックな表現―CreateJSを使う 記事一覧 | gihyo.jp

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

    HTML5のCanvasでつくるダイナミックな表現―CreateJSを使う 記事一覧 | gihyo.jp
    Hash
    Hash 2013/11/12
  • Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp

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

    Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp
  • 第4回 memcachedの分散アルゴリズム | gihyo.jp

    株式会社ミクシィの長野です。第2回、第3回と前坂がmemcachedの内部について紹介しました。今回は内部構造から離れて、memcachedの分散についての紹介をいたします。 memcachedの分散 連載の1回目に紹介しましたが、memcachedは「分散」キャッシュサーバと言われていますが、サーバ側には「分散」の機能は備わっていません。サーバ側には当連載の第2回、第3回で前坂が紹介したメモリストレージの機能のみが組み込まれており、非常にシンプルな実装となっています。では、memcachedの分散はどのように実現しているのかと言うと、すべてクライアントライブラリによって実現されます。この分散方法はmemcachedの大きな特徴です。 memcachedの分散とは ここまで数度「分散」という言葉を用いてきましたが、あまり詳しく触れてきませんでした。ここでは各クライアントの実装に共通する大ま

    第4回 memcachedの分散アルゴリズム | gihyo.jp
  • 第12回 索引の分散 | gihyo.jp

    はじめに GoogleなどのWeb検索エンジンでは、2004年ごろには数10Tバイトの索引を数万台のサーバに分散させていたと言われています。これは、大量のデータを索引化したり大量のクエリを捌く必要がある際に、1台のマシンでは十分な速度が出ないことがあるためです。近年のハードウェアの進化はめまぐるしいですが、それでもハードウェアによるスケールアップには限界があるため、大規模な検索エンジンにおいて検索処理をスケールさせるには複数台のマシンの利用が不可欠となります。今回は、転置索引の複数のサーバへの分散方法について見ていきます。 複数台サーバにおける転置索引 複数のサーバを利用して検索処理を高速化させる方法には、索引のレプリケーション(replication)と索引の分散(distribution)の2つがあります。索引のレプリケーションとは、複数台のマシンに同じ転置索引(のコピー)を配置する方

    第12回 索引の分散 | gihyo.jp
    Hash
    Hash 2012/12/03
    分散検索
  • 第250回 Ubuntuに日本語を話してもらおう(前編) | gihyo.jp

    今回から2回に渡り、Ubuntuで利用可能ないくつかのソフトウェアを組み合わせて、入力テキストを喋る仕組みを作るレシピをお届けします。Mbrola、MeCabを使って音声を合成し、Linuxのサウンドサブシステムを通じて音声を出力します。 MBROLAプロジェクトとは MBROLAとは、汎用音声合成エンジン「mbrola」と、mbrolaで利用可能な音声データベースを開発するプロジェクトです[1]⁠。1995年にベルギーのFaculte Polytechnique de Mons大学のTCTS研究室が開始しました。音声合成エンジンもデータベースもバイナリーの形で提供されているためオープンソースソフトウェアではありませんが、フリーなライセンス[2]のもとで利用できます。 DebianやUbuntuではmbrolaのパッケージが提供されています。Ubuntuソフトウェアセンターでmbrolaを

    第250回 Ubuntuに日本語を話してもらおう(前編) | gihyo.jp
  • 第23回 Rackとは何か(1)Rackの生まれた背景 | gihyo.jp

    はじめに SinatraやRamazeといったRubyのWebアプケーションフレームワークに興味をお持ちの方であれば、Rackという名前をしばしば目にしているかもしれません。どうやら様々なフレームワークに使われているらしいのだけど、そいつが一体なんなのかよくわからない、そんなあなたのために今日はそのRackをご紹介したいと思います。 様々なフレームワーク、様々なアプリケーションサーバ しばらく前なら、Ruby on Railsブームの真っ只中、Rubyと言えばRails、Webアプリケーションを作るならRails、といったイメージを持たれていた方も多かったと思います。実際にWebアプリケーションを作ったり、Rubyに触れたりしたきっかけがRailsだったという方も多いでしょう。 しかし最近は、RubyのWebアプケーションフレームワークと一口に言っても、非常に簡単にアプリケーションが書けて

    第23回 Rackとは何か(1)Rackの生まれた背景 | gihyo.jp
    Hash
    Hash 2012/11/12
    シリーズ勉強
  • エンジニアなら知っておきたい仮想マシンのしくみ 記事一覧 | gihyo.jp

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

    エンジニアなら知っておきたい仮想マシンのしくみ 記事一覧 | gihyo.jp
  • memcachedを知り尽くす 記事一覧 | gihyo.jp

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

    memcachedを知り尽くす 記事一覧 | gihyo.jp
    Hash
    Hash 2012/05/22
    1回読んだ
  • 第1回 Amazon Elastic MapReduceを使う準備をする | gihyo.jp

    Amazon Elastic MapReduceとは 昨今、バッチ処理にHadoopを活用する事例が話題になっています。その中でも特筆すべきなのは、分散処理技術であるMapReduceです。しかし、MapReduceを実際に使うには、数台から数100台のサーバを用意し、Hadoopのセットアップもしなければなりません。そのようなサーバ構築・管理、セットアップの手間を無くし、すぐ使えるのがAmazon Web Service(AWS)のElastic MapReduce(EMR)です。 図1 Amazon Elastic MapReduce AWSMapReduceの説明は多くの書籍、ブログなどを参照してください。また、EMRを使用するには、まずAWSのアカウントを作っておく必要がありますが、その手順も割愛させていただきます。連載ではEMRの使い方、気をつけなければいけない点などを重点的

    第1回 Amazon Elastic MapReduceを使う準備をする | gihyo.jp
  • 第4回 Redisを用いたアプリケーション開発(2) | gihyo.jp

    前回紹介したRedisのLIST型に続き、今回はSET型とSORTED SET型について、その構造とWebアプリケーション開発への応用を紹介します。 SET型の構造 RedisのSET型は、重複のない文字列要素の集合を保持するデータ型です。Javaのコレクションフレームワークをご存知の方には、「⁠HashSet」のようなもの、と想像していただくと分かりやすいかと思います。 LIST型のPUSHやPOPと同様、SET型への追加/削除の時間計算量はO(1)となり、理論上はサイズに関係なく一定時間で操作できることになります。実際、ニコニコ生放送のシステムでは、要素数にして数万規模のSET型に対して、分間数千~数万回の追加操作を行っています。 一見、SET型のデータ構造は単純すぎて、アプリケーションで活用する機会が想像しにくいかもれません。RedisにはHash型という連想配列のように使えるデータ

    第4回 Redisを用いたアプリケーション開発(2) | gihyo.jp
  • 第25回 Rackとは何か(3)ミドルウェアのすすめ | gihyo.jp

    前回、前々回の記事では、Rackの生まれた背景、Rackとは何か、実際にRackアプリケーションを作る際に使えるものをご紹介しましたが、もう一つまだ説明していない重要な要素がRackにはあります。今回は、そのミドルウェアという仕組みについてご紹介します。 ミドルウェアとは ミドルウェアとは何かを一言で言うと、「⁠別なアプリケーションをラップして、リクエストやレスポンスを加工したり、処理を切り換えたりするRackアプリケーション」です。 この仕組みがあることで一体何ができるのでしょうか。Webアプリケーションを作っていると、リクエストやレスポンスをアプリケーションに行く前やアプリケーションの処理の後に加工したくなることはよくあります。例えば、条件に応じてURLの書き換えをしたり、エンコーディングの変換をしたり、Cookieの処理をしたり…といったことが日常茶飯事です。こういう処理を、サーバと

    第25回 Rackとは何か(3)ミドルウェアのすすめ | gihyo.jp
  • 続・先取り! Google Chrome Extensions 記事一覧 | gihyo.jp

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

    続・先取り! Google Chrome Extensions 記事一覧 | gihyo.jp
    Hash
    Hash 2011/06/12
    Chrome Extensionsの書き方とか
  • 第4回 スキーマレスで柔軟に扱えるMongoDB | gihyo.jp

    はじめに 今回はドキュメント指向型データベースの代表としてMongoDBを取り上げます。ドキュメント指向型データベースはRDBMSと違って、スキーマ(テーブル定義)が必要ないことが大きな特徴です。 今回も利用したコードやプログラムはgithubに置いてあるので適宜参照してください。 MongoDBの特徴 前々回、前回と紹介したmemcachedやTokyoTyrantは基的にRDBMSと組み合わせて、「⁠RDBMSの弱い部分を補う」という使い方でした。しかしMongoDBは少し違っていて、JOINが行えないこととトランザクションをサポートしていないこと以外は、ほぼRDBMSと同じように扱うことができるため、「⁠RDBMSの代替として使う」ことが可能です。 上述したようにMongoDBRDBMSと違ってJOINはできませんが、代わりに基準となるオブジェクトに別のオブジェクトをあらかじめe

    第4回 スキーマレスで柔軟に扱えるMongoDB | gihyo.jp
    Hash
    Hash 2011/05/18
    インストールしたら試す
  • 第21回 Railsアプリの受け入れテストをCucumberで書こう | gihyo.jp

    はじめに Cucumberとは受け入れテストのためのテスティングフレームワークです。CucumberはRuby on Railsに依存しているライブラリではないため、例えば同じRuby制のフレームワークであるSinatraはもちろん、PHPなどで書かれたアプリケーションでも使用することができます。 Sinatraやフレームワークを使用していない素のRubyスクリプトなどをベースにCucumberの解説をすることも可能ですが、今回は仕事で使っている人が多く、また筆者自身もRailsを使って開発をしていることもあって、Railsをベースに解説させていただきます。 なぜCucumberなのか 筆者が勤めている株式会社RAWHIDE.では、Railsアプリを作成する場合、原則的にCucumberでテストを書くようにしています。Cucumber採用当時は、社内にナレッジが少ない、不慣れなど、なかなか

    第21回 Railsアプリの受け入れテストをCucumberで書こう | gihyo.jp
    Hash
    Hash 2011/04/19
    受け入れテストを行うためのフレームワークCucumber. すごい。日本語で書いたテストケースがテストコードに翻訳される! Railsと親和性が高いがPHPでも動く
  • 第1回 WebSocket登場までの歴史 | gihyo.jp

    はじめに 初めまして。NTTアドバンステクノロジの金城と申します。幸運にも記事を執筆させていただけることになりました。WebSocketという新しいウェブの規格についての連載を、全4回の予定でお届けします。 用語統一について WebSocketは「WebSocket」「⁠WebSockets⁠」⁠、単語を切り離した「Web Socket」等、表記に揺れがあります。2009年12月22日のワーキングドラフトのタイトルは「The Web Sockets API」となっていますが、2010年4月26日のエディターズドラフトでは「The WebSocket API」となっています。この連載では、最新の仕様書に則り、用語を「WebSocket」で統一します。 HTML5とWebSocketの関係 WebSocketは、もともとHTML5の一機能として仕様の策定が進められていました。しかし、Web S

    第1回 WebSocket登場までの歴史 | gihyo.jp
  • 連載:目指せ!iPhoneアプリ開発エキスパート|gihyo.jp … 技術評論社

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

    連載:目指せ!iPhoneアプリ開発エキスパート|gihyo.jp … 技術評論社
  • 海外の「フェルミ推定」問題をまとめてみた | gihyo.jp

    GoogleMicrosoftの面接試験問題として知られる「世界中にピアノの調律師は何人いるか?」「⁠スーツケースにゴルフボールはいくつ入るか?」といった正確には答えることが困難な問題を、仮定や推定を駆使して短時間で見積もる手法を「フェルミ推定」と呼びます。このブログ記事ではフェルミ推定の問題を掲載したリンクをまとめています。どれも英語のページばかりですが、いくつかのページには回答例も掲載しており、どのようにして回答に導くのかについて知ることができます。 ブログ記事筆者によると、面接においては、正解に近い回答を出すことよりも「回答の道筋が論理的であること」「⁠回答の道筋を選択した理由を、論理的に説明できること」を重要視しているようです。 ちなみに、連載にて「Microsoft社の入社面接問題『ボートに乗って、手荷物を船外に放り出すと、水位は上がるか、下がるか』」という記事を紹介していま

    海外の「フェルミ推定」問題をまとめてみた | gihyo.jp
    Hash
    Hash 2008/12/29
    僕ごときが適当に作ったまとめをさらに記事にしてしまうとか全く価値を持たない
  • 第4回 モレスキンとユビキタス・キャプチャー | gihyo.jp

    さて、2回に渡ってHipster PDAの紹介と実践について書いてきました。Hipster PDAは常時携帯していますが、書き込んだメモは必ずノートかザウルス(PDA)に転記しています。そして、こういったメモを保存するには、しっかりとしたノート型のモレスキン[1]が便利です。今回は、このモレスキンについてユビキタス・キャプチャーという習慣とからめて語ってみます。 ユビキタス・キャプチャーという習慣 前回紹介しましたZTDの、10個の習慣の第一番目に、ユビキタス・キャプチャーがあります。それだけ重要でZTDの基となる習慣です。(⁠※2⁠)⁠。 簡単に説明しますと、ユビキタス・キャプチャーとは、いつでもどこでも小さなノートを携帯し、頭に浮かんだあらゆること(タスク、アイデアなど)を書いていく習慣です。これはGTDでの「収集」のプロセスにあたりますが、まとまった時間を「収集」にあてることはあり

    第4回 モレスキンとユビキタス・キャプチャー | gihyo.jp
    Hash
    Hash 2008/02/08
    id:akizukidさん/モレスキンでユビキタス・キャプチャー。やはりモレスキンは値段の高さがネック…