2011年2月20日日曜日

Linux環境を整える3; Ruby1.9にバージョンアップする

さらに続き。

■Ruby ver1.9.2のアーカイブを取得し展開。
 tar xzvf ruby...(略) => cd 展開されたディレクトリ
 ./configure --prefix=/usr/local/ruby => $PATHにCコンパイラがないと怒られた。
/gccというライブラリが利用できそうなことが分かったので、取り合えずaptしてみる。
 apt-get install gcc => dpkg --list gcc => 見つかりません。再度試してみる。
 apt-get install gcc => libc6などいくつかのファイルが置換され、何らかのサービスのrestartを促す画面が表示された。ちょっと不安がよぎるが・・・。
 dpkg --list gcc => 4.4.5-1
/無事gccはインストールされたので、再びconfigureを実行
 ./configure --prefix=/usr/local/ruby => メッセージからMakefileの作成がなされたと思われる。
/makeを実行
 make => ok(コンパイル?されたファイルの統計が表示)
 make install => ok
/rubyのインストール確認
 ruby -v => ファイルが見つかりません。どうやらpathを通してないらしい
 /usr/local/ruby/bin/ruby -v => ruby-1.9.2-p180
/irb1.9
 irb => p VERSION => 1.8.7(irbは別にバージョンアップが必要か)
 aptitude install irb1.9 => irb => p VERSION => 1.8.7
aptitudeのsearchによると、irb1.9はインストールされている。
irbコマンドに関連付けられているバージョンを1.9に変更する必要があると思われる。

■次回作業用のメモ
・システム
 mysql用ユーザの認証ができない件を解消
・Ruby
 irbコマンドの1.9関連付け
・MySQL
 データベース使用ユーザの作成
 workbenchのインストール

Linux環境を整える2; MySQL => PostgreSQL => ?

先日の続き。

■MySQLのインストール...の筈が。
/MySQL(ver5.1.55)のtarアーカイブをダウンロードし、展開
 tar xzvf mysql-(version)-(os)...略
/インストール準備(makeが居るらしいがインストールされていなかったので、先にapt-getでmakeをインストール)
 apt-get install make => su root => which make => /usr/bin/make
/configureスクリプトで初期設定
 ./configure --prefix=/usr/local/mysql => スクリプトが見つかりません。

※何やらconfigureが見つからないということで、先にmakeを試してみたり、別のバージョンを落としてみたものの、それぞれmakefileがないので不可、同じくconfigureが見つからないので不可、と上手くいかず。

/rpmで試してみる(.rpmパッケージファイルを取得)
 rpm -i mysql-5.1.55..(略) => 依存ファイルが大量にあるらしく、そのままではインストールできず。

■postgresに浮気してみる。
/mysqlと同じようにtarを取得して展開=>今度はconfigureは機能はしたもののエラーが出て不完全な状態なのか、その後のmakeまでは進めず。次にdpkgを試す。
/OpenSCG(http://www.openscg.org/se/)からdebパッケージファイルを取得。
 dpkg -i postgres-9.0 => ok
 dpkg -s => Statusは"install ok"
 dpkg -L => /opt以下にファイルがあることを確認。
/日本語マニュアルを参照し、createdbするもコマンド見つからずのエラー。新規ユーザーを作成し、権限を移譲してみるが、それでは無理の様子。
 cd /opt/postgres/...(略)/bin (createdbコマンドがあるディレクトリ)
 su root => useradd pgsql => groupadd pgsql => cd /opt => chown -R pgsql ./postgres => chgrp -R pgsql ./postgres

おおよその経過は以上。さて、どうするか。

■apt-getを使用し、MySQLのインストールに再度挑戦
 apt-get install mysql => パッケージが見つからない。
 apt-get install mysql-server => ok(パッケージ名を知る方法はあるのだろうか)
/インストールされているかを確認する方法を模索。
 dpkg --list => パッケージが見つかりません。
 aptitude search mysql(Linuxコマンドポケットリファレンスの使用例を元にした) => 関連パッケージが大量に表示。またmysql-serverほか、clientファイルなどの状態を示すフラグが未インストール(=p)となっていることを確認。
 apt-get install -s mysql-server => インストールされるパッケージ一覧を表示。
/ダメもとでapt-getを再度実行
 apt-get install mysql-server => 今度はrootパスワードの設定画面などが表示された。上手く行った?
/パッケージ確認
 dpkg --list mysql-server => ver 5.1.49
 aptitude search mysql => mysql-server, client(ver5.1)など最低限のものはインストールされた模様。
 which mysql => /usr/bin/mysql

■何とかインストールできたので、とりあえず起動してみる。
 mysql => denied(rootユーザーでもダメ?)
/MySQL全機能バイブルによれば起動方法は2つあるとのことで、ここではmysqld_safeを試してみる。
 mysqld_safe => process already exists(どうもインストール後そのまま起動している様子)
 mysql -u (root) -p => "enter password"(-pオプションが必要だったらしい)

■管理者用に作ったシステムアカウントにログインできない
suでログインを試みたが、上手くいかない。usermodでパスの変更なども試したが、同じ結果。

■不要になったpostgreSQLの削除
 dpkg -P postgres-9.0 => ok(-rは設定ファイルを残す(=remove)、-Pは全て削除(=purge))
 ls /opt => インストール時に作成されていたディレクトリごと削除完了。

■関連フォルダは以下の通り
 /usr/bin/mysql(whichのパス)
 /etc/bin/mysql(設定関連の保存フォルダ)

2011年2月19日土曜日

Linux環境を整える;Ruby, MySQL

VMPlayerでDebian GNU Linuxを導入してからLPICの勉強を細々と続けていたが、脱線しっ放しで未だ取得の見込みが立たず。
最近はRubyとHTML・CSS・JavaScriptの間を行ったり来たりしてきている。Windows環境ではインストーラ一つで何かと済ませられることが多いものの、Linuxを使っていこうと思ったらコマンドラインにも習熟しないとならない。

そんな訳で仮想マシン上のDebianにRubyとMySQLをインストールし開発環境の下地を作りたい。
以下、作業メモ。

・Rubyのインストール確認
 dpkg --list Ruby => version 4.2(debパッケージファイルのバージョンNo?)。
・irbのインストール確認
 dpkg --list irb => パッケージ見つからず。
・dpkgコマンドだとコアが1.8.7と思われる(公式によると)ので、aptで最新版が利用できないか試す。
 公式を参考に、'/etc/apt/sources.list'ファイルに以下の2行を追加。
 deb ftp://ftp.debian.org/debian unstable main
 deb-src ftp://ftp.debian.org/debian unstable main
 (aptが拾ってくるパッケージ情報のソースを追加するものと思われる。通称アプトライン(らしい))
・エディタgeditで当該ファイルの更新を行おうとしたところ、権限がないため拒否される。ファイルの権限変更を試みる。
 cd /etc/apt => ls -l(permission確認) => chmod 666 sources.list => うまくいかず。
 (terminalから) gedit sources.list => 編集可能となったため、先述の2行を追加。
・aptの実行とdpkgによるバージョン確認
 apt-get install ruby => apt-get update
 dpkg --list ruby => verson 4.5
 dpkg --list irb => version 4.2(irb起動しVERSIONを表示=>1.8.7)
・ひとまずMySQLのインストールに移行
 (以下、「MySQL全機能バイブル」を参考に実施)
 groupadd mysql
 useradd -m mysql -g mysql -d /home/mysql
 passwd mysql => "enter new password" mysql => "retype" mysql => "success"

ダウンロードに時間がかかったので続きは翌日。

2011年1月2日日曜日

JavaScriptによるHTMLの書き換え; buttonタグとinput type="button"タグ

JavaScriptからHTMLの動的な書き換えを行おうとしたが上手くいかず試行錯誤していたところ、不具合箇所を発見。
コードの該当部分は次のようなもの。

//JavaScriptのテストコード
function test(){document.getElementById("test").innerHTML = "<span>書き換えのテスト</span>";}

//HTML部分
<div id="test">
ここを書き換え</div>
<button onclick="test()" />

このHTMLをロードし、ボタンをクリックしてみると、対象のコンテンツが上書きされたかと思う間に初期状態に戻ってしまった。試しているうち、HTMLを次のように書き換えると問題なく動作することに気付いた。

//HTML部分(修正後)
<div id="test">
ここを書き換え</div>
<input type="button" onclick="test()" />

しかし修正前のbuttonタグを使用したパターンでも、コンポーネントがほぼ最小の状態であれば、きちんと動作していることは確認できた。
問題の起きたコードはもう少しhtmlやcssが入り組んだ状態ではあったが、それが関係しているのだろうか?

2010年12月22日水曜日

Visual Studio Web Developer導入;metaタグのcharset

JavaScriptのエディタを探していたところ、Visual Studio Web Developer(以下VSWD)が便利というblogを見つけたので早速導入。

入力補完はVBAで経験済みだったが、予想以上に使いやすそう。HTMLにも対応し、cssもプロパティ一覧から編集できる。個人的にはpadding/margin/borderというボックスモデルが直感的に把握できるのが嬉しい。NetBeansに比べても補完機能の動作は軽快で、さくさく編集できる。一見すると項目が多くて敷居が高く感じるかもしれないけど、無償で利用できるものとしては上等。

ところでVSWDで作ったファイルを別のエディタで開いた時にutf-8からsjisに変換されてしまい、ブラウザで読み込んだ時に文字化けするようになってしまった。解決策を調べていて、VSWDのweb.configファイルあたりが怪しいと踏んだが、中身を見るとちゃんとutf-8が指定されていた。

結局google chromeのデフォルトエンコーディングがsjsになっていたのだけど、ブラウザの設定はいじらないで、htmlファイル側だけ編集していた筈なのに何故?エディタによる変換まではVSWDで作成したファイルのデフォルトであるutf-8が使われていたはずで、それでも正常に読み取れていたのに。

とりあえずw3cのサイトを参考に、対処策としてmetaタグによるcharsetを明示することに。これでブラウザ側のエンコードをsjisにしていても、charsetの設定通り文字化けしないようにできた。

metaタグあたりはいわゆる「おまじない」的に捉えていたのだけど、勉強になりました。

2010年12月19日日曜日

web開発(もどき)の学習

頓挫していたWeb系言語の学習を少しだけ再開。
HTML5とCSS3が使いこなせると楽しそう。jsdo.itに投稿して腕を磨こうか。
しかしJavaScriptは相変わらずデバッグしづらい。とりあえずChromeのデベロパーツールが以前より分かりやすくなった気がするので、暫くはこれでやってみようかな。emacsは敷居高い・・・。

本日の備忘。
・formやulタグでまとめたbutton要素を、表示領域(divタグ)を広げても横並びにならないようにできるか。
・JavaScriptの変数スコープ(関数内での宣言はグローバルスコープで、ネスト関数での宣言は関数スコープ?)

2010年7月30日金曜日

地方交通;事例3種

地方交通の話。

高知県は全国でも有数の道路未改良(未調査だが、どうも自動車交通のための道路整備、例えば双方向車線の整備などが含まれるらしい)県らしい。そこでところどころに自動車が交差するための待避所を設ける1.5車線道路を整備することとしているようだが、それを補完するためのシステムとして「中山間道路走行支援システム」を開発したらしい。

これは行き違いが可能な待避所などに電光掲示板を設置し、対向車の接近を表示させることで、急な退避をしなくても良いようにできるとのこと。

続いて鳥取県のバス経路探索システム「バスネット」について。利用者はバスネットのWebサイトから県内のバス停や目印となる場所が3000カ所以上登録されたシステムにアクセスし、その中から出発地・目的地を選ぶ。するとシステムが経路を探索し、乗車および下車するバス停、乗り換え情報などを表示するというものらしい。

元々は研究用で、実用性には乏しいとバス会社から言われたらしいが、その後利便性を考慮して開発を進めていき、バス停間の経路だけではなくバスが通らない場所からでもバス停までの徒歩ルートを検索できるようにしたとのこと。

最後に富山県の富山ライトレール株式会社が経営する、LRT(Light Rail Transit)と言われる路面電車の導入事例。赤字路線を次世代型路面電車として電車の増発、駅の新設、乗り降りし易い車両の導入などの利便性を向上させることで再整備し、脱車社会化を目指すというもの。

これは市街地を走る路線であり、中心都市の周縁に対するフォローではなく街区の空洞化防止・是正を狙いとしている。

3事例を取り上げてみたが、前者2つは産官学の連携による取り組みである。地方においてこそ業種や立場の異なる企業・公共団体・研究機関などの協働による経験が蓄積され、先細りすることなく発展していくことを期待したい。

2010/12/14追記
NHKでマイカーの活用による交通弱者の支援を放送していた。
こうしたマイカーによる支援形態が広がるんじゃないかとのこと。
地の縁人の縁といった紐帯が地域の支えであるとして、自分はどう関わっていけるのか、まだ答えが見えない。