タグ

ブックマーク / thinkit.co.jp (32)

  • Gaucheをはじめてみませんか?

    Gaucheとは 連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。 最近「Gauche」に関するも出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持

  • [ThinkIT] 第2回:OSGi仕様が実装されたEquinoxを試す! (1/3)

    「第1回:Javaはまだまだこれからだ!」では、Java SE 7で計画されているモジュラリティの向上について解説し、それを実現するOSGiについて触れました。 今回からはOSGi仕様が実装されたEclipse Equinoxフレームワークを実際に体験していきましょう。一番身近な例としてEclipseを起動し、OSGiフレームワークの稼動の状況をみていきます。 連載ではEclipse 3.3を基に解説を進めますが、配布パッケージによっては開発するためのプラグインが足りません。 以下のWebサイトから「Eclipse for RCP/Plugin Developper」か「Eclipse Classic」をダウンロードしてください。 上記はどちらともZIP形式で配布されています。今回はWindows用の「Eclipse Classic」をダウンロードして、任意の場所に展開してください。展開

    uronim1
    uronim1 2008/03/12
  • [Think IT] 第3回:オブジェクト指向と関数型を兼ね備えた「Scala」 (1/3)

    【新・言語進化論】次にくる!新登場言語 第3回:オブジェクト指向と関数型を兼ね備えた「Scala」 著者: ether 公開日:2007/11/19(月) Scalaについて Scala(http://www.scala-lang.org/)はスイスのローザンヌ工科大学で開発されている静的型付けのプログラミング言語で、開発開始が2003年からと非常に若い言語だ。JavaVM上で動作し、オブジェクト指向(命令型)と関数型の両方を取り込んだマルチパラダイム言語である。 オブジェクト指向については、Javaの代替として申し分ないだけのクラスベースの機能を備えているほか、mix-in compositionも提供される。さらに関数型プログラミングからは、クロージャやカリー化、代数データ型、パターンマッチ、型推論といった関数型言語らしい機能を取り込んでいる。 関数型とオブジェクト指向を融合した代表的

  • [Think IT] 第4回:OpenIDの仕様を改めて復習してみよう (1/3)

    OpenIDの仕様を改めて復習してみよう 連載ではPHPによるOpenIDのサンプルを使って、実際に「Consumer」や「Identity Provider(以下、IdP)」を動かしながら、その仕組みについて解説してきました。かなり駆け足で紹介してきたため、今回はこれまでの解説を踏まえながら改めてOpenIDについておさらいします。 OpenIDでIdPが受け付けるアクセスには「associate」と「checkid_immediate」「checkid_setup」「check_authentication」の4つのモードがあります。これらは認証のたびにすべてが呼び出されるのではなく、状況によって選択されます。 まず「associate」では、アソシエーションハンドルとその有効期限、共通暗号鍵がIdPからConsumerに渡されます。アソシエーションハンドルは有効期限の間は再利用可能

  • [Think IT] 第4回:チケットとソースコードを連携せよ! (1/3)

    【バグ管理の作法】Trac徹底活用! 第4回:チケットとソースコードを連携せよ! 著者:masuidrive 公開日:2007/12/27(木) Tracの最大の利点はSubversionとの連携にあり さて、最終回の今回はTracのチケットとソースコードの連携を実際に試していく。 コードを書く開発者から見た場合、Tracの最大の利点は普段使い慣れたSubversionから、Tracを使うことができる点にある。開発者は自分の環境に新たなツールをインストールすることなく、Tracへ情報を送ることができる。 Tracの操作は通常Webから行うが、すべての操作をコマンドラインからでもできる。この機能とSubversionへコミット時に自動的にコマンドを呼び出すフックという機能を組み合わせることで、開発者がリポジトリへコミットするとTracを操作するという処理を自動化できるのである。 Subver

    uronim1
    uronim1 2007/12/30
  • [Think IT] 第1回:JRubyとは? (1/3)

    2007年6月に「Ruby Kaigi」というイベントが日で開催されました。当日はRubyに関する様々な興味深い発表が行われ大変活況でした。そんな中でも特に大きな注目を浴びていた発表の1つとして「JRuby」があげられます。 JRubyはJavaRubyのクロスオーバーを実現する有望な技術です。連載ではJRubyの入門的な部分について紹介していきます。幅広い方々がJRubyを知るきっかけになれば幸いです。今回はJRubyの概要について解説します。 「Ruby」は、まつもとゆきひろ氏が中心となって生み出した、世界中で利用されているオープンソースのプログラミング言語です。ここ数年、Rubyは大きく注目され、取り巻く環境が大きく発展しています。その最大の要因はWebアプリケーション分野に彗星のごとくあらわれたアプリケーションフレームワーク「Ruby on Rails」(以下、RoR)である

  • [Think IT] 【新・言語進化論】次にくる!新登場言語

  • [Think IT] W-ZERO3で開発言語の達人になろう (1/3)

    W-ZERO3で開発言語の達人になろう 著者:シンクイット編集部   2007/10/12 2007年10月の連載ランキング3位(一覧を見る) 先月Think ITで公開した特集「秀逸なる開発環境」でプログラミングに挑戦しはじめたり、仕事で必要に迫られて日々学習を続けている人にとって、電車の中も貴重な知識習得のひと時だろう。かといって電車の席に座ってノートPCを広げるのもちょっと恥ずかしいというあなた。最近注目されている「スマートフォン」を使って、お手軽開発&言語習得に役立ててみてはいかがだろうか。 「スマートフォン」のなかでも、多くのユーザがいるのがwillcomから販売されている「W-ZERO3」だ(製造はシャープ)。W-ZERO3で稼働するさまざまなアプリケーションが公開されているが、中には開発環境系のツールもあるのだ。 先日リリースされたAdvance版に買い替えた人が増えたためか

    uronim1
    uronim1 2007/10/16
  • [Think IT] 第1回:プロファイラとは (1/3)

    連載では、オープンソースを使ったサーバサイドのプロファイル方法について、3回に渡り解説を行います。主に、JavaのWebアプリケーションを作成している開発者の方が対象となります。 第1回となる今回は「プロファイラとは」というタイトルで、プロファイラとは何か、どんなことができるのかを説明した上で、プロファイル環境と対象となるサンプルアプリケーションのインストールまで進めていきます。紙面の都合上、実際にプロファイラを動作させるのは次回以降になりますので、ご了承ください。

    uronim1
    uronim1 2007/09/01
    profile パフォーマンス
  • [Think IT] 第2回:JBoss Enterprise Application Platformを操作する (1/3)

  • [Think IT] 第3回:JBoss Enterprise Application Platformのアーキテクチャを理解する (1/3)

    今回は「第2回:JBoss Enterprise Application Platformを操作する」でインストールしたJBoss Enterprise Application Platfrom 4.2.0(以下、JBoss EAP)のディレクトリ構成について解説します。 JBoss EAPのアーキテクチャとディレクトリ構成を理解することで、プロジェクトの設計や導入、運用時はもちろん、パフォーマンスチューニングやトラブルシューティングの際にも役に立つでしょう。

  • [ThinkIT] 第2回:OSGi仕様が実装されたEquinoxを試す! (1/3)

    uronim1
    uronim1 2007/08/07
    equinox
  • [ThinkIT] 第1回:Javaはまだまだこれからだ! (1/3)

    皆さんこんにちは。連載を担当させていただきますチェンジビジョンの近藤と申します。 世間ではJavaはすでに成熟期に入ったというような位置づけで語られることが増えてきているようです。連載をお読みの方はどうお感じでしょうか。個人的な見解ですが、筆者はそうは思えません。 Javaには大きく分けて2つの側面があります。1つはプログラミング言語という側面です。静的なクラス構造を持ち、実行するためにはコンパイルが必要で、実行する前にプログラムの文法的な異常やクラス間のインターフェースのい違いを発見します。 しかし、Rubyなどコンパイルが不要なスクリプト言語では対話型のシェル(実行環境)が整えられるようになりました。シェルに対してプログラムを書いていくことで、文法的な部分やクラス間のインターフェースの異常をすぐに確認できます。しかも十分な速度で実行結果が返ってくるため、Java言語を使って実装し

  • [ThinkIT] 第1回:Webブラウザを使ったテストツールSeleniumとは (1/3)

    この連載は、WebアプリケーションのテストツールであるSelenium(セレニウム)についてサンプルを用いながら概要と基的な使い方を解説していきます。連載第1回の今回は、Seleniumの概要について紹介します。 Seleniumとは、Webブラウザを使ってWebアプリケーションをテストするツールです。この「Webブラウザを使って」というのが非常に大きなポイントで、人が手でWebブラウザを操作する代わりにSeleniumがWebブラウザを操作してくれるのです。 そして単純に操作するだけでなく、例えばエラーメッセージが正しく表示されているかといった検証も行うことができます。つまり、今まで人手を必要としていたWebブラウザを使った試験が自動化できるものなのです。そのため数百項目もあるテストも、クリック1回で実施できます。 より重要なことは「自動化することによって試験を繰返し実施できる」こと

  • [ThinkIT] 第2回:MyISAMとInnoDB (1/3)

    今回は、MySQLのストレージエンジンの中でも特に有名な「MyISAM」と「InnoDB」の2つを取り上げます。MyISAMはMySQLのデフォルトストレージエンジンで、ストレージエンジンを指定せずにテーブルを作成するとMyISAMが選択されます。もう一方のInnoDBエンジンは、MySQLに豊富なトランザクション機能を提供するストレージエンジンとして有名です。 まずはそれぞれのテーブルファイルの構造について解説し、最後にInnoDBのトランザクションについて解説します。 各ストレージエンジンのファイル構造を説明する前に、前知識としてMySQLのディレクトリ構造について説明します。 MySQLのデータベースディレクトリには、バイナリログと呼ぶデータベースの更新情報を格納するファイルと、2つのサブディレクトリが存在します(図1)。 「mysql」ディレクトリには権限テーブルと呼ばれるMySQ

  • [ThinkIT] 第2回:JSFを構成する要素 (1/3)

    ここまでJSFの特長について述べてきましたが、いくつも耳慣れない言葉や概念に触れ、少し消化不良な思いをしている読者もいらっしゃるかと思います。ここでは、JSFを構成するキーとなる概念について整理しておきたいと思います。 JSFページは、JSFアプリケーションの画面を構成するページのことです。JSFの仕様では、ページ定義言語としてJSPを必ずサポートしなくてはならないと定められています。標準JSFタグライブラリもJSPの関連技術なので、JSFページはJSPを使って定義されることが暗黙の前提となっていると言えます。

    uronim1
    uronim1 2006/07/20
    レンダラとか
  • [ThinkIT] 第3回:DI処理のパフォーマンス比較 (1/4)

  • [ThinkIT] 第2回:init処理とprototype (1/3)

    Seasar2にはinit処理というものがあります。init処理では設定ファイルから取得したコンポーネントを初期化して、singleton(注1)のコンポーネントを生成することができます。 ※注1: DIコンテナはいくつかのインスタンスモードを持ち、singletonはその1つです。singletonのコンポーネントは1度だけ生成され、コンテナから取得するたびに常に同じインスタンスが返されます。

  • [ThinkIT] 第1回:Ajaxとは (1/3)

    まずは、Ajaxが生まれた背景をおさえる必要がある。そのためにはAjaxとは切り離せないインタラクション・デザインに触れておかなければならない。 読者の皆様の中にも、Apple社の「iPod」で音楽を楽しんでいる方は多いと思う。 iPodのディスプレイの下のスクロールホイールを指で回すと、すぐに反応して画面上のカーソルが上下に動く。スクロールホイールを速く回すほど、カーソルの移動は速くなる。中央のボタンを押せば曲を選択できる。 実は、これはとても優れたインタラクション・デザインだ(少なくとも筆者はそう考えている)。 つまり、インタラクション・デザインとは、「人と操作対象との対話がスムーズに進むようにインタラクション(相互作用)をデザインする」ことだ。ユーザにとっては、インタラクション・デザイン自身が商品とも考えられる。

    uronim1
    uronim1 2006/03/03
  • [ThinkIT] 第1回:Webアプリケーション開発者が知っておくべきセキュリティ (1/3)

    インターネット上では、多くのWebサイトがそれぞれサービスを提供しています。2005年度現在、Webサイトを開設している企業は約8割に達し、Webを通じた情報のやり取りやサービスの提供は今後も増え続けることが予想されます。 一方、Webサイトを悪用した事件も後を絶ちません。最近は営利目的の犯行も目立ち、悪質化が進む傾向にあります。Webサイトから個人情報を不正取得される事件も頻発し、その多くでは、Webサイトで稼動していたWebアプリケーションのセキュリティ上の問題が悪用されました。 Webアプリケーションは、それぞれのWebサイトで独自に開発されている場合が多く、セキュリティを考慮した実装はその開発者に委ねられています。 Webアプリケーションにセキュリティ上の問題が発覚した場合、すでに運用を開始しているWebアプリケーションを設計レベルから修正することは難しい場合が多く、攻撃を回避する