2015年7月12日日曜日

CentOS6にJava8とEclipse Marsの開発環境をつくる

CentOSにJava 8をインストール


Eclipse MarsがリリースされたのでCentOS6にJava環境を作りたいと思います。

環境:
$ cat /etc/redhat-release
CentOS release 6.6 (Final)

$ arch
i686

標準インストールでCentOSを作った人はJava 6と Java 7がすでに入っていると思います。
今回はそれにJava 8を加え開発環境であるEclipse Marsをインストールしたいと思います。

現在のJavaの確認

$ which java
/usr/bin/java

Javaのカレントバージョンの確認

$ java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (rhel-2.5.5.3.el6_6-i386 u79-b14)

$ javac -version
javac 1.6.0_35


OpenJDK 1.8はyumリポジトリにありますが、JavaFxが無いなど若干違うので今回はOracleの公式サイトからrpmパッケージをダウンロードします。
もしOpenJDK 1.8がある場合はぶつかってしまうのでアンインストールしてください。

$ sudo yum remove java-1.8.0-openjdk


JDK 8のダウンロード


Oracleのサイトからrpmをダウンロードします。
Accept License Agreementにチェックを入れ、64bitならLinux x64、32bitならLinux x86をダウンロードしましょう。

そしてパッケージのインストール

 # rpm -ivh jdk-8u45-linux-i586.rpm

で完了です。あっけないほど簡単ですね。
インストールするだけではカレントバージョンは変わらないのでalternativesコマンドでバージョンを変更します。

$ sudo alternatives --config java

4 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.7.0-openjdk/bin/java
   2           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
   3           /usr/java/jdk1.8.0_45/jre/bin/java
   4           /usr/lib/jvm/jre-1.5.0-gcj/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:3


同じ要領でjavacのバージョンも変更してください。
どちらも管理者権限を忘れずに。

$ sudo  alternatives --config javac


もう一度Javaのバージョン確認。

$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)

$ javac -version
javac 1.8.0_45

変更出来ていますね。

Eclipse Marsのダウンロード

Java環境が整ったら次は開発環境のEclipseの構築です。
Eclipseのサイトから自分の好きな開発環境を選んでください。
今回はJava EEを選びました。


Eclipseは解凍するだけです。

# tar xvzf eclipse-jee-mars-R-linux-gtk.tar.gz

解凍したものは好きな位置に配置します。
今回は/opt配下にeclipseディレクトリを作りました。いくつかのEclipseバージョンをインストールする予定ならバージョンの数字を入れてもいいかもしれません。

# mkdir /opt/eclipse
# mv  eclipse  /opt/eclipse/eclipse45

配置が完成したらeclipseが簡単に起動出来るようにリンクを貼りましょう。

# cd /usr/bin
# ln -s /opt/eclipse/eclipse45  eclipse

これでパスにリンクしたのでeclipse & で簡単に起動できます。

Gnomeアプリケーションへの登録

Gnomeデスクトップを使用している場合はEclipseをGnomeアプリケーションからも起動できるようにデスクトップに登録しましょう。
アプリケーションの登録はdesktopファイルを作るだけで登録できます。
デスクトップエントリファイルを作成し/usr/share/applications/ に配置するだけです。
書式はOracleのサイトに書いてあります。

$ vim eclipse45.desktop

[Desktop Entry]
Version=1.0
Name=Eclipse Mars
Comment=Eclipse Mars for Java EE
Exec=/opt/eclipse/eclipse4.5/eclipse
Icon=/opt/eclipse/eclipse4.5/icon.xpm
Terminal=false
Type=Application
Categories=Development;


間違っていなければデスクトップの「アプリケーション」→「プログラミング」に登録されているでしょう。

2015年7月10日金曜日

PHPのdateのdefalt timezone set Warnig

PHPでのDate Warning


PHP環境を構築してdate関係の関数を使うとこんなふうな警告を受けることが有ります。

 It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.

これは書いてあるとおり、date.timezoneの設定がされていないということです。システムから読み込んで使う時刻は安全でないので、php.iniに運用する場所のtimezoneを設定してください。

phpinfo()関数でphp.iniのパスとdate.timezoneが設定されているか確認して下さい。


; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
; date.timezone =

になっている部分を

; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Asia/Tokyo"

に変えてサーバーをrestart

反映されて警告が出なければ成功です。

CLIでもDate Warningが出る場合


CLIの呼び出すPHP環境が違うものを使っているかもしれません。
CLIの環境は以下のコマンドで確かめられます。

# php --ini

Loaded Configuration File:  というのがCLI版php.iniの場所です。




2015年7月2日木曜日

Atomのキーマップの重複

Atomのkeymap

Atomは便利なパッケージが多くあるのでパッケージをどんどん入れるとショートカットキーが効かなくなる場合があります。原因はキーマップの重複だったりします。

[ctrl-.]で現在どのショートカットキーが使われているか調べられます。
そしてSettingsのKeybindingsで目的のショートカットキーを打つと重複しているか調べられます。
コントロールキーは[ctrl]、シフトキーは[shift]、オルトキーは[alt]で同時押しをハイフンで繋ぎます。
たとえばコントロールキー+eなら[ctrl-E]と打ちます。
KeystrokeとSelectorが同じ場合は重複しており一つしか使われません。


キーマップが重複する場合はキーマップファイルを編集してみましょう。
Atomにはデフォルトのキーマップとパッケージごとのキーマップ、それにユーザーが自由に設定できるキーマップが存在します。
デフォルトはソースに書いてあるようなので基本的に編集はできません。*1
パッケージのキーマップはそれぞれのパッケージの設定ファイルにあるのでそれを編集すれば変更できます。ユーザーの設定ファイルはWindowsならC:\Users\ユーザ名\.atom\keymap.csonです。そこで既存のキーマップに対しオーバーライドで変更が可能です。

scon形式で書かれており、テキストエディタモードの[ctrl-e]を無効にしたいならunset!を書きます。

 'atom-text-editor':
     'ctrl-e': 'unset!'

基本的にはkeymap.sconを編集でオーバライドすれば良いですが、書式が良くわからない場合はパッケージごとのkeymapsファイルのショートカットキーを編集します。たとえば重複していらない場合はコメントアウトするだけで無効にできます。


場所はC:\Users\ユーザ名\.atom\packages\パッケージ名\keymapsの中。
ただ、パッケージごとのファイルを編集する場合は後で変更点が分かる様にしておいてください。

編集し終わったら再起動して反映されていれば成功です。

*1 デフォルトのキーを無効にしたい場合はabort!で出来る様です。




2015年7月1日水曜日

Atomのテーマ

AtomのTheme


自分が普段手にするテキストエディターでは機能、操作感など様々あると思いますが、その中でも見た目を重視する人も多いのではないでしょうか?

Atomはデフォルトの見た目もクールですが、さらに見やすくするためにテーマを変更するのが常識となっています。

Atomのテーマ変更はUIが素晴らしいためSettings画面から容易に変えられるように出来ています。[File]→[Settings]でテーマを変えてみましょう。


Themeのインストール



SettingsのInstallから好きなテーマを探します。どんなテーマがあるかは公式を見ればよいでしょう。

公式サイトではFeatured(おすすめ)、Trending(最近の流行り)、 Newest(最新の) Recently Updated(最新に更新された)と分けてエントリ-されています。Download数からも人気が推測されます。
自分が気に入ったものでいいと思いますが一つ一つ見るのが面倒なら人気の高いものを使ってみるといいでしょう。

2種類のテーマ



Atomは大きくUI Theme とSyntax Themeの2種類のテーマがあります。それぞれエディタ全体の見た目と文字色など構文のテーマと分かれています。今回は人気のUIにあるSeti UIをSyntaxにMonokaiを入れてみます。


Setiはファイルに応じてアイコンが示されるので分かりやすく人気です。Monokaiは目にやさしいダーク系の配色に見やすい色分けで有名です。どちらもSublime Textから人気でしたね。

Installしたテーマはセレクトメニューで変更出来、その場で変わるので色々変更してみてしっくり来るものに変えてみてください。