タグ

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

  • 高可用性データ同期アーキテクチャ:CodeZine

    各種のデータベース管理ソリューションは、それぞれ異なるデータ同期メカニズムを使用しています。Sybase iAnywhereの同期ソフトウェアである「MobiLink Synchronization」は、拡張性の高いセッションベースの同期システムを持ちます。このソフトウェアを利用することで、統合データベースと呼ばれるメインデータベースと多数のリモートデータベース間のデータ同期が可能になります。統合データベースにはいくつかのODBC規格のデータベースを使用でき、例えばSQL Anywhere、Sybase Adaptive Server Enterprise、OracleMicrosoft SQL Server、IBM DB2などが使用できます。

    masapon1967
    masapon1967 2008/04/29
    [非機能要件[可用性]]高可用性データ同期アーキテクチャ
  • PythonとWSGIによるフォトギャラリーの作成:CodeZine

    PythonにおけるWebフレームワーク 数年前にPythonでWebアプリケーションを書こうとした人たちは、選択肢の多さに戸惑ったことでしょう。一群のWebフレームワークの中からどれかを選び、アプリケーションをプロダクション環境にデプロイする妥当な方法を考えなければならなかったはずです。そういうわけで、Pythonは千個のフレームワークを持つ言語だというジョークが流布することになったのです。 Pythonコミュニティには、この問題の解決策として、フレームワークの数を絞るか、それとも多様性を良しとするかという選択がありました。コミュニティの性格上、フレームワークを絞り込むのは魅力的なオプションに見えなかったので、Webの開発にPythonを使用するための障壁を低くする方法としてPEP 333が書かれ、Web Server Gateway Interface(WSGI)が生まれました。WSG

    masapon1967
    masapon1967 2008/04/28
    WSGIのサンプル
  • Eclipse Web Tools PlatformとMavenの統合:CodeZine

    はじめに Eclipse Web Tools Platform(WTP)とM2Eclipse(M2)は別々のプロジェクトです。両者はいずれも、Eclipseを使って開発をする際に価値の高い機能を提供します。WTPはWebおよびJava EEアプリケーション開発用のEclipseプラットフォームを機能拡張するツールセットで、一方のM2は、このIDEとMavenを密に統合します。この2つを同じプロジェクトで利用すると絶大な効果が得られますが、残念ながらまだ、WTPとM2を追加設定なしで統合することはできません。今回の記事ではこれについて取り上げます。 この記事では、WTPとM2の統合ソリューションを使用して基的なWebアプリケーションを開発していきます。プロジェクトのセットアップから配備までの一連の構築手順を紹介するので、EclipseベースのJava Web開発を効率化するための参考にして

    masapon1967
    masapon1967 2008/04/12
    Eclipse Web Tools PlatformとMavenの統合:CodeZine
  • CodeZine:RubyのCursesを使ってコンソールを制御する(コンソールライブラリ)

    対象読者Rubyの入門書を一読した方練習用にRubyのプログラムを作りたいが良い課題が見つからない方 必要なもの Ruby体とお好きなエディタを用意してください。RubyGemsも少し使います。 筆者は以下の環境で執筆しています。 ruby 1.8.6-p111 / SAKURAエディタ / WindowsXP SP2 / gem 0.9.5この連載の目標 作っていく例題としてどんなものがいいかとかなり考えました。今回はRailsを使わないと決めたのでWEBアプリは避けたいし、入門書によくあるようなコマンドライン上で文字がちょっと出るだけというのも面白くないし、GUIアプリも敷居が高そうです。考えた結果、コンソールをいろいろ制御するようなプログラムを作ることにしました。古い人には懐かしく若い人には新鮮かもしれません。見た目は地味ですがなかなか面白いですよ。では始めていきましょう。コンソー

    masapon1967
    masapon1967 2008/04/12
    RubyのCursesを使ってコンソールを制御する
  • RubyとCursesを使ったコンソールテキストエディタ:CodeZine

    対象読者Rubyの入門書を一読した方練習用にRubyのプログラムを作りたいが良い課題が見つからない方 必要なものRuby体とお好きなエディタを用意してください。筆者は以下の環境で執筆しています。ruby 1.8.6-p111 / SAKURAエディタ / WindowsXP SP2 今回作る物 例題として作っていきたいのはテキストエディタです。 テキストエディタといってもいろいろありますが、次のような感じのものを作りたいと思います。コンソールアプリケーション(もちろんですね)ごくごく基的な機能のみを実装Viのようなモードを持つ  モードというのはコマンドモードや追加モード、挿入モードなどの事で、それらを切り替えながらテキストファイルを編集していく事になります。昨今のUIデザインではこのようなモードを持つのはよくないデザインと考えられています。しかしモードを持つソフトウェアの代表ともいえ

    masapon1967
    masapon1967 2008/04/12
    RubyとCursesを使ったコンソールテキストエディタ
  • RubyとCursesを使ったテキストエディタに編集と保存機能を追加する:CodeZine

    # カーソルを下へ移動。ウィンドウの下端より下へカーソルが移動 # しようとした場合はスクロール def cursor_down if @cursor_y >= (@window.maxy-1) scroll_down # バグ修正 elsif @cursor_y >= (@data.length-1) # 文章最大行数より下にはカーソルが動かないように else @cursor_y += 1 end ## 中略 ## end 編集モードの追加 前回ではカーソルを動かせるコマンドモード用にHandlerクラスを作りましたが、今回は文字を入力する編集モード用にEditHandlerクラスを追加することにします。編集モードとコマンドモードの切り替えはESCキーで行うようにします。文字の削除は[x]で行うようにします。 require "editwind" class

    masapon1967
    masapon1967 2008/04/12
    RubyとCursesを使ったテキストエディタに編集と保存機能を追加する:
  • 汎用XSLTプリプロセッサ「XmlTransform」:CodeZine

    はじめに この記事では、汎用のXMLトランスフォーマ/バリデータであるXmlTransformについて解説します。XmlTransformは、変換対象のファイルがどのような深さのディレクトリツリーに格納されていても問題なく機能します。出力時には複数レベルの索引を生成でき、必要に応じてナビゲーションリンクを追加することも可能です。 XmlTransformの検証機能はかなりシンプルにできていて、変換に使用したXMLファイル一式が妥当かどうかを指定のXMLスキーマに従って検証します。入力ファイルと(変換後の)出力ファイルの両方、あるいはどちらか一方を検証するよう選択できます。 より興味深いのは変換機能の方です。変換エンジンはよくプリプロセッサとして使用され、Webページを制作するときに大いに役立ちます。プリプロセッサとHTML 最新の技法を取り入れた整形式のHTMLは、XMLの名前を真似てXH

    masapon1967
    masapon1967 2008/04/11
    汎用XSLTプリプロセッサ「XmlTransform」
  • Java meets Python - 第5回 二分木と辞書:CodeZine

    >>> from random import * >>> m = {} >>> for e in range(100): ... k = randint(0,9) ... m[k] = m.get(k,0) + 1 >>> reduce(lambda acc,e:acc+e, m.values(), 0) 100 >>> for k,v in m.items(): print "%d: %s %d"%(k,"*"*v,v) 0: ******** 8 1: ********** 10 2: ******** 8 3: ******** 8 4: ************* 13 5: ******** 8 6: ********* 9 7: ************ 12 8: ************ 12 9: ************ 12 これは

    masapon1967
    masapon1967 2008/04/07
    Java meets Python - 第5回 二分木と辞書
  • 配色共有サイト「Adobe kuler 2.0」公開、写真からテーマの抽出が可能に:CodeZine

    kulerは、5色で構成される「テーマ」を共有できるサイトで、誰でも自由にテーマを作成することができる。他の人が作ったテーマを参照することはもちろん、ダウンロードして、Photoshopなどにインポートすることも可能だ。 今回のバージョンアップでは配色を作成する「Create」メニューに「From an Image」というメニューが追加された。これは、写真や画像などから配色を作成するもので、画像内からピックアップしながら色を選ぶ「Custom」モードや、「Colorful」「Deep」といった方向性に沿って自動的にkulerが配色を選んでくれるモードなどがある。 他にも登録されているテーマを検索する手段として、新たに「Random」が追加されている。 kulerはメンバー登録などをしなくても使用できるが、Adobe IDを利用すると「My kuler」と呼ばれるメニューを使えるようにな

    masapon1967
    masapon1967 2008/03/25
    配色共有サイト「Adobe kuler 2.0」
  • Struts 2入門(1)〜基本形で理解する仕組みと構造〜:CodeZine

    はじめに 「Apache Struts」(以下、Struts)とは、Web開発のデファクトスタンダードとしてあまりにも有名な、Java言語で書かれたオープンソースのWebアプリケーション・フレームワークです。JavaでのWeb開発者には、もはや説明する必要はないかもしれません。 最初のStruts(以下、Struts 1)がリリースされる2001年以前は、JavaでのWebアプリケーションというと、JSPとサーブレットを直接用いたアプリケーションが一般的でした。そのため、ちょっとしたアプリケーションでも、けっこうなコード量が必要だったのですが、Struts 1のフレームワーク機能により、煩わしい記述の手間がずいぶん少なくなり、Webアプリケーション開発の敷居がぐっと下がりました。 連載は、そんなStruts 1の次世代バージョンであるStruts 2を紹介します。Struts 2は、字面

    masapon1967
    masapon1967 2008/03/22
    Struts 2入門(1)
  • フリーのRuby on Rails用Eclipseプラグイン「Aptana RadRails 1.0」リリース:CodeZine

    Aptanaは11日、Ruby on Rails開発用Eclipseプラグイン「RadRails 1.0」をリリースした。 RadRailsを使うためにはEclipseにAptanaプラグインをインストールする必要がある。Aptanaプラグイン、RadRailsプラグインそれぞれ無償で入手でき、Eclipseメニューバー「ヘルプ」-「ソフトウェアの更新」-「検索してインストール」-「新規フィーチャーの検索」より、以下のURLを登録することでダウンロードできる。 http://update.aptana.com/install/3.2/ http://update.aptana.com/update/rails/3.2/

    masapon1967
    masapon1967 2008/03/13
    フリーのRuby on Rails用Eclipseプラグイン「Aptana RadRails 1.0」リリース
  • LAMPセキュリティを強化する4つの方法:CodeZine

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

    masapon1967
    masapon1967 2008/03/13
    LAMPセキュリティを強化する4つの方法
  • IE用フリーのデバッグツールプラグイン「DebugBar v.5.0」リリース:CodeZine

    Internet Explorer向けプラグイン「DebugBar v.5.0」がリリースされた。「DebugBarのWebサイト」よりダウンロードでき、個人または教育機関で使用する場合は無償で利用できる。 Firefoxには「Firebug」「Web Developer」などのデバッグツールがあるが、DebugBarは似たような機能をIEで実現するプラグインとなる。DOMの解析や、Webレイアウト上でのエレメント表示、HTTPヘッダー情報、HTMLJavaScriptソースの表示、JavaScriptのコンソール実行といった機能を備えている。 今回のバージョンアップではDOMタブの機能を向上したほか、いくつかのバグが修正された。DebugBarインストール後、設定メニューから「日語」を選択し再起動することで、日語でも利用できるようになっている。 【関連リンク】 ・My Debu

    masapon1967
    masapon1967 2008/03/13
    フリーのデバッグツールプラグイン「DebugBar v.5.0」リリース
  • JRubyからJavaへのアクセス方法:CodeZine

    はじめに 稿は、JRubyに固有の特徴を説明し、JRubyをJavaのクラスを利用するための簡易な言語として使えるようにします。JRuby一般の解説については『JRubyチュートリアル』などを参照してください。稿はJRuby 1.0.2について書かれましたが、JRuby 1.0.3にも適用できます。対象読者 読者は、RubyJavaの基礎知識があると仮定します。文字エンコーディング JRubyは、文字をUTF-8扱いするか、それとも1バイトずつの列として扱うか、二通りの指定が-Kオプションや$KCODEで可能です(少なくともJRuby内部で指定を受理する部分はそのように作られています)。しかし、今のところ、その指定はほとんど意味をもっていません。 正規表現やinspectメソッドは、指定にかかわらず、文字列をつねに1バイトずつの列として扱います。getsやputsなどでも文字列をバイ

    masapon1967
    masapon1967 2007/12/20
    JRubyからJavaへのアクセス方法
  • Silverlight入門(3)-JavaScript によるオブジェクトの動的な制御:CodeZine

    はじめに これまでは、XAMLを用いてSilverlightオブジェクトを表示する方法を解説しました。しかし、XAMLによるオブジェクトの宣言はSilverlight起動時の静的なものでしかありません。起動時に、表示する図形が確定しているものであれば問題ありませんが、実行時に他の情報ソースから動的に生成しなければならない場合、スクリプトでオブジェクトを制御する必要があります。稿では、JavaScriptから動的にSilverlightオブジェクトを操作する方法について解説します。これまでの記事第1回:Silverlight入門-XAMLの文法第2回:Silverlight入門-図形やテキストを扱うオブジェクト Silverlight起動時のイベント Silverlight.jsに含まれているSilverlight.createObject()メソッドを用いてSilverlightプラグイ

    masapon1967
    masapon1967 2007/12/18
    JavaScript によるオブジェクトの動的な制御
  • Java meets Python - 第3回 構造体とクラス:二分木:CodeZine

    何を今さらC言語? K&Rと言えば、C言語のバイブルとされ、世界中で愛読されています。一般書と肩を並べて、専門書がロングセラーを続けるという、希有な事例の一つです。特に、hello worldを出力するコードの断片は、世界で最も有名なプログラムになりました。最近では「K&Rを読んだことがない」という新人に遭遇しますが、新しいプログラミング言語を学ぶときには、なぜかhello worldの事例を繰り返し引用します。 これから、Pythonを学ぼうとするときに、まるで「寝てる子を起こすな」とでも言われんばかりに「何を今さらC言語」という声が聞こえてきそうです。極論すると、Javaに限らず、Ruby/Pythonさえも「C言語で書かれたアプリケーション」の一つにすぎません。プログラミング言語Objective-Cの開発者でもあるBrad Coxさんは、ソフトウェアICという概念を提唱しました。機

    masapon1967
    masapon1967 2007/12/04
    Java meets Python - 第3回 構造体とリスト:二分木
  • AJAXアプリケーションで標準的なブラウザナビゲーションを再現する:CodeZine

    はじめに AJAXは、デスクトップアプリケーションと同じくらい対話性と応答性のよいリッチなWebアプリケーションを開発する手段として、多くの開発者に採用されてきました。AJAXでは、WebのUIを異なるセグメントに分割します。ユーザーはあるセグメントで操作を実行し、その操作が終わらないうちに他のセグメントで作業を開始することができます。 しかし、AJAXには大きな欠点があります。戻る、進む、ブックマークといった標準的なブラウザ機能が無効になるのです。AJAXアプリケーションの開発者は、ユーザーをAJAXの欠点に無理やり順応させるのではなく、アプリケーションを従来のWebインタラクションスタイルに合わせ、次の機能を提供するようにしなければなりません。[戻る]/[進む]ボタンが機能するようにして、エンドユーザーが直観的なやり方で履歴ページ間を移動できるようにする。ユーザーがブックマークを作成で

    masapon1967
    masapon1967 2007/11/27
    AJAXアプリケーションで標準的なブラウザナビゲーションを再現する
  • Silverlight入門(2)-図形やテキストを扱うオブジェクト:CodeZine

    はじめに 前回はSilverlightのオブジェクトを宣言するアプリケーション記述言語「XAML」の構文について解説しました。XAMLの書き方を理解することで、オブジェクトの宣言やプロパティの設定を行うことができるようになりますが、肝心のオブジェクトの種類やプロパティを知らなければ自由にグラフィックスを作成することはできません。そこで今回は、Silverlightがサポートしているオブジェクトの機能を個別に説明していきます。前回の記事第1回:Silverlight入門-XAMLの文法 基図形 Silverlightでブラウザ上に図やイメージを描画するには、表示可能なオブジェクトを宣言しなければなりません。XAMLは、さまざまなオブジェクトの構造やプロパティの初期値を宣言することができ、Silverlightに読み込まれたときに宣言に従ってインスタンス化され画面に表示されます。例えば、画面

    masapon1967
    masapon1967 2007/11/26
    図形やテキストを扱うオブジェクト(XAML)
  • Silverlight入門(1)-XAMLの文法:CodeZine

    はじめに Microsoft Silverlightは、ブラウザ内で動作するプラグインの一種でWebベースでリッチなユーザーインターフェースやユーザー体験を提供するアプリケーションの作成をサポートします。一般にAdobe Flash技術に競合する技術として解釈されています。 Silverlightはテキストで書かれたソースファイルを読み込み、必要なオブジェクトを画面に表示します。表示されているオブジェクトはJavaScriptから制御することができます。どちらもテキストで書くことができるため、Siverlightの開発に特別なツールや開発環境は必要ありません。テキストエディタとブラウザがあれば、Silverlightプラグインをインストールするだけで開発に取り掛かることができます。 Silverlightで画面に表示する図や画像などのUI情報はExtensible Application

    masapon1967
    masapon1967 2007/11/20
    Silverlight入門-XAMLの文法(RIA)
  • Java meets Python - 第2回 配列と別れる50の方法:CodeZine

    はじめに 連載2回目は、プログラミング歴2年余の伊藤が担当します。今回のパズルゲームは、プログラミングを始めたばかりの半年に満たない頃に作成したものです。当時を振り返りながら、初心に還ったつもりで解説しますので、よろしくお願いします。 伝統的なスタイルを卒業して、OOPを習得するときに、越えなければならない壁の一つが配列です。2次元配列を扱った事例は多数ありますが、ともすると配列が主役になり、その中身が脇役になる場面も少なくありません。そこで、発想を転換して主客逆転させると、新しい世界が見えてくるかもしれません。

    masapon1967
    masapon1967 2007/11/16
    Java meets Python - 第2回 配列と別れる50の方法