AWSでJava開発環境を構築する

# 概要
最近PGする機会がめっきり減ってきたので、コーディング力を維持する(というか成長させる)ために、Javaでも書いてみようと思いました。
せっかくなのでクラウドの統合開発環境の代表格(?)であるAWSを使ってみます。

# やること一覧
1. Gitでリポジトリ作成
* Cloud9 の環境作成
* READMEをGitにpush
* プログラムを一本push

## 1. Gitでリポジトリ作成
![20210227_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287953/771f4c62-33b8-2260-26f8-95a90ef6de61.png)

いつもの画面が出てきます。
![20210227_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287953/3ecc95ca-8e88-dc8e-6b6a-aa671316d92e.png)

## 2. Cloud9 の環境構築
* AWSマネジメントコンソールの検索バーにCloud9と入力
* Cloud9が選択肢に出てくるのでクリック
* 「Create environment」をクリック
* 名前と概要を書いて「Next step」をクリック
* 高性能でなくていいですし、デフォルトからセッティングをいじる必要もなさそうと判断してそのまま「Next step」をクリック
![20210227_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287953/601533ef-610a-6180-5082-ba7780b12e5d.png)
![20210227_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287953/0bfb24db-fca4-4861-6f61-99973bca710f.png)

* 確認画面が出てきます。Cloud9環境を使用するにあたっての注意事項が書いてあるので、読んでから「Create environment」をクリック
* 数分待ちます。
* できました！
![20210227_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287953/9319f867-380b-b2b2-5bbd-50b07c947779.png)

## 3. READMEをGitにpush
Gitリポジトリに書いてある始め方に沿って進めます。

```sh
$ git init
$ git add README.md 
$ git commit -m "first commit"
$ git config --global user.name "Mick Danjoh"
$ git config --global user.email *****@gmail.com
$ git branch -M main
$ git remote add origin https://github.com/danjo-m/lemon.git
$ git push -u origin main
```

リポジトリにpushできました。
![20210227_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287953/a7c4b599-e8d9-5a4d-8781-290c1e3eaf7c.png)

## 4. プログラムを一本push
まじで何でもないプログラムを作ってpushします。<br>
あらかじめJDKが入っていることを確認。

```sh
$ java -version
openjdk version "11.0.10" 2021-01-19 LTS
OpenJDK Runtime Environment Corretto-11.0.10.9.1 (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.10.9.1 (build 11.0.10+9-LTS, mixed mode)
```

いつものHello World

```java:Sample1.java
public class Sample1 {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
```

```sh
$ ls
README.md  Sample1.java
$ javac Sample1.java 
$ java Sample1
Hello World!
```

Hello Worldできました。
こいつをpushしておきます。

``` sh
$ git add Sample1.java
$ git commit -m "Create first pg"
$ git push origin main
```

gitignoreやクラスファイルの整理はおいおい。

## おまけ：Gitコマンド
Githubで情報提供されていたコマンドのオプションをすっかり忘れていたので、
使ったものだけでも整理。

* git commit -m "comment"
 * -mで単一コメントを記述する。
 * 対象ファイルを書かない場合はステージされている(addした)全ファイルをコミット。
* git branch -M \<branch_name>
 * 「branch_name」のカレントブランチの名前を変更。
 * -mだと上書き禁止。-Mだと強制上書き。
* git push -u \<remote_path> \<local_branch>:\<remote_branch>
 *「remote_path」へ「local_branch」を「remote_branch」へpush。
 *ブランチ名はローカルとリモートが同じ場合は1つに省略可。
 * -uオプションで、次回から` git push`だけで今回と同じ操作ができる。
 * 「remote_path」は省略名で指定可能。省略名は`git remote -v`で確認。

``` sh
$ git remote -v
origin  https://github.com/danjo-m/lemon.git (fetch)
origin  https://github.com/danjo-m/lemon.git (push)
```

## 参考リンク
[Gitチートシート](https://qiita.com/kamihork/items/36992c14c70b7477f40e)
[[Git]git branch コマンドの -m と -M オプションの違い](https://www.curict.com/item/58/58909e5.html)
[git pushのオプション -u とは](https://qiita.com/shumpeism/items/1b8027c8905ca826416d)<br>


以上！お疲れさまでした。