[Rails 3.1.0] ActionView::Template::Errror (application.css isn’t precompiled)

Ruby on Rails 3.1.0 にて、アプリケーションを作成してdevelop環境は作らずに、Heroku上のstaging環境でいきなり動かしたら以下のようなエラーが発生しました。

ActionView::Template::Errror (application.css isn't precompiled)

対応策としては、config.assets.compile を true にすればOKです。

■ config/environments/staging.rb

# Don't fallback to assets pipeline if a precompiled asset is missed
# config.assets.compile = false
config.assets.compile = true

以下、stackoverflowに書かれていた説明と自分で翻訳したもの。

By default Rails assumes that you have your files precompiled in the production environment, if you want use live compiling (compile your assets during runtime) in production you must set the config.assets.compile to true. You can use this option to fallback to Sprockets when you are using precompiled assets but there are any missing precompiled files. If config.assets.compile option is set to false and there are missing precompiled files you will get an “AssetNoPrecompiledError” indicating the name of the missing file.

デフォルトの設定によって、RailsはProduction環境でプリコンパイル済みのファイルがあることを想定しているので、もしProduction環境でライブコンパイル(runtime中にアセットをコンパイルすること)を使いたいなら、config.assets.compile を true にしなければならない。プリコンパイル済みファイルが全くないが、プリコンパイル済みのアセットを使おうとしているとき、Sprockets *1 の代替策としてこのオプションを使うことができる。config.assets.compile のオプションが false に設定されていて、プリコンパイル済みのファイルがない場合、存在しないファイル名を指して“AssetNoPrecompiledError”が発生するでしょう。

*1 Sprockets: Rubyで書かれたJavaScriptプリプロセッサで、複数のJavaScriptソースファイルを1つにまとめるのが主な機能

【参考】

rails 3.1.0 ActionView::Template::Errror (application.css isn’t precompiled) – Stack Overflow はてなブックマーク - rails 3.1.0 ActionView::Template::Errror (application.css isn't precompiled) - Stack Overflow

Asset Pipelineを備えたRails 3.1のリリースに向けて、その根幹を担うSprocketsをちょっと触っておくことにした。 – Sooey はてなブックマーク - Asset Pipelineを備えたRails 3.1のリリースに向けて、その根幹を担うSprocketsをちょっと触っておくことにした。 - Sooey

Ruby on Rails Guides: Asset Pipeline はてなブックマーク - Ruby on Rails Guides: Asset Pipeline

[Rails] 2系と3系のルーティング(Routing)の違い

Ruby on Railsの 2系と3系のRoutingの違いを調べたのでメモ。

Simple routes

# Rails 2:
map.connect 'hello_world', :controller => 'posts', :action => 'index'
 
# Rails 3:
match 'hello_world' => 'posts#index'

Resources

# Rails 2:
map.resources :users
 
# Rails 3:
resources :users
# Rails 2
map.resources :games, :member => { :download => :get }, :collection => { :favourites => :get }
 
# Rails 3
resources :games do
  get :download,   :on => :member
  get :favourites, :on => :collection
end
# Rails 3
resources :games do
  member do
    get :download
  end
 
  collection do
    get :favourites
  end
end

Root mappings

# Rails 2
map.root :controller => 'posts', :action => 'index'
 
# Rails 3
root :to => 'posts#index'
# Rails 2
map.namespace :admin do |admin|
  admin.root :controller => 'posts'
end
 
# Rails 3
namespace :admin do
  root :to => "admin/posts#index"
end

Optional params

# Rails 2
map.connect 'posts/:year/:month', :controller => 'posts',
            :month => nil, :requirements => { :year => /\d{4}/ }
 
# Rails 3
match 'posts/:year(/:month)' => 'posts#index', :constraints => { :year => /\d{4}/ }

【参考】

Rails 3: Routing Examples – Mark Connell はてなブックマーク - Rails 3: Routing Examples - Mark Connell

2.0のmap.resourcesのオプション設定いろいろ – ザリガニが見ていた…。 はてなブックマーク - 2.0のmap.resourcesのオプション設定いろいろ - ザリガニが見ていた...。

map.resourcesを試してみる はてなブックマーク - map.resourcesを試してみる

[MySQL] File ‘./mysql-bin.index’ not found (Errcode: 13)

MySQLをソースコードからインストールして、初期化をして、起動したらエラーが発生しました。

解決方法を調べたのでメモ。

ちなみに、MySQLをソースコードからインストールする手順はこちらから。

[DB] CentOS に MySQL をソースコードからインストール | CodeNote.net はてなブックマーク - [DB] CentOS に MySQL をソースコードからインストール | CodeNote.net
 

■ エラー内容

MySQLを起動するとエラーが発生しました。

# service mysql start
Starting MySQL.The server quit without updating PID file (/[失敗]cal/mysql/data/bms.pid).

詳しくエラー内容を見るために、直接Pathを指定して実行してみる。

# /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
/usr/local/mysql/bin/mysqld: File './mysql-bin.index' not found (Errcode: 13)
111102 16:31:21 [ERROR] Aborting
 
111102 16:31:21 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

mysql-bin.indexというファイルがないみたいで、実際に存在しませんでした。

原因は、/usr/local/mysql 以下の全てのディレクトリの権限が root になっていたせいでした。

mysql_install_db でMySQLの初期化を実行する前に、chown でディレクトリの権限を root から mysql に変更する必要があります。

ディレクトリの権限を mysql ユーザに変更して、

chown -R mysql:mysql /usr/local/mysql/

MySQLの初期化をすればOKです。

/usr/local/mysql/scripts/mysql_install_db \
		--user=mysql \
		--basedir=/usr/local/mysql \
		--datadir=/usr/local/mysql/data

以上です。

【参考】

【MySQL】エラー対処方法 – ぱそ子のめも はてなブックマーク - 【MySQL】エラー対処方法 - ぱそ子のめも

まったり東京+ mysqld: File ‘./mysql-bin.index’ not found (Errcode: 13) はてなブックマーク - まったり東京+ mysqld: File './mysql-bin.index' not found (Errcode: 13)

:: MySQL 5.018 インストール | サラリーマンブログ :: はてなブックマーク - :: MySQL 5.018 インストール | サラリーマンブログ ::

ubuntu9.04 で mysql 5.1.33 のインストール – kameidの備忘録 – Sharpen the Saw! はてなブックマーク - ubuntu9.04 で mysql 5.1.33 のインストール - kameidの備忘録 - Sharpen the Saw!

MySQL5.5 を CentOS6.3 にソースコードからインストールする手順

CentOS に MySQL をソースコードからインストールする手順をご紹介します。(2012/11/08 修正)

公式ドキュメント(英語)にインストール手順は書いてあります。

MySQL :: MySQL 5.5 Reference Manual :: 2.10.2 Installing MySQL from a Standard Source Distribution


前提

CentOS5.7 64bit
MySQL5.5.17

MySQLのグループとユーザーの作成

まず、rootになります。

$ su

MySQLをデーモンで起動するためのグループとユーザーを作成します。

# groupadd mysql
# useradd -g mysql -d /usr/local/mysql mysql
# passwd mysql

MySQLのソースコードをダウンロード・展開

# cd /usr/local/src
# wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.17.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/
# tar zxvf mysql-5.5.17.tar.gz
# cd mysql-5.5.17

cmakeでソースコードをビルド

ソースコードをビルドするために、ディレクトリ内に configure を探しても見つからなかったので調べてみたら、MySQL 5.5系よりcmake推奨となりconfigureがなくなったようです。

代わりに cmake でコンパイルするみたいです。

CentOS yum dag リポジトリの追加方法 | Linux LABS

MySQL 5.5.9 インストール Linux cmake | Linux LABS

cmake が入っていない場合は yum でインストールしておきます。

# yum install -y cmake

次に、MySQL依存パッケージをyumで入れておきます。

# yum install -y ncurses-devel

入れてないでcmakeすると、以下のようなエラーが出るので注意です。

- Could NOT find Curses  (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:82 (MESSAGE):
  Curses library not found.  Please install appropriate package,
 
      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is li             bncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):

そのまま再度、cmake をしても、エラー表示を繰り返してしまうので、一旦MySQLのディレクトリを削除し再実行します。

# rm -fr /usr/local/src/mysql-5.5.17
# cd /usr/local/src
# tar zxvf mysql-5.5.17.tar.gz
# cd mysql-5.5.17

cmake する際のオプションは普通にインストールするときは2~3個ぐらいでいいみたいです。

cmake をデフォルトで実行したときに、何が入るかだけ確認しておきましょう。

MySQL :: Building MySQL from Source :: 3 MySQL Source-Configuration Options

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DWITH_EXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_PIC=1

cmake時に、オプションで -DDEFAULT_CHARSET=utf8 付けたら、-DDEFAULT_COLLATION= … も付けないとうまくいかないので注意が必要らしいです。

MySQL のインストール

make
make install

以上でインストール完了です。

MySQLの初期設定

まず、ディレクトリの所有者を変更します。

UNIXコマンド [chown]

chown -R mysql:mysql /usr/local/mysql

次に、データベースを初期化します。

/usr/local/mysql/scripts/mysql_install_db \
		--user=mysql \
		--basedir=/usr/local/mysql \
		--datadir=/usr/local/mysql/data

データベースを初期化せずに他の設定をすると、下記のようなエラーが出ます。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

自動起動も設定しておきます。

cp /usr/local/src/mysql-5.5.17/support-files/mysql.server /etc/init.d/mysql 
chmod +x /etc/init.d/mysql
chkconfig --add mysql

以下のコマンドを実行して状態を確認します。期待したランレベルでonになっていれば問題はありません。

# chkconfig --list | grep mysql
 
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off

実行環境に合わせて、起動スクリプトを変更します。

vi /etc/init.d/mysql
 
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

設定ファイルをコピーします。設定ファイルは必要に応じて編集してください。

cp /usr/local/src/mysql-5.5.17/support-files/my-medium.cnf /etc/my.cnf

以上で完了です。

MySQLを service コマンドで起動して、ちゃんとインストールされているか確認します。

service mysql start

MySQLのPathを通す

# vi ~/.bashrc
 
PATH="$PATH":/usr/local/mysql/bin
# source ~/.bashrc
# mysql -V
mysql  Ver 14.14 Distrib 5.5.17, for Linux (x86_64) using  EditLine wrapper

以下のコマンドでログイン出来れば、インストール成功です。

mysql -u root

ついでに root のパスワードも変更しておきます。

mysql> set password for root@localhost=password('newpassword');
Query OK, 0 rows affected (0.02 sec)
 
mysql> \q
# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g. ……

これで、PASSの設定が完了しました。

初期設定は以上です。

MySQLの起動に失敗したときの対処方法

MySQLを起動時に以下のようなエラーが出ました。

Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid)

プロセスを見てみると既に起動しているみたいなのですが、mysql -u root でログイン出来ません。

少々荒いですが、killコマンドでプロセスを殺して、またMySQLを起動してやれば上手くいきました。以下、手順など。

# ps aux | grep mysql
mysql    32031  0.0  3.1 337520 32944 ?        Sl   00:28   0:00 /usr/local/mysql/bin/mysqld --localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid --socket=/tmp/mysql.
# kill 32031
# ps aux | grep mysql
# /etc/init.d/mysql start
Starting MySQL.......    [  OK  ]
# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.17-log Source distribution
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql>

参考情報

MySQL 5.5.8をcmakeでインストールする – pgmgontaの日記

MySQLのrootパスワード設定 - Gentoo Linuxで自宅サーバ

Mysql-5.5系のインストールメモ(Fedora14の64bitへcmakeにて) | パチスロ日記と仕事メモ

Sakila Sample Database (空色ブログ)

CentOS 5.7 に PHP5.3.8 をソースコードからインストールする手順

CentOS 5.7 に PHP5.3.8 をソースコードからインストールしたので、手順をメモ。
 

PHPのアンインストール

まず、ソースコードからPHPをインストールする前に、CentOSにデフォルトでインストールされているPHPをアンインストールします。

# php -v
PHP 5.1.6 (cli) (built: Nov 29 2010 16:47:46)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
 
# yum remove php-*
# php -v
-bash: /usr/bin/php: そのようなファイルやディレクトリはありません

 

PHPのソースコードをダウンロード・展開する

・DLサイト:PHP: Downloads はてなブックマーク - PHP: Downloads

# cd /usr/local/src
# wget http://jp.php.net/get/php-5.3.8.tar.gz/from/this/mirror
# tar zxvf php-5.3.8.tar.gz
# cd php-5.3.8
./configure \
--enable-mbstring \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql \
--enable-pdo \
--with-pdo-mysql=/usr/local/mysql \
--enable-xml

■ エラー

configure: error: xml2-config not found. Please check your libxml2 installation.

libxml2(本体)と libxml2-devel(開発ツール)をインストールすると解決しました。

yum install -y libxml2
yum install -y libxml2-devel

PHPが正常にインストールされていることを確認します。

# /usr/local/bin/php -v
PHP 5.3.8 (cli) (built: Nov  2 2011 20:24:31)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

 

PHPのPathを通す

# vi ~/.bashrc
 
PATH="$PATH":/usr/local/bin/php
# source ~/.bashrc
# php -v
PHP 5.3.8 (cli) (built: Nov  2 2011 20:24:31)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

ITmedia エンタープライズ : Linux Tips「パスを追加したい~.bashrc編~」 はてなブックマーク - ITmedia エンタープライズ : Linux Tips「パスを追加したい~.bashrc編~」
 

PHPの設定

■ php.ini のコピー

# cp -p /usr/local/src/php-5.3.8/php.ini-development /usr/local/lib/php.ini

※コピー先は /usr/local/lib/php/php.ini ではなく、/usr/local/lib/php.ini なので注意

■ php.ini の編集

# vi /usr/local/lib/php/php.ini
[PHP]
output_handler = mb_output_handler
expose_php = On
default_charset = "UTF-8"
 
[Date]
date.timezone = Asia/Tokyo
 
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;

【参考】

PHP: INIファイル の扱いに関する変更 – Manual はてなブックマーク - PHP: INIファイル の扱いに関する変更 - Manual

CentOS/PHP/PHP5/設定 – ひつじ帳 はてなブックマーク - CentOS/PHP/PHP5/設定 - ひつじ帳

CentOS 再構築記録13th php.ini 設定を見直す(´・ω・) ス|WEB系技術電脳日記 はてなブックマーク - CentOS 再構築記録13th php.ini 設定を見直す(´・ω・) ス|WEB系技術電脳日記

PHPの日付関数でWarningエラー – ema725の日記 はてなブックマーク - PHPの日付関数でWarningエラー - ema725の日記

自宅サーバー(Windows+Apache)へのPHPインストール はてなブックマーク - 自宅サーバー(Windows+Apache)へのPHPインストール
 

Apacheとの連携

まず、httpd.conf の の中に下記の内容を追記して、phpを有効にします。

# vi /usr/local/apache2/conf/httpd.conf
<IfModule mime_module>
    # ...
 
    # php conf
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>

次に、DirectoryIndex の行に index.php を追記します。

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

httpd.conf の編集後、Apacheを再起動させます。

# service httpd restart

 

PHPの動作確認

Apacheのドキュメントルートにテスト用のPHPファイルを作成して、phpinfo メソッドを呼び出すだけの内容を入力して保存します。

# vi /usr/local/apache2/htdocs/phpinfo.php
<?php phpinfo(); ?>

ブラウザから確認するために、ifconfigコマンドで IPアドレスを確認します。

# ifconfig
eth0      Link encap:Ethernet  HWaddr D2:9B:E2:9A:9D:14
          inet addr:192.168.16.130  Bcast:192.168.128.255  Mask:255.255.255.0
          ...

ブラウザから http://192.168.16.130/phpinfo.php にアクセスして、Apache上でPHPが動作するか確認します。

「PHP Version 5.3.8」という見出しの画面が表示されればOKです。

Apache の httpd.conf を編集して、サーバにアクセス時のルートを var/www に変更します。

# vi /usr/local/apache2/conf/httpd.conf
DocumentRoot "/usr/local/apache2/htdocs"
↓(変更する)
DocumentRoot "/var/www/html"

その他、”/usr/local/apache2/” を “/var/www/” に変更します。

以上です。


参考情報

古い php のアンインストールと php 5.3 のインストール – Debian GNU/Linux 3.1 on PowerMac G4

[Heroku] ログ(Log)を確認するアドオン「Logging」

Herokuでログの確認は、Loggingアドオンを入れて heroku logs –tail で出来ます。

Heroku | Add-ons はてなブックマーク - Heroku | Add-ons

■ Loggingアドオンの追加

$ heroku addons:add logging:expanded

■ Logの確認

$ heroku logs --tail

【参考】

Herokuで作るFacebookアプリ:第7回 Herokuをもっと活用しよう!|gihyo.jp … 技術評論社 はてなブックマーク - Herokuで作るFacebookアプリ:第7回 Herokuをもっと活用しよう!|gihyo.jp … 技術評論社

Herokuの新しいLoggingでInternal Serverエラーの内容を出力する方法 | ひたすらメモするだけのブログ はてなブックマーク - Herokuの新しいLoggingでInternal Serverエラーの内容を出力する方法 | ひたすらメモするだけのブログ

CentOS に Apache をソースコードからインストール

CentOS 5.7 に Apache2.2.21 をソースコードからインストールしました。

インストール手順をざっとご紹介します。(随時、修正予定)

RPM版のapacheを削除する

CentOSにデフォルトでインストールされているRPM版のapacheを削除します。

# httpd -v
Server version: Apache/2.2.3
# rpm -e --allmatches --nodeps httpd
# httpd -v
-bash: /usr/sbin/httpd: そのようなファイルやディレクトリはありません

Apacheのソースコードをダウンロード・展開

Apacheのソースコードをダウンロードして、展開します。

ソースコードは下記のサイトから Stable 版の Unix Source を wget で取得します。

・DL:Download – The Apache HTTP Server Project はてなブックマーク - Download - The Apache HTTP Server Project

$ su -
# cd /usr/local/src/
# wget http://www.meisei-u.ac.jp/mirror/apache/dist//httpd/httpd-2.2.21.tar.gz
# tar zxvf httpd-2.2.21.tar.gz
# cd httpd-2.2.21

Apache をソースコードからインストール

オプションをいくつか付けてconfigureします。

# cd httpd-2.2.21
# ./configure --prefix=/usr/local/apache2/ \
		--enable-so \
		--enable-rewrite \
		--enable-ssl=/usr/local/openssl

→ opensslが入らないとエラーが出るので、とりあえず、 

# ./configure --prefix=/usr/local/apache2/ \
		--enable-so \
		--enable-rewrite

そして、makeしてインストール

# make
# make install

Apacheがちゃんとインストールされたか確認します。

# /usr/local/apache2/bin/httpd -v
Server version: Apache/2.2.21 (Unix)
Server built:   Nov  2 2011 19:14:14

apacheユーザー作成

# groupadd apache
# useradd -g apache -d /var/empty/ -s /sbin/nologin apache
# vi /usr/local/apache2/conf/httpd.conf
User apache
Group apache

 

apacheの起動スクリプトの設定

# cp /usr/local/src/httpd-2.2.21/build/rpm/httpd.init /etc/rc.d/init.d/httpd
# chmod 755 /etc/rc.d/init.d/httpd

apache の設定ファイルの該当部分を編集します。

# vi /etc/rc.d/init.d/httpd
 
httpd=${HTTPD-/usr/local/apache2/bin/httpd}
pidfile=${PIDFILE-/usr/local/apache2/logs/httpd.pid}
# check for 1.3 configuration
check13 () {
        CONFFILE=/usr/local/apache2/conf/httpd.conf

Apacheの起動を確認します。
 

# service httpd start 
Starting httpd :  [OK]

正常起動を確認しました。

ifconfigコマンドでIPアドレスを確認する。(IPアドレスは環境によって異なります)
 

# ifconfig
inet addr:192.168.16.130

 

ローカルPCのブラウザから、http://192.168.16.130/ にアクセスしてApacheが正常に動いているか確認します。

無事にブラウザが表示されたら完了です。
 

Apacheの自動起動設定

Apacheの自動起動を有効にします。

自動起動を有効にすると、CentOSの起動時にApacheも自動で起動します。

# chkconfig --add httpd
# chkconfig httpd on
# chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

ファイアーウォールの設定確認

httpd が listen する 80 番ポート(デフォルトの場合)を開放する。

# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

ファイアーウォールを再起動させます。

# service iptables restart
ファイアウォールルールを適用中:                            [  OK  ]
チェインポリシーを ACCEPT に設定中filter                   [  OK  ]
iptables モジュールを取り外し中                            [  OK  ]
iptables ファイアウォールルールを適用中:                   [  OK  ]
# service iptables start

 

OpenSSLをソースコードからインストール

# cd /usr/local/src
# wget -c http://www.openssl.org/source/openssl-1.0.0d.tar.gz
# tar zxvf openssl-1.0.0d.tar.gz
# cd openssl-1.0.0d.tar.gz
# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl -fPIC
# make
# make install

 

【参考】

apache2.2 初期設定 はてなブックマーク - apache2.2 初期設定

VMware PlayerにCentOS導入。練習用Webサーバーを構築4 はてなブックマーク - VMware PlayerにCentOS導入。練習用Webサーバーを構築4

apache2.2.15をCentOSにソースからインストール[Linux] | QUALL – blog はてなブックマーク - apache2.2.15をCentOSにソースからインストール[Linux] | QUALL - blog

Apacheサーバー構築(ソースコンパイル) | 自宅サーバー構築 はてなブックマーク - Apacheサーバー構築(ソースコンパイル) | 自宅サーバー構築

Apache2 をソースからインストール はてなブックマーク - Apache2 をソースからインストール

「スクラッチ開発(scratch development)」の意味と語源

ふと、「スクラッチ開発」の語源について気になって調べたのでメモ。

スクラッチ開発は英語で “scratch development” と表すのですが、scratchという単語に「新規に」「ゼロから」といった意味はないはずと思って検索してみたら、ちゃんとありました。

2. 〔棒で地面を引っかいて描いた〕スタートライン

・引用元:“scratch”の検索結果(313 件):英辞郎 on the WEB:スペースアルク はてなブックマーク - “scratch”の検索結果(313 件):英辞郎 on the WEB:スペースアルク

■ スクラッチ開発(scratch development)

既存の製品や雛形などを流用せずに、まったく新規にゼロから開発すること。

システム開発で、特定のパッケージ製品のカスタマイズや機能追加などによらず、すべての要素を個別に最初から開発することをスクラッチ開発という。ソフトウェア開発の場合は、元になるソースコードや雛形などを使用せず、何も無い状態からコードを記述していくことをスクラッチ開発という。他から流用する要素が一切無い場合を特に「フルスクラッチ」(full scratch)ということがある。

・引用元:スクラッチ開発とは【scratch development】 – 意味/解説/説明/定義 : IT用語辞典 はてなブックマーク - スクラッチ開発とは【scratch development】 - 意味/解説/説明/定義 : IT用語辞典

【その他、参考】

“from scratch”の検索結果(58 件):英辞郎 on the WEB:スペースアルク はてなブックマーク - “from scratch”の検索結果(58 件):英辞郎 on the WEB:スペースアルク

from scratch は“最初から”“ゼロから”といった意味で、例えば She baked the cake … – Yahoo!知恵袋 はてなブックマーク - from scratch は“最初から”“ゼロから”といった意味で、例えば She baked the cake ... - Yahoo!知恵袋

[Linux] 文字コードの設定方法(UTF-8, EUC, SJIS)

Linuxにて、文字コードの設定方法(UTF-8, EUC, SJIS)を調べたのでメモ。

■ 日本語EUC

$ LANG=ja_JP.eucJP

■ 日本語UTF-8

$ LANG=ja_JP.UTF-8

■ SJIS

$ LANG=ja_JP.SJIS

参考情報

日本語環境の設定

日本語文字化け(UTF-8)

Linux(UNIX)の言語設定について。 SJIS、EUC、UTF-8を表示するた.. – 人力検索はてな

[Rails] ActiveRecord とDBの型の対応関係

Ruby on Rails にて、ActiveRecord とDBの型の対応関係を調べたのでメモ。

■ PostgreSQL

Ruby 1.9.2
Rails 3.0.10
PostgreSQL 9.0.4

$ rails console
Loading development environment (Rails 3.0.10)
ruby-1.9.2-p290 :001 > pp ActiveRecord::Base.connection.native_database_types
 => {
:primary_key=>"serial primary key", 
:string=>{:name=>"character varying", :limit=>255}, 
:text=>{:name=>"text"}, 
:integer=>{:name=>"integer"}, 
:float=>{:name=>"float"}, 
:decimal=>{:name=>"decimal"}, 
:datetime=>{:name=>"timestamp"}, 
:timestamp=>{:name=>"timestamp"}, 
:time=>{:name=>"time"}, 
:date=>{:name=>"date"}, 
:binary=>{:name=>"bytea"}, 
:boolean=>{:name=>"boolean"}, 
:xml=>{:name=>"xml"}}

■ MySQL

Ruby 1.9.2
Rails 3.0.1
MySQL 5.1.44

ruby-1.9.2-head > pp ActiveRecord::Base.connection.native_database_types
{
:primary_key=>"int(11) DEFAULT NULL auto_increment PRIMARY KEY", 
:string=>{:name=>"varchar", :limit=>255}, 
:text=>{:name=>"text"}, 
:integer=>{:name=>"int", :limit=>4}, 
:float=>{:name=>"float"}, 
:decimal=>{:name=>"decimal"}, 
:datetime=>{:name=>"datetime"}, 
:timestamp=>{:name=>"datetime"},
:time=>{:name=>"time"}, 
:date=>{:name=>"date"},
:binary=>{:name=>"blob"}, 
:boolean=>{:name=>"tinyint", :limit=>1}
}

参考情報

ActiveRecord と実際のDBの型の対応を確認する – @sugamasao.blog.title # => ”コードで世界を変えたい”