イイ!! プログラミング Blog http://blog.majide.com プログラミングやLinuxについてのメモです。 Fri, 30 Jul 2010 16:24:07 +0000 http://wordpress.org/?v=2.7.1 ja hourly 1 対話型シェルスクリプト サンプル http://blog.majide.com/2010/07/interactive-shell-scripts/ http://blog.majide.com/2010/07/interactive-shell-scripts/#comments Wed, 28 Jul 2010 15:08:47 +0000 admin http://blog.majide.com/?p=1024 ユーザの入力されたデータをreadコマンドで読み込む。

サンプルコード ファイル名前を入力させる

入力されたファイルを消すスクリプト。

 #!/bin/sh

 echo "please input file name"
 read FILENAME
 rm $FILENAME

サンプルコード Yes/No プロンプト

 #!/bin/sh

 echo "plz input file name"
 read FNAME

 echo "remove file ? [y/n]"
 read ANS

 if [ $ANS = 'y' -o $ANS = 'yes' ]; then
   echo "rm $FNAME"
   rm $FNAME
 fi

参考までにPerlで書いた場合のサンプル。

 #!/usr/local/bin/perl

 print "plz input file name";
 my $filename = <>;
 `rm $filename`;

参考文献

詳解 シェルスクリプト UNIXの絵本 UNIXシェルスクリプトハンドブック (Technical handbook series (001))
]]>
http://blog.majide.com/2010/07/interactive-shell-scripts/feed/
Bootcamp でデュアルモニタを快適に使う方法 http://blog.majide.com/2010/07/bootcamp-dual-display-tips/ http://blog.majide.com/2010/07/bootcamp-dual-display-tips/#comments Sun, 04 Jul 2010 13:02:56 +0000 admin http://blog.majide.com/?p=989 デュアルディスプレイ設定切り替え メニュー

Windows のノートPCでは、ファンクションキーで、デュアルディスプレイの設定を切り替えるメニューを表示できるものがあります。

Mac のBootcamp + Windows 環境で同様のメニューを表示するように設定してみました。
ファンクションキー1つで、ディスプレイをミラーするか、デュアルにするか切り替えれるようになって便利!

デュアルディスプレイ設定メニュー

デュアルディスプレイ設定メニュー

ファンクションキーの割り当て 設定方法

設定するには、コントロールパネルから「NVIDIA nView Desktop Manager」を選択します。

NVIDIA nView Desktop Manager

NVIDIA nView Desktop Manager

「ディスプレイ スキーム メニューを表示」に対してホットキーを割り当てます。今回は、「Shift + Fn + F7 」にしました。

ホットキーを割り当てる

ホットキーを割り当てる

※ Macに限らす、NVIDIAのグラフィックボードを利用していれば、使えます。

]]>
http://blog.majide.com/2010/07/bootcamp-dual-display-tips/feed/
MySQLにODBCで接続する http://blog.majide.com/2010/06/mysql-odbc/ http://blog.majide.com/2010/06/mysql-odbc/#comments Wed, 30 Jun 2010 14:40:46 +0000 admin http://blog.majide.com/?p=945 MySQL ODBC ドライバのダウンロードとインストール

MySQL Connector/ODBCをMySQLのサイトからダウンロードします。ユーザ登録を促されますが、「No thanks, just take me to the downloads!」を押せば、ユーザ登録をしなくてもダウンロードできます。

http://dev.mysql.com/downloads/connector/odbc/#downloads

MySQL ODBC ダウンロード

MySQL ODBC ダウンロード

ODBC に接続先を設定する

インストールが終わったら、ODBCに接続先のMySQLの情報を設定します。
コントロールパネル → 管理ツール → データソース(ODBC) を選択して、ODBCの設定画面を開きます。

データソース(ODBC)

データソース(ODBC)

ユーザDNSの追加ボタンを押して、MySQL ODBC Driverを選択します。

ODBCの設定

ODBCの設定

接続先に関する情報を設定する画面が開くので、内容を入力ます。

ODBC MySQLの設定

ODBC MySQLの設定

設定項目 説明
Data Source Name データソース名。この接続に対する識別しになります。任意の文字列を指定してください。
Description 説明。入力しなくてもOK。
Server MySQLサーバのホスト名、またはIPアドレスを入力する
User MySQLのユーザ名
Password MySQLのパスワード
Database 接続するデータベース名

Testボタンを使って接続テストが可能です。
うまく接続できていれば、「Connection Successful」表示されるはずです。

これでODBCの設定は完了です。

ODBC MySQL 設定完了

ODBC MySQL 設定完了

]]>
http://blog.majide.com/2010/06/mysql-odbc/feed/
カラオケ パセラ パソコン持込ログ http://blog.majide.com/2010/05/karaoke-pasera-pc-connect/ http://blog.majide.com/2010/05/karaoke-pasera-pc-connect/#comments Sun, 09 May 2010 03:41:43 +0000 admin http://blog.majide.com/?p=833 知り合いに、カラオケ パセラにパソコンを持ち込んでTVに接続して、ワイワイできると聞いたので挑戦してみました。

使った店舗

旬鮮料理カラオケ パセラ リゾーツ 渋谷店
http://www.pasela.co.jp/shop/shibuya/pasela-shibuya/index.html

入力端子

HDMI
コンポジット入力
RGB(Dsub-15pin) ※

※ なんとアップスキャンコンバータを貸してくれました!

注意しないといけないのは、部屋によってTVが違っていて、TVによっては入力端子が裏側にあって繋げない場合があります。受付の際に、定員さんにPCを繋ぎたい旨を伝えて、使える部屋を確保してもらいましょう。

電源コンセント利用

TVの下にコンセントがあり、利用することができます。
数がすくないので必要に応じて、タップを持っていきましょう。

料金

PC持ち込みで料金は発生しないです。
自分が行ったときは休日だったので480円/30minでした。
飲みホーダイプランとかもあるので料金は
http://www.pasela.co.jp/shop/shibuya/pasela-shibuya/index.html
を参照。

もちろん、WiFiも完備されています。
今回はLightning Talkをやったのですが、みんなで、ゲームとかしてもいいですね!

パセラさん、ありがとうございました。

PLANEX HDMI-DVI変換ケーブル 1.0m PL-HDDV01
PLANEX HDMI-DVI変換ケーブル 1.0m PL-HDDV01

]]>
http://blog.majide.com/2010/05/karaoke-pasera-pc-connect/feed/
ルンバ(Roomba)をPCにUSB接続する方法 http://blog.majide.com/2010/04/roomba-usb-connected/ http://blog.majide.com/2010/04/roomba-usb-connected/#comments Sun, 25 Apr 2010 06:00:05 +0000 admin http://blog.majide.com/?p=725 お掃除ロボット、ルンバをPCにUSB接続して、制御する方法。

用意するもの

FT232RLモジュール
USBケーブル
ブレッドボード
ブレッドボード用の接続配線ケーブル(ジャンパーワイヤー)

FT232RLモジュールはシリアルをUSBへ変換してくれるモジュールです。
秋月電子などの電子部品屋で取り扱っています。
FT232RLモジュールにUSBケーブルは付属していないので、USB miniB端子のケーブルも別途購入しましょう。

カバーをはずす

ルンバのコネクタは、ルンバのカバーをはずす必要があります。
ツメで固定されているだけなので、ゆっくりと力を入れてはずしていけば、良いです。

持ち手の部分が手が入れやすくなっています。

ルンバのカバーのツメの位置

ルンバのカバーのツメの位置

コネクタとFT232RLの接続

ルンバ側のRXDとTXDをそれぞれ、FT232RLのRXDとTXDに接続します。
GND同士も接続します。

roomba_ft232rl

roomba_ft232rl

ルンバのコネクタはMini DIN 7pinコネクタです。
日本ではケーブルが入手困難なので、ジャンパーワイヤーを使って、ブレッドボードと直接接続してしまいます。

FT232RLと接続

FT232RLと接続

PCからルンバを動かしてみる

実際にルンバを動かしてみます。

Linux(Ubuntsu9) だとデフォルトでドライバが入っているようで、繋いだだけで認識されました。
/dev/ttyUSB0が割り当てられています。

$ dmesg
usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0

あらかじめ決められた命令コードを送信することでルンバを制御することができます。命令コードについては、Roomba OI(Roomba Open Interface) のドキュメントに記載されています。

試しに、ビープ音を鳴らしてみます。

# start roomba
$ printf ”\x80″ > /dev/ttyUSB0

# 演奏する曲を登録
$ printf “\x8c\x0\x1\x43\x20″ > /dev/ttyUSB0

# 曲を演奏する
$ printf “\x8d\x0″ > /dev/ttyUSB0

参考文献

図解でわかるはじめての電気回路 CPUの創りかた

参考URL

]]>
http://blog.majide.com/2010/04/roomba-usb-connected/feed/
XREAでWordPressの表示速度を改善する方法 まとめ http://blog.majide.com/2010/02/page-speed-up-xrea/ http://blog.majide.com/2010/02/page-speed-up-xrea/#comments Sat, 13 Feb 2010 08:29:55 +0000 admin http://blog.majide.com/?p=530 週末をつかって、このブログ(WordPress)の表示速度改善に取り組んでみました。
ひどいときは10秒も表示にかかってました。

遅かった主原因はAmazonのコンテンツ連動広告なのですが、それ以外でもいろいろ調整したので
メモを残しておきます。WP-CacheなどのWordPressのプラグインについては、そこらじゅうで言及されてるので省略。

最終的に5秒が1秒になったよ!

ページ速度改善

ページ速度改善

gzip圧縮

CSSやJavaScriptなどをgzipで圧縮して、通信料を減らします。WPのディレクトリに以下の内容を.htaccessという名前で保存します。
mod_gzip_temp_dir に指定するディレクトリをあらかじめパーミッション777で作成しておく必要があります。

<IfModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_keep_workfiles Yes
  mod_gzip_minimum_file_size  1024
  mod_gzip_maximum_file_size  0
  mod_gzip_maximum_inmem_size 60000
  mod_gzip_dechunk Yes
  mod_gzip_temp_dir "/virtual/majide/public_html/blog.majide.com/tmp"
  mod_gzip_item_include  mime "application/x-httpd-cgi"
  mod_gzip_item_include  mime "application/x-httpd-php"
  mod_gzip_item_include  mime "application/x-javascript"
  mod_gzip_item_include  mime text/*
  mod_gzip_item_include  mime "httpd/unix-directory"
  mod_gzip_item_include  file "\.shtml$"
  mod_gzip_item_include  file "\.htm$"
  mod_gzip_item_include  file "\.html$"
  mod_gzip_item_include  file "\.php$"
  mod_gzip_item_include  file "\.pl$"
  mod_gzip_item_include  file "\.cgi$"
  mod_gzip_item_include  file "\.css$"
  mod_gzip_item_include  file "\.js$"
  mod_gzip_item_exclude  mime "image/.*"
  mod_gzip_min_http 1001
</IfModule>

Expires ヘッダの追加

HTTPレスポンスヘッダにExpiresヘッダを加えると、コンテンツの有効期限を設定することができます。
ブラウザは設定された有効期限内であれば、ローカルにキャッシュされたファイルを利用します。

※注意 一度、キャッシュされたデータは有効期限がくるまで更新されません。
画像を更新する場合などはファイル名も変更し、キャッシュされたデータが使われないようにする必要があります。

XREAにはmod_expiresモジュールがインストールされていないため、mod_headersモジュールを利用してムリヤリExpiresヘッダを設定します。mod_headersは任意のHTTPレスポンスヘッダを設定するモジュールです。

■ mod_headers の使用例

Header set Expires Sat, 20 Feb 2010 08:21:05 GMT

mod_headersでは固定の文字列しか設定することができないので、Expiresヘッダを動的に生成するcronを仕込みます。
以下の例では、画像(jpg,png,gif)の有効期限を1週間に設定しています。

<?php
// 上書きする.htaccessファイルのパス
define('HTACCESS_PATH', '/virtual/majide/public_html/blog.majide.com/.htaccess');
define('TMP_HTACCESS_PATH', '/virtual/majide/public_html/blog.majide.com/.htaccess_tmp');

$offset = 7 * 24 * 60 * 60; //有効期限は7日
$expire = gmdate('D, d M Y H:i:s', time() + $offset)." GMT";

// ここにもともとの.htaccessの内容を記載
$htaccess = '

<IfModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_keep_workfiles Yes
  mod_gzip_minimum_file_size  1024
  mod_gzip_maximum_file_size  0
  mod_gzip_maximum_inmem_size 60000
  mod_gzip_dechunk Yes
  mod_gzip_temp_dir "/virtual/majide/public_html/blog.majide.com/tmp"
  mod_gzip_item_include  mime "application/x-httpd-cgi"
  mod_gzip_item_include  mime "application/x-httpd-php"
  mod_gzip_item_include  mime "application/x-javascript"
  mod_gzip_item_include  mime text/*
  mod_gzip_item_include  mime "httpd/unix-directory"
  mod_gzip_item_include  file "\.shtml$"
  mod_gzip_item_include  file "\.htm$"
  mod_gzip_item_include  file "\.html$"
  mod_gzip_item_include  file "\.php$"
  mod_gzip_item_include  file "\.pl$"
  mod_gzip_item_include  file "\.cgi$"
  mod_gzip_item_include  file "\.css$"
  mod_gzip_item_include  file "\.js$"
  mod_gzip_item_exclude  mime "image/.*"
  mod_gzip_min_http 1001
</IfModule>

';

$htaccess .= <<<END
<FilesMatch "\.(png|jpe?g\|gif)$">
  <IfModule mod_headers.c>
    Header set Expires $expire
  </IfModule>
</FilesMatch>

END;

if (file_put_contents(TMP_HTACCESS_PATH, $htaccess)) {
    rename(TMP_HTACCESS_PATH, HTACCESS_PATH);
}

?>

Xreaでは、cronは必ずシェルでなければならない制限があるので、PHPを実行するシェルを用意します。

#!/bin/sh

/usr/local/bin/php /virtual/majide/genhtaccess.php

最後にXREAの管理画面からシェルスクリプトをcronに設定して完了です。動かすのは1日に1回程度で十分でしょう。

XREAのcron設定画面

XREAのcron設定画面

参考文献

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール
ハイパフォーマンスWebサイト
スケーラブルWebサイト
スケーラブルWebサイト
Apacheクックブック 第2版 ―Webサーバ管理者のためのレシピ集
Apacheクックブック

参考URL

]]>
http://blog.majide.com/2010/02/page-speed-up-xrea/feed/
Macbook WhiteにLinux CentOS 5.3をインストール No.2 http://blog.majide.com/2009/05/2-macbook-linux-centos-53/ http://blog.majide.com/2009/05/2-macbook-linux-centos-53/#comments Wed, 27 May 2009 15:55:36 +0000 admin http://blog.majide.com/?p=454 NdiswrapperとUnRARのインストール

まず、NdiswrapperとUnRARをインストールします。NdiswrapperとUnRARに必要なその他のRPMはCentOSのインストールディスクに入っているはずです。NdiswrapperはWindowsのドライバをLinux上で動作させるためのソフトウェアです。

$ rpm -ivh unrar-3.7.4-1.el5.rf.i386.rpm dkms-ndiswrapper-1.48-1.el5.rf.i386.rpm dkms-2.0.17.6-1.el5.rf.noarch.rpm

無線LANドライバのインストール

BootCampのCDからWindows用のドライバをコピーしてきますます。
exeファイルをunrarで解凍し、ファイルを取り出します。

$ mkdir ~/broadcomdriver
$ cp “/media/WindowsSupport/boot camp/drivers/broadcom/broadcomxpinstaller.exe” ~/broadcomdriver
$ cd ~/broadcomdriver
$ unrar x broadcomxpinstaller.exe

infファイルをndiswrapperに読み込ませてドライバをインストールします。

$ sudo /usr/sbin/ndiswrapper -i bcmwl5.inf

$ sudo /usr/sbin/ndiswrapper -l
bcmwl5 : driver installed
device (14E4:432B) present

$ sudo /usr/sbin/ndiswrapper -m
adding “alias wlan0 ndiswrapper” to /etc/modprobe.d/ndiswrapper …

これでドライバのインストールは完了です。引き続きネットワークインターフェイスを設定します。
/etc/sysconfig/network-scripts/ifcfg-wlan0に以下の内容を設定します。

# Please read /usr/share/doc/initscripts-*/sysconfig.txt
# for the documentation of these parameters.
TYPE=Wireless
DEVICE=wlan0
HWADDR=
BOOTPROTO=dhcp
NETMASK=
DHCP_HOSTNAME=
IPADDR=
DOMAIN=
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
ESSID=
CHANNEL=Auto
MODE=Auto
WPA=yes
SECURITYMODE=open
RATE=auto

WEPを利用している場合は、暗号キーを以下のファイルに記載します。
/etc/sysconfig/network-scripts/keys-wlan0

KEY=xxxxxxxxxxxxxxxxxxxxxxxxx

WPAを利用している場合はもう少し込み入った設定が必要です。詳しくは、wpa_supplicantのマニュアルに記載されています。

設定が終わったら、最後にifupでインターフェイスを有効化します。

$ sudo /sbin/ifup wlan0

残る問題

  • 有線LANが使えない
  • 音がならない
  • デュアルモニタにできない
  • 右クリックができない
  • キーボードのアンダーバー、パイプが効かない
]]>
http://blog.majide.com/2009/05/2-macbook-linux-centos-53/feed/
Macbook WhiteにLinux CentOS 5.3をインストール No.1 http://blog.majide.com/2009/05/macbook-linux-centos-53/ http://blog.majide.com/2009/05/macbook-linux-centos-53/#comments Mon, 25 May 2009 00:00:21 +0000 admin http://blog.majide.com/?p=425 Macbook White のスペック
Intel Core 2 Duo P7350 @ 2GHz
NVIDIA GeForce 9400M
Memory 2GB
Broadcom corporation BCM4332 802.11a/b/g/n Wireless LAN Controller

下準備

  1. Mac OS X インストール ディスク。
    BootCampからWindowsのドライバを取り出す必要があるので、OS Xのインストールディスクも必要です。
  2. Cent OS インストール ディスク
    Cent OSのサイトからISOイメージをダウンロードして、DVDに焼いておきます。
    今回は64bit版ではなく、i386を選択しました。
  3. その他、ドライバ類。
    インストール直後の状態では、ドライバがインストールされていないため、ネットワークにつなぐことができません。最低限ネットワークにつなぐために必要なドライバなどをCD-Rなどに焼いておきます。

パーティションの作成

ディスクユーティリティでLinux用のパーティションを作成します。のちほどCentOSインストール時にフォーマットしなおすので、フォーマットは何でもかまいません。
partision

rEFIt ブートマネージャのインストール

rEFItをインストールすると、起動時にOSを選択できるようになります。
http://refit.sourceforge.net/

CentOSのインストール

CentOSのインストールディスクを入れて、「C」を押しながら再起動すると、ディスクからBootします。
ACPIが有効だとうまくインストーラーが立ち上がらないので、bootプロンプトでカーネルオプションを指定します。

boot : linux noapic acpi=off apm=on
install centOS5

install centOS5

swap用のパーティションがないと怒られますが無視します。

キーボードの設定

初期状態では、アンダーバー、バックスラッシュ、パイプなどのキーが効きません。
xmodmapを設定してキーを割り当てます。
以下の例はF12にパイプ、F11にバックスラッシュ、F9にアンダーバーを割り当てています。
他のキーに割り当てたい場合はxevコマンドでkeycodeを確認できます。

~/.xmodmap
keycode 75 = underscore
keycode 95 = backslash
keycode 96 = bar

# xmodmapの設定読み込み
$ xmodmap ~/.xmodmap

続きます。

参考文献

VistaもXPもMac上で動かせる!Windows on Mac パーフェクトガイド2009
VistaもXPもMac上で動かせる!Windows on Mac パーフェクトガイド2009
Mac・Windows・Linuxが1台で使える
Mac・Windows・Linuxが1台で使える
]]>
http://blog.majide.com/2009/05/macbook-linux-centos-53/feed/
Windows 再インストール時の手順 http://blog.majide.com/2009/04/windows-install-operation/ http://blog.majide.com/2009/04/windows-install-operation/#comments Mon, 06 Apr 2009 00:00:39 +0000 admin http://blog.majide.com/?p=184 データの移行漏れなどがないよう、自分が作業するときの手順をメモっておきます。

前準備

  1. 単語辞書を書き出す
  2. Firefoxのデータのバックアップ → Firefoxの設定情報をバックアップする
  3. iTunesのデータのバックアップと認証の解除

OSインストールとドライバインストール

以下の順番でインストールをすると不具合が少ない。

  1. OSインストール
  2. WindowsUpdate
  3. チップセットドライバ(INFパッチ)を入れる
  4. DirectX入れる
  5. WindowsUpdate(DirectX)
  6. グラフィックボードのドライバ入れる
  7. その他ドライバ入れる

アプリケーションのインストールと各種設定

  1. IEのテンポラリ領域をCドライブ以外に設定
  2. Cドライブにスワップしないよう設定
  3. データのバックアップのタスク設定
  4. ウィルス対策のソフトを忘れずに入れる
  5. その他いつものアプリ入れる
  6. WindowsUpdate
  7. デブラグ

FirefoxのAddon

いつものAddon

  1. All-in-One Gestures
  2. Screen grab
  3. tab Mix Plus
  4. IE Tab
]]>
http://blog.majide.com/2009/04/windows-install-operation/feed/
ADT(Android Development Tools) のインストール http://blog.majide.com/2009/04/android-development-tool-install/ http://blog.majide.com/2009/04/android-development-tool-install/#comments Thu, 02 Apr 2009 00:00:39 +0000 admin http://blog.majide.com/?p=295 Android Development Tools for Eclipse とは

ADTを導入することで、EclipseでAndroidのプロジェクトが作成可能になります。Andoroidの開発には必須のツールです。

Eclipse のダウンロード・インストール

まずは、Eclipse がないと始まりません。

  1. EclipseをEclipseのサイトのDownloadsからダウンロードします。
    Eclipse ダウンロード

    Eclipse ダウンロード

  2. Eclipse IDE for Java Developers を選択
  3. ダウンロードしたファイルを解凍し、「C:\Program Files\」等に置く

ADTのダウンロードとインストール

  1. ADTはAndoroidのDeveloperサイトからダウンロードできます。
  2. ダウンロードしたADT-X.X.X.zip ファイルは解凍する必要はありません。
  3. Eclipseを起動し、Eclipseの「Help」メニューから「Software Updates」を選択します。
    HelpメニューからSoftwareUpdatesを選択

    HelpメニューからSoftwareUpdatesを選択

  4. 「Add Sites」を選択し、「Archive」から先ほどダウンロードしたADTのzipファイルを指定します。
    Add SitesからArchiveを選択

    Add SitesからArchiveを選択

  5. zipファイルの中身が表示されるので、「Developer Tools」を選択し、「Install」を実行します。
    Developer Toolsを選択

    Developer Toolsを選択

  6. ライセンスの確認画面が出るので、Acceptを選択し、インストールを進めます。
    ADTのライセンスの確認

    ADTのライセンスの確認

  7. インストールが終わったら、Eclipseを再起動して完了です。

Android SDKの設定

  1. 「Window」メニューから「Preference」を選択します
    adk-preference
  2. 「Android」を選択し、「SDK Location」にAndroid SDKの場所を設定します。
    android_dev_tool_path

設定の確認

  1. 新規プロジェクト画面でAndroid プロジェクトが作成可能になっていることを確認します。
    Eclipse Android Project

    Eclipse Android Project

参考文献

Google Androidアプリケーション開発入門 画面作成からデバイス制御まで――基本機能の全容
Google Androidアプリケーション開発入門
Google Androidプログラミング入門
Google Androidプログラミング入門
]]>
http://blog.majide.com/2009/04/android-development-tool-install/feed/