CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
はじめに 前回はImagickのインストール、画像サイズ変換について紹介しました。 今回は主に携帯サイトでブラウザ上から文字を入力して指定した画像の上に文字を描いたり、複数の画像を合成して1枚の画像を生成するアプリケーションの構築例を、Imagickの機能と共に説明します。 対象読者 PHPでのWEBアプリケーション開発について基本的なことを理解している方を対象とします。 動作環境と開発環境 本連載で紹介するサンプルなどで実行している環境は次のとおりです。 CentOS 5.3 Httpd 2.0.61 PHP 5.3 事前準備 前回説明した画像の読み書き/操作クラスのImagickに加えて、描画用クラスImagickDrawというクラスを利用します。ImagickDrawは、Imagickで読み込んだ画像や生成した画像に線や文字を描画したり、枠をつけたりという加工を行うメソッドを集約した
しのぎを削る日本版twitterクローン 2009年に最もブレイクしたWebサービスは、やはり「twitter」だろう。2007年のSXSWでブレイクしたtwitterは、2009年6月のイラン大統領選後の騒動でRetweet(RT)とハッシュタグによる情報の拡散と集積の力を見せつけて、確実に次の段階に入ったことを感じさせた。もっとも、それが日本国内に入ってきたときにRTのパワーを感じさせた事件が「ヒウィッヒヒー」だったというのは彼我の違いを感じさせなくはないが、流行り物が好きなギークやマーケッターだけでなく、確実に一般ユーザーにも「つぶやき」が広まっていることを感じさせる1年だった。 それを受けて、12月に芸能人ブログの雄であるアメーバがミニブログ(twitterクローン)市場に本格的に参入した新規サービス「Amebaなう」は、この1年を象徴するようなサービスだと言えるだろう。Ameba
はじめに これまで、『インラインアセンブラで学ぶアセンブリ言語』の第1回と第2回を通じて、Microsoft Visual C++のインラインアセンブラを用い、アセンブリ言語の基本について説明してきました。 第3回となる本稿では、インラインアセンブラを用いた流れ制御を解説します。アセンブリ言語は高水準言語における文の概念がなく、すべての命令が単純なオペコードと引数(オペランド)だけで構成されています。この純粋な構造のために、流れ制御を行う場合も、if文やfor文のように記述することはできません。基本的にプログラムの流れ制御はすべてC言語で言うところのgoto文だけで記述し、比較命令や条件ジャンプも個別の命令で行います。 本来のマクロ機能を持たない生のアセンブリ言語ならば、ジャンプ先のプログラムの位置すらも、すべてメモリアドレスで指定しなければなりません。実際に、機械語にアセンブルされた後は
一般的な開発では滅多に使われることはありませんが、.NET Framework SDKにはILAsmと呼ばれる、中間言語を直接記述できるアセンブラが含まれています。本稿では、高水準言語を使わずに、ILAsmを使ったアセンブリ言語による .NET Frameworkアプリケーション開発を説明します。 はじめに 実践的な開発経験のある.NET Frameworkアプリケーションプログラマであれば、ILDASMを使ってプログラムを逆アセンブルしたコードを見たことがあるでしょう。.NET Frameworkアプリケーション開発は、Visual BasicやC#、C++/CLIなど、多くの言語を使って開発できますが、最終的に生成されるのは標準化されているCIL(Common Intermediate Language)と呼ばれる中間言語です。Microsoft Intermediate Langua
GNUプロジェクトは3月5日、GNU tar 1.22をリリースした。このバージョンでは、新たに「xz圧縮」をサポートする“--xz”オプションが追加された。この見慣れない圧縮形式は、.lzmaを置き換えるものとして、LZMA UtilsをリリースしてきたTukaaniプロジェクトが公開したフォーマット。拡張子は.xzだ。 GNUプロジェクトは3月5日、GNU tar 1.22をリリースした。tarは、複数のファイルを1つにまとめるUNIX標準のファイルアーカイブ。GNU tarバージョン1.22では、新たに「xz圧縮」をサポートする“--xz”オプションが追加された(“-J”にショートカットがアサインされている)。 この見慣れない「xz」という圧縮形式は、これまでLZMA UtilsをリリースしてきたTukaaniプロジェクトが1月29日に正式公開したフォーマットで、拡張子は.xz。既存
はじめに 前回はRuby/PHP/Perl、それぞれの言語ごとにフレームワークとテンプレートエンジンについて比較を行いました。これにより、現在のWebアプリケーション開発に求められる仕組みを俯瞰できたと思います。 今回はこの比較を基に、Ruby on Railsのこれまでの動向を追いながら、『どのようなフレームワークが自分にふさわしいのか』を考えていくことにします。また、最後に前回の記事で掲載しきれなかった各言語のフレームワークを紹介します。 「Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門」これまでの記事 第1回「効率的なWebアプリ開発の定石」 第2回「言語別フレームワークの比較」 フレームワークについて調査・分析を フレームワークの目的は、汎用処理を系統立てた仕組みの中に内包することで、プログラマの作業の効率化とWebアプリケーションの保守性を高めることにあります
はじめに 本稿では、WinSockでパケットモニターを作成し、WindowsでRAWソケットを扱う方法を紹介します。また、GUIプログラムを作成する場合に必須となる「非ブロッキングモード」や、すべてのパケットを取得するための「プロミスキャスモード」についても触れます。 取得したパケットをプロトコルにしたがって表示する処理については、WinPcapを使用したパケットモニターの作成で解説しましたので、詳しくはそちらを参考にしてください。 対象読者 WindowsでC++を使用してネットワーク関連のプログラムを作成される方。 パケットモニターの作成に興味をお持ちの方。 必要な環境 サンプルプログラムは、Windows 2000以降のOSで動作します。 サンプルコードは、C++ Builder 6およびVisual C++ .NET 2003でコンパイルが可能です。 WinSockのRAWソケット
はじめに 現存するプログラミング言語の中で2番目に古いのがLispです。生まれは古くても、いまだに使われ続け、また、Rubyなどの新しい言語にも影響を与えています。そのLispの派生であり、シンプルさが売りなのがSchemeです。 ここではSchemeの簡単なインタプリタをJavaScriptで作ってみます。 対象読者 本稿はLispやSchemeは少し触ったことはあるけど、インタプリタは書いたことがないという方を読者対象としています。また、JavaScriptの文法や、簡単なデータ構造についての知識を前提とし、説明は省きます。 必要な環境 テキストエディタと、JavaScriptが動くWebブラウザがあれば十分です。他に特に用意するものはありません。 概要 作成するインタプリタについて インタプリタのコードはJavaScriptで書き、HTMLのフォームを使って、Schemeのプログラム
はじめに 例えば、次のようなプログラムを書いて配布する場合、proxy経由でWebにアクセスする人のことも考えてプログラムを作ることになるでしょう。 Webブラウザ 自分の注目しているWebページを日々自動収集して解析するプログラム Web上に存在する各種RSS/Atomフィードの自動収集プログラム、あるいはRSS/Atomリーダ ブログに記事を投稿するツール オンラインヘルプ機能を内蔵したデスクトップアプリケーション WindowsアップデートのようなWeb経由での自動更新機能を備えたプログラム 上記のようなプログラムを使おうとするような人なら、おそらく何らかのWebブラウザを使っているはずですし、proxyサーバの情報も設定済みでしょう。この情報を他のプログラムでも利用しない手はない、という訳です。 そのプログラム専用の設定ファイルを用意して、そこにproxyサーバの情報を手で書くよう
CodeZineについて プログラミングに役立つソースコードと解説記事が満載な開発者のための実装系Webマガジンです。 All contents copyright © 2006-2008 Shoeisha Co., Ltd. All rights reserved. ver.1.5 掲載記事、写真、イラストの無断転載を禁じます。 記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。
はじめに この記事ではインテル系のCPUに実装されているCPUID命令がどのように働いているかを考察します。 今回、デモプログラム(littleCPUID)を作成しました。このプログラムは実際に使用しているシステムからCPUID命令を実行し、その結果を出力します。対象読者CPUの働き、特にCPUID命令がどのように働くのか興味のある方Visual C++によるインラインアセンブラの実装に興味がある方 必要な環境 Visual C++ version 6 SP6(MFC)で開発を行っています。 実行環境としてはWindows 2000/XPを想定しています。現行ではWindows 9x系では実行出来ないはずです。これは2000/XPのみで使用されるAPIを使用しているためで、それらを明示的にLoadlibraryすれば対応出来るのですが、面倒なのでやっていません。CPUID(CPU Iden
はじめに 前回で解説したPEヘッダに引き続き、今回もEXEファイル内のデータフォーマットの一部分「セクション」に関する話題で突き進みます。 それにしても、EXEファイルは調べ手に休ませる余地を与えません。PEヘッダという大きな構造体をクリアしたと思ったら、お次は複数個も存在するセクションが登場するのです。PEヘッダは大きくても1つしかなかったのでまだ良いのですが、セクションだけは更に細分化されたデータ構造を指定するため、少々厄介です。更に、セクションにはデータサイズ・RVA(イメージベースからの相対オフセット)など、生データに関するより詳細な情報が保持されます。 経験豊富な方はこのような文章を読んでお気づきかもしれませんが、薄い資料でセクションに関するリサーチを行うと、メモリダンプと睨めっこという状況に陥ります。筆者は数週間の間、セクション周りのメモリダンプと暮らしたことがあるので間違いあ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く