開発効率を高めるIDEとは?

From: リスキルテクノロジー 松田航
新宿本校にて、、、

プログラミングするために
必要なツールは何でしょうか。

OS標準の
テキストエディタがあれば
書けないこともないですが...

それだとかなり不便ですね。

今日は
プログラミングを
効率よくするためのツール...

「IDE」

についてお話しましょう。

IDEとは?

IDEとは

Integrated Development Environment

...の略で、

「統合開発環境」

...という意味です。

簡単に言えば、
システム開発に必要な機能を

1つに盛り込んで
効率的な開発を提供するツールです。

システム開発には
数多くのプログラムソースが必要で、

それら1つ1つを
何もない状態から作るのは
非常に手間と時間がかかりますし、

テキストエディタで作る場合は
プログラムの記述ミスなどが頻発しますが...

IDEを使って
プログラミングすることにより、

開発者の負担を
出来る限り減らすことができるのです。

実際の
システム開発の現場では

まず間違いなく
何らかのIDEを使って
プログラミングが行われています。

IDEの主な機能

効率的な
プログラミングするための

一般的なIDEが
持っている機能をご紹介しましょう。

1:プログラムの管理

1つのシステムは
数多くのプログラムソースで構成されています。

これを人の手で
管理することは至難の業です。

多くのIDEでは
システムで必要なプログラムソースを

「プロジェクト」
「ソリューション」

としてグループ化して
管理しており、

システムを実行するために
必要なプログラムをまとめています。

他にも、
システムの実行に必要な
外部ファイルなども管理することができます。

2:GUIの提供

GUIとは...

Graphical User Interface
(グラフィカルユーザインターフェース)

...の略語で、

開発者が視覚的に
画面のデザインを設定できる機能です。

たとえば、
ある画面にボタンを付けるとしましょう。

GUIの機能がなければ、
ボタンの大きさや色・配置場所など

ひとつひとつ
ソースで記述しなければなりませんが、

GUI機能があれば、
絵を描くようにボタンを配置できて、

自動的に
ソースを作ってくれるのです。

3:コード補完

プログラムを書いていて

「あの命令文は何だったっけ?」

と思うことはたびたびありますが、

コード補完機能があれば、
命令文の候補を自動で表示してくれます。

Web検索しているとき、
検索ワードを入力すれば、

次に入力する内容を
自動的に表示してくれますよね。

あの機能とよく似ていますね。

4:コンパイル機能

作ったソースをまとめて
1つのプログラムとして実行するためには

「コンパイル」

という処理を実行し、
1つのシステムとしてまとめる必要があります。

プログラムソースが
多数ある場合は、

それぞれの
プログラムファイルを指定して
コンパイルしなければいけませんが、

IDEを使うことで、
ボタン1つで複数ファイルを
コンパイルすることができます。

5:デバッグ機能

プログラミングで
必ず発生するのは...

「デバッグ」

という作業です。

デバッグとは
プログラムのバグ修正のことで、

IDEを使うことにより、
プログラムがどの行の処理をしていて、

どの命令文に問題があるのかを
明確に知らせてくれます。

代表的なIDE

では、
代表的なIDEをご紹介しましょう。

Javaによる開発で
主に使われているIDEをピックアップしました。

Eclipse

IDEの中でも
多くの開発者に愛用されている
オープンソースのIDEです。

「プラグイン」

と呼ばれる
拡張機能を追加することで

さまざまな要件の
システム開発をすることができます。

Javaだけでなく
PHPなど他の言語の開発でも使われます。

NetBeans

Eclipseと同様
オープンソースのIDEで、
こちらも多くの開発者に使われています。

プラグインによる
機能拡張はもちろんのこと、

Eclipseと比べて
使うための設定などが少なく、
初心者にもオススメのIDEだと言えます。

IntelliJ IDEA

IDEとしての歴史は古く
Eclipseと同じ時期に開発されたIDEです。

有償版であることから
Eclipseの影に隠れてしまい、

日本での知名度は
あまり高いとは言えませんでしたが、

無償版もリリースされて
徐々にユーザーが増えてきています。

私の周りでも使っている人間は
多いですね。

まずはEclipseから

IDEはこれ以外にも
さまざまな種類がありますが、

どのIDEが一番良いの?

...というと、
結局はプログラマー次第ですね。

しかし、
これからプログラマーを目指すのなら...

まずは
Eclipseの基本操作を
知っておいた方がいいでしょう。

Eclipseは
多くの企業の
開発現場で使われているIDEです。

初心者には
すこし使いにくいかも知れませんが、

知っておくに
越したことはありません。

ひととおり
プログラマーとして
活躍できるようになったら、

あるいは、
ノマドやフリーランスなど、

自分の好きな
開発環境を選べるようになったら

あなたに最適な
IDEを使うのが良いでしょう。

リスキルテクノロジー
松田

PS

実践的なJava開発手法を習得するならこちらから

営業になったエンジニア

From: リスキルテクノロジー 松田航
新宿本校にて、、、

エンジニアと言うと...

「PCに向かって開発業務をする」

というイメージが強いですが、
必ずしもそうであるとは限りません。

とある中小企業の
システム部に所属するエンジニアの話です。

いきなり営業になったエンジニア

彼は、
ある時上司に呼び出され、

「営業に行ってほしい」

...と突然言われました。

関連会社があるパッケージソフトを開発。

彼の企業はそのソフトの代理店となりました。

そのため、システムに詳しいエンジニアも
営業にまわすことになったとのことでした。

もちろん、
そのエンジニアには
営業経験なんてありません。

戸惑いながらも
営業活動をすることになったのですが、

もちろん
いきなりソフトが売れるはずもありません。

営業だけでなく
通常の社内システムの
開発業務も兼務していたため、

残業時間は膨れ上がり、
ほとんど寝る時間がなかったそうです。

開発ばかりしているとは限らない

エンジニアの仕事と言えば...

ハードウェアや
ソフトウェアの設計をしたり

プログラムを組んだり
するイメージが強いですが、

このエンジニアのように
別の業務と掛け持ちしつつ
システム開発を行うケースもあります。

人数も多く、
部署が明確に分かれている企業だと
あまりこのような例は見られませんが...

人数の少ない
中小企業の場合は
こういったケースはよくあります。

中小企業は
どうしても人数が少ないので

少ない人材で
売上に繋がる活動をする必要があります。

このエンジニアのように
営業を兼務するだけではなく、

会社の事務をしながら
システム開発を行うエンジニアもいます。

もちろん、
所属する企業の方針や体制にもよりますが...

エンジニアと言っても
いつも開発だけをしているとは限らないのです。

冒頭で紹介した
営業兼務となったエンジニアの方は、

社交的な性格ではなかったので、
見知らぬ人と接するのが苦痛だったそうです。

開発は好きだけど
営業が辛いという思いが強まり、

一時は退職も考えたそうですが、
続けているうちに考えが変わったようです。

電話営業や
飛び込み営業、
セミナーや展示会の開催に参加して

「ものを売る」

という行為に接するうちに...

自分はものを売ることについて
何も知らずにものづくりをしていた

...という事を
思い知ったと気づいたと話していました。

ものづくりには
必ずものを売るという行為が発生します。

今までは
ものを作ることに専念してきたが、

これからは
ものを売るということも知る必要があると
営業活動にも積極的に取り組み...

「総合的なものづくり」

...を習得しようとしているそうです。

ビジネスパーソンとして成長するために

エンジニア一筋で
仕事をしてきた方の中には、

このような
仕事内容の変化に
ついていけずに退職する方もいます。

しかし、
これまでやったことのない
活動を行うということは...

「新しい視野を広める」

...ということに繋がります。

もちろん、
専門分野に特化することも
エンジニアとして大切なことです。

ですが、
新しい業務に携わることは、
新しい視野を得られるチャンスでもあります。

まずは何でも
あなたがやれることを
やってみるようにしましょう。

そうすることによって
必ず何かを得ることができます。

その経験は、
エンジニアとしてだけではなく、

1人のビジネスパーソンとして、
あなたを大きくしてくれることでしょう。

リスキルテクノロジー
松田

PS

ビジネスで通用するエンジニアになるにはこちらから

万一の時にも安心のUPSとは?

From: リスキルテクノロジー 松田航
新宿本校にて、、、

ハードウェアを稼働させるのに
根本的に必要なものがあります。

おわかりですね、それは...

「電気」

...です。

今回はハードウェアに
電気の安定供給を行う装置である

「UPS」

についてお話ししましょう。

突然のデータ消失に備えるために

スマホでメールを書いていて
もう少しで完成という時に

バッテリーが切れて
システムダウンしてしまった...

なんてことありませんか?

せっかく書いた
力作メールも消えてしまい
最初から書き直さなければいけませんよね。

私たちが普段使っている
パソコンも同じです。

ノートパソコンの場合は
バッテリー切れもありますが、

デスクトップパソコンだと
電源コードを足でひっかけてしまい

プラグが外れて
システムがダウンするなんてこともあります。

何時間もかけて作った
設計書やプログラムが消えてしまうと

明日も頑張って生きて行こうという
気力さえ萎えてしまうことにもなりかねません。

ええ、実際に私も経験あります(笑)。

そんな時、
あって助かる装置が...

UPS (Uninterruptible Power Supply)

...です。

万一の時にも電源を供給

UPSは日本語で

「無停電電源装置」

と言い、
突然の電源切断や停電時にも
安定して電力を供給する装置です。

パソコンなどの
ハードウェアの電源コードを
UPSと接続しておけば

万一の電源切断の時に
UPSから電力が供給される仕組みです。

電力が供給されるのは
機器にもよりますが数十分程です。

数十分もあれば
作りかけのファイルを保存して
システムを正常終了させる時間は十分ありますね。

停電なんて滅多にないから
UPSってあまり必要ないのでは?

という声もありそうですが、
停電がなくてもブレーカーが落ちるケースは
結構頻繁にあります。

小さな企業でも
パソコンを何台も使っている場合は
UPSが重宝されています。

UPSは一般企業だけでなく
データセンターなどでも使用されています。

データセンターでは
規模が大きいUPSが使用されますが、

非常時の際には
UPSだけでなく自家発電装置を使って
電療を供給しています。

実は電力は安定していません

私たちが
普段使っている電力ですが、

安定して供給されているようで
実際には少し不安定なのです。

どこが不安定かと言うと
供給される電圧が低下する現象が時々あります。

それは...

「瞬間電圧低下」(瞬低)

...という現象です。

瞬低とは、
電力の送電ルートの切り替えなどにより
0.1秒程度電圧が低下する現象です。

日常生活ではあまり意識しませんが、
常に電源を必要とするシステムにとって、

瞬低が発生すると
ネットワーク切断などのトラブルが発生します。

停電は少なくても
瞬低は年間に約10回程度発生していますので、
瞬低対策にもUPSが必要になります。

UPSには
電圧を安定供給するために...

CVCF (Constant Voltage Constant Frequency)

という機能を持っています。

CVCFとは...

「定電圧定周波数」

...の意味で、
安定した電圧を供給する機能です。

CVCF機能があれば
瞬低による電圧低下を検知した際、

安定した電圧を
ハードウェアに供給することができるのです。

あってよかったUPS

日々作られるデータは
個人や企業の資産だと言えます。

その資産を
万一のトラブルから守るために
UPSは必要なのです。

生命保険や医療保険に
ちょっと似ているかも知れませんね。

万一の時でも
データを守れる体制を作ること。

ソフトウェアエンジニアでも
インフラエンジニアでも

そのことを忘れないようにしましょう。

リスキルテクノロジー
松田

PS

万一のトラブルにも動じないエンジニアを目指すならこちらから

実はみんなが使っているNFCとは?

From: リスキルテクノロジー 松田航
新宿本校にて、、、

ICカードは誕生以来、
私たちの社会にすっかり定着しています。

このICカードには

NFC

という技術が使われています。

今回はこの、
NFCについてお話ししましょう。

NFCって何ですか?

NFCとは

Near Field Communication

の略で、

近距離無線通信と言われています。

特定の周波数で
ICカードや通信機器と
無線でデータのやりとりする技術です。

2001年にICタグを使った
交通機関の乗車券が導入されはじめ、

2年後の2003年に
国際標準規格として定められました。

当初は
SuiCaやICOCAなど
交通系ICカードの利用が主流でしたが、

今ではスマホや家電など
さまざまな機器で使われている技術です。

NFCの3つのモード

NFCの特徴としては
3つのモードがあげられます。

それぞれのモードを
活用例とあわせてご紹介しましょう。

1:リーダ/ライタモード

これが一番
一般的な使われ方で、
ICカードの読み書きするモードです。

ICカードリーダーに
カードをかざすことで、
データの読み書きを行います。

SuicaやICOCAなどの
交通系IC乗車券での活用や、

企業内の入退室を管理する
社員証などにも活用されていますね。

交通系ICカードで言えば...

・どの路線のどの駅で入出場したか
・入出場した日時
・チャージしている金額

...などが記録されています。

2:エミュレーションモード

NFC機能が
搭載されている機器を

ICカードのようにして
使うことができるモードです。

一番馴染みがあるのは
おサイフケータイでしょう。

携帯やスマホが
ICカードのように振る舞って、

カードリーダー/ライターに
機器をかざして使うことができます。

おサイフケータイのように
クレジットカードとして使うだけでなく

モバイルSuicaのように
交通系ICカードとしても使われていますね。

3:P2Pモード

P2Pというのは...

ピア・ツー・ピア

という意味で、
端末間通信機能のことです。

Androidでは…

Android Beam

と呼ばれている技術ですね。

この機能を使って、
他の端末にデータ送信します。

スマホ同士を近づけて
メールアドレス交換できるのも
この機能を使っています。

NFCはひとつだけではありません

NFCは
国際標準規格ではありますが、

実際には
さまざまな規格に分かれています。

どういうことかと言うと...

・SuiCaやICOCA、Edyなど
・taspo(成人識別カード)
・IC運転免許証や住人基本台帳カード

これらは全て
NFCという事ができますが、
細かく言えば別の規格なのです。

SuiCaやEdyなどのICカードは

NFC-F

という規格で、
SONY社が開発したFeliCaカードにあたります。

taspoには

NFC-A

という規格で、
NXP社が開発したMIFAREカードにあたります。

IC運転免許証などは

NFC-B

という規格で、
モトローラ社が開発したカードの規格です。

このように
それぞれ規格が分かれているので、

カードリーダーが
あるからと言って、

全てのカードの
読み書きができる訳ではないのです。

使う方にとっては
非常にややこしい話ですよね。

最近では別々の規格でも
読み書きできる機器が増えてきましたので、
もし必要ならそういった機器を選ぶようにしましょう。

技術を活かすための視野の広さ

NFCの技術は
公共交通機関や
クレジットなどの利用が主流でしたが、

最近では
ショッピングモールの
スタンプラリーやクーポン券、

博物館での展示品紹介など、
さまざまなシーンで活用されています。

広く社会に
浸透しているものだからこそ、

その技術を使用した
アプリケーションの開発案件も増えています。

ひとつの技術から
さまざまな活用シーンを提案する...

このような視野の広さも
これからのエンジニアにとって必要なのでしょう。

リスキルテクノロジー
松田

PS

ネットワークの講座ならこちら

Apache Webサーバーを作ってみよう!

From: リスキルテクノロジー 松田航
新宿本校にて、、、

インターネットを
楽しむために必要なサーバーは

Webサーバー

...です。

そもそも、
このWebサーバーがないと

ホームページを
見ることができません。

このWebサーバーを
今ここで作ってみましょう。

Apacheを使ってやりますが、
立てるだけであればすぐにできます。

Webサーバーの役割って?

ニュースサイトや
ショッピングサイト、

そして
今あなたが見ているこのブログも

Webサーバーに
よって見ることができます。

Webサーバーとは
あなたのPCで動いている

Webブラウザから
送られるリクエストを処理して

要求されたページを
Webブラウザに送っています。

たとえば、
Webブラウザで...

http://www.linuxacademy.ne.jp/

...とURLを入力すると、

そのURLのファイルを表示してほしい!

...というリクエストが送信されます。

Webサーバーは
目的のファイルを探しだして、

Webブラウザに
要求されたWebページを表示するのです。

多くのWebページは
HTML言語で書かれています。

HTMLとは...

Hyper Text Markup Language

...の略称で、
Webブラウザで
ページを表示するために開発された言語です。

定められたルールで
HTMLを書くことによって、

ページの構成や
画像の位置などが決められます。

もっとも今では...

CSS(Cascading Style Sheets)

...と言う
ページのデザインを設定する言語で
レイアウトなどがデザインされることが多いですね。

それ以外にもWebサーバーでは、
動的なWebページを実現するための

CGI(Common Gateway Interface)

...などの言語をWebサーバーで処理しています。

Webサーバーの役割を
簡単にまとめると...

  • リクエストを処理して結果をWebブラウザに表示する
  • Webページの表示や動作に関する全般的なサービスを提供する

...ということが言えます。

Apacheをインストールしてみよう!

Webサーバーを作るのに
必要なアプリケーションはさまざまですが、

Linuxでは...

Apache(アパッチ)

というアプリケーションが主に使われます。

出典:Apache 

apache

アメリカの政府機関である

NCSA(米国立スーパーコンピュータ応用研究所)

で開発された
Webサーバーをベースとして開発され、

今では
世界中のWebサーバーで使用されています。

このApacheを
CentOS7にインストールして
Webサーバーを構築する手順をご紹介します。

まずは
CentOSのデスクトップ左上にある…

「アプリケーション」

から…

「端末」

を選んでコンソールを表示します。

rootでログインしていない場合は…

…と、
管理者に切り替えるコマンドを入力し、
続けてパスワードも入力して管理者に変更します。

Apacheをインストールするには
次のようにyumコマンドを使用します。

step1

「httpd」
とはWebサービスのことで
LinuxではApacheにあたります。

step2

コマンドを実行すると
インストールが開始され...

「完了しました!」

と表示されたらインストールは終了です。

  • いよいよApache Webサーバーを起動!

それでは、
Webサーバーを起動してみましょう。

起動するには
systemctlコマンドを実行します。

systemctlコマンドは
CentOS7から使われているコマンドです。

それ以前のバージョンでは
コマンドが異なりますので注意してください。

と入力して実行すると
Webサービスが起動します。

では、
本当に起動したかを見てみましょう。

psコマンドという
実行中のアプリケーションを確認する
コマンドを実行します。

step3

Apacheが起動しているのが確認できました。

それでは、
Webブラウザで表示させる
HTMLファイルを作りましょう。

コンソールに...

と入力して
geditというエディタを起動します。

step4

簡単ですが、

LinuxAcademy

とだけ書いたファイルを作ります。

step5

このファイルを

/var/www/html/

の場所に

test.html

という名前で保存します。

次に、
CentOSのIPアドレスを調べます。

step6

というコマンドを実行すると
CentOSのIPアドレスがわかります。

inetと書かれている欄ですね。

この例だと
「10.0.2.15」がIPアドレスです。

IPアドレスは
環境によって変わるので
使っている環境のIPアドレスを調べましょう。

最後に
左上のアプリケーションから
Firefoxウェブ・ブラウザを起動し、

URL欄に...

http://10.0.2.15/text.html

と入力すると、
先ほど作ったファイルが表示されます。

step7

Webブラウザから
Webサーバーにリクエストが送られ、

Webサーバーから
test.htmlが送られてきたのです。

Webサーバーができました!

実際には、

今回は
簡単な構築法でしたが、

実際には
CGIやPHPなど
Web系言語が動作する設定や

Apacheの設定ファイルを変更して
より詳細に構築する必要があります。

実践的な構築法については
今後しっかりと覚えてゆけばいいでしょう。

まずは...

一度構築してみてください。

そうすれば、チューニングなどは、
自然と頭に入って聞きます。

リスキルテクノロジー
松田

PS

サーバーが構築できるようになる講座

便利なシングルサインオンとは?

From: リスキルテクノロジー 松田航
新宿本校にて、、、

システムの
セキュリティ性を高めるうえで

最低限必要なのは
IDやパスワードです。

しかし
利用するシステムが増えるにつれて

IDやパスワードの管理が
大変になってしまいます。

今日はそのような問題を解決する

「シングルサインオン」

...についてお話しましょう。

あれ?ここのログインIDは何だっけ?

手元にキーホルダーがあれば
少し手に取ってみてください。

自宅の鍵や
車やバイクの鍵など、

普段使用する
数本の鍵が掛かっていると思います。

では、
手元のキーホルダーに

今付いている鍵の
10倍の鍵がかかっているとしましょう。

自宅に帰って
鍵を取り出そうとしても

鍵が多すぎて
どの鍵が自宅の鍵か
わかりにくくなってしまいますよね。

これはシステムでも同じことです。

世の中には
ビジネスであれホビーであれ

さまざまなシステムが
あふれています。

セキュリティ性を高めるために
システムごとに
ユーザーIDやパスワードを設定しますが、

使うシステムが
増えれば増えるほど...

「あれ?IDは何だっけ?」
「パスワードってこれじゃないの?」

...という事態になりやすいです。

さまざまなパスワードを設けると
確かにセキュリティは高くなりますが...

使うシステムが増えると
混乱してしまうこともありますし、

何度も何度も
IDとパスワードを入力することになります。

このような
問題を解決する1つの方法として...

シングルサインオン(Single Sign-On)

...があるのです。

シングルサインオンとは?

シングルサインオン(SSO)とは
複数のIDやパスワードをひとつにまとめ

1回のログインだけで
複数のシステムを利用することができる仕組みです。

企業などでは
多くのシステムを使用するため、

何度もIDやパスワードを
入力しなければなりませんでしたが、

SSOを導入することで
何度も入力する手間を省くことができ、

システムを利用する際の
利便性を向上させることができます。

また、
SSOを導入していない場合、
システムへのアクセス記録は
それぞれのシステムで記録されますが、

SSOを導入すると
SSOの認証サーバーで記録されますので、

システム管理者の
管理作業の負担も軽減することができます。

この他にも、
システムの利用者権限を変更する場合、

複数のシステム設定を変える必要がなく、
SSOの設定のみ変更することで対応できるなど、

システムの利用者だけでなく
管理者にも多くのメリットがあります。

「○○アカウントでログイン」とどう違うの?

それって、
ネットによくある...

「Facebookアカウントでログインする」

...って機能と同じじゃないの?

と、間の良い方は気付くかもしれません。

Facebookと関係のない
別のサイトを利用するにあたって

FacebookのIDとパスワードで
利用できるサイトもあります。

Google+や
Yahoo!IDとかもありますよね。

確かにとてもよく似ていますが、
両者は別のものです。

Facebookなどの
アカウントで利用できるのは...

「Open ID」

...という仕組みで、
基本的にはウェブ上での利用に
限られた使い方になります。

これに対して
SSOではウェブサイトに限定されず

サーバーへのログインや
異なるネットワークへの接続などにも
使うことができるのです。

SSOでは

「トラストサークル(信頼関係)」

...という概念があり、
あらかじめサーバー同士が

「このサーバーは接続できますよ」

...という
相互認証可能なグループが
構築されることで成り立ちます。

OpenIDは
認証サーバーへの問い合わせ
(アカウントが適切かなど)

による認証であり、
トラストサークルという概念はありませんので、

セキュリティ性の高さ言えば
SSOの方が高いと言えるでしょう。

ニーズの高いSSOを理解しておこう

SSOとOpenIDの
どちが良いかというのは

用途や使用目的が分かれますので
何とも言えませんが、

両者のような...

認証回数を減らし、
かつ、
セキュリティ性を高める!

...といったサービスに対する
ニーズが高まっているのは間違いありません。

クラウド環境に
SSOのシステムを構築することで、

利用するシステムのそばに
SSO認証サーバーを置く必要なく
SSOを実現することもできますので、

SSOの利用は
確実に今後も広がってゆきます。

インフラエンジニアだけでなく
アプリケーション開発者にとっても

今後ますます
馴染み深くなってゆきますので
基本的な仕組みを理解しておいてください。

リスキルテクノロジー
松田

PS
ネットワーク・サーバー構築の講座はこちらから

Java開発環境を作ろう-JDK切替え&プログラミング編-

From: リスキルテクノロジー 松田航
新宿本校にて、、、

以前の記事では
JDKをダウンロードしましたね。

ところが
最初からインストールされていた

openJDKとJDKが
共存するかたちになり...

openJDKが
アクティブな状態でした。

今回は
openJDKとJDKを切り替える方法

そして
Javaプログラムの作成と
コンパイル方法をご紹介します。

Javaの実行環境を切替えるには?

少しおさらいです。

yumコマンドで確認すると...

step1

JDKは
インストールされましたが...

javaコマンドで確認すると...

step2

アクティブJavaは
openJDKになっていますね。

では
JDKは使えないのでしょうか?

いえいえ、大丈夫です。

openJDKとJDKの
どちらをアクティブにするかは
切り替えることができます。

まあ、
openJDKでも
全然問題ないのですが...

切り替えを行うには...

alternatives

というコマンドを実行します。

これは
標準で使うコマンドを

どの環境で使用するか
設定できるコマンドです。

たとえば...

同じプログラムでも
旧バージョンと新バージョンを
インストールしている場合などは、

このコマンドを使って
新旧どちらのバージョンでも

好きなタイミングで切り替えて
使うことができるのです。

このコマンドを使うには
管理者権限が必要です。

suコマンドで
管理者に切り替えましょう。

と入力して、
パスワードを入力します。

管理者ログインできたら、
早速JDKを切り替えてみましょう

step3

javaで使用される
プログラムの一覧が表示されました。

2つのプログラム...

openJDKとJDKが
表示されています。

現在は1のopenJDKが
アクティブ(+マーク)になっています。

2を入力して
Oracle版のJDKに設定しましょう。

ここでもう一度
javaコマンドで確認します。

step4

Oracle版のJDKが
アクティブになりましたね。

openJDKに
また戻したい場合は、

alternativesコマンドで
選択しなおせば大丈夫です。

alternativesコマンドが
正しく発行できたら

普通のログインユーザーに
切り替えておきましょう。

Linuxという
ユーザーに切り替えるなら

…と入力します。

Javaプログラムを作ろう!

それでは
簡単なJavaプログラムを書いてみましょう。

プログラムを保存する
専用フォルダがあった方が便利ですので

まずは
専用フォルダを
ホームディレクトリに作成しましょう。

ホームディレクトリに

javastudy

...というフォルダが作成されました。

step5

(ログインユーザー名)の部分は
ログインしているユーザー名によって変わります。

環境に応じて設定してください。

それでは
Javaソースコードを書いてゆきましょう。

[アプリケーション]-[アクセサリ]-[gedit]

...でエディタを開きます。

step6

次に、
以下のJavaプログラムを書きます。

画面に

Hello World!!

...と表示されるものです。

これを
先ほど作ったフォルダに保存します。

ファイル名は

HelloWorld.java

…としてください。

「.java」

という拡張子が
Javaプログラムという意味になります。

そして、
プログラムのファイル名ですが、

Javaのファイル名は
プログラムのクラス名と
同じでなければいけないというルールがあります。

この場合は...

public class HelloWorld

...の部分ですね。

classに続く文字が
クラス名になります。

これで
プログラムの準備ができました。

それでは
プログラムを実行してみましょう。

Javaプログラムは
そのままでは実行できません。

コンパイルすることで
始めて実行することができます。

HelloWorld.javaを
コンパイルしてみましょう。

端末を開いて...

javac

...という
Javaコンパイル用プログラムを実行します。

上のコマンドで
先ほど作ったjavastudyフォルダに移動して、
javacコマンドを実行します。

これで
コンパイルが終了しました。

エラーがあれば
この時にエラー内容が表示されます。

javastudyフォルダを見ると...

HelloWorld.class

...というファイルが作成されていますね。

step9

これは...

クラスファイル

...といい、
Javaプログラムの
実行ファイルになります。

それでは、
クラスファイルを実行してみましょう。

プログラム通りに...

Hello World!!

という文字が表示されました。

step10

まとめ

Javaプログラムの
作成からコンパイル、
そして実行までご紹介しました。

ここでは
端末から実行していますが、

EclipseなどのIDEで
プログラミングされることが多いです。

ですが、
Javaがどういう手順で

プログラムをコンパイルして
実行しているのか?

...ということを理解するには

Javaコマンドを
ひとつずつ実行するのが良いですね。

たくさんの
プログラムを作って
Javaを習得していってください。

ここがあなたの第一歩です。

リスキルテクノロジー
松田

PS

Javaのプログラミング講座ならこちら

エンジニアのための「意外と知らないプログラムに使う記号の読み方」

From: リスキルテクノロジー 松田航
新宿本校にて、、、

OSの操作や
プログラムを組んでいると

さまざまな
記号を使うことが多いです。

今回は

さまざまな記号と
システムにおける記号の使われ方

についてご紹介しましょう。

この記号は何という名前?

プログラムを扱っていると
記号に接する機会は多くなります。

他の人に
システムの仕様を伝える時

あれ?

この記号って

何ていう名前なんだろう?

…と思ったことはないでしょうか。

例えば

「?」

このマークの
正式名称がわからないので

「はてなマーク」

という方も多いでしょうね。

「?」はまだ優しいですが

「~」

とか

「|」

とかは何と言うのでしょうか。

記号の読み方と使われ方

それでは、
記号の読み方と
システムでの使われ方について
簡単にご紹介しましょう。

1: ? マーク

「はてなマーク」ですね。

正しい読みは

「クエスチョンマーク」

...です。

この読みは
ご存知の方も多いでしょう。

システムでは
ワイルドカード(任意の文字)や
条件文で使われます。

Javaの条件文の例だと...

条件式 ? 条件式が真の時の処理 : 条件式が偽の時の処理

...のように使われます。

ただ、
多用すると読みにくくなるので
使わないほうがいいとも言われています。

私は割と使ってしまいますが。

2: ! マーク

通称「びっくりマーク」です。

正しい読みは

「エクスクラメーションマーク」

...です。

不均等記号として
多くの言語で使用されます。

値A != 値B

の例では、
値Aと値Bが一致しない
という意味になります。

3: ' マーク

こちらは

「シングルクォーテーション」

...です。

英語で使用する
アポストロフィとも似ていますが、
両者は別ものです。

'文字列'

...のように、
記号で文字括って
文字列を表すことが多いです。

4: " マーク

こちらは

「ダブルクォーテーション」

...です。

シングルクォーテーションと同じく
文字を括って
文字列を表します。

5: % マーク

「パーセント」です。

これはさすがにお分かりでしょうね。

一般的には
比率を表しますが、

javaなどでは…

乗余算(余り)

…の算出に使われます。

例えば...

値A % 値B

だと、

値A÷値Bの余りを求めます。

6: ` マーク

こちらは

「バッククウォート」

...です。

Linuxで使用される
シェルスクリプトでは

この記号で括った文字を
コマンドとして扱います。

7: * マーク

通称「コメマーク」です。

正しくは

「アスタリスク」

...と読みます。

全項目にマッチする
ワイルドカードとして使われており、

SQL文では
データを読み込む時に

テーブルに含まれる
全ての項目を表す文字として
使われています。

8: ~ マーク

通称「にょろマーク」です。

正しくは

「チルダ」

...と読みます。

Linuxでは
ホームディレクトリを意味します。

9: ^ マーク

チルダと似ていますが
こちらは...

「ハット」

...と言います。

Javaなど多くの言語の

XOR演算(排他的論理和)

...で使われています。

10: < マーク

「小なり」です。

値の比較で
使われる記号ですね。

11: > マーク

「大なり」です。

同じく値の比較で
使われる記号です。

大なりと小なり、
どっちがどっちか忘れる方も多いので
ご紹介しました。

12: / マーク

「スラッシュ」です。

WebではURLの
階層を表す記号として使われますね。

また、
多くのプログラムでも
除算(割り算)を意味する記号として
使われています。

13: \ または \ マーク

「バックスラッシュ」ですが、

環境によっては...

「円マーク」で表示されます。

Linuxなど
多くのシステム上では、
文字を明確に表すために...

「エスケープ文字記号」

として使用されます。

14: | マーク

「パイプライン」です。

Linuxでは
パイプ処理を行う時に使用します。

例えば、
フォルダ内のファイルを表示する

「lsコマンド」

と、

標準出力の内容を
ファイルに書き出すことができる

「teeコマンド」を
以下のように組み合わせます。

ls | tee list.txt

そうすると、
標準出力に表示されると同時に、
list.txtというファイルにも書き込まれます。

誰でも理解できる伝え方がポイント

実際に、他の人に
記号を説明するには

正式名称で伝えるよりも
分かりやすい言葉で伝える方がいいでしょう。

「パイプライン2つ」

と言うよりも...

「縦棒2本」

と言う方が伝わりやすいですものね。

記号も大切ですが、
大切なのは伝わりやすさです。

例えばプログラミングでは
記号を多く使うと読みにくくなりますので、

分かりやすい書き方で
誰でも理解できるということも大切ポイントです。

とはいえ、後輩に聞かれたときなど、
答えられるようにはしておきたいですね。

リスキルテクノロジー
松田

PS
本格派プログラミングの研修

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する