Eclipse インストール方法~windowsとUbuntsuへのインストール~

Eclipseのインストール

プログラミングを行うのに、次の作業を助けてくれるツールがあります。

  1. プログラムコードを書く
  2. プログラムを動かす
  3. プログラムをテスト

このようなツールのことを「IDE」と呼びます。日本語では「開発ツール」です。※これもいろんな呼び方があります。。。

その中でよく使用されている「Eclipse」というツールを紹介したいと思います。

Linuxへのインストールはこちらです。

Windows端末へのEclipseインストール方法

Widnowsを使用して、開発ツールのEclipseをインストールします。

1.Eclipseのインストールページ(MergiDocProject)へ移動し「最新版」の部分をクリックします。下の画面では一番左上のものがそうでした。

2.下の赤枠で囲んだものを選択してやるとあまり重くないスタンダードなものがダウンロードできます。これにプラグインなどをたくさん追加するとめちゃくちゃ重いのですが、最近の(PentiamⅢ以降)のものはサクサク動くと思います。。。環境に依存するので何とも言い難し。。。

上の赤い部分をクリックすると下のような画面が表示され、対象のファイルをダウンロード開始しました。大体5分位かかりました。(ネットワークのスピードなども影響するのでおおざっぱなアタリ程度に】

そして、ダウンロードしたものをC:\フォルダ 直下に解凍します。

そして、Eclipse.exeを起動(ダブルクリック)すると起動できます。EXEファイルは「C:\pleiades\eclipse」の位置にあるのでそいつを起動します。

そして、うまく動かないときは多少時間がたってからですが、下のようなログが出力されます。

一番上の部分を見てください「java was started but returned exit code = 13」と書いてありました。なのでこいつをコピーしてググります。そしてたらこちらのページが引っ掛かったので見てみるとJDKのインストールとかの記載があります。

まとめると「JDKを起動できないよ」というエラーでした。なのでJDKを起動できるように設定します。

Eclipse.ini:設定ファイル

動かないときは、下の位置にある「Eclipse.ini」ファイルを開いてみてください。Windowsの設定によっては拡張子が表示されません。

ちなみに「フォルダオプションで拡張子を表示する設定を行うと拡張子が見れます。

そしてここにはEclipseを起動するときの設定が記載されています。

不足分を追加してやると動きます。上にあげたケース(自分の場合)はJDKはあるけどそれが「Eclipseにあっていないよ」というエラーメッセージでした。

なので、使用できるJDKを使用してEclipseを動かします。

結論

eclipse.iniに下のような設定を行います。

-vm
C:\jdk1.8.0_45_glassfish\bin\java.exe

上が実行結果です。

Linuxにインストール

こちらのサイトからダウンロードします。
1.javaのインストール確認

java -version

このコマンドをたたき確認します。下のものはWindowsで実行していますが、こんな感じでバージョンの確認ができます。

  1. Eclipseファイルのダウンロード
    こちらのページからダウンロードします。

  2. ダウンロードしたファイルを展開する
    下のコマンドを叩きます。

    tar -xvf eclipse-inst-jre-linux64.tar.gz eclipse-installer
  3. インストーラーを起動します
    同様にコマンドを叩きます。まずは、ディレクトリを移動します。

    cd eclipse-installer/

    次はインストーラーの起動を行います。

    ./eclipse-inst

    下のような画面が出るので必要なものをクリックします。

    今回は、Javaのみを選びたいので上のものを選択します。

JavaFXを使うとき

画面作成ができるJavaFXを使うのもお勧めいたします。下のような感じです。

でわでわ。。。

 

Java DB 起動〜Derbyの起動〜

イントロダクション

JavaDB、Derbyの起動について記載します。DerbyはJDK=Javaをインストールしたら一緒についてきます。JDKつまり下のキャプチャになります。

Java(JDK)のインストール先から「db」と言うフォルダがあればインストール済みと言うことです。

Java DB

Java DBはその名の通り、Java製のデータベースです。MySQL(MongoDB), PostgreSQL, GraphDBなどたくさんのDBサーバー・アプリがありますが。
このJavaDBは、埋め込み式とMySQLのようなサーバー式(筆者が勝手によんでいる呼称)の二つで起動することができます。

つまり、埋め込んでもよいし、サーバーとして起動してもよい。ということです。

埋め込み式とは

俗に言うエンベデット(embedded)という形で実行するということなのですが、実装してみた感触では、サーバーの時と変わらないです。
実行する環境として、サーバー(別プロセスで実行する)のか、同じプロセスで実行するのか?ぐらいの違いです。

主に、ARMなどの小さい基盤(マザーボード)を使用して動くPC、例えばスマホ、のアプリケーションで使用することが多いです。
サーバータイプのDBでは、スマホなどの外、つまりは、インターネット経由での通信を行ってデータのやり取りをします。

まとめると、エンベデットは軽いのです。

サーバー式とは※一般的でない言い方です。

サーバー式と呼んでおりますが、一般的ではない呼び方です。つまりはDBサーバーのことを指して読んでおります。
「埋め込み」に対して「サーバー」ということでこのように呼んだ次第です。筆者が勝手につけた呼び名ですのでご注意ください。

MySQLやPostgreなどのデータベース、もちろんOracleもサーバーとして動かすものの情報が、主流になっているようです。
「情報」といったのは、ネットの記事などでは、埋め込みのものより、サーバーの方が目に付くので「情報が主流」というような記述をしました。

つまり、ウェブブラウザでアクセスしてSQLを発行、データのCRUDを行う。もしくは、プログラムからリクエスト(SQLを含む)を受け取ってそれに対してCRUDを行うのがサーバー式。

埋め込み式は、後者のみ。という単純な分け方です。深く考えない方が良いと思います。

つまり

  • サーバー式は、ブラウザとプログラムの両方で扱うことができる。
  • 埋め込み式は、プログラムで扱うことができる。
    ということです。

大切なのは、使用する環境はどちらのタイプが適当か?というのと判断することです。

起動するためにどうやるのか?

起動するのには大まかに2つのタイプがあります

  1. サーバータイプ:「ij」コマンドでDerbyを起動して、それにアクセス
  2. Embedタイプ:システムプロパティに起動する場所を設定して起動する

今回は2の「Embed」タイプの起動を行います。

  1. Derbyを起動する場所を指定する
  2. エンコード指定をする

<実際のコード>

String url = "jdbc:derby:/Users/takk/eclipse-workspace/AutoBlogPoster/db;create=true";
try {
        // システムのホーム=>Derbyを起動する場所
    System.setProperty("derby.system.home", "/Users/takk/eclipse-workspace/AutoBlogPoster/");
        // エンコードの指定
    System.setProperty("derby.ui.codeset", "UTF8");
        // 指定した場所で起動するDBのコネクションを取得する
    con = DriverManager.getConnection(url);
        // オートコミットする設定
    con.setAutoCommit(true);
        // SQLを実行するためのオブジェクト
    stm = con.createStatement();
        // SQL文
    String isTable = "select * from BUNSETSU_MST";
        // SQLの実行と実行結果取得
    ResultSet rs = stm.executeQuery(isTable);
    while(rs.next()) {
        String st = rs.getString(1);
        System.out.println(st);
    }
} catch(SQLException e) {
    e.printStackTrace();
} finally {
    try {
                // SQLを実行するオブジェクトを閉じる
        stm.close();
                // コネクションを閉じる
        con.close();
                // オブジェクトの解放(メモリ解放)
        stm = null;
                // 同上
        con = null;
    } catch(SQLException e) {
        e.printStackTrace();
    }

}


[rakuten ids="kashou-hanamizuki:10000020"]

[rakuten ids="a-price:10460378"]

TensorFlow Java 環境構築〜JavaでもTensorFlow〜

イントロダクション

前回まではPythonでのTensorFlowのチュートリアルを一通り(Text Classificationまで)やりました。

  1. Python Tensorflow 〜初めての人工知能〜
  2. Tensorflow Keras〜初めのトレーニング_1〜
  3. Tensorflow Keras〜初めのトレーニング_2:前処理〜
  4. TensorFlow Keras〜テキストの分類〜
  5. TensorFlow Keras〜回帰、準備から予測まで〜

今回はJavaで、もう少し深掘りしてみようと思います。参考サイトはこちら

Javaでの環境構築

eclipseでMavenプロジェクトを作成します。(シンプルプロジェクトでもWebProjectでも大丈夫)。そして、POMファイルを編集します。参考サイトの記載を追加してMavenインストールを行うだけです。

サンプルとして、既存のプロジェクトですが以下のようになっています、POMファイルがある状態でMavenプロジェクトになっていればOKです。

<元のPOMファイル>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>zenryokuservice</groupId>
  <artifactId>gui.mtm</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>gui.mtm</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
         <groupId>org.joml</groupId>
         <artifactId>joml</artifactId >
         <version>1.9.6</version >
    </dependency>
    <dependency>
         <groupId>org.l33tlabs.twl</groupId>
         <artifactId>pngdecoder</artifactId>
         <version>1.0</version>
   </dependency>
  </dependencies>
</project>

<変更後POMファイル>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>zenryokuservice</groupId>
  <artifactId>gui.mtm</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>gui.mtm</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
         <groupId>org.joml</groupId>
         <artifactId>joml</artifactId >
         <version>1.9.6</version >
    </dependency>
    <dependency>
         <groupId>org.l33tlabs.twl</groupId>
         <artifactId>pngdecoder</artifactId>
         <version>1.0</version>
   </dependency>
   <!-- TensorFlow -->
   <dependency>
     <groupId>org.tensorflow</groupId>
      <artifactId>tensorflow</artifactId>
      <version>1.12.0</version>
     </dependency>
 </dependencies>
</project>

太字の部分を追記しました。

一番しから3行文がTensorFlowのライブラリです。

この状態でサンプルコードを実行するとエラリます。。。

Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot find TensorFlow native library for OS: darwin, architecture: x86_64. See https://github.com/tensorflow/tensorflow/tree/master/tensorflow/java/README.md for possible solutions (such as building the library from source). Additional information on attempts to find the native library can be obtained by adding org.tensorflow.NativeLibrary.DEBUG=1 to the system properties of the JVM.
at org.tensorflow.NativeLibrary.load(NativeLibrary.java:77)
at org.tensorflow.TensorFlow.init(TensorFlow.java:66)
at org.tensorflow.TensorFlow.<clinit>(TensorFlow.java:70)
at org.tensorflow.Graph.<clinit>(Graph.java:361)
at zenryoku.servise.app.autoblog.AutoBlogPoster.helloTensorflow(AutoBlogPoster.java:225)
at zenryoku.servise.app.autoblog.AutoBlogPoster.main(AutoBlogPoster.java:258)

ネイティブライブラリが足りないようです。参考サイトよりネイティブライブラリをダウンロードします。自分の端末はMacなのでmacのものを選択します。

そして解凍します。ここのフォルダをネイティブライブラリのパスとして登録します。

そして、プロジェクトのプロパティを開き以下のようにネイティブライブラリのパスを設定します。Java Build Path -> Native Library Location -> Edit

そして実行すると以下のようにバージョン番号が出力されます。

とりあえずはこれでTensorFlow in Java が起動できます。

[rakuten ids="onetrust:10012931"]

 


Git 作成 プッシュ〜コマンドでの新規登録 ワンポイントレッスン〜

イントロダクション

コマンドでのリポジトリ登録です、GUIよりも簡単にできます。

コマンドでのリポジトリ登録

Gitでリポジトリを作成すると下のような画面が見れます。

ここのコマンドを順番に入力するだけです。


ローカルにgitリポジトリを作成する

# リポジトリのディレクトリ(フォルダ)作成
mkdir ripositoryName
# 移動
cd ./ripositoryName
# gitの初期化
git init

リポジトリに登録するファイルを追加

git add sakuseiFile

ちなみに上の画面では「README」ファイルをコマンドで作成しています。

※ehco "XXXX" > README.md -> 「XXXX」がファイルの中に書き込まれます。

リモートリポジトリの登録

git remote add origin https://github.com/ZenryokuService/tensorflow.git

プッシュ

git push -u origin master

お疲れ様でした。

[rakuten ids="e-rdc:10000403"]

Java BlueJ 〜インストール〜

BlueJ

よりJavaを身近にコーディングできるであろうIDEがありました。

上のリンクからダウンロードできます。

そして、Macの場合は、ダウンロード後にファイルを解凍してファイルをダブルクリックします。

<ダウンロード後>

Zipファイルが解凍されて、フォルダになっています。

<起動ファイル>

「BlueJ」というファイル名です、これをダブルクリックで起動します。

プログラムを作成するときは、左上のメニューから新規作成をクリックします。

とりあえず、クラスを作成した段階で基本的なコードが出力されているので参考になると思います。