タグ

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

  • 第3回 Debian GNU/Linux 6.0で試すKVM | gihyo.jp

    残り領域は、一通りOSのインストールが終わった後にsda3としてパーティションし、LVMの物理ボリューム(PV)として利用するようにしました。 残り領域をLVMの物理ボリュームとして利用する # fdisk /dev/sda nコマンドでディスクの残り領域をsda3としてパーティション、tコマンドでタイプを8eに設定する # reboot 再起動しパーティションテーブルをシステムに反映 # pvcreate /dev/sda3 # vgcreate pool /dev/sda3 sda3をLVMの物理ボリュームとし、poolという名称のボリュームグループを作成 最終的なディスクレイアウト Device Boot Start End Blocks Id System /dev/sda1 1 3891 31249408 83 Linux /dev/sda2 3891 4377 3906560

    第3回 Debian GNU/Linux 6.0で試すKVM | gihyo.jp
  • 第7回 TitaniumでTwitterクライアント──カメラの使用 | gihyo.jp

    カメラを使ってみよう 前回はiPhoneらしい機能として、GPSとマップ表示の利用法について解説しましたが、今回はカメラの利用方法について解説します。また、既に撮影してある写真からも選択できるように、写真の選択方法をOption Dialogで選べるように実装してみます。また、TwitPicへの投稿方法も簡単に解説します。 ImageViewを準備 選択した写真をプレビューできるように、写真を表示するViewを用意しておきます。表示する部分は前回、地図を表示した部分と同じところにします。 前回実装を追加したmessage_window.jsに次のコードを追加します。 var imageView = Titanium.UI.createImageView( { width: 'auto', height: 240, top: 220 } ); imageView.hide(); win.ad

    第7回 TitaniumでTwitterクライアント──カメラの使用 | gihyo.jp
  • 第5回 Xslate 次世代テンプレートエンジン(3) | gihyo.jp

    TTerse Template Toolkit互換の構文 KolonはXslateの機能を引き出すのに最適な構文です。しかしXslateでは、TT2からの移行を容易にするために、TT2のサブセットであるTTerseという構文も用意しています。 TTerseの使い方 TTerseを使うには、Text::Xslate->new()メソッドのsyntaxオプションに「TTerse」を渡します。別のディストリビューションとして配布しているText::Xslate::Bridge::TT2Likeを使うと、TT2組み込みのメソッドやフィルタを使えるようにもなります(リスト17⁠)⁠。 リスト17 TTerseの使い方(tterse.pl) use Text::Xslate; my $tx = Text::Xslate->new( syntax => 'TTerse', module => ['Tex

    第5回 Xslate 次世代テンプレートエンジン(3) | gihyo.jp
  • 第39回 DBIx::Skinny:DBIx::Classに不満を感じたら | gihyo.jp

    DBIC以降の選択肢 今回はデータベース話の締めくくりとして、DBIx::Class以降に登場したいくつかの選択肢についてざっくりまとめておきます。これらはいずれも若く、DBICに比べてユーザ数も少ないためドキュメントなどの整備が遅れている部分もありますが、今回とりあげるものの多くは日人がつくっているものですから、英語圏で開発が進められているものより疑問や要望は送りやすいはず。気になることがあったらぜひそれぞれの作者氏に伝えていただければと思います。 DBIx::Skinny nekokakこと小林篤氏のDBIx::Skinnyは、今回紹介するもののなかではもっとも実績豊富なものといってよいでしょう。開発の動機については氏のブログによくまとまっていますが、標準で用意されているCRUDメソッドを使うときだけでなく、速度を稼ぐために生のSQLを書いたときでもinflateなどの補助機能を使え

    第39回 DBIx::Skinny:DBIx::Classに不満を感じたら | gihyo.jp
    YAA
    YAA 2011/02/02
  • 第5回 Xslate 次世代テンプレートエンジン(2) | gihyo.jp

    ※1)Xslateではテンプレートのコンパイル結果をキャッシュできる ※2)デフォルトは$ENV{HOME}/.xslate_cacheだが、$ENV{HOME}が書き込み可能でなければほかのディレクトリも試す ※3) テンプレートの構文によってデフォルトは変わる。これらはデフォルト構文Kolonのデフォルト値 リスト8 オプションを指定する(hello_xslate2.pl) use strict; use Text::Xslate; my %vpath = ( header => "- - - - - - - - - - -\n", footer => "- - - - - - - - - - -\n", hello => "Hello, Xslate world!\n", ); my $tx = Text::Xslate->new( path => \%vpath, header =

    第5回 Xslate 次世代テンプレートエンジン(2) | gihyo.jp
  • Perl Hackers Hub:第5回 Xslate 次世代テンプレートエンジン(1)|gihyo.jp … 技術評論社

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回は藤吾郎さんで、テーマはXslateです。 はじめに PerlとWebアプリケーションとの相性の良さは周知のとおりです。そして、Web開発にはテンプレートエンジンが欠かせません。テンプレートエンジンは、プレゼンテーションとロジックを分離し、デザイナとプログラマの分業を可能にし、MVC(Model-View-Controller)のV(View)を担う重要な要素です。 今回は、そんなテンプレートエンジンンの一つであり、筆者が開発しているXslateを紹介します。Xslateは2010年4月に開発を始めた新しいモジュールですが、速度・安定性・機能ともに高い水準になってきました。また、牧大輔氏や松野徳大氏をはじめとしたShibuya.pmの面々に多くのアドバイスをいただき、既存のテンプレートエンジンを置き換えられるくらい実用的に

    Perl Hackers Hub:第5回 Xslate 次世代テンプレートエンジン(1)|gihyo.jp … 技術評論社
  • 2011年のPerl | gihyo.jp

    あけましておめでとうございます。今回は新春特別企画ということで、2010年のPerl界を振り返りつつ、2011年のPerl界がどうなっていくかを、予定と期待を織りまぜながら見ていきましょう。 Perl 5.14 2010年のYAPC::Asiaでジェシー・ヴィンセント(Jesse Vincent)氏が紹介されていたように、Perl 5は現在、2011年4月に予定されているPerl 5.14のリリースに向けて最後の仕上げをしているところです。Perl 5.14は2010年の開発成果をまとめた定期リリースなのでPerlの根幹をゆるがす大きな仕様変更はありませんが、Perl体、コアモジュールともに細かなバグがいくつも修正されているほか、内部的にはさまざまな最適化が行われています。 一例を紹介しますと、Perl 5.14ではkeysやeach、あるいはpushやshiftのような、配列やハッシュ

    2011年のPerl | gihyo.jp
    YAA
    YAA 2011/02/02
  • 第5回 TitaniumでTwitterクライアント──windowの遷移 | gihyo.jp

    前回の記事でTwitterに投稿するところまで実装ができましたが、投稿したあとのwindowの遷移が起きないままになっていますので今回は画面遷移について解説していきます。また、今までのコードをgithubにて公開しましたので必要に応じて参照してみてください。各連載時のコミットにタグをつけてあるので連載にあわせてタグを選択すると便利です。 windowの遷移 windowを閉じる Twitterに投稿したあとに、メッセージを書いていたwindowを閉じるようにしてみます。 以下のコードを追加します。 postButton.addEventListener( 'click', function () { if ( textArea.value ) { tweet( textArea.value ); win.close(); //この行を追加 } } ); これで 投稿が完了すると、メッセージ

    第5回 TitaniumでTwitterクライアント──windowの遷移 | gihyo.jp
  • 第3回 TitaniumでTwitterクライアント──レイアウトの調整 | gihyo.jp

    前回の記事が公開された直後からTitaniumには大きなバージョンアップがあったので、今回はTwitterクライアントの続きを始める前に、そのお知らせから始めます。 Titanium Moble 1.5.1 リリース 前回までの記事は Titanium Mobile 1.4.2 で動作確認を行いながら執筆していたのですが、この度新バージョンの 1.5.1 がリリースされました。開発元のAppceleratorによると、この1.5系列によってAndroidでの開発はベータ版から正式版になったという扱いのようです。連載ではまだAndroid開発について説明していませんが、Intent、Activity、Menuボタンからのメニュー表示といったAndroidらしい機能が使えるようになったので、Androidでの開発もいよいよ面白くなってきたと言えるでしょう。Android SDKのインストール

    第3回 TitaniumでTwitterクライアント──レイアウトの調整 | gihyo.jp
  • 第2回 TitaniumでTwitterクライアント | gihyo.jp

    前回の記事で環境構築と土台となるプロジェクとの作成ができたので、今回から実用的なアプリの制作に入ります。数回にわけてTwitterクライアントを作成しますので、ネットワーク周りや画像の取り扱いまでTitaniumの簡便さを体験していただければと思います。 どんなものを作るか まずは、実際に作るアプリのイメージを固めましょう。TwitterアプリはiPhoneアプリの中でも優れたアプリが多く激戦区となっているジャンルです。一方でTwitterを使い込んでいくと自分のよく使うWebサービスと連携させたくなり、自分の使い方にカスタマイズしたアプリも欲しくなるものです。ということで、Twitterのひと通りの機能を実装しつつ拡張しやすいシンプルなアプリを目指しましょう。 図1 画面イメージ 画面構成としてはこのようなアプリをイメージしておきましょう。 まずはTableView Twitterアプリ

    第2回 TitaniumでTwitterクライアント | gihyo.jp
  • glibcの実装変更にて引き起こしたFlash不具合 | gihyo.jp

    Linux関連の話題を扱うニュースサイト「LWN.net」の記事です。発端は、Fedora上である音楽サイトを開いたところFlashによるmp3プレーヤにて正常に再生されなかった、というバグチケットになります。そしてLinux用のFlashに使われているライブラリglibcのmemcpy関数に原因があることがわかりました。 memcpy関数はメモリ領域をコピーする関数で引数としてコピー元とコピー先を指定します。そしてドキュメントにも書かれているのですが、コピー元とコピー先それぞれの領域が重なってはいけない制約があります。しかし、場合によっては領域が重なっていても結果的にうまく処理されることもあり、今回のFlash Playerもそのレアケースに相当していました。そして、glibc開発チームにより64ビット向けCPUのパフォーマンス向上のためにmemcpy関数内部の実装を変更したところ、制約

    glibcの実装変更にて引き起こしたFlash不具合 | gihyo.jp
    YAA
    YAA 2011/02/02
  • ページが見つかりません

    指定されたページは,サイト内に見つかりませんでした。 以下の手順をお試しください。 URLを直接入力した場合,入力ミスがないかご確認ください。 リンクを辿ってきた場合,リンクミスが考えられます。リンク元サイトの管理者にお問い合わせください。 該当するページについての情報をお持ちの場合,サイト上部にある検索ボックスから検索するか,トップページから該当するリンクを辿ってください。

    ページが見つかりません
    YAA
    YAA 2010/12/17
  • 本日12月1日より、プログラマ有志による技術系Advent Calendarが各所ではじまる | gihyo.jp

    日12月1日より、プログラマ有志による各技術系Advent Calendarが一日目を担当する人のblogではじまっている。ここ数年は、師走の風物詩になっている。 一般的なAdvent Calendarは、12月25日のクリスマスを楽しみに待つために、12月1日から24日までのカレンダーの日付の部分(扉だったりする)がめくられるようになっており、1日ずつその日の日付の部分をめくると天使や動物の絵などが見えるという仕組み(もちろん、様々なバリエーションがある⁠)⁠。 これに発想をえて、技術系Advent Calendarでは基的に、12月1日から25日までの25日間、プログラミング言語縛りなどの最低限のルールで、毎日別の人(同じ人が複数回担当することもある)が自分のblogにて記事を書くという形式になっている(特設サイトを用意して、記事をまとめる手法もある⁠)⁠。なお、国内ではATND

    本日12月1日より、プログラマ有志による技術系Advent Calendarが各所ではじまる | gihyo.jp
    YAA
    YAA 2010/12/10
  • 第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
  • 第37回 YAPC:国際的なイベントなのだ、ということはお忘れなく | gihyo.jp

    連載の裏話を発表してきました 先日開催されたYAPC::Asia 2010では、この連載の番外編として、筆者が執筆の際にどのような資料を見ているか、また、どのような基準でとりあげる話題を決めているかをお話しました。当はもう少しいろいろな情報源を見ていただいて、サイトの外観や内容の変化から最近のPerl界のうつろいを感じていただければと思っていたのですが、昨年は同じ分量のスライドで半分近く時間を余してしまったからと思ってゆっくりめに話したら、さじ加減を間違えたようで、当に紹介しようと思っていた部分はかなりすっ飛ばしてしまう結果となってしまいました。資料はいまだに整理が済んでいないのですが、内容を説明しそびれたページについてはまた何らかの形で紹介していかれればと思っています。 気になることの多いYAPCでもありました さて、自分のスライドに日語をつけそびれてしまったことをはじめ、個人的に

    第37回 YAPC:国際的なイベントなのだ、ということはお忘れなく | gihyo.jp
    YAA
    YAA 2010/11/01
  • 第3回 DBIx::Classでデータベース操作(3) | gihyo.jp

    Resultクラスの拡張 Resultクラス、ResultSetクラスは自分の好みに合わせて拡張できます。 カラムのinflate/deflate $tweet->created_dateのようなつぶやきの日付を取りたい場合、カラムの値そのままではなくDateTimeオブジェクトを返してくれたらうれしいと思います。その機能を実現するのがカラムのinflate/deflate機能です。inflate(膨らませる)は文字どおりカラムのデータをPerlオブジェクトに変換する機能で、deflate(収縮させる)はPerlオブジェクトをカラムデータへ変換する機能です。 Resultクラス内で __PACKAGE__->inflate_column('column_name', { inflate => sub { # カラムデータからオブジェクトを作って返す }, deflate => sub {

    第3回 DBIx::Classでデータベース操作(3) | gihyo.jp
    YAA
    YAA 2010/10/07
  • 第3回 DBIx::Classでデータベース操作(2) | gihyo.jp

    Schema::Loaderの利用 第3回(1)でResultクラスには各テーブルがどのようなカラムを持っているかを定義する必要があると書きましたが、「⁠そのようなテーブル情報はデータベースから自動的に取得できるのでは?」と思った方もいるかもしれません。DBIx::Class::Schema::Loaderという別で配布されているモジュールを使用すると、Resultクラスでのテーブル情報の定義を省略できます。 Schema::Loaderを使うべきか 軽いデータベース操作であればSchema::Loaderがお手軽ですが、そうではない場合はResultクラスにテーブル定義をしっかりと書くのがお勧めです。Resultクラスにテーブル定義を書くべき理由は主に2つあります。 ●DBIx::Classからデータベースを作成できる Resultクラスにテーブル定義を書くと、DBIx::Classから

    第3回 DBIx::Classでデータベース操作(2) | gihyo.jp
    YAA
    YAA 2010/10/07
  • 第3回 DBIx::Classでデータベース操作(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はカヤックの村瀬大輔さんで、テーマはDBIx::Classです。 DBIx::Classとは DBIx::ClassはPerlのO/Rマッピングモジュールです。O/Rマッピング(Object/Relational Mapping、以下ORM)とは、オブジェクト指向言語におけるオブジェクトとリレーショナルデータベースを紐づけるしくみのことで、ORMを使用するとユーザは直感的なオブジェクト操作によってデータベースを操作できるようになります。 DBIx::ClassはPerlORMとしては現在世界で一番使われているモジュールです。日では最近データベース操作モジュールとしてより軽量なDBIx::SkinnyやData::Modelなどの注目が高まってきていますが、機能的に枯れている点や豊富にテストされている点でDBIx::Cl

    第3回 DBIx::Classでデータベース操作(1) | gihyo.jp
    YAA
    YAA 2010/10/07
  • 第36回 SQL::Abstract:簡単なSQLはより簡単に | gihyo.jp

    DBIの泣き所 いわゆるLAMPないしそれに似た環境でウェブサービスばかり書いている方にはあまり実感がないかもしれませんが、あちらの現場ではOracleを、こちらの現場ではMicrosoft SQL Serverを、はたまた別の現場では組み込みのSQLiteを、といった受託系の仕事をしている人にとって、SQLの方言問題は避けては通れないもののひとつです。 典型的なところでは、たとえばSELECTで取得するデータの件数を制限したい場合、PostgreSQLなどでは「LIMIT ... OFFSET ...」のように書きますが、OracleではROWNUMを使いますし、MS SQL serverならSET ROWCOUNTやTOPを使います。また、いまでこそPostgreSQLとの互換性を確保するため「LIMIT ... OFFSET ...」と書けるようになっているMySQLにしたところで、

    第36回 SQL::Abstract:簡単なSQLはより簡単に | gihyo.jp
    YAA
    YAA 2010/09/21
  • 第2回 AnyEventでイベント駆動プログラミング (3) | gihyo.jp

    AnyEventベースのモジュール 前回まで紹介したのはAnyEventの基APIのみです。CPANにはこれらをベースにさらに複雑な機能を実装した様々なモジュールがあり、それらをうまく組み合わせて簡単に高機能なイベント駆動プログラムを構築することができます。代表的なものとしては、以下のようなモジュールが登録されています。 非同期でHTTP通信を行うAnyEvent::HTTP 低レイヤのI/Oを簡単にするAnyEvent::Handle ソケット接続を行うAnyEvent::Socket データベース処理を非同期で行うAnyEvent::DBI CouchDBと非同期に通信を行うAnyEvent::CouchDB PSGI/Plackを非同期エンジンで動かすTwiggy これらを組み合わせて使うことにより、ブラウザと非同期に通信しつつ裏ではデータベースおよびイントラネットのほかのREST

    第2回 AnyEventでイベント駆動プログラミング (3) | gihyo.jp