アドベントカレンダーではありますまいかAdvent Calendar 2020 8日めの記事ですぞ。
弊社にもいわゆるオンボーディング時に見てもらうための「開発環境セットアップ」手順がある。弊社の最重要機密である技術レベルが漏洩してしまうので詳しくは書けない。しかしそこには、それだけ知って何か意味ある?というものも含まれる(何々エラーが出たらリロードせよの類)
いや違う、重要なのはそんな断片的な回避チートではない。「なぜ」それが必要なのか、あるいは「どういう背景があるのか」。知らないと弊社以外で生きられなくなりますよ。私のように。
以上をアンチパターンとしたところを動機に、本稿では知識を一般論化し世界に共有(というかインターネット上に共有)できるレベルに砕いて記しておこうとおもいました。中身はまあまあ真面目。
まず結論
開発環境セットアップ手順だけ見ていても身につかない知識
=「これは何故?」を書かれている手順から1歩だけ踏み込もう。と言いたい。
書かれていることをなぞれば開発環境は作れる。が、開発環境を壊して、それを自分で直せるように、あるいは改善できるようになる力を持つことのほうが、弊社以外で通用する知識だと思います。
Eclipse
冒頭のっけから Download eclipse 書かれているが極論Eclipseでないといけないということはない。
もちろん、最も普及しているIDEのひとつ ではある。
Eclipse.zip を Cドライブ直下 で解凍してください。
等々指示があるがそれも便宜上ではある。ハマるので一旦私もそうしているが、単に説明する側の都合と言うことを意識しよう。Cが使えないことももちろんあるだろうし、容量の問題もある。何度も書くがEclipseが絶対ということはない。
EclipseのFormatter
以下の起動経路より Formatter を開きます
Window > Preferences > java > Code Style > Formatter
ルールだと思ってそのまま入れるべきだが、Eclipseのフォーマッター設定 にも書かれているとおりこれで我々のコーディング規約(基本的な)に乗れるよ、ということ。
Console2
入れなくても問題は無い。
console2をインストールしていない場合は、ラボの先輩にインストール方法を聞きにいきましょう
が、これも手段の一つ。Windowsで使えるターミナルとシェルのまとめ を読む。
Installed JREs
Import Project
Importダイアログを開き、「Existing Maven Projects」を選択してNextボタンをクリックします。
とか書いてあるがMavenとは何だとなると思う。【超初心者向け】Maven超入門 を踏まえる。ビルドツールはいろいろある けども我々がここでたまたまMavenだったのです。
Tomcat
Eclipseで先述の記事の サーバ の項に出てくる。
Setup Server
弊社プロダクトに特有の暗号化ファイル名がいくつか出てくるんだが、そいつらにデータベースや、アプリケーションサーバのURLが書いてあることに気づくだろうか。そう、大事な接続情報は暗号化して保持しているのだ。コンテキストパスと設定テキストなどの関係をつかむ必要がある。上のTomcatと一緒に調べていくがよし。
JDBC Driver
JDBCドライバでMySQLに接続 とか、どんなデータベースだとしてもこういうものが必要で、と言うことを理解したい。
起動時、jdbcからエラーが出る場合
Pathがおかしかったり、環境変数がおかしかったり。
projectが ! 状態になった場合
.classpath
と .project
あたりがズレているといわれる。が、つまり?
Eclipseの.classpath / .projectファイルには何が含まれていますか?
java.lang.NoClassDefFoundError
出る出る。
java.lang.NoClassDefFoundError
java.lang.ClassNotFoundException って、どういうことよ?
git pullで最新のソースを取得する
全プロジェクトを選択→F5キーで外部からのソースの変更を反映する
などとあるが、Eclipseでもなんでも便利なショートカットを覚えておこう。eclipseでよく使うショートカット
JavaScriptのファイルを開く
EclipseでJavaScriptのファイルを開くと、重くて動かせなくなったり、OutOfMemory等のエラーが発生します。EclipseではJavaScriptのページを開かないようにしてください。
などと言う怖い忠告があったりする。
JavaScript用エディタ
JavaScriptの編集を行えるソフトは、Sublime Textや、Webstormなどがある。
とはあるが、AtomユーザもSublimeユーザも、死角が無いエディタ「VS CODE」に乗り換えよう など、色々。
ググり力・質問力
色々書きましたが最も必要なのは結論、これです。
エラー解決の正攻法と質問力・ググり力
誰も教えてくれないググり方
調べたいことをGoogleで調べる技術3選
英語ならfoobar not working
だけ覚えておけばよし。
人に聞くときは 良い質問とは何か を参考にどうぞ!