タグ

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

  • 2010年11月18日 "ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード | gihyo.jp

    Linux Daily Topics 2010年11月18日"ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード Linus Torvalds氏という人は、少なくともメールの中では、かなりはっきりと感情を表に出す。誰かor何かに対して怒っているときは相手を名指しで批判(というより非難)し、逆にうれしいときはあふれる喜びを隠そうとしない。今回紹介するのは後者のほう。「⁠I'm also very happy」「⁠it is a _huge_ improvement」「⁠Good job.」など、喜びと称賛の表現がたくさん書かれているメールだ。 Linus氏を歓喜させたのは、カーネル開発に携わるMike Galbraith氏が書いた233行のカーネルスケジューリングパッチ。このパッチを適用すると、デスクトップ環境においてパフォーマンスが著しく向上するという。

    2010年11月18日 "ミラクルパッチ"にLinusも大喜び!Linuxカーネルを高速化させた233行のコード | gihyo.jp
  • 第142回 さくらのVPSでUbuntuを使う | gihyo.jp

    さくらインターネットが提供しているVPS(仮想専用サーバ)サービス「さくらのVPS」では、標準OSであるCentOS 5以外に、10月8日からUbuntuを含めたさまざまなOSがインストールできるようになりました[1]⁠。 仮想マシン一台に対する完全な制御権を持っているため、公式に提供される前から他のOSをインストールできてはいましたが、公式に選択できるようになったことで敷居が下がったと言えます[2]⁠。今回はさくらのVPSでUbuntuを使う方法を紹介します。 Ubuntuのインストール カスタムOSのインストールには、ブラウザ上でTightVNC Java Viewerが使われます。あらかじめ、"icedtea6-plugin"パッケージをインストールしておきます。 VPSコントロールパネルの[OS再インストール]-[カスタムOSインストールへ]を選択したら、あとは「オンラインマニュア

    第142回 さくらのVPSでUbuntuを使う | gihyo.jp
  • 第39回 RVM(Ruby Version Manager)による環境構築 | gihyo.jp

    はじめに Rubyの普及にともない、Rubyの生みの親である、まつもとゆきひろ氏がC言語で作成したRubyインタプリタ(CRuby)以外にも、JVMで実行されるJRuby、Objective-Cで実装されMacアプリケーションのプログラミングのできるMacRuby、CRubyベースにメモリ管理に改良を加えているRuby Enterprise Edition等、プログラミング言語Rubyを実行できる環境が増えてきました。またCRubyに関しても、現在最も使われているバージョンである1.8系以外にも、最新の安定版である1.9系も普及期にはいってきました。 今回は、複数のRuby実行環境の管理を簡単にするRVM(Ruby Version Magager)を紹介します。 RVMとは RVMはUNIX系の環境で、複数のRuby処理系をインストール、共存させることができるツールです。 ひとつの環境に対

    第39回 RVM(Ruby Version Manager)による環境構築 | gihyo.jp
  • 第41回 Sinatra 1.0の世界にようこそ | gihyo.jp

    はじめに SinatraはRubyで記述されたWebアプリケーションを素早く、簡単につくるためのDSL(ドメイン固有言語)です。 すでに第7回で、原悠さんにより「小規模Webアプリのためのフレームワーク、Sinatra」というかたちで紹介されています。 簡潔な文法で、高い表現力を持つSinatraは、アメリカRubyコミュニティや企業を中心に、瞬く間にユーザを増やしました。また、Rubyという一言語に留まらず[1]⁠、Sinatraを模したフレームワークが多く作られている現状からも、SinatraはWebアプリケーション開発そのものにも大きな影響を与えたと言えます。 最近ではここ日でも、個人利用を中心に、そこかしこでSinatraを使って開発をしている、という話を聞くようになりました。筆者自身、1ユーザとして現在業務で利用しており、1年前は知る人ぞ知る存在だったSinatraは、実際に

    第41回 Sinatra 1.0の世界にようこそ | gihyo.jp
  • 第2回 完全版:ブラウザとデバッグ環境 | gihyo.jp

    こんにちは、太田です。前回はクロスブラウザの入口として、各ブラウザの特徴をまとめつつ、実際にクロスブラウザなコードを紹介しました。今回はクロスブラウザ対策における基である、各ブラウザ環境の構築について解説したいと思います。 前回紹介した通りブラウザにはたくさんの種類・バージョンがあります。それぞれが動作する環境を用意するだけでも、一苦労ではすみません。なるべく少ないマシンで、各バージョンをインストールして、さらにデバッグするための環境作りについて紹介します。なお、Safari以外はWindows環境を想定しています。さらに、特に断りがない限りはWindows XP SP3をベースに解説させていただきます。ご了承ください。 各ブラウザのデバッグ環境は近年目覚しいほどの進化を遂げています。統合デバッグ環境の草分けであるFirebugを筆頭に、Safari/Chrome(WebKit)のWeb

    第2回 完全版:ブラウザとデバッグ環境 | gihyo.jp
  • もっと知りたいPython3000 記事一覧 | gihyo.jp

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

    もっと知りたいPython3000 記事一覧 | gihyo.jp
  • Python 3.0 Hacks | gihyo.jp

    第9回Python3にもC拡張モジュールを─Python3.0でも使える拡張モジュール開発手法の確立 入江田昇 2009-05-07

    Python 3.0 Hacks | gihyo.jp
  • 第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
  • 第5回 zshの誇る花形機能“補完” | gihyo.jp

    今回はzshの誇る機能の花形とも言える補完機能について紹介しよう。zshの補完は強大で、例示した設定の意味を略さず書こうとするとそれだけでになってしまう(約150ページ分)ので、細かい意味は読者の推測にまかせて、少し変えて便利にカスタマイズする場合のヒントを交えながら解説を進めたい。 補完の有効化 初期化ファイル、あるいはコマンドラインで、以下を入力することでzshのすぐれた補完機能が有効化される。 autoload -U compinit && compinit 補完に関するキー割り当てはいくつもあるが、最低限うまく利用するために以下の2つのキーバインドをまず覚えておけばよいだろう。 Tab (C-i) - expand-or-complete 補完の実行。 ESC C-d (または行末のみ C-d) - list-choices (delete-char-or-list) マッチする

    第5回 zshの誇る花形機能“補完” | gihyo.jp
    tsukkee
    tsukkee 2009/10/25
  • 第4回 Chrome Extensionsのこれから | gihyo.jp

    この記事で取り上げているAPIは現在と使い方が異なっていたり、使用できなくなったものを含んでいます。 特にToolstrips APIは最新のChromeでは使用できなくなっています。詳しくは『続・先取り! Google Chrome Extensions』をご覧ください。 前々回、前回はSBMカウンタを中心にExtensionsの作り方を学んできました。今回はあと少しだけSBMカウンタを改良してExtensionとして仕上げを行いつつ、Chrome Extensionsの最新情報と今後の予定を見ていきます。 カスタマイズと設定の保存 2つのソーシャルブックマークサービスのブックマーク数を表示し、さらにウェブページ内のリンクにもブックマークを表示する、とSBMカウンタも少しずつ機能が増えてきました。このように機能が増えてくるとエンドユーザー側で機能をカスタマイズしたいという要望が出てきます

    第4回 Chrome Extensionsのこれから | gihyo.jp
  • 第2回 Chrome Extensionsの作り方#1 | gihyo.jp

    この記事で取り上げているAPIは現在と使い方が異なっていたり、使用できなくなったものを含んでいます。 特にToolstrips APIは最新のChromeでは使用できなくなっています。詳しくは『続・先取り! Google Chrome Extensions』をご覧ください。 前回はChromeのバージョンの違いとExtensionsの導入と概要について説明しました。今回はExtensionsの作り方からドキュメント、開発ツールについて紹介します。なお、今回の解説はChrome 3系をベースとします。4系で変更された部分や機能追加があった部分は適宜補足を入れています。 【2009/9/17追記】稿の執筆時点ではChrome 3でExtensionsを試すことができましたが、9月16日のChrome 3の正式リリース以降、Chrome 3系統ではExtensionsを有効にすることができない

    第2回 Chrome Extensionsの作り方#1 | gihyo.jp
  • 第4回 使いこなしポイント 一撃編 | gihyo.jp

    通常なら他のツールと組み合わせたり、2~3ステップが必要な処理もzshの多様な展開処理を用いれば一発で結果が得られることが多い。 エイリアス エイリアスは手軽に設定できすぐに効果が得られる便利な機能である。他のシェルでも使える基的なエイリアスの他に、zshには以下のエイリアスが用意されている。 接尾辞エイリアス グローバルエイリアス 接尾辞エイリアス 接尾辞(suffix)エイリアスは、ファイルの拡張子とそれを開くアプリケーションプログラムの関連付けとも言える機能で、特定の拡張子を特定のプログラム起動に結び付ける。接尾辞エイリアスは alias -s で登録する。 alias -s pdf=xpdf とすると、拡張子が ".pdf" のファイルをコマンドラインのコマンド位置で「起動」するとxpdfを起動して開く。 % ls foo.pdf hoge.pdf % foo.pdf zsh:

    第4回 使いこなしポイント 一撃編 | gihyo.jp
    tsukkee
    tsukkee 2009/09/01
  • 第4回 PHP 5.3の追加機能と仕様変更 (2) | gihyo.jp

    モジュール 追加されたモジュール 追加されたモジュールの関数は紹介していません。詳しくはPHPマニュアル参照してください。 INTL ICUライブラリのサポート。エンコーディング変換やロケールなどのサポート機能を持っている。このモジュールはmbstringの必要性を無くすものではありません。 提供するクラス Collector ─ ロケールに応じた文字列比較、ソート NumberFormatter ─ ロケールに応じた数値フォーマット Locale ─ ロケール情報の参照と設定 Normalider ─ Unicode文字列の正規化(NFD/NFC/NFKD/NFKC) MessageFormatter ─ ロケールに合わせたメッセージのフォーマット IntlDateFormatter ─ ロケールに合わせた日付のフォーマット このほかにも、UTF-8エンコーディングされた文字列の処理する

    第4回 PHP 5.3の追加機能と仕様変更 (2) | gihyo.jp
    tsukkee
    tsukkee 2009/08/01
    binary関連の変更には注意が必要かも
  • 第3回 PHP 5.3の追加機能と仕様変更 (1) | gihyo.jp

    PHP 5.3では、目玉機能として説明した仕様の追加以外にも多くの変更が行われています。PHP 5.2とPHP 5.3の互換性はかなり高いですが注意が必要な変更もあります。 互換性に注意が必用な変更 モジュール関数のパラメータに互換性の無いデータ型を渡すと、NULLを返します。以前のPHPではFALSEを返していました。一部に例外があり、get_class()等ではFALSEを返します。 clearstatcache関数がデフォルトでrealpathキャッシュをクリアしなくなりました。 realpath関数がプラットフォームに依存しなくなりました。 call_user_func関数が親クラスからの呼び出しでも$thisが渡されるようになりました。 配列関数(natsort、natcaserot、usort、uksort、array_flip、array_unique)がオブジェクトを引数と

    第3回 PHP 5.3の追加機能と仕様変更 (1) | gihyo.jp
    tsukkee
    tsukkee 2009/07/29
  • 第2回 zshへの乗り換え時のポイント | gihyo.jp

    zshを使い始めるとき、ほとんどの場合は他のシェルからの乗り換えとなるだろう。今回はそうしたケースを想定し、他のシェルからzshに移行する際に遭遇しがちな問題にどう対処するかについて要点を絞って述べたい。 決断 シェルは手に馴染ませてこそ光り輝く道具である。それを変更するのは大きな決断で、ちょっとした不安が伴うものである。典型的と思われる事項についてQ&A形式でまとめてみた。 Q.zshが便利そうなのは分かった。だが、その分zshの使えないところに行ったら困ることになりそう。 A.大丈夫。今のシェルで使いこなしている機能以上に、zshを使えるようになったときには元のシェルに関する知識も増えているはず。zshは、どんな変数展開やヒストリ展開でもTabキーで正確に補完してくれるし、if、while、for の複数行に渡る構文をコマンドラインで使っても行エディタでしっかり再編集できるので、意識し

    第2回 zshへの乗り換え時のポイント | gihyo.jp
    tsukkee
    tsukkee 2009/07/12
  • 第1回 zshで広がる世界 | gihyo.jp

    zshはシェルである。シェルはもちろんキーボード入力されたコマンド行を解釈し、必要なコマンドを必要な引数とともに起動することを主な仕事とするソフトウェアである。単なるシェルなのだが、zshには他を圧到する比類なき機能がある。その一端を印象づける一つの例に、zshで実装されたテトリスがある(図1⁠)⁠。 もちろんこれは、お遊び機能の例で実際の日常作業をこれで進めるわけではないが、潜在的に備えている機能がどれほどのものかが分かる好例である。 zshは、sh(Bourne Shell)をベースとし、ksh、csh(tcsh⁠)⁠、bashの優れた機能をアイデアとして取り込み、なおかつ作業効率を高める独自の機能を登載したまさに至高のシェルである。しかしながら超高機能・多機能であるがゆえに全容を掴むのが難しい。付属の英文マニュアルはしっかりしているものの、簡潔な仕様記述がされているのみなので具体的な

    第1回 zshで広がる世界 | gihyo.jp
    tsukkee
    tsukkee 2009/07/03
  • 第1回 ガジェットAPI | gihyo.jp

    2009年5月28日、Googleのデベロッパーカンファレンス「Google I/O 2009」のキーノートにおいて大々的に発表されたGoogle Waveは、聴衆に熱狂を持って迎えられました。そのキーノートにおいてスピーカーは「Google WaveはProductであり、Platformであり、Protocolだ」と述べました(編注⁠)⁠。 連載ではその3つのPの内の2つ目、PlatformとしてのGoogle Waveについて説明します。 編注 著者執筆のGoogle I/O 2009のイベントレポート記事も参照ください。 なお、Google Waveは現在も急ピッチで開発が進められているプロダクトであり、連載に掲載する画面遷移・ソースコードなどは最新ではない可能性があります。記事に沿って作業していて違和感を覚えた場合にはGoogleの公開しているドキュメントを適宜参照してくださ

    第1回 ガジェットAPI | gihyo.jp
  • シンプル&パワフルなPHPライブラリ rhacoを使ってみよう! 記事一覧 | gihyo.jp

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

    シンプル&パワフルなPHPライブラリ rhacoを使ってみよう! 記事一覧 | gihyo.jp
  • 第3回 US-ASCIIによるクロスサイトスクリプティング | gihyo.jp

    今回は、US-ASCIIによるクロスサイトスクリプティング(XSS)という話題について紹介します。 前回までで説明したUTF-7によるXSSと同様に、攻撃者はUS-ASCIIという文字コードを巧みに利用することで、IEを対象にXSSを発生させることができます。US-ASCIIによるXSSは、UTF-7によるXSSと類似点も多いため、前回までの説明も併せて読んでおくとよいでしょう。 US-ASCIIによるXSSについても先に対策を書いてしまうと、UTF-7のときと同様にHTTPレスポンスヘッダにて Content-Type: text/html; charset=UTF-8 Content-Type: text/html; charset=Shift_JIS Content-Type: text/html; charset=EUC-JP のいずれかを出力するという原則を守ることで、完全に攻撃

    第3回 US-ASCIIによるクロスサイトスクリプティング | 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