近未来都市の幽寂

Webポータル事業の企画・構想から公開・運用まで。

403_PostgreSQL・Node.jsの導入

やったこと

PostgreSQLのインストー

LAMP環境(Linux+Apache+MySQL+PHP?)」という言葉にもある通り、WebのOSS・フリーRDBMSと言えばMySQLだというくらい、MySQL知名度は昔っから高かったように思います。
今でこそ、高速で堅牢なマルチスレッド型のRDBとか言われてますが、かつてはトランザクションすらサポートされておらず、商用の選択肢としては難しかったというのが実情ではないでしょうか…
加えて今でも、GPLとコマース用のデュアルライセンス方式、という煩わしい方式を採用しており、商用利用を検討している場合は避けて通るのが無難な気がします。

それに対し、PostgreSQLBSDライセンスなので、商用利用も可能でソース公開義務もありません。
また、最近ではスタートアップ界隈でも人気を博しているようで、確かherokuの標準DBとしても採用されてましたね。
なので、今回のDBはPostgreSQLを採用しました。
(NoSQLとかも流行ってるっぽいですが、今回は見送り)

assign-navi.jp


とりあえず、下記サイトを参考にしながら、PostgreSQLをインストールしました。
調べてみたら、バージョンは9.2.18でした。

www.server-world.info

# インストー
yum install postgresql-server

# 初期化
postgresql-setup initdb

# 起動
systemctl start postgresql

# 自動起動設定
systemctl enable postgresql

# バージョン確認
rpm -qa | grep postgres

ちなみに、MySQLPostgreSQLでは、そのアーキテクチャについて色々と差異はあるっぽいですが、僕にはよく分かりませんでした。

  MySQL PostgreSQL
サーバ
アーキテクチャ
マルチスレッド マルチプロセス
ストレージ
アーキテクチャ
更新型 追記型
拡張機能 ストレージエンジン エクステンション
Disc I/O ランダム シーケンシャル

2大OSSデータベースのMySQLとPostgreSQLの違い(前半) - SSSSLIDE」より引用

Node.jsのインストー

 フロントエンドを支えるJavascriptの技術ですが、近頃はサーバサイドで動くJavascript「Node.js」が色々と取り沙汰されてます。
Socket.ioとの組み合わせで、非同期通信どころか双方向通信まで実現しているんだから、Webの最新技術ってすごい…///

今回購入した参考書では、UIの改善としてCoffeeScriptを使用するらしく、そいつを動かすためにはNode.jsをインストールしなければいけないようです。
理屈は良く分かりませんでしたが、とりあえず騙されたと思って導入しました。
Node.jsのバージョンは6.10.3、npmのバージョンは3.10.10でした。

# EPELリポジトリの追加
yum install epel-release

# Node.js、npmのインストー
yum install nodejs npm

# バージョンの確認
node -v
npm -v

わかったこと

 Railsで使用するDBの設定

Railsでアプリケーションを新規作成する場合、

rails new (アプリケーション名)

とすれば、Railsというフレームワーク用のフォルダ一式が作成されるようです。
そして、Railsでは、上記コマンドで明示的にDBの指定を行わない場合、Railsの標準DBであるSQLiteを使用する設定になるみたいです。
SQLite以外のDBを使用したい場合、上記コマンド実行時、下記の通りのオプションを指定するらしい。

MySQLの場合

rails new (アプリケーション名) -d mysql

PostgreSQLの場合

rails new (アプリケーション名) -d postgresql

他のDBの場合も恐らく同様でしょう。

ターミナルはRLoginが便利

Linuxサーバにssh接続するターミナルといえば、やはりTeraTermPuttyあたりが出てくるのではないでしょうか。
特にPuttyは、キージェネ(秘密鍵の作成)機能も付属でくっついているので、尚更手放せない人もいるかも知れませんね。
僕も色々とターミナルを探しましたが、結局Rloginに落ち着きました。

nanno.dip.jp

 優秀なターミナルだと思ったのは以下の点です。

  • MDIと言うのか?タブ画面分割が便利
  • ウィンドウを半透明化できていい感じ
  • キージェネ(秘密鍵の作成)もできるよ!

まともなRloginのレビューは、murachi1208さんがQiitaの下記記事に書かれております。
ご興味がある方は、ぜひご使用されてみてはいかがでしょう。

qiita.com

つぎにやること

 上流課題がなかなか解消せんな…