へっぽこ技術ブログです

Javaの開発環境構築手順 その2

この記事は以下のAdvent Calendarに向けた記事です。

adventar.org

 

昨日の記事は の、Windows10使ってる情報系1年生向け「Javaの開発環境構築手順 その1」でした。お目汚し申し訳ない。

 

さて本日もタイトル通り「Javaの開発環境構築手順」について記します。ただし前回と違って「コマンドラインでのコンパイル」をする環境の構築になります。

 その1 --- 統合開発環境を使ってバリバリ(当社比)とプログラミング

 その2 --- コマンドライン実行の環境を使って資格(Oracle Javaプログラマ)対策

って感じです。

 

では始まり〜

1. JDKJava Development Kit)をインストール

 JDKJavaの開発環境(Development Kit)です。開発環境としてはざっくり、GUI等を使ったクライアントアプリ作成向けのJave SE(Standard Edition)、Webサービス開発向けのJava EE(Enterprise Edition)、組込みシステムなど向けのJava ME(Micro Edition)など様々なエディションがありますが、ここではJava SE のJDKをダウンロードしてインストールしましょう。

 

 Java SEのJDKは以下のページからダウンロードできます。

Java SE - Downloads | Oracle Technology Network | Oracle

 

 上記のページからは様々なバージョンのJDK等がダウンロードできますが、今ならバージョン8(Java SE 8なんとか)を使うのがまあいいんじゃないでしょうか。たぶん。

 というわけで以下のリンクボタン(Java SE 8u151 / 8u152 の JDK)をクリックしてください。

f:id:Hiesuke:20171107161207p:plain

 

続いてライセンスに同意するため、以下の箇所をクリックしてください。

f:id:Hiesuke:20171107171749p:plain

 

さらに、以下のリンクをクリックしてダウンロードしましょう。みなさんの使っているWindowsは64bit版なので「jdk-8なんとか-windows-X64.exe」になります。(X64ってところがポイント。ぺけ64ってね)

f:id:Hiesuke:20171107172116p:plain

 

ダウンロードしたファイルを実行しましょう。これでJDKのインストールは終了です。

  

2. 環境変数の設定

 デフォルトではJDKが「C:¥Program Files¥java¥jdk1.8.0_151」というフォルダにインストールされます。このフォルダをJAVA_HOMEフォルダ(またはJAVA_HOMEディレクトリ)と呼びます。そしてそのフォルダの下にあるbinフォルダに、Java言語のコンパイルなどを行う命令の実行ファイルが格納されています。

 実行ファイルがどこにあるかをOSが知るために、環境変数PATHというものにこのbinフォルダの場所を設定しておく必要があります。

 コルタナさんに「コントロールパネル」と入力すると以下のようにコントロールパネルが提示されますので選択しましょう。

f:id:Hiesuke:20171110112724p:plain

 

 続いて、表示されたコントロールパネル項目の中から「システム」を選んで開くと以下のウインドウが表示されるので、左にある「システム詳細設定」を選びます。

f:id:Hiesuke:20171110113113p:plain

 

 システムのプロパティが表示されるので、「環境変数」を押します。

f:id:Hiesuke:20171110113339p:plain

 

 システム環境変数の欄にある「Path」を選んで「編集」ボタンを押します。

f:id:Hiesuke:20171110113607p:plain

 

 「新規」ボタンを押して、新しく「C:¥Program Files¥Java¥jdk1.8.0_151¥bin」のように入力して「OK」ボタンを押します。入力する文字列を間違えると動作しませんので注意してください。

f:id:Hiesuke:20171110113853p:plain

 

「OK」ボタンや「×」ボタンを押して全てのウインドウを閉じます。

 

3. コマンドライン操作でJavaコンパイル&実行

 コマンドライン操作するウインドウ(アプリケーション)を開きます。

 コルタナさんに「cmd」と入力してEnterキーを押します。以下のようなウインドウ(コマンドプロンプト)が表示されます。 ※細かな文字の違いは気にしない!

f:id:Hiesuke:20171110114429p:plain

 

 Javaのプログラムを保存するフォルダを作成します。 ※これは一度だけの操作でOK

 コマンドプロンプト上で「mkdir javasrc」と入力してEnterキーを押します。

f:id:Hiesuke:20171110114645p:plain

 

 フォルダ移動ってのをします。

 「cd javasrc」と入力してEnterキーを押します。

f:id:Hiesuke:20171110114817p:plain

 

 フォルダをWindows(のエクスプローラー)で表示します。

  「start .」と入力してEnterキーを押します。(ドット「.」を忘れずに)

 

 エクスプローラーで表示された(開いた)フォルダ上に「Hello.java」という名前でファイルを作成します。 ※みなさん、当然ながら『拡張子を表示する』設定になってますね?

 

 Hello.java の中に以下のプログラムコードを記述しましょう。いわゆる「はろーわ〜るど」ですね。

        public class Hello {

            public static void main(String[] args) {

                System.out.println("Hello World!");

            }

        }

 

  入力できたら「コンパイル」をします。コマンドライン

  javac Hello.java

 と入力してEnterキーを押します。

 

 打ち間違いがなければ何もメッセージがなく完了し、Hello.classというファイルが新規に作成されます。打ち間違いなどがあった場合はエラーメッセージが表示されますのでよく読んで該当箇所を修正しましょう。エラーメッセージは基本的に英語ですが、毛嫌いせずに読んでください。細かい意味までわからなくてもなんとかなるものです(読まないと何ともなりません)。

 

 続いて「実行」を行います。コマンドライン

  java Hello

 と入力してEnterキーを押します。

 

 コマンドラインの画面上に Hello World! と表示されたら成功です。これでコマンドラインを使っての、Javaプログラムの作成〜コンパイル〜実行までができました。

 

 

 普通に開発するなら IDE統合開発環境IntelliJ IDEAとかEclipseとか)を使って開発した方が良いです。何でこんな不便な コマンドラインを使ってのJava開発 を説明したのでしょうか?続きは明日。

 

 

 

 

 

 

 

 

※最後の部分、記述がだいぶ手抜きになってることはご容赦ください。そのうち書き直そう(と心に秘めておこう)

 

 

 

 

Javaの開発環境構築手順 その1

この記事は以下のAdvent Calendarに向けた記事です。

adventar.org

 

昨日の記事は ichimura1231 さんの「electronを使ってデスクトップにキャラクターを走らせてみた2」でした。electron、面白そうですね。ちょっとやってみようかな。

 

さて本日はタイトル通り「Javaの開発環境構築手順」について記します。

ぶっちゃけ開発環境の作り方なんて巷のブログに山ほどある(そして僕も参考にさせていただいている)ので新規性なんて何もないのですが、1年生の授業中(≠プログラミングの授業)に『Javaって開発環境を作るのが大変(だから手をつけてない)なんだよなー!』なんて声が漏れ聞こえて来たので、『だったら1年生の持ってるPCで環境作りできるカンタンな手順を記事にしたらやらない理由が無くなるよね(は〜と)』という優しい心がこの記事を書く動機になったのでした。

 よって、この記事の賞味期限は短いです。いま環境構築して次の年末年始にアプリ開発に取り組みたい人だけをターゲットにしていますからね!

 

それでは1年生のみなさん、PC*1の用意はよろしいでしょうか?

 

1. JDKJava Development Kit)をインストール

 JDKJavaの開発環境(Development Kit)です。開発環境としてはざっくり、GUI等を使ったクライアントアプリ作成向けのJave SE(Standard Edition)、Webサービス開発向けのJava EE(Enterprise Edition)、組込みシステムなど向けのJava ME(Micro Edition)など様々なエディションがありますが、ここではJava SE のJDKをダウンロードしてインストールしましょう。

 

 Java SEのJDKは以下のページからダウンロードできます。

Java SE - Downloads | Oracle Technology Network | Oracle

 

 上記のページからは様々なバージョンのJDK等がダウンロードできますが、今ならバージョン8(Java SE 8なんとか)を使うのがまあいいんじゃないでしょうか。たぶん。

 というわけで以下のリンクボタン(Java SE 8u151 / 8u152 の JDK)をクリックしてください。

f:id:Hiesuke:20171107161207p:plain

 

続いてライセンスに同意するため、以下の箇所をクリックしてください。

f:id:Hiesuke:20171107171749p:plain

 

さらに、以下のリンクをクリックしてダウンロードしましょう。みなさんの使っているWindowsは64bit版なので「jdk-8なんとか-windows-X64.exe」になります。(X64ってところがポイント。ぺけ64ってね)

f:id:Hiesuke:20171107172116p:plain

 

ダウンロードしたファイルを実行しましょう。これでJDKのインストールは終了です。

 

2. IntelliJ IDEAをインストール

 続いて統合開発環境である IntelliJ IDEAをインストールします。統合開発環境は、開発作業を色々とサポートしてくれるツールです。今時の開発でなんらかの統合開発環境を用いないというのはアリエマセン(すっごく凄い人は別として)。

 以下のJetBrain社(IntelliJ IDEAの開発元)のサイトにアクセスします。

www.jetbrains.com

 

 IntelliJ IDEAのバージョンとして「Community」版を選んでダウンロードしましょう。

Community版は皆さんのような学生の個人開発者なら無料で使い続けることができます。お仕事で使うならぜひぜひ商用のUltimate版を購入してください。

 この記事を書いてる現在なら「idealC-2017.2.5.exe」というファイルがダウンロードできます。ダウンロード完了したら実行してインストールを行いましょう。

 

3. IntelliJ IDEAの設定

 続いてJavaプログラミング用にIntelliJ IDEAの設定をします。

 スタートメニューからIntelliJ IDEAを起動して以下の画面まで進めて「Create New Project(新規プロジェクト作成)」のボタンを押します。

f:id:Hiesuke:20171109101058p:plain

 

 続いて出てきたダイアログで「New...」のボタンを押します。

f:id:Hiesuke:20171109101411p:plain

 

 使用するJDKの場所を聞かれるので、「C:¥」の「Program Files」の「Java」の下(中)にある「jdk1.8.0_151」を選んで、「OK」ボタンを押します。

f:id:Hiesuke:20171109101954p:plain

 

 続いて「Next」ボタン、「Next」ボタン、「Finish」ボタンと押してください。

デフォルトのuntitledという名前でプロジェクト(Java プログラムや画像などで構成するアプリ作成の単位)が作成されます。もちろんプロジェクト名を自分で決めたい人はご随意に途中で指定してください。

 「Tip of the Day(本日のちょっとした有益なネタ)」が表示されたら「Close」しちゃいましょう。

 これで基本的な設定は完了です。次回の新規プロジェクト作成からはJDKの選択は不要です(設定済みのため)。

 

4. Javaプログラムを入力して動作確認

 続いてJavaプログラムの作成と実行ができるか試してみましょう。

  「Project」という枠の中にあるプロジェクト名の部分(デフォルトではuntitled)の下(中)にある「src」上で右クリックし、「New」→「Java Class」と選んでください。

f:id:Hiesuke:20171109103425p:plain

 

 出てきたダイアログに「Hello」と入力します。

f:id:Hiesuke:20171109104001p:plain

 

 作成された雛形を以下のように変更します。

f:id:Hiesuke:20171109104206p:plain



 

 ウインドウの「Run」メニューから「Run」→「Hello」と選びます。

 以下のように実行結果(今回のプログラムは『画面に Hello World! と表示する』アプリです)が表示されたら確認終了です。

f:id:Hiesuke:20171109105834p:plain

 

終わりに

 これで「Javaプログラミングを始めない理由」が一つ無くなったわけですね。よかったー!

 今回はプログラミングの楽しさに関する記事では無いので面白くなかったと思います。Hello World!という文字を表示させられてるだけじゃ面白いわけないよね!

 しかし、JavaFXなどのGUI部品を使ってグラフィカルなスタンドアローンアプリを作る上でもJavaは十分に活用できます。自分で考えたアプリを作るのでも良し、どこぞのサンプルプログラムを改造して何か面白いアプリにしてみるのでも良し、とにかくプログラミングを楽しんで欲しいですね。

 それでは Let's Java Programming!

 

 続く...

 

*1:Windows10機、DVDドライブ内蔵で世界最軽量、Panasonic SZシリーズ、20うん万円!

【プログラミング】今年もマスコットアプリ文化祭(アプリコンテスト)やるってよ!

今年もマスコットアプリ文化祭が開催されるようです。告知がありました。

 

mascot-apps-contest.azurewebsites.net

 

一昨年はUnityで作ったアプリ(というかチュートリアル)を、昨年はJavaFXで作ったアプリ(というかチュートリアル)を出品したので、今年は何で作ろうかと考え始めようと思います。

今年こそ参加賞狙いではなく、入賞しないまでもそれなりに遊べるアプリ等を作ろう!

...と毎年言ってる気がする。

 

 

【VR】Oculus 5万円セールだったのでついポチったよ

Oculus Rift CV1 & Touchで ¥50,000(税込)は安すぎるでしょう!

これで DK1, DK2, CV1と全て個人購入したわけだが。コレクションしたい訳ではないのだけど自宅でも「Robo Recallできるのかー」と思ったらつい出来心で...

それにしても会社用に購入した時と比べると半額ってのは凄い値下がりだなあ。まさかすぐに「CV2が出てCV1は販売終了」とかではありませんよねえ?

 

p.s.

まだ届いてないけど開発環境を学んでおこうと思って以下の本を買いました。読むよ。

 

【Android】AndroidアプリへのDropbox連携の実装

何年も前に作ったアプリなのでクラウドストレージ連携を実装してなく、使い勝手に不満が出てきた(実はとっくの昔から不満に思ってた)ので実装に取り掛かろうかと思った。

 

AndroidアプリなのでGoogle様に飲み込まれた方がいいよなと思ってGoogle Driveとの連携方法を探したのだけどお恥ずかしながらいまいち見つからないしわからない。Dropboxとの連携も同様にあまり資料がなかったのだけど、一応僕ごときでも読んでなんとなくわかりそうな実装手順を書いてくれているページがあったのでこれでトライしてみようと考えた。

www.webprofessional.jp

 

まあ、いきなり拙作アプリに組み込もうとして一旦頓挫したのだが(←バカ)、素直にサンプルプロジェクトがあったのでこちらに指示にしたがってDropbox開発者ページで取得したApp_Keyを埋め込んで試したけどアップロード時にエラーが出て動かない。

 

エラーメッセージを元に調べたら「どうやらこちらの症状では?」と推測できたので試しにMainActivityのOnCreateメソッドに以下の「パーミッション許可を利用者に問い合わせる処理」を組み込んだらうまくいった。

Android 6.0以降アプリがmkdirでフォルダを作れない場合の対処

上記処理の記事に一箇所記述ミスがあるのはご愛嬌。サンプルコード中の小さなミスを発見して自分で直すのも勉強になるから問題なし。

 

さて、本題の拙作アプリへのDropbox連携実装にかかろうかね。

 

おしまい

 

 

【覚書】jarファイルで画像などのリソースを扱う方法

JavaJavaFXなアプリを作っていて、開発環境上(IntelliJ IDEA)で動かしていた時は表示されていた画像(Imageオブジェクト)が、jarを生成して動かすと表示されないという事態に遭遇した。

ググったら割とポピュラーなことらしかった。以下、対処方法。

今までは

image = new Image(Paths.get("hogehoge.png").toUri().toString());

みたいに記述していたところを、

 

image = new Image(getClass().getResourceAsStream("hogehoge.png"));

と記述し直した。

画像ファイルはソースファイルと同じ場所に置く。

 

ちなみに、画像ファイルを IntelliJ IDEA の Projectエクスプローラで表示されている src ディレクトリの下に置いた状態で試して「動かない〜!」と悩んでいた。ソースファイルのあるところ、つまりパッケージのディレクトリ下に置かないとダメです。恥ずかしい〜。

 

【プログラミングクラブAdvent Calendar】AI学習事始めの事始め

 この記事は以下のAdvent Calendarの22日目となります。

www.adventar.org

 

人工知能をちょろっと勉強してみたいなと思って取り掛かってみたので、その覚書として記事にします。まだ途中だし、挫折しそうだし、ガッツリは無理だしなので参考にならないかと思うけど。

 

ステップ1:kazoo氏本を読んでみた

AI研究の現状を全体的に攫ってみたかったので「普通のお母さんが読んでもわかる」とう触れ込みのこちらをまずは読んでみた。

平易な書き方で誰でもなんとなくわかった気になれる文章なので、最後までスルスルっと読み終われると思う。基本的に汎用AI(囲碁とかチェスとかに特化してないAI。小説やアニメで反乱起こしそうなやつ)について書かれた本だけど、流行りの機械学習についてもしっかりと書いてある。

この本で「教師あり学習」「教師なし学習」「強化学習」の違いや「深層学習(ディープラーニング)」の定義についてなんとなくわかった。

 

ステップ2:ディープラーニングのプログラムが書かれている本を読んでみた

プログラムが示されていて解説もしっかりしてそうなので以下の本を買って読んでみた。

特に1章と2章はわかりやすくプログラムからなんとなーくニューラルネットの仕組みがわかったような気になるのでなんとか読み進められた。実際には使われているAI用フレームワークのことがわかってないので本当になんとなーくだけで理解はできていない。

1章と2章に対して、3章は歯ごたえがありありでまだ読み終わっていない。さらに言うと、読み終わっても理解できる気がしない。

この本を選んだ一番の理由は「技術書としてはかなり(物理的に)薄い本だから」なのだけど、その薄さにもかかわらず内容は濃いと思う。今の自分(未来も?)には内容が難しいのでかなり苦労しているところ。

残念ながらプログラムの動作確認はまだしていない。動作に足るCore i7, GTX1080くらいの専用Linux機を用意したい。

 

ステップ3:個人ブログを読ませていただいて勉強

前述の本が手強かったので、並行してWeb上の記事を色々と探してみた。その中でも、こちらの方のブログにある「高卒でもわかる機械学習」というシリーズ記事がとても読みやすくて一番参考になった。

頭の中に思い浮かべた時には

特にニューラルネットワークの仕組みと1層パーセプトロンと2層パーセプトロンの違い

 などは、前述の本でさらっと流している部分をしっかり納得しやすく書かれているのでとても勉強になった。こちらの記事がなければ本を読み進めることができなかったと思う。

 

ステップ4:Pythonフレームワーク使ってなんか動かしてみる(未達)

Pythonの文法本は買ってつらつら読んでいる。まだAIには触れていないけど、AIとは関係ないなんかアプリでも組んでみようと思ってる。文法や組み方に慣れてからAIの方向に着手する予定。

 

番外:よもやま

Web上にある勉強リソース(無料)の Courseraに機械学習が学べるコースがあって評判が良いようなので終わらせたい。

www.coursera.org

https://www.coursera.org/learn/machine-learning/home/welcome

 

あと、数学の復習用に「NHK高校講座」の数学Iを見てみたけどこれ純粋に面白い番組だなと思った。数学苦手な人に是非観てもらいたい。

NHK高校講座 | 数学I

 

と言うわけでまだ着手したばかりなのでもうちょっと踏ん張る。

先は長い。長すぎる。自分がある程度理解できた頃には HAL9000 が稼働を始めてそうだ。

 

おしまい