タグ

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

  • 企業システムでも使われるウィジェット技術 第3回 「ウィジェットの活用例 - JazzによるOpenSocialガジェットの利用」

    はじめに 連載では、ウィジェット関連の技術動向についてご紹介しています。第3回となる稿では最近注目を集め始めているOpenSocialの中のガジェット仕様を活用しようとしている一例として、開発ツールのプラットフォームを提供するJazzプロジェクトの取り組みを紹介します。 OpenSocialとJazz 稿のタイトルに含まれる2つのキーワード「OpenSocial」と「Jazz」。どちらも初めて耳にする言葉かもしれません。最初に、それぞれの言葉の意味を簡単にご紹介したいと思います。 OpenSocialはソーシャル・ネットワーク・サービス(SNS)が提供するAPIの標準化やユーザー・インターフェースのコンポーネント定義の標準化によって、さまざまなSNSサイトへの統一したアクセス方法を提供したり、サイト間の連携を可能にしたりすることを目的に、Google社が発案し、現在はOpenSoci

    企業システムでも使われるウィジェット技術 第3回 「ウィジェットの活用例 - JazzによるOpenSocialガジェットの利用」
  • ファイルディスクリプタについて(1) ~ファイルディスクリプタの概要

    ファイルディスクリプタは、プログラムの外部との入出力を行う抽象的なインタフェースです。Unix/Linuxのファイルディスクリプタは、一般的なファイルだけでなくデバイスやソケットやパイプも対象としています。当連載は、ファイルディスクリプタの機能や管理方法などを提示します。第1回では、ファイルディスクリプタの概要を紹介します。 はじめに ファイルディスクリプタ(Windowsではファイルハンドル)は、プロセスや実行ファイルにとって外部の資源にアクセスしたりアクセスされたりする際に使用される抽象的なインターフェースです。 今日のプログラムは必ずと言っていいほど外部とのインターフェースを持っていますが、新しいディスクリプタや効率的な使い方がそれほど明確ではなかったりします。 当連載では、ファイルディスクリプタに関する調査・試行錯誤した結果、新しいディスクリプタを使用した感想や効率的な管理方法など

    ファイルディスクリプタについて(1) ~ファイルディスクリプタの概要
  • sizeofオペレータを正しく使おう ――C/C++セキュアコーディング入門(5)

    はじめに 今回はsizeofオペレータをとりあげます。sizeofは、引数に与えたオブジェクトや型名から、その型のデータがメモリ上に占めるバイト数を求めるオペレータです。皆さんも、メモリ領域を動的に確保したいときや文字列操作などに関連して使ったことがあるでしょう。まずはsizeofオペレータの使用上の注意について説明し、その後でsizeofオペレータの誤用例を2つ紹介します。 sizeofオペレータ使用上の注意 「sizeofオペレータの使用上の注意 その1」は、プログラマが意図する正しい引数を渡すこと、です。メモリ上のオブジェクトのコピーや移動などの操作は、オブジェクトのメモリ上のサイズにもとづいて行います。オブジェクトのサイズを間違っていたら、アクセス違反やオーバフローといった脆弱性につながることは容易に想像できるでしょう。 「sizeofオペレータの使用上の注意 その2」は、引数に副

    sizeofオペレータを正しく使おう ――C/C++セキュアコーディング入門(5)
    teppeis
    teppeis 2010/01/27
  • オープンソースApache Tuscanyで楽しむSOA 第1回「Apache Tuscanyの紹介」

    はじめに この連載では、「オープンソースApache Tuscanyで楽しむSOA」として、オープンソースのSCA準拠製品である「Apache Tuscany」を取り上げ、SOA(サービス指向アーキテクチャ)の開発について説明していきたいと思います。第1回目の今回は、Tuscanyの誕生までの歴史と、Tuscanyとは何かを紹介していきます。 「楽しむ」という言葉に反応された方も多いでしょう。「SOAって楽しめるわけがない」「Webサービスの膨大な仕様書があるけどよくわからなかった」「簡単なことをやる割には、SOAPとかWSDLとか結構面倒だし」という声が聞こえてきそうです。そこなんです、当連載の目的は。Tuscanyは膨大なWebサービスの仕様書を読まなくても開発できます。Webサービスの面倒な部分はコンテナが勝手にやってくれます。JSONやATOMを使ったAjaxについてもほとんど知識

    オープンソースApache Tuscanyで楽しむSOA 第1回「Apache Tuscanyの紹介」
    teppeis
    teppeis 2009/10/20
    SOA, SCA, JBIの歴史まとめ。「SOAって楽しめるわけがない」
  • ExcelでUTF-8のCSVを開く方法 (CodeZine編集部ブログ)

    Unicodeが実装レベルで登場してからずいぶんたった今では、UTF-8のファイルを普通に扱うことが多くなりました。ほとんどのアプリケーションも何なくUTF-8のファイルを読むことができるようになっています。 ところが、です。最近UTF-8CSVファイルで作業していて、これをダブルクリックしてExcelで開くと文字化けすることに気づきました。 最初はUTF-8からExcelが好きそうなS-JISに変換していたのですが、ちょっと複雑なデータになると「変換できない文字があります」というアラートがでます(長母音記号などが鬼門)。できればUnicodeのままでExcelに読み込ませられないものか。 以前よりマイクロソフト社製品はすべて内部的にはUnicodeを全面的にサポートしているはずなので、読み込ませられないわけはないはず…とおもって検索したりしていたところ解決方法がわかりました。 <解決方

  • 仮想ネットワークの実装で学ぶTCP/IP一覧

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

    仮想ネットワークの実装で学ぶTCP/IP一覧
  • jQuery入門(その1)(1/7):CodeZine

    はじめに 実を言うと、私はずっとJavaScriptを嫌っていました。JavaScriptのコードを書くのが嫌でしたし、いろいろなブラウザに対応するために大量のスクリプトコードを使わなければならないのも嫌でした。そうした点は今でも変わらないのですが、最近になってJavaScriptへの理解が深まったことと、jQueryという小さなJavaScriptクライアントライブラリのおかげで、クライアント中心のAJAXスクリプトコードを書かなければならないときでも恐怖を抱かなくなりました。それどころか、今では喜んで引き受けるほどになっています。クライアントロジックがもっと複雑になり、ブラウザの機能や実装の多様化がさらに進んだとしても、jQueryをはじめとするクライアントライブラリが、JavaScriptHTML DOMを扱う際に必要な正規化を提供してくれます。 私はJavaScriptの初心者と

    jQuery入門(その1)(1/7):CodeZine
  • ブラウザシェア、MONEYZineの場合 (CodeZine編集部ブログ)

    iioka@5種類のブラウザを使い分ける です。 CodeZineでは毎月一度、CodeZine読者のブラウザシェアを発表しています。どのブラウザが、どのぐらいの割合で使われているかわかるので、Webサイト設計者の方の参考になるのではないでしょうか。 CodeZineの2008年10月ブラウザシェア発表、Firefox 3トップに迫る勢い!:CodeZine CodeZineの場合、Firefox 3を使っているユーザーが多くの割合を占めるのですが、そこはやはり開発者向けサイトということで、世間全般的にこの数字が正しいかというと、ちょっと怪しいところです。 そこで姉妹サイトであるMONEYZineで調べてみました。マネー関係のサイトということで、さまざまな年齢、さまざまな職業の方から読まれているサイトですので、ライトユーザーの使用割合に近い数字がとれているんじゃないかと思います。 MON

    teppeis
    teppeis 2009/03/26
    ブラウザシェア / ライトユーザー向けサイトと開発者向けサイトの比較。国内。IE6 40%, IE7 38%。
  • 携帯電話の絵文字の標準進む 674文字が追加でUnicode符号化

    主に携帯電話のメールなどで利用される「絵文字」のUnicode標準化を進めてきたGoogleは、3月18日に「絵文字のUnicode符号化に関するアップデート」を発表した。これによると、絵文字の符号化はUnicode技術委員会で正式了承され、4月下旬にアイルランドで開催されるISO/IEC SC2/WG2標準化会議で審議・承認される運びという。 携帯電話の絵文字は、docomo、au、Softbankなどのキャリアがそれぞれ独自に仕様を決めて運用していたため、キャリアを越えてメールを送受信する場合や、全キャリアに対応した掲示板システムなど携帯向けWebサービスを構築する際に、これまで大きな弊害となっていた。 標準化のプロセスは、Googleが提供するWebメールサービス「Gmail」で絵文字送受信に対応したことと前後して、昨年11月から「emoji4unicode」プロジェクトとしてスター

    携帯電話の絵文字の標準進む 674文字が追加でUnicode符号化
  • クラウド時代に備えて、プログラマーが理解しておくべき考え方

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

    クラウド時代に備えて、プログラマーが理解しておくべき考え方
    teppeis
    teppeis 2009/03/05
    「インフラの安定性は保障されているので、よりビジネスロジックに注目すべきである」
  • PHP_LexerGeneratorとPHP_ParserGeneratorを利用して PHPで独自の言語を実装する方法

    はじめに 計算機用言語の処理には決まった方法があります。文字列で与えられた言語は、字句解析によってトークンに分けられ、構文解析によってトークン同士が結びつけられ、意味解析によって解釈されます。 字句解析を行うプログラムが字句解析器(lexer)、構文解析と意味解析を行うのが構文解析器(parser)です。字句解析器としてはlexあるいはflex、構文解析器としてはyaccあるいはbisonが有名で、資料も豊富にありますが、いずれもC言語で利用することを想定したソフトウェアです。 PHPで利用できる字句解析器としてはPHP_LexerGeneratorが、構文解析器としてはPHP_ParserGeneratorがあります。稿では、簡易電卓を実装するという例を通じてPHP_LexerGeneratorとPHP_ParserGeneratorの使い方を紹介します。 必要な環境 XAMPP fo

    PHP_LexerGeneratorとPHP_ParserGeneratorを利用して PHPで独自の言語を実装する方法
    teppeis
    teppeis 2009/01/23
  • Gettextによるウェブアプリケーションの国際化と地域化

    はじめに アプリケーションをさまざまなロケール(言語や地域)で利用できるようにすることを「国際化」と言います。国際化されたアプリケーションを、実際に特定の言語や地域で利用できるようにすることを「地域化」と言います。 国際化・地域化の対象は、大きく分けて次の2つです。 日時や通貨・数値 メッセージ文字列 日時や通貨・数値については、『I18Nv2による日時と通貨・数値の表記国際化』で解説しました。 稿ではメッセージ文字列を扱います。ここで紹介する手法を取り入れたウェブアプリケーションは、クライアントのロケールにあった形式でメッセージ文字列を表示することができます。たとえば、ブラウザの言語を英語にしてアクセスすると「Hello Taro YABUKI!」、日語にしてアクセスすると「こんにちは、Taro YABUKI。」と表示するようなウェブアプリケーションを作ります。 必要な環境 XAMP

    Gettextによるウェブアプリケーションの国際化と地域化
    teppeis
    teppeis 2009/01/08
  • Zend Framework入門(14): 多言語対応サイトの作成- Zend_Translate(前編)-

    はじめに 連載では、PHP上で動作するアプリケーションフレームワークZend Frameworkについて紹介します。 今回は、サイトをユーザーの環境に合わせて多言語で表示させるパッケージ「Zend_Translate」を解説します。 最近ではサイトを日語、英語と複数の言語で構築したいという要件が多くあり、サイトのトップページで国旗を表示してユーザーに表示させたいページを選ばせたり、「English page is here」のリンクをクリックしてもらったりといった静的な方法がよく使われます。しかしこの場合、対応する言語が増えるごとに言語の数だけサイト構成し、似たようなファイルを都度増やさなくてはなりません。 そこでサイトの国際化が必要となってきます。「国際化」とはアプリケーションに技術的変更を加えることなく多言語対応するための設計を組み込むことをいいます。 Zend_Translate

    Zend Framework入門(14): 多言語対応サイトの作成- Zend_Translate(前編)-
    teppeis
    teppeis 2009/01/07
    アダプタで複数のリソースデータ形式に対応/php array, csv, gettext, xml など
  • PHPにおけるUnicode文字列の正規化

    Unicodeでは、意味的に同じ文字を複数の方法で表現することができます。しかし、表現がバラバラなままだと、検索などで問題が発生することは容易に想像できます。そのため、表記を統一する仕組みとして「正規化」が用意されています。稿ではPEARのI18N_UnicodeNormalizerを用いて、PHPでUnicodeの正規化を行う方法を紹介します。 はじめに 与えられた文字列を含む文書を返す検索機能を実装しているところを想像してください。 検索語として「ページ」が与えられれば、「ページ」という文字列を含む文書を返します。これは特に難しいことではありません。 半角の「ページ」が与えられたらどうでしょう。「ページ」と「ページ」を区別する必要がないような、一般的な文書検索においては、「ページ」という文字列を含む文書を返すのが望ましいはずです(もちろん、この2つは常に同一視できるわけではあ

    PHPにおけるUnicode文字列の正規化
  • VBAからUnicode版のWindows API を使う

    はじめに 文字列関係のWindows APIには、ANSI文字列版(関数名:????A)とUnicode文字列版(関数名:????W)があります。VBAからWindows APIを呼ぶ方法は、ネット上にもいくつか紹介されていますが、その多くがANSI文字列版についてのものです。 ここではUnicode文字列版の呼び出し方法について紹介したいと思います。 対象読者 VBA環境からWindows APIを利用されている方 VBAでUnicode対応のプログラムを作成されている方 なお、ANSI文字列版のWindows APIの呼び出し方法については、以下のMSDNなどを参照してください。 MSDN:「Office VBAWindows API」 必要な環境 Windows VistaまたはWindows XP VBA開発環境(サンプルではExcelを使います) Unicode版が必要にな

    VBAからUnicode版のWindows API を使う
  • Selenium AES入門

    Selenium Auto Exec Server(Selenium AES)は、Seleniumによる継続的なリグレッションテストを行うことを目的としたツールです。記事では、Selenium AESの入門として、Selenium AESで提供する機能の概要から、インストール、サンプルの実行までを説明していきます。 はじめに Selenium Auto Exec Server(以降、Selenium AES)は、Seleniumによる継続的なリグレッションテストを行うことを目的としたツールです。 Selenium Auto Exec Server (AES) 記事では、Selenium AESの入門として、Selenium AESで提供する機能の概要からインストール、サンプルの実行までを説明していきます。 対象読者 Webアプリケーションの開発者を対象としています。 Selenium

    Selenium AES入門
  • 業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine

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

    業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine
  • Gmailもカレンダーもページ遷移せずに利用可能に、iGoogleバージョンアップ

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

    Gmailもカレンダーもページ遷移せずに利用可能に、iGoogleバージョンアップ
    teppeis
    teppeis 2008/10/19
    ワイド液晶時代のUI?
  • IBMのとがった人たち ~ 「IBM Japan Geeks」 勉強会レポート(後編)

    カリー化とは カリー化とは、「関数を元に引数の減った関数を動的生成すること」である。 function f(a,b):=a+b function curry(y,m)(a):=y(a,m) function g2(a):=curry(f,2)(a) g2(1)->3 のように、カリー化ではg2という関数を作ってパラメータbを2とすることで、状況を特定することができ、パラメータを1個で済ませることができる。 ただし、Javaではカリー化を明確にサポートしていないのが現状だ(JDK 7ではクロージャをサポートするという話がある)。その理由は、オブジェクトを生成するにはすべてクラスを一旦定義し、そのクラスのインスタンスとしてオブジェクトを生成するクラス指向に基づいているからであり、関数を定義したらそれが即、オブジェクトとはならないためだ。もっとも、Javaでもクラスやインターフェースを多数用意し

    IBMのとがった人たち ~ 「IBM Japan Geeks」 勉強会レポート(後編)
    teppeis
    teppeis 2008/10/19
    カリー化の目的がようやく分かった。
  • PHP暗号化ガイド

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

    PHP暗号化ガイド
    teppeis
    teppeis 2008/08/21