タグ

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

  • [Think IT] 第3回:Ubuntu Serverの特徴と管理方法 (1/3)

    「第2回:Ubuntu Serverをインストール」では、Ubuntu Serverのインストール方法について解説しました。今回は、Ubuntu Serverを構築・運用する上で知っておくべき特徴について解説します。これらの特徴を知っておくことで、環境設定をスムーズに行うことができるでしょう。 多くのLinuxディストリビューションにおいて、ソフトウェアは「パッケージ」という形で提供されています。Ubuntuで使われているものは「debパッケージ」と呼ばれるDebian用に開発された形式のパッケージで、拡張子は「.deb」です。 debパッケージには、コンパイル済みのソフトウェアや設定ファイルなど実行に必要なファイル、インストール/アンインストールするためのスクリプトなどが含まれています。 このdebパッケージを追加、更新、削除するために利用されるのが「APT(Advanced Packa

  • プログラムを書くのに便利な機能!

    マルチウインドー機能を使おう 今回はプログラムを書く時に便利な機能をいくつか紹介していく。 「第2回:Vimの基操作をマスターしよう(http://www.thinkit.co.jp/article/123/2/)」で紹介したヘルプ画面は、現在編集しているファイル画面を分割して表示される。Vimではヘルプ画面以外の画面についても自分の好きなように分割可能だ。 新しくウインドーを作るには、「Ctrl-W n」(「Ctrl-W」を押してから「n」を押す)または「:new」と入力する。後者の場合は「:new foo.txt」のようにファイル名を指定することができる。なお、以降については「Ctrl-W n」系の操作を中心に進めていく。 上記のコマンドを実行すると、画面が横2つに分割され、いままで編集していたファイルの上に空のウインドーができる。このウインドーに移動するには「Ctrl-W Ctrl

    sirocco
    sirocco 2008/08/15
  • lighttpdを知っていますか?

    lighttpdとは? Webサーバーソフトウエアといって思い浮かべるのは、代名詞的な存在の「Apache」でしょうか、それともMicrosoft社製の「IIS」でしょうか。 今回、紹介する「lighttpd(http://www.lighttpd.net/)」は、軽量かつ高速性を重視して設計された比較的新しいWebサーバーソフトウエアです。 lighttpdは、BSDライセンスで公開されているオープンソースソフトウエアで、無料で利用することができます。そのため国内外を問わず、多くの著名な大規模Webサイトで利用されており、特に画像や映像などといった静的コンテンツの配信に使われることが多いようです。 さらにCGIやFastCGIといった外部プログラムのインターフェースもサポートしているため、近年流行のWebアプリケーションフレームワークであるRuby on Railsや、Python(Dj

  • WEBrickを使ってみよう!

    Webサーバー=Apache!? 今、Webサーバーを構築しようとした時、ほとんどの人はサーバーソフトとして「Apache(Apache HTTP Server)」を選ぶと思います。 確かにApacheは非常に高機能で、通常必要と思われるほとんどの機能が備わっています。 しかし、自分用にちょっとしたサーバーを立ち上げるには、その設定項目の多さなどが少し大げさに感じることはないでしょうか? また、大抵のことは設定変更や外部で公開されているApacheモジュールなどで事足りますが、その範囲を超えてWebサーバーを拡張したい場合、自分でApacheモジュールを書かなくてはいけません。 Apacheモジュールを書こうとすると、かなりしっかりドキュメントなどを読む必要があり、また主にC言語による開発になるので、どうしても敷居が高くなってしまい、実際に書くということはほとんどないでしょう。 Apach

  • タスクとコードをつなげるMylyn

    用途に合わせたEclipse 3.3のパッケージ こんにちは。チェンジビジョンの近藤です。Eclipse 3.3(コード名:Europa)がリリースされてはや2ヶ月が経ちました。普段Eclipseをお使いの方はEclipse 3.3へ乗り換えられたでしょうか。 今回リリースされたEclipse 3.3では用途に合わせて5つのパッケージが用意されています。 これまで通りの構成で作成されたEclipse Classic 一般的なJava開発エンジニア用のEclipse IDE for Java Developers JEE開発エンジニア用のEclipse IDE for JEE Developers C/C++言語開発者用のEclipse IDE for C/C++ Developers RCP/Plugin開発者用のEclipse for RCP/Plug-in Developers

  • [Think IT] 第3回:Railsでセッションハイジャックを実体験 (1/3)

    セキュリティ最前線】 セキュリティホールをついて遊ぶ 第3回:Railsでセッションハイジャックを実体験 著者:大垣 靖男 公開日:2008/1/25(金) Railsでセッションハイジャックを実体験 第3回となる記事では、Web開発プラットフレームワークとして人気が急上昇中の「Ruby on Rails」(以下、RoR)を目標に、サンプルコードを用いたセッションハイジャック攻撃を行う。 RoRはRuby言語で記述されたWebアプリケーションフレームワークで「DRY(Don't Repeat Yourself:自分で繰り返さない)」を信条の基に開発されている。「scaffolding(足場組み、スタブコードの自動生成)」や「ActiveRecord(ORMライブラリ)」など、アジャイル開発に必要な機能を備えている。 Webアプリケーションに欠かせないHTTPセッション管理機構ももちろん

  • [Think IT] 先取り!Ruby 1.9.1

    なかなかアグレッシブな変更、追加機能がたくさんあり、夢ふくらみます。が、これらの新機能の大部分は「嘘」発表でして、まつもと氏の後に続いた筆者が、嘘の部分を指摘していく、という発表になりました。 というわけで、嘘ではない、次の「Ruby 1.9.1」のリリースは以下のようになる予定です。 2007年クリスマスにRuby 1.9.1をリリース 仮想マシンYARVが取り込まれ、従来より基性能で5倍、通常アプリケーションでも1.x倍の高速化 M17N(多言語化)標準搭載 ネイティブスレッドを用いたRubyスレッド(ただし並列化は行わない) 継続、Fiberのサポート 独自のI/Oバッファリング機構とノンブロッキングI/O機構の改善 データ構造の改善などによるメモリ効率 新しいライブラリの追加 新しいパッケージ機構の導入(RubyGems) 若干の文法の変更 より多くのテストの追加 次期Ruby

    sirocco
    sirocco 2007/09/29
  • [Think IT] 先取り!Ruby 1.9.1 (1/3)

    なかなかアグレッシブな変更、追加機能がたくさんあり、夢ふくらみます。が、これらの新機能の大部分は「嘘」発表でして、まつもと氏の後に続いた筆者が、嘘の部分を指摘していく、という発表になりました。 というわけで、嘘ではない、次の「Ruby 1.9.1」のリリースは以下のようになる予定です。 2007年クリスマスにRuby 1.9.1をリリース 仮想マシンYARVが取り込まれ、従来より基性能で5倍、通常アプリケーションでも1.x倍の高速化 M17N(多言語化)標準搭載 ネイティブスレッドを用いたRubyスレッド(ただし並列化は行わない) 継続、Fiberのサポート 独自のI/Oバッファリング機構とノンブロッキングI/O機構の改善 データ構造の改善などによるメモリ効率 新しいライブラリの追加 新しいパッケージ機構の導入(RubyGems) 若干の文法の変更 より多くのテストの追加 次期Ruby

    sirocco
    sirocco 2007/09/29
  • [Think IT] 第1回:付箋紙アプリケーションを作ろう! (1/3)

    Webの技術を使ってデスクトップアプリケーションを作ることができる開発環境である、「Adobe AIR(旧名 Adobe Apollo)」のパブリックベータ版が6月11日にリリースされました。 ここ数年、Webアプリケーションの進化がめざましく、表計算やワープロといった今までテスクトップ専用のものだと思われていたアプリケーションまで、Webブラウザ上で扱うことができるようになってきました。 Adobe AIRは、Webアプリケーションで使われている、HTMLCSS、Ajax、Flashといったテクノロジを使つつ、Webブラウザに依存しない、スタンドアローンなアプリケーションを開発・実行できる新しい環境です。 連載では、Adobe AIRとRuby on Rails(以下、RoR)を使って、Webブラウザだけではない、新しいタイプのWebアプリケーションを作る方法を紹介していきます。 A

  • [Think IT] 第2回:新機能「scaffold_resource」とは? (1/3)

    「第1回:付箋紙アプリケーションを作ろう!」では、Ruby on Rails(以下、RoR)1.2で追加された新機能「scaffold_resource」を使って、付箋紙の情報(Stickyモデル)を読み書きするStickiesコントローラを生成しました。 このscaffold_resourceで生成されたコントローラは、通常のscaffoldと異なる「RESTful」という呼び出し方法をサポートしています。この方法では外部のプログラムから接続がしやすいように、HTMLではなくXML形式でデータを出力します。 さて今回はStickiesコントローラの動きを追いかけてみましょう。 まずはルートファイルです。通常のコントローラは「/コントローラ名/アクション名/id」という形でアクセスします。これについては「config/route.rb」の中にあるルールで定義されています(リスト1)。 リス

  • [ThinkIT] 第1回:O/Rマッピング (1/4)

    連載では今話題のフレームワーク「Ruby on Rails(以下、Rails)」と現在Webアプリケーション開発で主流であるJavaのフレームワーク群を比較していきます。 比較軸については、開発に関する事項(生産性やメンテナンス性など)を中心に解説していきます。第1回の今回はO/Rマッピングを提供するフレームワークについてです。 O/Rマッピングとは、オブジェクトとRDBのテーブルをマッピングすることをいいます。O/Rマッピングフレームワークはオブジェクト指向とRDBの仲介人となることで、アプリケーションの開発生産性を向上させます。 Railsからは同梱の「ActiveRecord」というO/Rマッピングのコンポーネントを取り上げます。対してJavaのO/Rマッピングとしては、もっとも知名度が高いと考えられる「Hibernate」と、Javaの正式仕様として策定された「Java Pers

  • [ThinkIT] 第2回:Subversionによるバージョン管理(前編) (1/3)

    今回は、Subversionによるバージョン管理方法とウノウでの導入事例について前編と後編にわけて紹介していきます。 Subversionとは、無償で利用できるバージョン管理システムです。現在もオープンソースで活発に開発が進んでおり、執筆時点の最新バージョンは1.4.2となります。バージョン管理システムとは、ソースコードや仕様書などを含むドキュメントなど、時間とともに内容が変化するファイルを管理するシステムの総称です。 Subversionと同じようなバージョン管理システムとしては、CVS(Concurrent Version System)が有名ですが、SubversionではこのCVSで使いにくかった点を改良した次世代バージョン管理システムというコンセプトで開発が続けらています。筆者が実際にどちらも利用してみた結論として、導入をおすすめするバージョン管理システムは、やはり「Subver

  • [ThinkIT] 第1回:postgresql.confによるチューニング

    PostgreSQLに限らず、データベースソフトは大量のデータを扱うので、場合によっては処理にかなり時間がかかることもあります。そのため、できるだけ処理時間を短縮し、処理効率を向上する「チューニング」という技術が重視されています。 Webシステムのように数多くのリクエストを同時こなさなければならないシステムでは、個々の問い合わせの処理時間は数百ミリ秒と短くても、全体の処理時間が膨大になることがあります。このようなシステムでは、1つ1つの処理時間をできるだけ短くすることが重要です。 また、「バッチ処理」においても処理時間の短縮は重要です。バッチ処理とは、ユーザーと対話的に行われる処理ではなく、自動的に実行される処理です(多くの場合、人手を介することはありません)。たとえば1日のデータを夜間にまとめる「日次処理」などがこれに該当します。日時処理が決められた時間内に終わらなければ、処理自体が無意

  • [ThinkIT] 第1回:共有バッファでどれだけ変わる? (1/4)

    PostgreSQLとは、リレーショナルデータベース管理システム(RDBMS)です。誰でもどのような目的にも無料で使えるオープンソースのソフトウェアです。最近ではすっかり知名度も上がり、非常に多くの方がPostgreSQLを利用されるようになりました。 これほど普及してくると利用される方の技術レベルも様々で、長らく商用RDBMSでシステム開発をされてきた方もいれば、RDBMSを扱うのはPostgreSQLがはじめてという方もいます。当然PostgreSQLの使われ方も様々で、PostgreSQLの性能を限界まで引き出すようにチューニングを施している方もいれば、インストールしたままのデフォルト設定のままで使っている方もいます。 ソフトウェアのデフォルト設定を「開発者の推奨設定」と捉える方がいらっしゃいます。しかし残念ながらPostgreSQLにおいては成り立ちません。それではPostgreS

  • [ThinkIT] 第2回:データ構造の比較 (1/3)

    PostgreSQLでは、このデータベースディレクトリのことをデータベースクラスタと呼びます。データベースディレクトリには、設定用のファイルや起動オプション情報を格納したファイルなどが存在します。 またデータベースディレクトリには、いくつかのサブディレクトリが存在します。サブディレクトリは以下のようになっています。 pg_xlog、pg_clog トランザクション関連のログファイルを格納します。 global グローバルシステムカタログ用の各種テーブルファイルを格納します。グローバルシステムカタログとは、全データベース共通のデータベースを構成する要素(テーブルやインデックス)の情報などを格納するためのものです。 base ユーザデータベースの各種ファイルを格納します。 なお初期状態の「base」ディレクトリには、3つのサブディレクトリが存在します。そのうちの「1(template0データベ

  • 1