<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>チラシの裏</title>
	<link>http://sabakan.org/p/blog</link>
	<description>主にコンピュータとOSSに関する覚書</description>
	<lastBuildDate>Sun, 05 Feb 2012 11:13:13 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>ja</language>
	
	<item>
		<title>はじめてのCassandra</title>
		<description><![CDATA[
			
				
			
		
環境：CentOS5.4(amazon EC2
cassandra:1.0.7
とりあえず、チラ裏程度の情報です。。。
●まず、jdkをインストールします
ここから
http://www.oracle.com/technetwork/java/javase/downloads/index.html
ダウンロードしましょう。
●インストールは普通にrpmコマンドで
[root@epsilon ~] rpm -ivh jdk-7u2-linux-i586.rpm
●ちゃんとインストール出来てるか確認しましょう
[root@epsilon ~] java -version
java version &#8220;1.7.0_02&#8243;
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) Client VM (build 22.0-b10, mixed mode, sharing)
●Cassandraのダウンロードをしましょう
[root@epsilon ~] wget http://ftp.jaist.ac.jp/pub/apache//cassandra/1.0.7/apache-cassandra-1.0.7-bin.tar.gz
●適当なディレクトリに解凍しましょう
自分は/usr/local/cassandraにしました。
●Cassandraを起動しましょう
[root@epsilon ~] bin/cassandra -p /var/run/cassandra.pid
pidファイルの場所を指定しておくと、killするときに便利です。
hostnameがなんちゃらってエラーがでる場合はhostnameで表示されるhost名が/etc/hostsに入ってないです。
●もう一つ端末を起動してcassandra-cliからcassandraにアクセスしてみましょう
bin/cassandra-cli -h localhost
●Keyspaceを作成しましょう
[default@unknown]create keyspace Keyspace1 with replication_factor = 1;
●使用するKeyspaceの指定
[default@unknown]use Keyspace1;
●columnを作成します
[default@Keyspace1]  create column family Standard1 with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type;
4b07a490-4fe6-11e1-0000-242d50cf1ff6
Waiting for schema agreement&#8230;
&#8230; schemas [...]]]></description>
		<link>http://sabakan.org/p/blog/2012/02/05/%e3%81%af%e3%81%98%e3%82%81%e3%81%a6%e3%81%aecassandra/</link>
			</item>
	<item>
		<title>DoctrineでJOINしたい場合</title>
		<description><![CDATA[
			
				
			
		
DoctrineでJOINしたい場合、普通にJOINメソッドを使うだけだとエラーになります。（ﾊｧﾊｧ
エラーが出ないようにするためにはテーブルのリレーションの設定をしないとダメっぽいです。
たとえばユーザが所持しているアイテムのIDが記録されているUserItemテーブルと
アイテムのマスターテーブルであるItemをJOINする場合は、
UserItemのクラスでこのように↓

public function setUp()
{
	parent::setUp();
	$this-&#62;hasOne('Item', array(
		'local' =&#62; 'item_id',
		'foreign' =&#62; 'id'
	));
}

としてやればエラーがでなくなります。
他のテーブルもJOINしたい場合は
$this->hasOneを追加していけば大丈夫っぽいです。
ちなみに、このやりかたが正しいかどうかは分かりません（ｷﾘｯ
]]></description>
		<link>http://sabakan.org/p/blog/2011/09/08/doctrine%e3%81%a7join%e3%81%97%e3%81%9f%e3%81%84%e5%a0%b4%e5%90%88/</link>
			</item>
	<item>
		<title>はじめてのDoctrine</title>
		<description><![CDATA[
			
				
			
		
Doctrineのお勉強をしたのでメモしておく。
環境：Symfony1.4、Doctrine1.2

●SELECT

$q = Doctrine_Query::create()
-&#62;from('Appcourses')
-&#62;where('service_id = ?', $serviceId);

$result = $q-&#62;fetchOne();
$q-&#62;free();

●JOIN(テーブルに外部キーが設定されてないとエラーになります

$q = Doctrine_Query::create()
-&#62;select('t1.service_id, t1.name, t1.description, t1.image_url, t1.price, COALESCE(t2.user_id,0) AS user_id')
-&#62;from('Appcourses t1')
-&#62;leftJoin('t1.AppcourseUsers t2 ON t1.service_id = t2.service_id AND t2.user_id = ?', $userId)
-&#62;orderBy('t1.price ASC');

$result = $q-&#62;execute();
$q-&#62;free();

//どのようなSQLになっているのか見たい場合
//echo $q-&#62;getSqlQuery();

●INSERT（セーブっていうの？

$appCourseLog = new AppcourseLogs();
$appCourseLog-&#62;setUserId($userId);
$appCourseLog-&#62;setTransactionId($transactionId);
$appCourseLog-&#62;setServiceId($serviceId);
$appCourseLog-&#62;setStatus($status);
$appCourseLog-&#62;setCreatedAt(date('Y-m-d H:i:s'));
$appCourseLog-&#62;setUpdatedAt(date('Y-m-d H:i:s'));
$appCourseLog-&#62;save();

●トランザクション

$conn = Doctrine_Manager::connection();

$conn-&#62;beginTransaction();
try {
  $q = Doctrine_Query::create()
  -&#62;from('AppcourseLogs')
  -&#62;where('transaction_id = ?', $transactionId);

  $result = $q-&#62;fetchArray();

 [...]]]></description>
		<link>http://sabakan.org/p/blog/2011/06/27/%e3%81%af%e3%81%98%e3%82%81%e3%81%a6%e3%81%aedoctrine/</link>
			</item>
	<item>
		<title>はじめてのSymfony1.4</title>
		<description><![CDATA[
			
				
			
		
新規ソーシャルアプリ開発でSymfony1.4を使うことになったので
お勉強しました。
環境：CentOS5.5
PHP:5.3.3

インストール先は

cd /var/www/html

とします。
Apacheの設定は

&#60;VirtualHost *:80&#62;
DocumentRoot &#34;/var/www/html/hoge/web&#34;
ServerName hoge.com

としました。
●今回はアプリケーション名をhogeとしましたのでhogeというディレクトリを作ります

mkdir -p hoge/lib/vendor

cd hoge/lib/vendor

svn co http://svn.symfony-project.com/branches/1.4 symfony

少し時間がかかります。。。。。
●バージョンを確認してみましょう
cd ../../

php lib/vendor/symfony/data/bin/symfony -V

●symfonyコマンドでプロジェクトを作ります

php lib/vendor/symfony/data/bin/symfony generate:project hoge

●フロントエンドを作成します。（通常、管理画面はbackendになるようです

php lib/vendor/symfony/data/bin/symfony generate:app frontend

●シンボリックリンクを作成します

ln -s /var/www/html/hoge/lib/vendor/symfony/data/web/sf /var/www/html/hoge/web

●それではブラウザからアクセスしてみましょう


http://hoge.com/frontend_dev.php

You are not allowed to access this file. Check frontend_dev.php for more information.
というエラーが表示されましたね？
frontend_dev.phpを少し編集しましょう。

vi web/frontend_dev.php

//if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1')))
//{
//  die('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
//}

これでエラーが消えましたね？
●お待ちかね、コントローラーの作成です。

php lib/vendor/symfony/data/bin/symfony generate:module [...]]]></description>
		<link>http://sabakan.org/p/blog/2011/06/06/%e3%81%af%e3%81%98%e3%82%81%e3%81%a6%e3%81%aesymfony1-4/</link>
			</item>
	<item>
		<title>FTPのモード</title>
		<description><![CDATA[
			
				
			
		
たまに聞かれるので書いとく。
アクティブモード：
制御用コネクションはクライアントから開始。
データ転送用コネクションはFTPサーバから開始。
パッシブモード：
制御用コネクションはクライアントから開始。
データ転送用コネクションもクライアントから開始し、ポート番号はランダムポートになる。
パッシブモードで動作しているFTPサーバーに
パッシブモード設定されてないクライアントで繋いでも
制御ようコネクションは開始できるけど、データ転送は行えないってことです。
]]></description>
		<link>http://sabakan.org/p/blog/2011/06/04/ftp%e3%81%ae%e3%83%a2%e3%83%bc%e3%83%89/</link>
			</item>
	<item>
		<title>CentOS5.5にAPCをインストールする</title>
		<description><![CDATA[
			
				
			
		
#既にremiからPHP5.3をインストール済みです。


[root@epsilon ~] yum --enablerepo=remi install php-pecl-apc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror.batblue.com
 * base: mirror.trouble-free.net
 * epel: mirror.umoss.org
 * extras: mirror.batblue.com
 * remi: rpms.famillecollet.com
 * updates: mirror.batblue.com
Setting up Install Process
Resolving Dependencies
--&#62; Running transaction check
---&#62; Package php-pecl-apc.i386 0:3.1.7-1.el5.remi set to be updated
--&#62; Finished Dependency Resolution

Dependencies Resolved

======================================================================================
 Package      [...]]]></description>
		<link>http://sabakan.org/p/blog/2011/02/26/centos5-5%e3%81%abapc%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b/</link>
			</item>
	<item>
		<title>CentOS5.5にXdebugをインストールする</title>
		<description><![CDATA[
			
				
			
		
＃既にremiからPHP5.3をインストール済みです。


[root@epsilon ~] yum --enablerepo=remi install php-pecl-xdebug
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror.batblue.com
 * base: mirror.trouble-free.net
 * epel: mirror.umoss.org
 * extras: mirror.batblue.com
 * remi: rpms.famillecollet.com
 * updates: mirror.batblue.com
Setting up Install Process
Resolving Dependencies
--&#62; Running transaction check
---&#62; Package php-pecl-xdebug.i386 0:2.1.0-1.el5.remi set to be updated
--&#62; Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package      [...]]]></description>
		<link>http://sabakan.org/p/blog/2011/02/26/centos5-5%e3%81%abxdebug%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b/</link>
			</item>
	<item>
		<title>mysql_secure_installation</title>
		<description><![CDATA[
			
				
			
		
MySQLをセキュアに運用するための基本として、インストール直後に
mysql_secure_installationを使うと良いかもしれない。
rootのパスワードの設定や余分な設定の削除などをやってくれる。
使い方は簡単。


[root@epsilon ~] mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the [...]]]></description>
		<link>http://sabakan.org/p/blog/2011/01/17/mysql_secure_installation/</link>
			</item>
	<item>
		<title>CREATE TABLE、INSERT時に他のテーブルのレコードを挿入</title>
		<description><![CDATA[
			
				
			
		
これは便利。

CREATE TABLE deviceInfo_Tmp ENGINE = MYISAM AS
SELECT * FROM deviceInfo
WHERE width &#62;= 480

INSERT INTO deviceInfo SELECT * FROM deviceInfo_Tmp

]]></description>
		<link>http://sabakan.org/p/blog/2011/01/04/create-table%e3%80%81insert%e6%99%82%e3%81%ab%e4%bb%96%e3%81%ae%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%81%ae%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%89%e6%8c%bf%e5%85%a5/</link>
			</item>
	<item>
		<title>NGINXを使ってみた</title>
		<description><![CDATA[
			
				
			
		
NGINXを使ってみた。
環境：CentOS5.4
nginx:0.8.50

●インストール
まず、nginxのコンパイルの前にpcre-develをぶち込んでおきましょう。
[root@epsilon /usr/local/src] yum -y install pcre-devel
nginxのソースはwgetでダウンロードすればいいでしょう。
（今回はdevelopmentをダウンロードしました
[taka@epsilon /usr/local/src] wget http://sysoev.ru/nginx/nginx-0.8.50.tar.gz
[taka@epsilon /usr/local/src] tar xzvf nginx-0.8.50.tar.gz
[taka@epsilon /usr/local/src] cd nginx-0.8.50
configureします。
[taka@epsilon /usr/local/src/nginx-0.8.50] ./configure
Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + md5: using system crypto library
  + sha1 library is not used
  + using system zlib library
  nginx path [...]]]></description>
		<link>http://sabakan.org/p/blog/2010/09/24/nginx%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/</link>
			</item>
</channel>
</rss>

