noconoスマートフォン用の表示で見るnoconoこの広告は、90日以上更新していないブログに表示しています。Javaプログラミング入門」という講座を販売中です。本日はこの講座の内容について紹介します。SpringBootによる簡単なクイズWebアプリケーション開発を通じ、Javaによるプログラミングを体験してもらうことが目的です。具体的なアプリケーションを作りながら、Javaを本格的に学ぶ足がかりを作ってもらうことが狙いです。JavaやWebアプリケーション開発全般についての網羅的な説明は行っていません。今回の題材のサンプルアプリ開発中にでてくる用語や構文についての解説のみを行っています。講座の内容ブラウザから○✗クイズの質問とその答えを登録して、その登録したクイズで遊ぶことができる、ごく簡単なWebアプリケーションを開発していく内容となっています。クイズデータはテキストファイルに保存しています。サンプルアプリの説明動画はこちら。5.5時間の講座です。アプリケーションを作り進めながら、出てくる文法を都度説明しています。下記のようにまず、クイズアプリケーションの方で動くコードを書いてもらい、その後のレクチャーで、下記のような簡単な練習コードをスライドを用いて、文法の説明をしています。オブジェクト指向の解説においてどう説明するのが適切か、よく議題となるクラスとインスタンスについては、ロボットで説明してみました。こんな感じで、わりとゆるい(?)内容となっています。実際に動くアプリケーションを作りながらJavaを学び始めることができる先述の通り、動くアプリケーションを作りながら都度文法解説を挟む形式の講座となっています。プログラミングもアプリケーション開発も全くの未経験で何もわからないけれども、とりあえずまず動くものを作ってみたいという方向けになっています。SpringBootという、JavaにおけるWebアプリケーション開発の「今どき」な構成でJavaを学び始めることができます。IDEAを使用しており、IDEAの操作やショートカットについても説明をしています。IDEA利用の講座であることも当講座の1つの大きな特徴かなと思います。文法の本格的な学習を始める前に、まず動くものを作ってアプリケーション開発の流れを体験したいという方、その方がモチベーションが上がるという方にはおすすめです。内容も比較的ゆるく平易な解説となっていますので、中学生や高校生の方でも気軽に取り組んでいただけるのではないかな〜と思っています。「文法を学んだものの、実際のアプリケーション開発でどう使うのかわからない」という方にもおすすめです。文法を理解している人にとっては説明がやや冗長かもしれません。いう方は、レッスン自体をスキップしたり、早送り機能を活用しながらうまく受講していただければなと思います。この講座をおすすめできない人JavaやWebアプリケーション開発の基本を網羅的に勉強したい人アプリケーションを作りながらでてきた事柄しか説明していません。「この講座の内容を理解できればJavaの基本は完璧!」というものではありません。「学習のとっかかり」の講座です。SpringBootというモダンな構成ではありますが、サンプルアプリで活用していない機能については触れていないため、新しめのJavaの文法やSpringBootの機能(DIなど)の解説はありません。そのあたりを学びたい方はターゲット外です。動画講座のメリットとして操作がわかりやすいという点があるのと、あとUdemyは質問掲示板があるので、もしうまく進められない部分があっても質問していただくことができます。プログラミング未経験者の方でも比較的易しくチャレンジしていただけると思いますので、もし興味を持っていただけましたら、ぜひご購入ください。期限:2019年10月29日またUdemy側でも頻繁にセールを行っていますので、もし今回発行したクーポンの利用期間の逃してしまった方は、Udemyのセール情報をチェックしてみてください。さんに講座のレビューをお願いしました。不慣れな動画講座制作にめちゃくちゃ苦戦し、制作期間が予定をぶっちぎってしまい、全て見ていただくことはできず・・・。見ていただいた範囲については、大変丁寧なアドバイスをいただきました。本当にありがとうございました。@backpaper0さん、@irofさんには初期のコンテンツを詰めるところからいろいろアドバイスをいただきました。私は当初文法説明を一通り行った後にWebアプリを作る流れで考えていたのですが、最初からWebアプリ開発でよいのではというアドバイスをうけて今の形になりました。説明の順番に苦慮しましたが、結果、プログラミングが全くわからない未経験者の人でも実際に動くものを作りながら、JavaによるWebアプリケーション開発の流れを理解してもらえるものができたかなと思います。頑張って作ったものなので、これからプログラミングを始めるという1人でも多くの方の手助けになれば幸いです。割引キャンペーンのお知らせTweetもっと読むコメントを書く2019-06-11Scala関西の運営から抜けましたこの度、自身が立ち上げて主宰していた、Scala関西の運営から抜けました。2019も開催すると決めて、例年通り主宰として準備を進めていたので、この急な話はいろんな人を戸惑わせることは承知しています。理由を公開しなければと思い、ブログを書いています。最初に前置きしておくと、抜けると決めたのは本当に急な話です。あと、病気だとか実はスタッフと仲が悪かったとか、ネガティブな理由ではないです。先日までScala関西やる気満々だったのも嘘ではないです。抜けようと決断した前後にはいろいろな葛藤もありましたが、前向きな理由によるものです。その辺りはご安心(?)ください。GitHubScalaに興味があるという人から質問をうけることが多いのと、こういう知見ってあまりまとまった情報がない気がすると思って、作成して先日開催した勉強会で発表してみました。*1そして、この資料をきっかけに何人かの人とScalaの導入について話をしました。その中で、私が思っている以上に、Scalaは限定的なユースケース以外では選択し辛い言語となってきているんだなと感じました。要因としては、ここ2〜3年でJavaが進化したりKotlinが流行って、一般的なJVMのWebシステムならJava/Kotlinの方が選択肢として適している場合が多かったり、コンテナ技術の発展でマイクロサービスが流行したりと、私がScalaをはじめた頃から技術の流行が大きく変化したということがあります。私もその流れは知ってはいたのですが、「Scala/Kotlin/Javaどれでもいいとなった場合に、プロダクトに採用しようとした場合の導入や運用の知見がScalaは情報がなさすぎるのでは。そこさえあれば、Scalaを選択しようというところも増えるだろう。」という考えがありました。ここ数年の周辺技術の変化による影響は私が思っていた以上に大きいものであるようです。私はフリーランスエンジニアとして仕事をしています。契約形態は請負だったり準委任だったり案件によるのですが、基本的に作ったものを最後まで面倒をみるということができません。採用技術はクライアントさんから指定がある場合もありますし、選定から私が関わることもあります。自分に技術選定の裁量があっても、エンジニア・外注先の確保という観点がネックとなり、Scalaを選択できることは稀というのが現状です。私が単にScalaを書きたいだけで、Scalaのフリーランスエンジニアとしてやっていこう!という考えであれば、Scalaで仕事をしていくという方向に倒すことは、おそらくそんなに難しくはないことです。Scalaのフリーランス向け案件自体はそれなりにある(特に東京)筈なので、「Scalaのお仕事募集しています!」と積極的に営業をかけていけば、Scalaの案件だけをお請けしていくことも不可能ではないとは思います。いろいろな要素が絡み合っています。いった、自分がやっていきたいこと、やりたいことを考えたときに、裾野が広い技術に軸足を置く方向に倒さなければ、自分の幅を狭めてしまうことになります。よって、当面現状が変わらない可能性が高い以上、「Scalaに軸足を置きつつJava/Kotlinも依頼が来れば書く。」という状態だったのを、これを逆転させて「Java/Kotlinに軸足を置きつつ、Scalaも依頼が来れば書く。」ことにしようという考えに至りました。仕事の上で、私はScalaについては優先度を落として、Java/Kotlinを優先的にやっていく方向に舵を切った方がいい仕事でScalaの優先度を落とす以上、これまでのようにScala関西の運営に労力を割くことはできないというのが、運営を抜けると決断した理由です。2019を開催すると決定し、日程概要をすでに出していましたが、もう10月開催に向けて今の気持ちでは引っ張っていくことはできないこと、まだスポンサー・スピーカー募集を開始しておらず、今なら中止ということになってもご迷惑をかける方が少ないという判断で、このタイミングで抜けることにしました。Scala関西についてScala関西は、私が2012年にはじめた「PlayFramework関西ビギナーズ」「Scala関西ビギナーズ」という勉強会がはじまりです。元々は20、30人規模の定期勉強会だったのですが、2015年から年1回「Scala関西Summit」を開催するようになりました。協賛を募るにあたり口座を作ることになり、その際に「Scala関西ユーザーグループ」という任意団体名をつけました。いつの間にか「Scala関西」という呼び名がコミュニティ名として定着しました。カンファレンスを開催することになった経緯や、どういう想いで開催していたかの説明は、過去のブログで書いているので、そちらに譲ります。いくしー(@daiksy)のはてなブログ2015は私は記事を書いていないのですが、スタッフのだいくしーさんが綺麗にまとめてくださいました。noconoというわけで、Scala関西は徐々に、Scala関西Summitという年1回のボランティアスタッフによるカンファレンスを継続して開催するコミュニティになっていきました。個人的には初期のように小さい定期勉強会をやっていきたい気持ちがあり、実際去年はSummitやめようかなという話もしていました。大規模のイベントを開催することの意義やメリットも大きいことは確かです。人が集まるイベントほど各所に与える影響も大きくやりがいもあり、開催していて楽しいと私も感じます。それもあり今年2019も「Summitやるぞ!」と決めて、開催する方向で進めていました。私がやっていたことは、赤字を出さないように商取引をしつつ、スタッフをまとめながら非営利でイベント事業を行うという会社経営のようなことでした。スタッフはみんなボランティアで、所属もばらばらです。非営利型団体ですので、通常の営利事業の会社経営とはまた事情が異なりますが、私が感じていた課題感や悩みなどは完全に経営のそれでした。私は個人事業主なので仕事で商取引を行なっており、お金の計算が得意というわけではないものの、お金の取り扱いの心得が元々ありました。自分で言うのもなんですが私は営業スキルが結構高く、お金の面ですごく困るということはなかったです。(毎年ドキドキはしていましたが・・・)ただ、経営に関しては完全にど素人で、組織作りについては最後まで四苦八苦していました。やって方針を決めて、タスクを切り出して、誰にどう任せるのがいいのか。チームを作ってみたり、一部はお金を出して外に委託してみたり・・・。毎年私なりに試行錯誤して、うまくいった試みもあれば、全くうまくいかず逆に自分の負荷があがってしまった試みもあります。先日までのモチベーションがある私なら、ここ最近の気付きを元に「今年こそ楽に継続開催できる仕組みを作るんだ!!」と、「好き」という気持ちで無理をしてでもチャレンジをしていたと思います。そのモチベーションはありません。ボランティアスタッフカンファレンスの難しさこの手のボランティアカンファレンスを主宰している人達と話をして、どうやって運営しているのか話を伺う機会も何回かありました。最近、カンファレンス主宰の方々の下記記事を拝読いたしました。www.hasegawa-tomoki.commedium.com正直、抱えている課題感などはどこも同じであり、どこの団体も、経営の素養がある、かつモチベーションが高い人が、大なり小なり無理をしながらひっぱっていっているという印象です。いざ辞めると決めて改めて振り返ると、私も結構無理をしてしまっていたなと思います。やるんじゃなかったな・・・なんて気持ちはなく、いい経験ができたとは捉えています。この経験は今後の自分の人生においてとても役に立つ価値のあるものです。同じようなカンファレンスイベントをやってみたいという人に「やってみなよ!」とはとてもではないですが軽々しくは言えません。やりたいならやってみればいいと思いますが、そう簡単に考えない方がいいです。先程も書いた通り、やらないといけないことは会社経営みたいなものであり、エンジニアとして以外のスキルが要求されます。いえ、こういったカンファレンスイベントを開催したい!という気持ちはわかりますし、いい感じのベストプラクティスが確立されればいいなぁ・・・とは思います。ちなみによく、規模を小さくすればいいのではという意見を見ますが、個人的にはお金を集めないと開催できないイベントとして設計されたものに関して、イベント規模と開催難易度は比例しないと考えています。規模が小さく(参加者が少なくなる、コンテンツが減り提供できる特典が減る)なれば、その分企業さんに提供できる価値は小さくなるため、スポンサーフィーは下げる必要がでてきます。大きくなればこれを上げることができるため、お金で解決できることも増えていく筈です。協賛金や参加費を集める必要があるかないかが大きな分かれ目であり、規模による難易度差は正直大差なさそうなどと思うのですが・・・どうなんでしょうね。少なくとも、規模を小さくすれば解決する簡単な問題ではないとは考えています。Scala関西のおかげで、仲間がたくさんできて楽しかった運営を抜けると決めた数日後、スタッフMTGでみんなにその旨を伝えました。主宰は辞めるけど運営としては残るという選択肢はないのかとも聞かれましたが、残ると今までと変わらず動いてしまうような気がして、すぱっと抜けたいという話をしました。みんな最初はびっくりしていましたが、私が前向きだったので、「お疲れ様でした!」と前向きに送り出してくれました。その日のうちにスタッフチャットから抜けたのですが、連絡がつかないのも困るのでということで「kinokoの部屋」が設けられました。やりたいようにやりたいことをやって、自らしんどい方向に持っていって、それで「やる気なくしたから抜けるわ!」という形でぽん!と抜けたのでなんて迷惑なやつなんだという気持ちも正直あり・・・。みんなごめんね、明るく送り出してくれてありがとう。この決断の前後には葛藤もありました。モチベーションがなくなった途端にScala関西が自分にとって重いものとなり、主宰を続けるのも無理だし、でも辞めることもそんなに簡単じゃないと感じて悩みました。同じカンファレンス主宰という立場の@OE_uiaさんが話をじっくり聞いてくれたおかげで、気持ちを前向きに転換することができました。Scala関西Summit主宰者として活動したことがきっかけで知り合った方はとても多いです。関西だけではなくそれ以外の地域、また、Scalaコミュニティはもちろんそれ以外のコミュニティにもたくさんの友人ができました。Scala関西はよく「楽しい」というご感想をいただきます。それは、私がちゃんと楽しんでいたからです。いろいろなコミュニティイベントに参加したことがありますが、どのイベントも、主宰のカラーや思想が色濃く反映されていると感じます。Scala関西が楽しい場になっていたのであれば、それは私がちゃんと楽しんでいたからです。これはScalaコミュニティに限った話ではありませんが、人がたくさん集うとそれなりに問題もでてきて、ぶっちゃけめんどうだ・・・と思うこともあります。それ以上に、人が集い、仲間ができると、とても楽しく、嬉しい出来事も多いものです。いったことも、Scala関西から学びました。2018の集合写真イベント当日の写真アルバム。見返すと私もみんなも本当に楽しそう。2018Scalaコミュニティから去るわけではありません私は、これでScalaをすっぱり書くのをやめよう!とは考えていません。Scalaは本当に不思議な魅力がある言語だな〜と思っています。先日の勉強会で出た言葉を借りるならば「エンジニア心をくすぐる」言語です。賛否両論をまきおこすScalaの特徴として、他の静的型付け言語と比較しての「高い表現力」があります。私はScalaを書きはじめて、可読性について強く意識をしてコードを書くようになりました。Scalaは表現力が高いがゆえに、どう書けば可読性が高く、読みやすいコードになるかをより考えて書く癖がついたのだと思います。実際、自身が開発したScalaのWebシステムを2年振りに触ることになった際も、どういう処理をしているコードなのかが明確でさっと読むことができ、かなり助かりました。よって、私はこの表現力の高さに魅力を感じています。Scalaを書いている人はみんな大体「コードがすっきり書ける!」「書いていて楽しい!」と言いますし、私もそう感じます。Scalaは好きだし本当はメインで使っていきたいです。残念ながら、私がやりたいこととはマッチしないのです・・・。「好きだから!」だけでは採用することはできない。Scalaはおそらく、今後も根強いファンを少しずつ増やしていくのでしょう。今後技術事情が大きく変わった際にはScalaの裾野が広がっていき、Scalaがメインストリームの言語となる可能性もまだあると考えています。Scalaを使いやすい状況になることがあれば、そのときはまたScalaの方に軸を戻して積極的に使っていきたいし、ぜひそうなってほしいです。Scala関西は誰のもの?運営から抜けた後に、スタッフから「Scala関西というものは誰のもの・・・?」という質問が来ました。この辺は曖昧なままで運営をしてきました。「Scala関西」は当初「きの子さんがやりたいことを、やりたいようにやるところ」として成り立っていて、それでいいという話も出ていました。発足当初〜どこかの時点までは、Scala関西は「私のもの」だったんだと思います。それがどの時点までだったのかは、私にもわかりません。そもそもそれを公言していなかったし、私は別に私のものにしたくてやっていたわけではないので、実は最初から別に「私のもの」ではなかったのかもしれません。「私のもの」であったこの集いは、人が多くなり、存在も大きくなるにつれて「関西のScala好きな人のためのコミュニティ」として認知され、いろいろなことが曖昧なまま、気がついたら「みんなのもの」となったのだと思います。当初は私がやめたくなったらScala関西は終わりでいいんじゃない?という話もありました。ありがたいことに今、Scala関西にはたくさんの仲間が集っています。今、残ったみんなでどうやって、何を目的としてどういう形で運営していくのか、話し合っているところである筈です。それがどういう形なのかは私にもわかりません。私がやる気をなくしたら終わりでいいじゃんと言っていたScala関西に仲間が集まり、なんらかの形で残りそうであること、何かを確実に残せたこと。最後に私はいつの間にか、「Scala関西のオーガナイザー」と紹介されるようになりました。自らオーガナイザーという肩書を名乗ったことは、あまりありません。これ書くの少し恥ずかしいのですが、響きがカッコ良すぎて自分には合わない照れくさい・・・!と感じていて、最近やっと自分でも名乗る度胸がついてきてたまに「オーガナイザーです」と言うことも出てきたところでした。いうわけで、最後の最後に今更ですが、このオーガナイザーという言葉を使わせてください。今後も、これまでとは違う形で、コミュニティには貢献していきたいと考えています。いえ「Scala関西のオーガナイザー」としての活動についてはここで一区切りです。私をコミュニティ・オーガナイザーとして育ててくれたScalaコミュニティには心の底から感謝しています。あさみ*1:完全に余談なのですがこの日、準備不足すぎて自信なさげに発表をしてしまい、当日参加してくれた方々に失礼なことをしてしまったと反省しています・・・。*2:そもそも、Scala書きたいってだけならScalaをすでに採用している企業さんに就職する道を選びます。1月のScala関西勉強会でApacheKafkaについての発表をしました。scala.connpass.comconnpass.com仕事で使うためとりあえずチュートリアルを触ったりネット上の記事を読んだりして勉強した内容をまとめたものになります。今回、iPadProでオール手書きスライドにチャレンジしてみました。Scala福岡の際、ケーブルの接触不良で大分グダグダな感じになってしまったのですが、手書き自体は今後積極的にやっていきたいな〜と思います。(このときまとめた内容は普段より頭に定着している感じがする。天満研修センターにて、「就活GeekHub」というイベントを開催します。www.geekhub.jp下記公式サイトのイベント概要より。就活GeekHubはギークな就職・転職希望者とギークなIT企業をつなげることを目的とした合同説明会イベントです。技術が好きであることがわかる公開ページのURLをご提出頂くことが参加条件です。開催時間内、IT企業が出展するブースを自由に周り、企業の皆様と話をしたり、パンフレットやノベルティを受け取ることができます。いう表現をしていますが、そんな堅苦しいものではなく、企業さんも参加者さんも一緒になってワイワイと技術の話をするようなイベントにしたいです。このようなイベントを開催するのか企業さんの「優秀なエンジニアに来てもらうにはどうすれば・・・」という声はよく聞きます。エンジニア採用にはどこも悩んでいらっしゃる印象です。一方で、話す限り私からはとても優秀と感じる人が、就職活動や転職活動に苦戦している場面にも何度か遭遇したことがあります。実際のところはわからないですが。双方があまりちゃんと出会えていないような気がするので、こういう出会いの場を設けるといいかなと思いました。エンジニア採用を行っている企業さんがITカンファレンスでブースを出す主な目的は採用に繋がる宣伝です。自社に必要な技術のエンジニアを集めるにあたって、そのジャンルのカンファレンスで協賛・出展する効果は大きいと思います。特定の技術にこだわりがない人や、カンファレンスの場に出てこない(知らない・知っていても休日に参加できない、しようとは思わない)エンジニアや学生にそういう場でリーチするのは難しいという印象です。そこで、いっそわかりやすく「就活」というキーワードでこういうイベントを開けば、既存のIT勉強会やカンファレンスとはまた違う参加者層となり面白いのではないかと思いました。」を提出するという条件を設けています。これは下記の理由になります。