はじめに
私は2023-09-02(土)に行われたチャレキャラ コアイベント(オンライン)に参加して、メンター(師匠役、先生役)をしました。
なにをしたかというと学生の開発チームから話を聞いて、困っていることの相談に乗るということをしました。
今年のチャレキャラは、5/27からはじまっています。私自身は今年初参加でした。
3チームの面談をしたところ、そのうち2チームがJavaでWebアプリケーションを作るとのことでした。
前回の面談(8/12)では別のメンターの方がSpringをススメられていましたので、私も同じくSpringをススメておきました。
公式ページを案内しておきました。
私自身は最近、Javaにあまり触れていないのですが、学生からいつ質問が飛んできても良いように、Hello World
くらいはやっておきたいと思いました。せっかくなので記事をしたためておきます。
Hello World
つまり環境構築と言い換えてもよいとおもうのですが、ここさえ突破できればあとは個別の話として学生各々でがんばってくださいでもよいと思っています。
0から10すべてを教えるのではなく、0から1までは教えてあとは自走してもらうのがよいと思いますし、環境構築を飽きずに投げ出さずにやりきった人たちなら、あとはかけ算で10まですぐに到達できるものと思います。
この記事では、SpringでHello World
をDockerを使って動かしましたということを書いています。
What is チャレキャラ ?
そもそもチャレキャラとは一体何でしょうか。
「チャレキャラは九州の学生のための育成型アプリコンテストです。」とのことです。
動画があります。
この動画は過去にチャレキャラに参加してくれた学生が作ってくれた動画です。
チャレキャラの卒業生が、チャレキャラに貢献するというのもチャレキャラの特徴です。
https://challecara.org/ から引用します。
Question | Answer |
---|---|
誰が参加できるの? | 九州の大学、高専、高校、専門学校に通っていて、アプリ開発やウェブサービス開発に興味のある人を対象としています。 チームでも、お一人でも参加できます。何からはじめたら良いかわからない人をサポートする体制を整えております! |
何をするの? | 12月のコンテストで作品発表することを目標に、7月から順次開催される開発イベントに参加します。 イベントでは、どのようにアプリやウェブサービスを開発したらよいのかを、 メンター*がやさしく指導します。開発イベント以外の時間にも個別に作業を進めてもらい、 その間はチャレキャラの Slack コミュニティなどを通してサポートします。*主に九州に拠点を置くソフトウェア開発企業からプロのエンジニアが参加しています。 |
どんな人がいるの? | 毎年、九州の各学校からアプリを作りたいという強い思いを持つ学生が集まってきます! 最初からチームで参加する人もいますし、1人で参加して、チャレキャラの中で仲間を見つける人もいます。 本格的なプログラミングははじめての人もいますし、企画力のみで参加する人もいます。そんな皆さんをサポートするため、メンターは九州に拠点を置くソフトウェア開発企業からプロのエンジニアが参加しています。 |
チャレキャラは九州の学生のための育成型アプリコンテストです。
イゴかす1
Spring Quickstart Guideに従って、Hello World
をイゴかしてみます。
手順は、Spring Quickstart Guideにすべて書いてあります。
手順1. start.spring.io でプロジェクトを作る
start.spring.ioでは、プロジェクトを作ってくれます。
デフォルトから変更したところは、「Add Dependencies」を押して、「Spring Web」を選んだだけです。
あとは「Generate」を押すと、demo.zip
をダウンロードできます。
適当な場所に解凍します(unzip)。
手順2. DemoApplication.javaを変更する
Spring Quickstart Guideを参考に、src/main/java/com/example/demo/DemoApplication.java
を変更(コピペ)します。
(これは画像ですので、 https://spring.io/quickstart からコピペしてください)
手順3. Run
あとは動かすだけです。
今回はDockerを使って動かしてみます。
プロジェクトのルートで以下のコマンドを実行します。
docker run \
--rm \
--mount type=bind,src=$(pwd),dst=/app \
-w /app \
-p 8080:8080 \
amazoncorretto:20.0.2 \
/app/gradlew bootRun
イメージがamazoncorrettoなのは、javaイメージがDEPRECATEDでして、openjdkイメージもDEPRECATEDでして、それでDEPRECATEDではないイメージとしてたどりついたのがamazoncorrettoでしたというわけです。
少し待って、 http://localhost:8080/hello にアクセスしてみます。
やったね
Hello World
ができました。
クエリパラメータで値を指定すると表示される内容が変わります。
http://localhost:8080/hello?name=Awesome
Awesome!!!
さいごに
この記事では、SpringでHello World
をDockerを使って動かすことを楽しみました。
Springについてもっと詳しいことを学びたい方は、 https://spring.io/guides へと進んでください。
Dockerについて学びたい方は、公式ページを有志の方が日本語訳されている下記のページがよいでしょう。特に「始め方 - Get started」を一通りやってみるのがオススメです。2h〜4hくらいで終わるとおもいます。「コマンド(cdやls、mkdir、cp、mv等)は知っています。だけどDockerは初めてです」という大学生といっしょに読みながらハンズオンをしたときにだいたいそのくらいの時間で終わりました(私の教え方がいいのかも しれません )。
イメージ、コンテナ、ボリュームを自分の言葉で語れるようになると「完全に理解した(もちろん例の意味です。製品を利用をするためのチュートリアルを完了できたという意味。)」になれるとおもいます。
それではごいっしょに!
「いやぁ、Qiitaって本当にいいもんですね~。それではまたご一緒に投稿を楽しみましょう」
追伸
チャレキャラに参加のみなさん、がんばってください!