プログラミング言語を無料で習得!プログラミング教室サイト【講座・独学】No.1.環境構築・SQL編

この記事は約16分で読めます。

スポンサーリンク

初めまして!

あなた一人前のプログラマーに育てようとしている、
あやの先生です。

よろしくお願いします~

このサイトを見つけたあなたは、プログラミング入門者、またはプログラミング初心者の方ですね。

あなたは、とても幸運です。

なぜなら、先ほども言いましたが、私があなたにプログラミングスキルを伝授するからです。

当然、無料です。胡散臭いお金の請求などしません。

その代わりと言ってはなんですが、私は「お金を取って、ちゃんと教えてくれるプログラミングスクールの人」よりは、確実に教える事が下手でしょう。

しかし、安心して下さい。私はそんなもん受けた事ありません。

私は、未経験からIT企業に就職して、会社の「勉強会」というもので、プログラミングスキルを身に付けました。

しかしその内容はというと、ただテンプレート化した「課題」「手順書」が用意されているだけの「ただの自習」でした。

今振り返ってみても、正直私は独学でも出来るようになったんじゃないかと自負しています。

ただし、それには条件があります。ただ、闇雲に勉強するだけでは、意味がありません。

でも、あなたは幸運ですから、大丈夫です。
お金なんか払わず、無料プログラミングスキル身に付けちゃいましょう!

技術本Webサイトで学べるような知識を、あえて連発するような意味のない事はこの記事ではしません。(あ、これもWebサイトか)
現場で必要のない知識を披露する事もありません。

実際のプログラミングスクールがどんなものか知りませんが、私はプログラマーを生業としているプロです。
実際の現場で、実際にお客様がお金を払って作られるシステム開発に従事しています。

私は未経験者の気持ちもよくわかりますし、「どこで」、「どんな感じに」、「どんなタイミングで」、プログラミングを挫折しやすいのかも心得ています。

私のプログラミング習得までの実体験と、現在プロとして働いている経験から、あなたの心に寄り添ってわかりやすく、プログラミングスキル習得を支援していきます。

「え、なんか怪しいな~」と今思っているあなたも、この記事を読み終わる頃には、プログラミングをやりたくてウズウズしている事となるでしょう。

さあ、始めますよ!!

プログラミングの一般的な勉強方法

まずは落ち着いて下さい。急いでも、すぐに出来るようになるもんじゃありません。

そして、最初に私の話を聞いて下さい。

はい、あなたが興味ないとか関係ありませんからね。いいから聞いて下さい。関係ない話じゃないから。ね。

さて、先ほども申し上げましたが、ただ闇雲に勉強するだけでは意味がないです。

プログラミングスキルを習得するには、私の経験上3つ、必要なものがあります。

①一緒にプログラミングを学ぶ仲間
②質問する力
③質問に答えてくれる有識者

「こいつ、『独学』って言ってたよな・・・」と思ったあなた。

あなたのような勘の良い人は苦手です。さて、どういう事か説明しましょう。

まず、プログラミングとはかなりの確率で挫折しやすいです。この原因は、この「3つの必要なもの」がいずれか、または全てがその人に不足しているからです。

特に「質問する力」が不足している人が多いです。質問できる人がせっかくいるのに、質問もせずに勝手に自爆して挫折し、消えていきます。

まぁ、「質問する力」がないような人は、実際にシステム開発現場で仕事をする事も困難です。

周りの作業者にとても迷惑をかけてしまいますし、業務として成り立ちません。そういった人材は、どの現場にも必要ありません。挫折してくれた方が、現場の作業者達は助かります。

話を戻しますが、「独学の人」「独学でない人」の差は、この3つにあるでしょう。つまり、完全に独学でプログラミングを習得出来る人はかなり稀なのです。

初心者・入門者は「出来る人」から教わり、「仲間」と共に同じ道を歩んでいく事が効率的です。学校普通の仕事と同じなのです。

かと言って、「独学を諦めろ」という話ではありません。

この記事では、プログラミングについての理解が深まる情報量産していくつもりです。「勉強内容」「独学かそうでないか」は関係ありません。

私はあなたが独学でも出来るように知識と技術、そして勉強方法を伝授していきます。

では、「3つの必要なもの」まるっきりないあなたに、別の方法を用意しましょう。

スポンサーリンク

別の方法

まずは独りぼっちのあなたに、一緒に学んでいく仲間を用意しました。

プログラミング未経験者の、「かたくりこさん」です。

あ、どうも・・・こんにちは。

彼女は少しシャイなんでね。あと、少しおばかです。優しくしてあげましょう。

さて、上のやり取りは半分冗談として、「3つの必要なもの」を無しに、どのようにプログラミングスキルを習得するか。その方法をお話しします。

それは、「すんごい参考になるネットの情報を見つける事」です。

それはあなたにとって、まさにこの記事。あなたは、とても幸運です。

私は、「ただの自習」だった「勉強会」で、(あんなに偉そうに言ってましたが)コミュ障だった事もありろくに質問する事も出来ず、一度プログラミング習得を挫折した事があります。

挫折と言っても、一か月間勉強をやめていただけですが、
それは私にとって「出世の放棄」でしたため、とても大きなものでした。

それに、質問できなかった事にも理由があります。

プログラマーというのは、実に高慢です。めちゃくちゃ偉そうな人が多いです。

しかし、「実際にスキルが高く、ビジネスマン的にも優秀でな人」は、大変人柄が良く、優秀な人格を持っている方です。そう言った方達は、別格です。

そうではなく、大したスキルも持っていないくせに、自分より出来ない未経験者に対してだけ偉そうにする人達がいます。

自分が必要とされ、威張れるのが嬉しくてしょうがない人達です。私の会社はまだ小さな会社であったため、ついこないだまで、私と同じく未経験者だったくせに「教育役」に回った、そんなやつらが大半を占めていました。

「実際に現場に出たら、もっと厳しいから、今のうちに厳しくしよう」という大義名分でした。そのロジックは概ね賛成ですが、大した信頼関係も築かないうちにそんな風に接せられたら、ただのいじめです。未経験者がスキルを付ける事を阻んでいるように感じました。

もちろん、私のねじ曲がったものの捉え方がそう見させているだけなのかもしれませんが、私は意外とプライドが高いので、そういう大した事ないくせに偉そうにする人間には憎しみが湧く事が止められませんでした。だから質問出来なかった、いやしたくなかったのです。

だから、私は決意しました。

めちゃくちゃプログラミング出来るようになった上で、
「こんな事、出来たって大した事じゃない。全く偉くなんかないね」と、
どや顔でいつか言ってやりたいと思ってました。

誰に対して?さあ、誰でしょうね。

でも、だからこそ、この記事が生まれました。あなたも一緒に、偉そうにしてる技術者達

「え、これって出来たらなんかすごいんですか?普通に出来ますけど」と言って、一泡吹かせようじゃありませんか!

そんな事、言えないよ・・・

スポンサーリンク

効率の良い勉強のしかた

そんなクズのような人間の私がなぜプログラミングを習得できたかと言うと、ほぼネットですんごい参考になる記事を見つけたからです。

しかしそれはバラバラだったり、細かい事だったりする複数の記事でした。ブックマークとかしてませんし、昔の事なのであなたに紹介する事は出来ません。(残念!)

プログラミングの参考書籍もたくさん買いました。何冊も、何万円も出して買いました。

それはそれで、私にとっては絶対に必要でした。あなたが「数千円なら払ってもいい」と思うなら、参考書籍を購入した方が有利でしょう。ただし、技術本は高価なので大体が一冊3,000円以上します。購入する本を誤らないように、注意が必要です。

ただ、参考書籍も勉強後半になってくると全然読まなくなります。

それに、初心者にとって理解出来るのは最初の数ページくらいです。

まず、書いてある事が多すぎて覚えきれません

何が「優先して身に付ける技術」で、どれが「実際使う機会が少ない技術」なのか、見分けが全くつきません。端から全てを覚えていく事は非効率であり、時間の無駄遣いであると思います。

だから、プログラマーにおいて必要なのは「スキルを覚える事」ではなく、「出来る事を知っておくこと」です。使いたい時が来たら、「あ、なんかこういうのあったなぁ」と思い出した上でネットで調べればいいんです。

従って、参考書籍に書いてあるからと言って全て覚える必要はありません。

ただし、最初からそのような心持ちでいる事は危険です。

後で「もっと勉強しとけばよかった・・・」自分のサボり具合を痛感するからです。

では、どうすれば良いのか。その判断は、あなたでは付かないでしょう。
従って、私に任せて下さい。必要そうな所しかやりません。

ただしこれから先、「あやの先生から、こんなの教わってないぞ!」という事と、出会うと思います。

その時はピンポイントでネットで調べて下さい。
「検索の仕方」めっちゃ重要です。キーワードが悪いと、欲しい情報が出てきません。具体的過ぎても出てきません。なるべく具体的、かつ適度に抽象的に検索して下さい。

基本的に、「システム」というのは何でも出来ます。あなたが想像している以上に、あんな事やこんな事も出来ます。あなたがもし、「これは出来ない」と思う事と出会った時は、あなたの勉強不足です。しっかり調べましょう。

「挫折しそう」と感じても、大丈夫です。継続して勉強し続けていれば、必ず出来るようになります。

だからこそ、継続して勉強し続けて下さい。「一か月で出来るよ!」とは言いませんが、早ければ半年ほどで現場の実務レベルのプログラミングスキルが身に付きます。当然、努力次第ではもっと早く身に付ける事も可能です。

スポンサーリンク

「一か月でプログラマーになれる!」とかいう広告をたまに見かけますが、それはそうでしょう。システム開発現場に採用させてくれるのは、IT業界の営業さんです。営業の腕が良ければ、どうとでもなります。

「プログラミングは全く出来ないけど、システム開発現場で働いている人」も、ゴロゴロいます。現場に行けても、プログラミングをやらせてもらえず、エクセルばかりいじったり、他人が作ったシステムのテストをひたすらやらされるだけです。そんなの、つまらなすぎるでしょう。

仮に一か月でプログラマーデビューし、プログラミングを現場でさせてもらえたとしても、ただの役立たずザコプログラマーが一人増えるだけです。周りの作業者達にとって、いい迷惑です。

そう言った人を何人か見てきましたが、現場で大したスキルも身に付けられず、周りの作業者達から上の人にクレームが行き、大恥をかきながらすぐ退場となるのが落ちです。ちゃんと一人前に出来るようになってから、業務に取り組みましょう。

環境構築

ではまず、プログラミングを行うには環境構築が必要です。

「環境構築」というのは、必要なソフトをインストールしたりする事ですね。

私が初めてこの言葉を聞いた時、「わかりづらいから初めからそう言え」って思いました。同じ事を思ったあなたは、私と同じくクズ人間かもしれません。気を付けましょう。

インストールするものは、2つあります。あなたが何のプログラミング言語を学ぶかは、最初から選ばせて頂いております。

それは「Java」です。

もしあなたが「Javaだと不都合だ」というなら、残念ながらこの記事は、あなたにとってただのゴミです。一刻も早く、別の記事を探しましょう。

さて、Javaでも不都合でないのであれば、この先をるんるんで読み進めて下さい。

とりあえずインストールするものを以下に挙げます。

  • JRE
  • Eclipse
  • データベース

全部無料なので、安心して下さい。これからは、あなたが所有しているパソコンがWindowsの前提で話しています。Macの人は、自分の環境に合ったサイトを検索して実行して下さい。いちいち2つ例を挙げるのめんどくさいんで・・・(クズ)

JREEclipseは、以下を参考にしてインストールして下さい。

今すぐ設定できる!Javaの開発環境の構築方法(Windows編)【初心者向け】

データベースは、MySQLとかPostgresとかOracleとか、種類がいくつかあります。今は何を言ってもわからない状態だと思うので、とりあえず、以下を参考にしてOracleをインストールして下さい。

Oracle12c サーバーのインストール方法・手順

かたくりこさん、出来た?

あー、まだインストール終わらなくて・・・
インストールし終わったやつが、どこ行ったのかもわからなくなってます・・・。

・・・・・・・。

あなたは出来ましたか?出来ていたら、とりあえずかたくりこさんは置いて行きましょう。

そこまで出来たら、とりあえず以下の方法でデータベースに接続出来る所まで確認して下さい。

Oracle SQL*Plusの簡単な使い方

かたくりこさん、調子どう?

だ、大丈夫です。今終わったので、なんとかそこまで行けそうです。

OK。なんか困ったらググってね。忙しいから。

・・・・・・。

黒い画面で、よくわからん文字がたくさん出てきて「ぅわ」って引いちゃうかもしれませんが、大丈夫です。プログラマー達も、この文字を全て読んでるわけではありません。必要な所だけ、注目して読みます。

だから、「これ、全部読んで解読しないといけないのか・・・」と思っていた様子ですが、大丈夫です。そんな無駄な事はしません。

データベースの基本

では、「データベース」とは何なのかを軽~く説明します。

簡単に言うと、「データ」を入れておくための「箱」のようなものです。

「データ」と言っても、大半がただの「文字列」です。(システム開発では、「文字」の事を「文字列」と呼びます。「列」ってなんやねんと思っても、そっとしておきましょう)

そして、そのデータは「テーブル」という単位で管理しています。「テーブル」とは、「表」みたいなもんです。

「データ」には「カラム」「レコード」があります。「カラム」「値そのもの」の事で、「レコード」「行」の事です。

「マジ何言ってんのかわかんねぇ・・・」と思ってる様子ですが、あなたにもわかるようにちゃんと説明するので焦らないで下さいね。

わかりやすく例えるなら、エクセルを思い出して下さい。エクセルと対比して、以下にまとめました。

  • データベース=エクセルファイル
  • テーブル=シート
  • カラム=セル
  • レコード=横一行全てのセル

データベースと、データとは何か、なんとなくイメージが出来た優秀なあなた。とりあえず、データベースにテーブルを作成してみましょう。

データベースを操作する命令の事を、「SQL」と呼びます。あなたは、これからSQLとも長い付き合いとなっていきます。

以下の文を、コピペして黒い画面に貼り付けてみて下さい。(普通ならコピー=Ctrl + C、貼り付け=Ctrl + Vですが、黒い画面に貼り付ける時は右クリックで貼り付けます)

まさしく暗号のようですが、これからこの程度の文は楽勝で理解出来るので、安心して下さい。ちなみに、大文字か小文字かはどちらでも良いです。英数字の所は半角で入力して下さい。

実行した結果、どうでしたか?エラーっぽいメッセージは出ませんでしたか?

もし出ている場合、データベースに接続出来ていない可能性があります。

覚えておいて欲しいのですが、これから先、あなたはエラーと戦い続ける事となります。

恐らく、プログラミングを勉強していく上で、あなたのこれから一番多く行う作業「エラーの解消」です。あなたは、そのエラーを自分で原因を調べて、自分で解決していく必要があります。

スポンサーリンク

最初の頃は、エラーの連続です。

成功したら感動するくらい、エラーばかり突き付けられます。エラーとは、「まただめ!」「これもだめ!」と怒られ続け自分が否定されているかのように思いがちです。それで途中から、「何が悪いのかわからん・・・」となって簡単な所でも挫折してしまいがちです。

そんな時は、出ているエラーのメッセージをコピーして、ネットで検索して下さい。必ず解決方法が出てくるはずです。そこで諦めないように注意して下さい。

さて、先ほどの文が成功すると、データベースに以下のようなテーブルが作成されます。

「TABLE_DATA」という名前の「テーブル」が作成されました。「データ」はまだ入っていないので、カラムの名前だけある状態です。これを「Create文」と言い、テーブルの作成するためのSQL文となります。

さて、今度はこのテーブルにデータを入れてみましょう。以下の文を実行して下さい。

ちなみに「VARCHAR」というのが「文字列型」で、「INT」というのが「数値型」です。データには、「型」というものがあります。

「文字列型」には、「’あやの’」のように、「’」で文字を囲う必要があります。囲わないと、エラーとなるため注意して下さい。

昔の話ですが、私はこの「’(半角)」を、ずっと「’(全角)」でトライアンドエラーし続け、丸一日潰した事があります。マジでアホです。

そして、テーブルにデータが挿入されます。では、データを確認してみましょう。以下の文を実行して下さい。

以下の様に、データが確認できます。

先ほどデータを追加したのが「Insert文」といい、データを追加するSQL文です。

データを確認するために行った分が「Select文」です。最も使用率が高いです。

では、追加したデータの中身を書き変えましょう。以下の文を実行して下さい。

そして先ほどと同じく、Select文を実行してみて下さい。以下の様に、値が先ほどと変わっています。

あやの先生!あの、年齢が・・・あ、何でもないです・・・。

はい。かたくりこさんの事は無視しましょう。続けます。

これが、「Update文」という、データの値を変更するSQL文です。

では、次はレコードを削除してみましょう。

「WHERE ID = 1」で、「IDが1の人のデータが操作対象だよ」という事を指定しています。先ほどのSelect文も、「SELECT * FROM TABLE_DATA WHERE ID = 1;」とすれば、IDが1のデータのみ表示されます。全てのSQL文に、応用して使用できます。

この状態で先ほどのSelect文を実行すると、レコードが存在しないため、以下の様になります。

データが消えました。これは「Delete文」という、データを削除するSQL文です。

最後に、テーブルを削除しましょう。

以下のSQL文を実行して下さい。

例のごとく、Select文を実行してみましょう。テーブル自体が存在しないので、以下のようになります。

これはテーブルを削除する「Drop文」です。

「Create文」「Select文」「Insert文」「Update文」「Delete文」「Drop文」を学びました。

全て知っておく必要はありますが、「Delete文」と「Drop文」は、ほぼ業務上使う事がありません。従って、勉強するならその2つ以外をしていきましょう。

今回はこの辺で終わりますが、次回までの宿題を出します。以下のサイトを参考にして、もう少し応用したSQL文を学んでください。実際に実行して、慣れていく事が大切です。

SQL 入門 – オラクル・Oracle SQL 入門

あれ?Javaはやらないんですか?

君、ちょいちょい口出ししてくるね・・・。

Javaもやりますが、JavaをやるにはSQLの基本的な知識は必要不可欠なんです。なぜなら、今回は手動でデータベースにSQL文を実行させましたが、今後はJava(プログラム)の方から、SQLを実行させます。プログラムのコードにSQL文を埋め込んだりします。

まぁ、とりあえず基本的な所だけ出来れば良いので、すぐに終わります。

次回からは、プログラミングらしい「Java」をやっていきます。頑張って行きましょう!

ありがとうございました!

スポンサーリンク

いかがでしたでしょうか?
このブログでは、他にも多くの参考になるような「システム開発に関するリアルな情報」や、「人間関係論の非常に勉強になる記事」を発信しています!
少しでも興味のある方は、是非覗きに来て下さい!
[ブログ]システム開発現場のリアルな情報
[Twitter] @ayano_java
今回は以上です!

スポンサーリンク

コメント

タイトルとURLをコピーしました