タグ

ブックマーク / codezine.jp (23)

  • HTML5で進化したフォーム機能 ここが違う!サンプルで見るHTML5(5)

    はじめに この連載では、今日のウェブ業界の流行語となっている「HTML5」をとりあげ、全6回に分けて、これまでの技術とどのような違いがあるのか、具体的にサンプルのコードを示しながら解説していきます。 過去の連載も読む 第1回:HTML5が注目を浴びる理由とは? 第2回:HTML4から変化したHTML5のマークアップ 第3回:HTML5で再定義された要素と属性 第4回:HTML5で実現できるマルチメディア系機能 新たに導入されたフォームコントロール これまでウェブにおける入力フォームコントロールは、非常に限られたものしかありませんでした。皆さんがよくご存じのテキスト(パスワード)入力フィールド、ラジオボタン、チェックボックス、セレクトメニュー、テキストエリア、ファイル選択です。お問い合わせフォームであれば、ほとんどのシーンで十分といえるでしょうが、ウェブアプリケーションにおいては、不足してい

  • Perlで始めるFacebookアプリケーション

    はじめに Facebookは米国の代表的なソーシャルネットワークサービスで、開発者向けのプラットフォームも用意されています。今回は、Facebook用のアプリケーションの作り方について簡単に解説します。 FacebookからはPHPで書かれたサンプルアプリケーションが提供されていますが、今回はPerlを利用したいと思います。 対象読者 Webアプリケーションに興味のある方。 必要な環境 Perl 5.8以上が動作する環境を推奨します。主なPerlモジュールには、以下を使用しました。 WWW::Facebook::API JSON::Any Facebook用アプリケーション作成の基礎 Facebook Developers Facebook Developersという、Facebookの開発者向けページがあります。ここでは主に3つの技術が提供されています。 Interface (API)

    Perlで始めるFacebookアプリケーション
  • mixiアプリで始めるOpenSocial入門(1) ――OpenSocialの概要とmixiアプリ

    複数のSNSサイトで共通に使える開発プラットフォームを提供する「OpenSocial」。連載では、OpenSocialをサポートしているmixi上で実際にアプリケーションを作成しながら、OpenSocialのさまざまな機能に触れていきます。第1回は、OpenSocialの概要を紹介します。 OpenSocialとは SNS(Social Networking Service:ソーシャル・ネットワーキング・サービス)は、その名の通りソーシャルな(≒人間関係の)ネットワークを、インターネット上で構築するサービスです。2005年頃から着実に普及を続け、今や膨大な会員数と、さらに膨大な数の会員同士のネットワーク情報を抱えるようになっています。SNSの基的な機能としては、次のようなものがあります。 人を検索し、自分の友人として登録する機能 他の人とメッセージをやり取りする機能 自分のプロフィール

    mixiアプリで始めるOpenSocial入門(1) ――OpenSocialの概要とmixiアプリ
  • 「Twitter」公開APIを利用して 関連の日本語サービスが続々と登場

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「Twitter」公開APIを利用して 関連の日本語サービスが続々と登場
  • find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編
  • Webサイトの制作/運用の効率化を図る 「ガイドライン策定」のすすめ(前編)(1/4):CodeZine

    Web標準に従うことは、SEO効果、ユーザービリティ、メンテナンス性の向上など、Webサイトの利用者と制作者の双方にさまざまなメリットをもたらします。しかし、実際にWeb標準の仕様書に従ってWebサイトを制作しようとすると、制作者の頭を悩ませる多くの問題が待っています。連載では、Web標準のメリットを最大限に生かすことをテーマに、仕様書には書かれていない部分を中心に取り上げ、実際のWeb制作現場で起こり得る問題について、解決の糸口をたらしていきたいと思います。 はじめに Web標準に従うことは、SEO効果、アクセシビリティ、ユーザービリティ、相互運用性、互換性、メンテナンス性の向上など、Webサイトの利用者と制作者の双方にさまざまなメリットをもたらします。しかし、実際にWeb標準の仕様書に従って「正しい(X)HTML+CSS」でWebサイトを制作しようとすると、制作者の頭を悩ませる多くの

    Webサイトの制作/運用の効率化を図る 「ガイドライン策定」のすすめ(前編)(1/4):CodeZine
  • Ruby on Rails 2.0入門:Flickerベースのアプリケーションの作成

    はじめに 2004年に初めてリリースされたRails Webアプリケーションフレームワークは、Ruby言語のキラーアプリケーションになり、CRUD(Create、Read、Update、Delete)パターンに基づくWebアプリケーションを短時間で作成できる非常に強力なツールとして急速に普及しました。そして2007年末、今やすっかり有名になったこのWebアプリケーションフレームワークのバージョン2.0がリリースされました。最初のリリースのときほどの驚きはありませんが、Rails 2.0はやはり多くのイノベーションを実現し、開発をより効率的で楽しいものにしています。 稿では、Rails 2.0の概要と、最も重要な新しい機能を説明し、それらを使ってシンプルでも目を引くWebアプリケーションを作成する方法を紹介します。よくある「15分でブログを作る」というような例ではなく、ここで紹介するアプリ

    Ruby on Rails 2.0入門:Flickerベースのアプリケーションの作成
  • 正規表現エンジンを作ろう (1)

    はじめに こんにちは。hirataraです。 私が初めて正規表現を使ったのは、PerlによるCGIでの文字列処理でした。それから私はPerlを使い続け、今では正規表現なしのコーディングは考えられないほど、正規表現を当たり前の機能として日常的に使っています。昔は標準では正規表現をサポートしていなかったJavaも、今では正規表現をサポートするようになりました。Javaだけではなく、今日ではほとんどの高級言語にとって、正規表現はなくてはならない機能であると言っても過言ではないほどメジャーな機能となっています。 記事では、この正規表現の舞台裏に光を当てます。一見すると作ることが難しそうな正規表現エンジンですが、その根底には数学的な概念があり、その概念さえ知っていれば基礎となる機能の実装はそんなに難しくありません。この連載ではその数学的な概念をPythonを使って表現しながら、実際に動作する正規表

    正規表現エンジンを作ろう (1)
  • Movable Type、ソーシャルメディア機能を標準装備へ:CodeZine

    シックス・アパートは30日、「Movable Type 4」プラットフォームにソーシャル・メディア機能を追加するオプション・ソフトウェア「Movable Type コミュニティ・ソリューション(MTCS)」を、今後はMovable Type体に無償でバンドルし、両者を統合した形で提供すると発表した。最新版の「Movable Type 4.2」より実施される予定だ。 Movable Typeコミュニティ・ソリューションはウェブサイトやブログに加え、お気に入り投稿やランキング表示、掲示板、プロフィール表示などの様々なコミュニティ機能を追加する。コンテンツ管理やコミュニティ構築のサポートによってコンテンツの充実や、更新頻度のアップ、リピート率の向上などが見込める。また、登録ユーザーは、各種機能を同じアカウントで利用することができるので、システム管理の手間も軽減されるとしている。 なお、今回

  • 開発者注目のはてなブックマーク@CodeZine

    CodeZineについて プログラミングに役立つソースコードと解説記事が満載な開発者のための実装系Webマガジンです。 All contents copyright © 2006-2008 Shoeisha Co., Ltd. All rights reserved. ver.1.5 掲載記事、写真、イラストの無断転載を禁じます。 記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。

  • Hadoop、hBaseで構築する大規模分散データ処理システム:CodeZine

    はじめに この連載では、大規模分散計算フレームワーク「Hadoop」と、その上につくられた大規模分散データベース「hBase」の仕組みと簡単なサンプルアプリケーションを紹介します。HadoopとhBaseは、Googleの基盤ソフトウェアのオープンソースクローンです。機能やコンセプトについては、Googleが発表している学術論文に依っています。 これらの学術論文によると、Googleでは大規模分散ファイルシステム「Google File System」、大規模分散計算フレームワーク「MapReduce」、大規模分散データベース「BigTable」、分散ロックサービス「Chubby」という4つのインフラソフトウェアが使われています。 図1にGoogleの基盤技術間の依存関係、そしてそれに対応するOSSの対応関係を示しました。まずは対応するGoogleの基盤技術それぞれの機能や特徴をざっくりと

  • pthreadについて(シグナル・バリア等):CodeZine

    はじめに この連載ではUNIX系OSなどで使われるスレッド「pthread」についてサンプルを交えて説明していきます。pthreadはPOSIXが仕様化したスレッドモデルです。サンプルはCと一部C++、調査環境はFedora 8(2.6.23.1-49.fc8)、32bit、glibc-4.1-2、gcc-4.1.2-33およびFedora Core 6(2.6.18-1.2798.fc6)、32bit、glibc-2.5-3、gcc-4.1.1-30を使用しています。これまでの記事第1回:pthreadについて(概要・生成)第2回:pthreadについて(同期)第3回:pthreadについて(条件変数・モデル)第4回:pthreadについて(スレッド固有データ)第5回:pthreadについて(スタックサイズ)第6回:pthreadについて(スケジューリング)第7回:pthreadについて

  • LAMPセキュリティを強化する4つの方法:CodeZine

    はじめに Apache HTTPサーバーのセキュリティは、少なくともLinuxやその他の適切なUnix系オペレーティングシステムで実行している限りにおいては、信頼できます。しかし、今や平凡な静的な読み取り専用Webサイトは絶滅危惧種となりました。最近では、LAMPと呼ばれる一連の技術(つまりLinux、Apache/Lighttpd、MySQL/PostgreSQL/SQLitePython/PHP/Perl/Ruby)を使って動的Webサイトを提供するのが一般的になっています。これは進歩であるとも、ないとも言えます。 私個人は、平凡な静的HTMLの日々が好きでした。今と比べてブラウザのHTMLサポートやサイトの質に疑問が多かったとはいえ、少なくとも、エラーを吐き散らす役立たずの巨大なスクリプトを実行して私のコンピュータを過労に追い込んだり、ときには完全に固まらせてしまうことはありません

  • JavaとRuby:主要機能の比較:CodeZine

    はじめに Rubyはインタプリタによって解釈されるスクリプト言語で、Javaはコンパイラによってコンパイルされるプログラミング言語です。Rubyは、オブジェクト指向言語であり厳密な型指定を行うという点ではJavaに似ています。しかし、Rubyの型指定は動的であるのに対し、Javaの型指定は静的です。Rubyでは型宣言は使用されず、Javaでは型宣言は必須です。JavaRubyのどちらにも継承があり、"パブリック"、"プライベート"、"プロテクト"のメソッドがあります。RubyJavaより単純でJavaより高速です。Rubyはさまざまな点でJavaと異なっています。稿では、RubyJavaの主要機能を比較します。インタプリタ方式とコンパイラ方式 Rubyはインタプリタ方式のスクリプト言語なので、コンパイルしてバイトコードを生成することなく、直接実行できます。たとえば、Rubyファイル

  • pthreadについて(概要・生成):CodeZine

    はじめに スレッド(thread)は、代表的な非同期処理の仕組みの1つで、例えるならプロセスの中で動くプロセスという感じで、軽量プロセス(lightweight process)と呼ばれたりもします。pthreadはPOSIXが仕様化したスレッドモデルで、POSIX仕様を満たしているOS間では基的には移植が可能ですが、個人的な感想では、主にUNIX系OSで使用されているようです。 大変便利なんですが、しかし複数のスレッドを矛盾無く動かす事はとても難しく、またデバックも困難で、作りを誤ると環境次第で動きが違ったりします。有用な実装方法はネット上でもそれ程見当たらず、も少ないうえに英文を強引に訳してるだけの古いばかりで、なかなか理解が困難だと思います。 当レポートはpthreadに関する調査・試行錯誤した結果、躓きやすい箇所、実装依存と思われる箇所等、独断と偏見と誤解とたくさんのサンプル

  • CodeZine:signalについて(後篇)(signal, Linux, Unix, シグナル)

    はじめに シグナルについての解説最終回です。今回はシグナルを扱う上での注意点や、よりよい実装方法の提案、シグナルの未来等について説明します。過去の記事signalについて(前篇)signalについて(中篇) 5. 実装上の注意点 前回まで説明してきたとおり、シグナルは気軽に使うことができる便利なプロセス間通信です。しかしシグナルには、やってはいけないことや気をつけるべき点が多く存在します。以下、代表的な注意点を挙げます。5.1 最適化問題 volatileはそれほど使われない宣言修飾子ですが、これは最適化を制御する修飾子です。なぜこの修飾子がシグナルと関係あるのかについてですが、先にソースコードを示します。 /* 1. gcc -g -W -Wall signal_test_volatile.c -o signal_test_volatile 2. gcc -g -W -Wall sign

  • signalについて(中篇):CodeZine

    はじめに 前回に引き続きシグナルについてまとめてみたいと思います。今回はシグナルの実装方法についてです。過去の記事signalについて(前篇) 4. シグナルの実装(割り込み禁止、アラーム)4.1 割り込み禁止 シグナルは、あるハンドラの実行中に別シグナルによる割り込みを防ぐことができます。割り込み防止対象はハンドラだけではなく、ユーザー独自の関数に対しても割り込まれない事を保証することが可能です。 例えば、SIGINT(Ctrl+C)シグナルが発生しハンドラ内で時間がかかる処理を行っている時にSIGTSTP(Ctrl+Z)が来た場合には、ハンドラ内の処理が終了してからSIGTSTPを処理(バックグラウンド動作)します。 /* gcc -g -W -Wall signal_test_interrupt.c -o signal_test_interrupt */ #include <std

  • signalについて(前篇):CodeZine

    はじめに シグナルはUNIXなどのOSにおける非同期イベントを通知する仕組みですが、「最古のプロセス間通信」「SysV系とBSD系で動きが違う」「昔のシグナルを使うと汎用性が無くなってしまう」「スレッドと相性悪し」といった理由からか、私の経験上、業務系アプリケーションではあまり使われていません。たまに使っているものを見ると、誤った使い方をしているものが多かったりします。 ところがこのシグナル、いろいろ調べていくと意外と奥が深く、有用に使えるのに、以外と情報が少ないことがわかりました。 今さらな感もありますが、ここでは私が知っている事や、調べた結果、今までの経験から得た知識などをまとめてみたいと思います。 ただし、環境によって動作が違うことが想定され、また一部のプログラムは環境に対し重大な影響を与えてしまうものもあります。プログラム等の使用に際しては十分に注意して頂き、ご自身の責任の範囲で行

  • はじめてのWebサービス実装体験:CodeZine

    はじめに 近年、Googleが提供しているようなWebベースのサービス型アプリケーションが注目を集めています。一般にWebサービスと呼ばれる(またはWeb API として提供される)これらのソフトウェアは、何らかのリソースや機能を提供するインターフェースを公開し、外部からサービスに接続することで、さまざまなソフトウェアの部品として機能することができます。 多くの場合、Webサービスはインターネットに接続されたデバイスとブラウザがあれば利用することができるため、通常のプラットフォーム固有のアプリケーションに比べて配置や管理が容易で、利用者の負担も少ないというメリットがあります。インストールやアンインストールといった作業が不要であり、自分がどこにいて、どのデバイスを使っても同じソフトウェアとデータを共有できるためです。 ある程度Webサイトやアプリケーションの開発経験があれば、何らかのWebサ

  • Perlを使って脆弱性を検証する:CodeZine

    はじめに 今回はXSSの脆弱性をチェックするPerlスクリプトを作成したいと思います。すべてのXSSによる脆弱性が回避できるわけではありませんが、テストコード作成のヒントになれば幸いです。 対象読者 Webアプリケーション開発者で、XSSのテストケースを作成したい方。 必要な環境 Perl 5.8以上が動作する環境。基動作の確認はMac OS Xを利用しました。次のPerlモジュールを利用するので、あらかじめインストールしておいてください。 Template::Toolkit Web::Scraper Test::Base またCGIを使用するので、ApacheなどのCGIが実行できるWebサーバを用意してください。 解説内容 ソースコード解説 まず最初にソースコードの解説をします。 xss.pl