Subversion

Windows 中級者向け情報
システム開発

Subversion

Subversion は、フリーなオープンソースのバージョン管理システムで、時間とともに変化するファイルやディレクトリを管理します。
対抗する製品として、CVSというものもありますが、Subversionの方が、ディレクトリの移動の管理やネットワーク対応の点、不可分な更新などで優れているといわれています。

CollabNet という会社が主導して開発していますが、オープンソースでフリーです。

より詳しい情報は、こちらのサイトで。
http://subversion.bluegate.org/doc/book.html#svn.intro.whatis

バージョン管理ツール TortoiseSVN

Eclipseと連動して、Subversionが利用できる、Subversiveというものもあります。

Storyboard doesn’t contain a view controller with identifier

Storyboard doesn’t contain a view controller with identifierな時

Segueでもコードでも画面遷移しようとしたらこのエラーが出る!!!!

と苦しんでたらクリーンしたら直りましたorz

普段Xcodeではクリーンしないと直らないようなバグとあんまり出会ってなかったので、
「とりあえずクリーンしてみる」精神を忘れてました…

by 芦野輝明
twitter→https://twitter.com/teriyakiegg

Xcode

Socket.ioのNamespace機能を使ってみる

Javascript

Node.jsのExpressとSocket.ioでリアルタイムチャット機能を作る!というのはよくあるサンプルですが、ちょっとNamespacesというのを試してみたかったので書いておきます。

チャットも、サイトに接続している人のすべてにメッセージが届いてほしい、という場合はまれでしょう。
大体は、誰かと誰かのチャットになると思います。
そんな時、サーバーとエンドポイント(クライアントのブラウザ)で、相互にこの相手にしか送らない、ということができるわけです。

Socket.io公式サイト↓
https://socket.io/docs/rooms-and-namespaces/#

超簡単なサンプルですが、サンプルコード書いておきます。

 //サーバー側
 var app = require('express')();
 var server = require('http').Server(app);
 var io = require('socket.io')(server);
 
 server.listen(3000);
 
 var nsp = io.of('/koume');
 nsp.on('connection', function(socket){
  console.log('someone connected');
  
  socket.emit('message', { title: "hogehoge" });
 
 });
 //クライアント側(html内)
  var socket = io('http://localhost:3000/koume');
  socket.on('message', function (data) {
    console.log(data);
    $('#messages').show();
    $('#messages').append($('<li>').append($('<a href="">').text(data.title)));
 
  });
  

Snort インストール

Linuxサーバー

以下、snort-2.9.0.2で動作確認した内容となります。

Snort最新版をCentOS5等にインストールする場合、CentOS5のlibpcapのバージョンが0.9.4なのに対して、Snort2.9ではlibpcap 1.0以上が必要になります。

CentOS5オリジナルのlibpcapとlibpcap1.0以上を共存するようにインストールすることも可能ですが、インストール作業は複雑になります。
ソースコードからコンバイルして依存ライブラリをスタティックリンクすると比較的簡単にインストールできます。

以下インストール先をデフォルトの/usr/local/にした場合のconfigになります。

  • daq-0.4のインストール
  •  # wget http://www.snort.org/dl/snort-current/daq-0.4.tar.gz -O daq-0.4.tar.gz
     # tar zxvf daq-0.4.tar.gz
     # cd daq-0.4
     # ./configure --enable-static --with-libpcap-includes=/usr/local/include \
     --with-libpcap-libraries=/usr/local/lib
     # make
     # make install
    
    • snort-2.9.0.2のインストール
    •  # wget http://www.snort.org/dl/snort-current/snort-2.9.0.2.tar.gz -O snort-2.9.0.2.tar.gz
       # tar zxvf snort-2.9.0.2.tar.gz
       # cd snort-2.9.0.2
       # ./configure --enable-ipv6 --enable-gre --enable-mpls --enable-targetbased \
       --enable-decoder-preprocessor-rules --enable-ppm --enable-perfprofiling --enable-zlib \
       --enable-dynamicplugin --enable-reload --enable-reload-error-restart \
       --enable-perfprofiling --with-mysql \
       --with-daq-includes=/usr/local/include --with-daq-libraries=/usr/local/lib \
       --with-libpcap-includes=/usr/local/includes --with-libpcap-libraries=/usr/local/lib 
      

Smartyを設置する

PHP

Smartyを設定する

SmartyはPHPのためのテンプレートエンジンです。
簡単に言うと、HTMLとPHPプログラムが切り離してプログラムが作れます。

PHPでプログラムを書き、$x+$y=$z みたいな処理があり、しかし結果としてWeb画面に出すのは$zだけでいい、という場合、$zをHTMLの中に埋め込んでおけばよい、という仕組みです。
(ざっくりしすぎ?!)

使い方は簡単、

  1. 下記のサイトから、Latest Stable Releaseと書いてあるものをダウンロードします。

http://smarty.php.net/download.php

  1. ディレクトリの名前をSmartyに変更して、PEARなどのプログラムからアクセスできるディレクトリに保存
  2. レンタルサーバーなどの場合は、requireなどでインクルードするとよいでしょう。
  3.  (例)
     require_once('Smarty/libs/Smarty.class.php');
    
    1. 次に、テンプレートとなるhtmlファイルを入れる”templates”というディレクトリ、Smartyがコンパイルしたhtmlを保存する”templates_c” というディレクトリを作ります。

    続き:Smartyを使う
    関連: