[IDE] Eclipse 4.7(OXYGEN)のインストール手順と日本語化

Aptanaのアップデートが止まっている!
新しいIDEを探そう!

私は以前からAptana(Aptana Studio 3)を愛用しているのですが、2014年頃から新しいバージョンがリリースされず。

このまま使い続けるのもいいのですが、他のIDE(統合開発環境)を模索しても良い頃かと思い、AptanaのベースともなっているEclipseをインストールしてみました。

2017年の6月末にEclipseのバージョン4.7(コードネームをOXYGEN(酸素))がリリースされており変わらず活発にアップデートがされているようです。

今回はWindows 10(64bit)でEclipseをインストールする手順をまとめてみました。

日本語化についても簡単に触れていますが不足部分はググってくださいませ。

ダウンロード

公式サイトのダウンロードページへアクセス

https://www.eclipse.org/downloads/

ダウンロードボタンをクリック。

もう一度ダウンロードボタンをクリック

ダウンロードが開始される。

 

お金に余裕のある方は、ダウンロード中の画面に表示される寄付を検討してみてくださいませ。

インストール

ダウンロードしてきた、「eclipse-inst-win64.exe」をダブルクリックしてインストール操作を行います。

Eclipse IDE for JavaScript and Web Developersを選択

Eclipse IDE for JavaScript and Web Developersを選択

インストールパスを指定

インストールパスを指定

利用規約に同意

よく内容を読み、Accept Nowをクリック。

利用規約に同意

インストール完了まで待つ

Eclipseのインストール中

インストール完了したらEclipseを起動

インストール完了 Eclipseの起動

おおぉ!Eclipse!

Eclipseのスプライト画面

ワークスペースディレクトリを指定

ワークスペースを指定

Eclipseが無事に起動しました

Eclipse無事に起動

日本語化

Eclipseの日本語化といえば、Pleiades (プレアデス)。

公式サイトよりPleiadesのプラグインをダウンロード

Pleiades – Eclipse プラグイン日本語化プラグイン
http://mergedoc.osdn.jp/

Eclipseの日本語化

日本語化の設定

詳しくはreadme_pleiades.txtを参照ください。

readme_pleiades.txtより、設定方法部分だけ以下に抜粋します。

1. pleiades_x.x.x.zip を解凍し、plugins、features ディレクトリーを <ECLIPSE_HOME> ディレクトリーに
コピー。(<ECLIPSE_HOME> は Eclipse デフォルトの plugins や features があるディレクトリー)

2. eclipse.ini の最終行に以下の 2 行を追加。Xverify は Eclipse 4.4 以降で必須で、これを指定しないと
起動できなかったり、一部の機能が正常に動作しない可能性があります。
Windows 以外の場合は後述の Eclipse 起動オプション参照してください。

-Xverify:none
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

3. Pleiades スプラッシュ画像を使う場合は
eclipse.ini の -showsplash org.eclipse.platform (実際は 2 行) を削除。

最低限1と2だけ行えばEclipseが日本語化されます。

まとめ

以前Javaでプログラムをしていた頃と比べるとロゴがおしゃれになっていたり、Eclipse Marketplace が出来ていたりと色々なアップデートが加えられているようです。

Eclipseを試してみつつ、IDE探しの旅引き続き行ってまいります。



【PHP】営業日カレンダー表示用PHPクラスを作ってみた

営業日カレンダー

営業日カレンダーを作ることになりそうだったのでサンプルを作ってみた。

まだまだ改善の余地はある。ってか動かなかったらごめんなさい。

ソースコード

Gistに上げました。

好きに使ってください(MITライセンス)。

動作するかどうかは保証しません、動作によって色んなことが起きても自己責任でどうぞ。


<?php
class business_calendar {
const WEEK = 7; // 1 week is 7 days
// holiday_of_week flag index
const IDX_SUNDAY = 0;
const IDX_MONDAY = 1;
const IDX_TUESDAY = 2;
const IDX_WEDNESDAY = 3;
const IDX_THURSDAY = 4;
const IDX_FRIDAY = 5;
const IDX_SATURDAY = 6;
protected $year = "";
protected $month = "";
protected $calendar = array();
protected $holiday_of_week = array();
protected $exception_holidays = array();
protected $exception_business_days = array();
function __construct($year, $month) {
$this->year = $year;
$this->month = $month;
$this->set_holiday_of_week();
$this->clear_exception_holidays();
$this->clear_exception_business_days();
}
function __destruct() {
}
/**
* 毎週の曜日休みを設定する
*/
public function set_holiday_of_week($sunday = false , $monday = false , $tuesday = false , $wednesday = false , $thursday = false , $friday = false , $saturday = false ) {
$holiday_of_week = array();
$holiday_of_week[self::IDX_SUNDAY] = $sunday;
$holiday_of_week[self::IDX_MONDAY] = $monday;
$holiday_of_week[self::IDX_TUESDAY] = $tuesday;
$holiday_of_week[self::IDX_WEDNESDAY] = $wednesday;
$holiday_of_week[self::IDX_THURSDAY] = $thursday;
$holiday_of_week[self::IDX_FRIDAY] = $friday;
$holiday_of_week[self::IDX_SATURDAY] = $saturday;
$this->holiday_of_week = $holiday_of_week;
}
/**
* 休日・稼働日の定義をクリアする
*/
protected function clear_days(&$array_target) {
$array_target = array();
}
public function clear_exception_holidays() {
$this->clear_days($this->exception_holidays);
}
public function clear_exception_business_days() {
$this->clear_days($this->exception_business_days);
}
/**
* 休日・稼働日の定義を追加する
*/
protected function add_day($year,$month,$day,&$array_target) {
$date = date('Ymd', mktime(0,0,0,$month,$day,$year));
if(!in_array($date,$array_target)) {
$array_target[] = $date;
}
}
public function add_exception_holiday($year,$month,$day) {
$this->add_day($year, $month, $day, $this->exception_holidays);
}
public function add_exception_business_day($year,$month,$day) {
$this->add_day($year, $month, $day, $this->exception_business_days);
}
/**
* 休日・稼働日の定義を削除する
*/
protected function remove_day($year,$month,$day,&$array_target) {
$date = date('Ymd', mktime(0,0,0,$month,$day,$year));
$key = array_search($date,$array_target);
if( $key !== false ) {
array_splice($array_target, $key+1, 1);
}
}
public function remove_exception_holidays($year,$month,$day) {
$this->remove_day($year, $month, $day, $this->exception_holidays);
}
public function remove_exception_business_days($year,$month,$day) {
$this->remove_day($year, $month, $day, $this->exception_business_days);
}
/**
* 稼働日チェック
*/
protected function is_businesday_day($day) {
$time = mktime(0,0,0,$this->month,$day,$this->year);
$week_day = (int)date("w",$time);
$date = date("Ymd",$time);
if( in_array( $date, $this->exception_business_days ) ) {
return true;
}
if( in_array( $date, $this->exception_holidays ) ) {
return true;
}
if( isset($this->holiday_of_week[$week_day]) && $this->holiday_of_week[$week_day]) {
return false;
}
return true;
}
/**
* 休日チェック
*/
protected function is_holiday($day) {
$time = mktime(0,0,0,$this->month,$day,$this->year);
$week_day = (int)date("w",$time);
$date = date("Ymd",$time);
if( in_array( $date, $this->exception_business_days ) ) {
return false;
}
if( in_array( $date, $this->exception_holidays ) ) {
return true;
}
if( isset($this->holiday_of_week[$week_day]) && $this->holiday_of_week[$week_day]) {
return true;
}
return false;
}
/**
* カレンダーの値を計算
*/
protected function calc_calendar() {
$first_day = mktime(0,0,0,$this->month,1,$this->year);
$start_offset = (int)date("w",$first_day);
$month_days = (int)date("t",$first_day);
$calendar = array();
$day = 1;
while($day < $month_days):
$row = array();
for($i = 0; $i < self::WEEK; $i++) {
if( ( $day == 1 && $i < $start_offset ) || $day > $month_days) {
$row[] = array("day" => "", "is_holiday" => false);
continue;
}
$holiday_flag = $this->is_holiday($day);
$date = date("Y年m月d日", mktime(0,0,0,$this->month,$day,$this->year));
$day_data = array(
"day" => $day,
"is_holiday" => $holiday_flag,
"value" => $date
);
$row[] = $day_data;
$day++;
}
$calendar[] = $row;
endwhile;
// var_dump($calendar);
$this->calendar = $calendar;
}
/**
* カレンダー出力
*/
public function render() {
$this->calc_calendar();
echo $this->get_table_header();
echo $this->get_table_body();
echo $this->get_table_footer();
}
protected function get_table_header() {
$date = date("Y年m月", mktime(0,0,0,$this->month,1,$this->year));
$html = '<table class="calendar">
<caption>' . $date . '</caption>
<thead>
<tr>
<th class="calendar-day-sunday">日</th>
<th class="calendar-day-monday">月</th>
<th class="calendar-day-tuesday">火</th>
<th class="calendar-day-wednesday">水</th>
<th class="calendar-day-thursday">木</th>
<th class="calendar-day-friday">金</th>
<th class="calendar-day-saturday">土</th>
</tr>
</thead>
<tbody>';
return $html;
}
protected function get_table_body() {
$html = "";
foreach ($this->calendar as $row ) {
$html .= "<tr>";
foreach ($row as $day) {
$html .= $this->get_table_cell($day);
}
$html .= "</tr>";
}
return $html;
}
protected function get_table_cell($day) {
if(empty($day["day"])) {
return "<td class='calendar-cell-empty'></td>";
}
$html = "";
$td_class = 'calendar-cell';
$td_class .= $day["is_holiday"] ? ' calendar-cell-holiday ' : ' calendar-cell-business-day ';
$html .= "<td class='{$td_class}'>";
$html .= '<div>' . $day["day"] . '</div>';
if( $day["is_holiday"] ) {
// 休日
$html .= "休";
} else {
// 営業日
$html .= "営業";
}
$html .= "</td>";
return $html;
}
protected function get_table_footer() {
return '</tbody>
</table>';
}
}

ライセンス

MIT license

使い方

ソースコードをダウンロードしてインクルード頂いた後、こんな感じで使って頂ければと思います。

まとめ

プログラム作るの面白かった。

仕事では未だ使っていないので、動かなかったらごめんなさい。



CodeIgniter 3入門(インストールから設定まで)

CodeIgniterのことを勉強したのでメモ。日本語サイトにCodeIgniter Ver.2のユーザガイドがあったのですがCodeIgniter Ver.3のユーザガイドの日本語版が無く、辞書とにらめっこしながら進めました。

間違い等あればご指摘くださいませ。

これからCodeIgniterを学ぶ方のお役に立てれば幸いです。

2016年2月23日追記
kenjis様より日本語ユーザガイドのURLをコメント頂きました。
現在翻訳中とのことです。ありがとうございます。

日本語ユーザガイド
http://codeigniter-jp.github.io/user_guide_src_ja/

2017/01/26 URLが変更されていました。以下が日本語ユーザガイドになります。

http://codeigniter.jp/user_guide/3/

CodeIgniterとは

PHP言語のフレームワークです。

フレームワークとはよく使う処理のお道具箱みたいなもので、フレームワークを使うことによりプログラムの開発効率を上げることができます。

CodeIgniterの読み方

ウィキペディアによると、「コードイグナイター」と読むそうです。なるほど。

CodeIgniter 3の動作要件

CodeIgniter 3を動作させるにはPHP version 5.4 以上が必要です。

以下のデータベース(バージョン)に対応しています。

  • MySQL (5.1+) via the mysql (deprecated), mysqli and pdo drivers
  • Oracle via the oci8 and pdo drivers
  • PostgreSQL via the postgre and pdo drivers
  • MS SQL via the mssql, sqlsrv (version 2005 and above only) and pdo drivers
  • SQLite via the sqlite (version 2), sqlite3 (version 3) and pdo drivers
  • CUBRID via the cubrid and pdo drivers
  • Interbase/Firebird via the ibase and pdo drivers
  • ODBC via the odbc and pdo drivers (you should know that ODBC is actually an abstraction layer)

参照
http://www.codeigniter.com/user_guide/general/requirements.html

CodeIgniter 3のライセンス

MITライセンスです。

The MIT License (MIT)

参照
http://www.codeigniter.com/user_guide/license.html

ちなみに、CodeIgniter 3.0からMITライセンスになったようで、2.xまでは独自のCodeIgniterライセンスというライセンスを採用していたようです。

 

CodeIgniter 3のインストール

CodeIgniterのダウンロード

CodeIgniterの公式サイトからダウンロードしましょう!執筆時、Version 3.0.4が最新バージョンでした。

https://codeigniter.com/

キャプチャ.JPG
公式サイトトップページのDownloadからCodeIgniter Version 3をダウンロード

アーカイブを展開

ダウンロードしたアーカイブを展開します。

ファイルをアップロード

「展開したファイルをサーバ上にアップロードします。」とサラッとCodeIgniterの公式に書いてあるのですが、以下の画面キャプチャで選択してあるファイルだけで問題ないかと思います。

キャプチャ.JPG
application sysytem index.php license.txt のみのアップロードで大丈夫っぽい

CodeIgniter 3の設定

基本設定ファイル(config.php)を編集する

application/config/config.php

を開き”base_url”の設定をします。

$config[‘base_url’] = ‘http://example.com/’;

基本設定ファイル(config.php)を忘れずにサーバにアップロードしましょう!

とりあえず表示確認してみよう

ブラウザで、サイトを表示してみましょう!以下のように表示されていれば設置成功です。

無題.png

データベース設定ファイル(database.php)を編集する

設置が確認できたら更に設定を行っていきます。データベース使わない場合などはこの項目の作業は不要かと思います。

application/config/database.php

を開き以下を変更します。

全ての設定が必要というわけではなく、必要な部分だけ設定します。

設定する主な項目

hostname: データベースサーバのホスト名
username: データベースのユーザ名
password: データベースのパスワード
database: データベース名
dbdriver:データベースのタイプ(mysqli(MySQLの場合), postgre(PostgreSQLの場合))

参考
http://www.codeigniter.com/user_guide/database/configuration.html

.htaccess を設定する

CodeIgniterの初期設定では、以下のように index.php が含まれたURL構造になってしまいます。

これを回避するために.htaccessファイルを作成して以下のように記述します。

作成した.htaccessファイルは忘れずにサーバにアップロードしましょう。license.txtと同じ位置に置くと良いでしょう!

参考
http://www.codeigniter.com/user_guide/general/urls.html#removing-the-index-php-file

感想

いろんなフレームワークがありますが、かなり簡単に設置出来るのがGood!

(2.x系は豊富だけど)日本語のドキュメントが少ないのでGoogle翻訳を駆使して理解していく必要がありそうです。