hisakuの日記

hisakuの日記

エンジニアを目指す学生の雑多ブログ(現在はエンジニア)

LTサークルを立ち上げたので宣伝

f:id:hisakuuU:20210912211219p:plain

cistLT

LTサークルの立ち上げ

この度、LTサークルを立ち上げました。

私は、来年卒業するため今年1年でできるかぎりのことをやっていきたいなと考えています。

活動内容はまだ不明瞭ですが、学生のアウトプットの場となる環境づくりをしていきたいと考えています。LT以外にもハッカソン、勉強会など様々なイベントの開催、参加を行っていきたいと考えています。よろしくお願いいたします。

https://twitter.com/CistLt/status/1284770784913715200

 

サイトもできました!!!  

cist-lt-group.web.app

サイバーエージェントのインターンシップ(CAアーキテクチャコンペティション)に参加しました

f:id:hisakuuU:20210912210412p:plain

CyberAgent



はじめに

3月8日に行う予定だったCyberAgent(サイバーエージェント)のアーキテクチャ(非機能要件)を考えるインターンシップコロナウイルスの影響により、オンライン開催となりました。その参加記録となっています。期間は1週間でした。

 

インターンシップ概要

やった内容についてどこまで触れていいのか聞いてないため、内容については書きません。

アーキテクチャ図も載せたいけどどうなんだろう?色々追記します。

オンラインのため、やりとりは全部Slackです。事前にプライベートなチャンネルが作られ、そこにインターンの参加者が招待されます。

そのチャンネルで課題が出されます。また、そのチャンネルは、学生同士がインターンシップでつまったところなどを共有するチャンネルになっています。あまり、発言は多くなかったですが、新たな試みだと思いました。

非機能要件のため、インフラ設計がメインです。自分はクラウドをつかった経験がなく、AWSはEC2とLamdaしか知らなかったため、勉強するいい機会になりました。クラウドを使わなくてもいいのですが、オンプレはコストぐらいしかメリットがなかったのと、いい機会なのでチャレンジしてみよう!という感じでした。僕は、オンプレでサーバを触りたい人ですが。w

サイバーエージェントインターンを通してクラウドの知識がついたので、これを機に、AWS認定ソリューションアーキテクトの勉強もしようかな~。

 

 

終わりに

やっぱり、インターンシップは普段つかわない技術や、知らなかったことを学ぶことができると感じます。インターンシップについていけるか不安でも、成長の壁だと思い、乗り越えてみてほしいなと思います。いい機会です。調子のりました、すみません。

地方だと都内のインターンや大きい会社のインターンには行けないので今回のオンラインインターンが成功に終わったため、地方のインターン参戦障壁も減ったのかと思います。

オンラインは、モチベーション管理が大変ですけど。。

サイバーエージェントの方がありがとうございました!

 

※どこまで書いていいかわからないので内容は今後追記していきます。多分大丈夫だと思うのだが一応。。

 

 

 

microhardeningオンラインに参加しました。

 

f:id:hisakuuU:20210912211301p:plain

マイクロハードニング



はじめに

マイクロハードニングがオンラインで開催したので参加しました。

内容はネタバレにつながるので書きません。今回は新しいversionのため解説がなかったです。なので自分も答えは知らないです。

 

microhardeningとは

前回出た時の記事があるので興味があれば読んでみてください。

hisaku.hatenablog.com

コミュニケーション

Slackを使います。事前情報の共有がSlackで行われており、そこにチームごとのプライベートなチャンネルができます。チームは事前にランダムに決められます。

Slackでは、各々対策する部分や、対策し終わった部分を投げる。おかしなところがあればSlackで報告するを徹底していました。

解説

今回は最後の解説がありませんでした。まだベータ版なのでということです。

事前に、Googledocumentがチームごとにわたされており、それぞれのチームが対策したことを書きました。解説がない新versionのため、Googledocumentを使い、他チームの対策を勉強することができました。これは前回にはなかったため、個人的にはとてもうれしかったです。

これをもとに対策法をまとめ、理解し、使えるようにしなくてはと感じました。また、意外と手が動かないなと感じました。理解と使えるはやはり差がありますね。手を動かしていきましょう。microhardeningは時間も短いので調べる余裕はあまりないです。

感想

今回のmicrohardeningは前回のversionよりも見なくてはいけない範囲が増えました。そのため、ログを見る人の役割分担が大切だと感じました。

ハードニングは、出るたびになるほど!という知見が得られるし、実務に活かしやすいので楽しいです。実務はしたことないですが(;´・ω・)

オンラインについてですが、支障はほとんどなかったです。一回経験しているとオンラインで問題ないと思います。もっとオンラインでやってほしいですが、運営側の負担がすごいw

参加者は、学生より社会人がほとんどでした。強い社会人から学ぶために学生も参加しましょう。

 

最後に

コロナウイルス気を付けましょう。

キャリアセレクトのオンライン逆求人に参加しました

f:id:hisakuuU:20210912211243p:plain

キャリアセレクト



はじめに

コロナウイルスの影響により、本来東京で行われる逆求人イベントがオンラインでの開催となりました。
あまりない体験だと思うので何かの参考になればと思います。


逆求人イベント

キャリアセレクトさんのBtoB向けの逆求人イベントに参加しました。
なぜBtoB?それしか合う日程がなかっただけです。特に、深い意味はないです。
結構準備はギリギリでしたが、大丈夫でした。

 

careerselect.jp

 


何社

当日14社
ソフトブレーン株式会社

株式会社チェンジ

株式会社ディレクターズ

株式会社イーグラント

Supership株式会社

バーチャレクス・コンサルティング株式会社

株式会社ビットエー

Fringe81株式会社

株式会社ブイキューブ

ベース株式会社

ユミルリンク株式会社

株式会社ラクーン

RELATIONS株式会社

株式会社オープンストリーム

何人

学生 23人

日程

  • 10:30 受付開始
  • 11:00 開会挨拶
  • 11:05 3分 x 14社のLT:会社概要説明LT.
  • 12:25 昼ごはん
  • 13:25 30分 x 最大8社と面談 
  • 18:05 閉会

 

私は、6/8社でした。全部埋まらなかったのと、オンラインでリラックスしていたのもあり、体力的には問題なかったです。

wherebyとzoomを使います。


準備すること

  • スライド
  • Wherebyの部屋を作成

 

drive.google.com

スライドの表紙に顔面の写真をはりまくったら爆笑されました。

なごんでよかったです。

スライドの作成には、3~4時間ほどかかりました。

 

スライドづくりで参考にしたブログ

shiningcureseven.hatenablog.com

 

kotomi1338.hatenablog.com

 

 

 

1タームで30分で休憩10分でした。
だいたい自己紹介に10分、私が事前にスライドの最後に書いた質問内容に沿って企業の方がお話する15分、残りで5分ぐらいでした。

 

良いといわれたとこ

  • 育成をしたいという点 成長したいという人は多いが、育成させたい、成長の促進をする人がいないため、そこを評価されました。
  • 開発経験 目的を持った開発経験が評価されました。
  • インフラ経験 インフラを触ったことがある人がいないため、希少種あつかいされました。
  • アウトプット いいことだと言われました。しかし、アウトプットで技術ブログを書こうとしているが、現状とまっていたり、できていないとおっしゃる企業が多かったです。課題意識はあるといっていました。

 

フィードバック

ソフトブレーン株式会社
面談ありがとうございました。 お話を聞いて、技術的にマッチしているように感じました。 今後、さらに詳しくお話を聞かせ願えればと思います!
Supership株式会社
本日はありがとうございました! プロダクト開発力=メンテナンス性が高かったり、アーキテクチャをしっかりするという考え方は非常に素晴らしいと思いました。 時間が足りず満足にお話しできなかったため、改めてお話しする機会をいただければ幸いです。 週明けに改めてご連絡させていただきます。
株式会社ブイキューブ
本日はありがとうございました。 時間配分を勘違いしており10分早く終了してしまい大変失礼いたしました。 様々な経験をされており向上心高く優秀な方という印象を抱きました。 プレゼンテーションも要点をおさえていて非常にわかりやすかったです。 是非、座談会にお越しいただきたいと考えております。 何卒、よろしくお願いいたします。
ベース株式会社
取り組みなどの説明自体はわかりやすいので、自分がしたいことをより具体的に話せるとよいかと思います。
株式会社ラクーン
非常にしっかりとした方と感じました。質問事項も的を射たものでセンスの良さを感じます。制作物も目的を持ったサービスで学生とは思えないレベルで素晴らしいです。
RELATIONS株式会社
自走して自ら環境を作り出せるのは、強みだと感じました!だからこそ、自分自身がより成長できる環境を見極めてください。特に、自主学習能力を称賛してくれるような会社を見つけてください。

 

参加してみて

思ったよりもやりやすかったです。

オンラインはとても快適に感じました。周りの目がないのは心理的にとても違います。

 
1度の面談時間が少ない分、人となりや、経験を伝えたあとに一番伝えたいのは何か印象に残るようにする必要があると感じました。
スライドの最後に,、質問項目をあらかじめ書いていたため、とてもスムーズに会話が進みました。スライドづくりで参考にしたブログにそのようにすべきと書いてあったため、とてもよかったです。
選考ステップは、特に変わらないです。会社説明がなく、そのまま選考にすすめるくらいの印象です。
参加のメリットは、フィードバックで自分がどんな印象なのか、強みはどこなのか、どこがマッチするのか、どこが自分の押しポイントなのかがわかることだと感じます。

1回やると思考の整理にもなるので逆求人ありかなと感じます。

迷ったらやりましょう。


就活は、日程、交通費の問題で企業に訪問する機会が少ないのが地方就活生だと思います。そのため、知ってる、聞いたことのある企業に限られてしまうといった現象が、逆求人に参加することで緩和されるのではないかと感じます。

地方で企業に訪問できないときにすると良いのは、
社内の雰囲気を社内のSlack、githubのpullrequest、社内ブログを書く時の表現の方法、勉強会の登壇者のslideなど、を見たり、見せてもらい、確認するのはありかなと思います。


オンライン面談での音声に関して、イヤホンの準備はした方が良いと感じます。

携帯も準備しておくといいと思います。実際に、面談中に音声の問題で電話に切り替えたため、電話がつかえる環境は用意すると安心です。

部屋は、明るくしましょう。

イヤホン安いやつ↓

流行りの骨伝導イヤホン↓

 

最後に


記憶力がとぼしいため、どの企業になにをいわれたがすべて把握できていないです。それが残るようにしてほしいなと感じました。
中休憩が必要だなと感じました。通しでやるより、間に少しながめの休憩をはさむと体が楽かなと思います。時間てきにもきつきつなので仕方ないですが。

参加してみてのあたりからぐちゃぐちゃな文章ですがご了承ください。

とりあえず問題なく終えたのでよかったです。

本日は、ありがとうございました。

 

enPiTを終えて

 

はじめに

2019年夏から2020年1月末まで、enPiTという文科省のプログラムに参加していました。それについて、少しだけ書きたいと思います。

 

enPiTとは

 こちらに↓

www.enpit.jp

 

enPiTには4つのコースがあり、その中でもビジネスシステムデザイン分野に参加しました。(分野は事前に決まっています。)

私たちは、連携校である室蘭工業大学に参加する形で一緒に活動を行いました。

といいましても、基本は本学のメンバーとのチーム活動がメインでした。

主な活動日程は、2019年の9月に1週間ほど室蘭で合宿をし、その後、チームごとの提案・開発の流れで進みました。途中12月に中間発表があり、最後は1月末に室蘭で最終発表を行いました。

成果物

drive.google.com

担当はインフラでした。サーバ構築、デプロイ作業をしていました。ビジネスシステムとは?という感じです。

 

感想

当初の目的は、他大学の学生を知ることと、スキルアップでした。他大学の学生を知るという目的は達成できたと感じます。

しかし、ビジネスシステムデザインというものがふんわりとしており、学びとしては浅かったなと感じます。結局サーバ触ってましたし。自分でもそこに結び付ける努力は足りなかったなと感じます。

座学での講義が少なく学んだことを活かすというものではありませんでした。

技術的なものより、提案アイデアが重視されるものであり、自分達のやっていることとは評価軸が異なっていたなと感じます。うすうす中間発表から感じていたましたが。

 

本学では、enPiTプログラムは単位認定されません。悲しいです。

再来年には本学でも開催したいらしいです。実現すると、移動がすくなくて楽になるかも。

 

最後に

enPiTプログラムを通して、貴重な体験をできたこと感謝いたします。交通費、宿泊費の支援をいただき誠にありがとうございます。今回の経験を活かし、今後も頑張りたいと思います。

 

千歳科学技術大学が公立化したので学校紹介! 公立千歳科学技術大学

 

f:id:hisakuuU:20200225200534p:plain

公立千歳科学技術大学

はじめに

2019年に千歳科学技術大学は公立化しました。公立大学の必要性や、大学への財務負担の緩和が目的だそうです。

これに伴い、今後学生数が増えたときの入学者の参考になればと思い公立千歳科学技術の学校紹介記事を書きたいと思います。

なぜか、今年度の入試も終わる今頃書いています。タイミングが悪いです。

※この記事は基本的に筆者が情報系の学生のため、内容は情報系についてがほとんどですお許しください。

 

まずはじめにすることはとりあえず大学ホームページをまず見ましょう!

基本これでおーけです。結局ホームページが一番網羅されています。

このブログではホームページに載っていないようなことをできるだけ書きたいです。

ホームページは公立化に伴い、リニューアルされました。↓

www.chitose.ac.jp

 

※通称カギ大 英語表記 Cist(Chitose Institute of Science Technology)


公立化

千歳科学技術大学[スペース] 公立化などでこのブログを見た方が多いと思います。

千歳科学技術大学は2019年に公立化しました。公立化は2~3年ほど前から提案されており、それがようやく決定されました。

公立化で何が変わるのか、学生目線でいうと学費が安くなることです。詳しい説明は学費の欄でします。ぶっちゃけこれが学生にとって一番のメリットです。

そのほか公立化でのデメリットとしては千歳市との関係性が強くなってしまったことがあげられます。これにより、大学として市に貢献する活動が増えました。正直面倒なことがおおいです。お役所は大変です。

あとは学生アルバイト(TA・SA)の時給は減りました。昔は大学院生なら時給2000円だったりすることもあったそうです。今は1000円くらい。

このように学生目線でのメリット・デメリットは意外とあります。まあ、昔を知らなければそこまで問題視する内容ではないですね。

ここでは簡単に学生目線で公立化によるメリット・デメリットを紹介しました。

 

入学式

入学式には千歳市長が来ました。その際こんな言葉を言っていました。

千歳科学技術大学は、1998年で若い大学です。実は、若いのは大学だけではありません。なんと、千歳市の平均年齢は、40歳!という高齢化社会と真逆を行く若さ溢れるエネルギッシュな街なんです。

あとは支笏湖の水質が日本一?とかも言っていました。新千歳空港は外国機が一番おおい?全然覚えていないですが千歳にある3つの1位がこれらだと言っていました。

 

関係ないですが、2019年度から千歳市民文化センターで入学式が行われるようになりました。今までは体育館です。

北海道初の理工学部、3学科制

北海道で理工学部を設立したのは、公立千歳科学技術大学が初めてです。また、3学科制であり、2年生進級時に学科を選ぶことができます。そのため、じっくり考えて希望する学科を決めることができます。

2年生進級時の学科配属は、基本的に希望に沿う形です。 今年度までは、希望したらその学科に振り分けられています(2019年)。というのも私立のときは人数が少ないため、希望が通る形でして(;'∀')

 
Smiling face with open mouth and cold sweat

そのため、情報系の学科にとても偏りがでています。来年度以降どのようにするのかは定かではありませんが、入学者の増加などの影響により、配属時は1年生の成績を加味する。というような形になる可能性は今後高くなると思います。

入試方法

下記にお任せします。

www.chitose.ac.jp

オープンキャンパス

www.chitose.ac.jp

オープンキャンパスは、年何回あるのだろう?夏頃と秋ごろかな?全然わかりません。学生が頑張って毎回準備しています。

 

学費

 学費は年、535,800円です。安くなりましたね。前年は学費100万~150万くらいありました。半分以下!!以下詳細↓

www.chitose.ac.jp

学際

1回しか行ったことないのでわかりません。よさこいの演武があるのと芸能人が毎年2組ぐらい来ます。2019年はりんご娘さんと芸人のフルーツポンチさんが来ていました。

他には、アルパカとかヤギとかもいました。規模は小さいです。

アクセス

千歳駅~大学まで無料のスクールバスが通っています。本数は↓

f:id:hisakuuU:20200225213329j:plain

Cist_Bus



帰りたいときに帰れないです(笑)。でも、大学から一番近い南千歳駅までは、歩いて30~40分なので気合いで行けます。南千歳駅千歳駅は200円です。時間はJRで2~3分です。

空港が近いので出張があってもギリギリまで先生たちは授業をします。

飛行機は毎日見れます。自衛隊基地があるため、戦闘機の音が聞こえます。

 

お住まい・寮

寮は、大学指定でシェルブルー千歳、ドーミー千歳。他には寮ではないですが、スカイヒルズというマンションがあります。

寮は門限があるのがドーミー千歳です。シェルブルー千歳はありません。

僕はシェルブルー千歳に住んでいましたのでドーミーは詳しくわからないです。シェルブルー千歳は洗濯機が女の子以外は部屋に置けず、男の子は寮の中にあるコインランドリーで洗濯をします。共同で1回200円のと300円のがあります。ほかに1回200円で乾燥機があります。シェルブルー千歳は洗濯が一番大変でした。

ご飯は食堂があります。平日と土曜日にご飯がでます。日曜日と学校のない夏休みなどは出ません。朝ごはんは7時~8時半、夜ごはんは18時~20時でした。昼は大学の食堂で食べます。シェルブルー千歳は家賃、水光熱費、ご飯代など合わせると月8万くらいはいってました。安くはないです。

部屋は築25年くらいですが広くきれいです。一人暮らしでは全く問題ないです。僕は5階の道路側だったため、非常に朝は日当たりがよかったです。うらの山側の部屋のひとはそこまで日当たりがよくはなさそうです。その代わり道路に面すると外の声がきこえたりします。1階や2階の人は外から見えるため、厚手のカーテンが必要そうです。

駅からは片道徒歩15分くらいのところにシェルブルー千歳の寮はあります。

寮に入るか悩んでいる人は一度連絡してみてください。遠方からで不安かと思いますが大丈夫です。

 

www.chitose.ac.jp

各寮のホームページの内容は最新ではないので異なる場合があることを注意してください。

一人暮らしと通いの比率とかはわかりません。

図書館

千歳には図書館がありません。悲しい。札幌に行くしかないです。しかし、大学図書館があるではないか!規模はとても小さいですが、専門書は、充実していると感じます。ラノベなども。図書館は予算があるらしいので欲しい本をリクエストできます。1回で2週間借りることができます。長期休暇の場合は10冊借りられます。

入館時に、2020年度より、学生証による認証が必要になりました。

www.chitose.ac.jp

授業

1年生は一般教養です。最初に英語と数学だけテストの点数によるクラス分けがあります。2年生以降から専門を深めます。

情報系は、一年生はC、2年生はJavaあと3年生でPythonとかやります(2019年)。

本学の情報系が他の大学と違う部分は、学内のシステムとかを触れる点だと思います。授業で使うシステムの開発だったり、今の大学のポータルサイトも本学の先輩方が作りました。

 ポータルサイト

https://portal.mc.chitose.ac.jp/portal/?1

ここらへんが他大学との違いかなと思います。

他には、公立化する以前から、千歳市に関係するシステムの開発はしています。

 https://info.chi-navi.net/ とか?

地域貢献ですね。

 

個人的おすすめ授業は、文章技法です!

情報系の学科の人だけが履修できるのですが、文章の書き方をプロが教えてくれます。論文の書き方、探し方などです。卒論にも役立つと思います。

私は、履修しましたが文章はドヘタです。(´;ω;`)

 

公立化に伴い、千歳学という授業ができました。千歳市長がお話したりしていました。千歳について学ぼうということなんでしょう。

 シラバス

www.chitose.ac.jp

 

遊ぶところ

大学の周りには、森があります。自然を楽しみましょう。

たまに、狸がでます。寝てました。

 

f:id:hisakuuU:20200225215049j:plain

Cist_Tanuki

千歳駅周辺も特にないです。ニート極めましょう。それか札幌に行きましょう。

飲み屋とかも科学技術大生限定とか、そういうお店はないです。

 

男女比

千歳科学技術大学の男女比は8:2ぐらい?で男の方が多いです。やはり理工学部単科大学のため、男女比は大きく偏ります。女の子の学生は年々増えているように感じます。特に応用化学生物学科が女の子が多いです。

※男女比は7:3かも?

休業期間

夏休みは例年8月初週か2週目~9月半ばまで短いです。ここら辺は、公立化で変わるらしいです。冬休みは、公立化後は、12月第3週~1月第1~2週までです。春休みは、2月の頭~4月初めまでです。公立化前は、祝日も大学ありました。公立化後は、祝日はある程度休みになっています。成人式は道内の人なら出席可能だと思います。

学食

それなりです。券売機でKitacaが使えるようになりました。あと、めちゃくちゃ込みます。1限始まる前や終わったあとに券売機で先に券を買っておきましょう。

時間は、11時~15時とかだったはずです。朝、夜はありません。

売店もあります。売店って感じです。セブンイレブン欲しいです。

生協はないのかな?

部活・サークル

入ってないです。一応ホームページ↓

www.chitose.ac.jp

よさこいが力を入れている印象です。体育館割り当ては、ほとんどよさこいです。

他に、プログラミングのゼミっぽいのはあります。多分、プログラミングの授業中にでも説明があるはずです。

 

※追記(2020/8/05)

LTサークルというIT技術を学んだり、ITイベントの開催、参加をするサークルを作りました。興味ある方はTwitterにDMお願いします。 

cist-lt-group.web.app

 

研究室

情報系の研究室は

サービス系、人口知能系、ネットワーク系、教育系などがあります。

どの研究室によって忙しさや手厚さなどは変わるため、自分のやりたいことと注げる労力を吟味してください。

どこも楽しいはずです!

 

www.chitose.ac.jp

 

進学・大学院

進学はまったくわからないです。毎年数名大学院への進学者がいます。全体としては、8割は就職、残り2割は大学院への進学だと思います。

これからは公立化で学費が安くなったので、大学院への進学者が増えるのかなあ~?

大学院試験は夏と冬にあります。学部の成績が良ければ問題なく進学できると思います。

外部の大学院への進学者も一定数います。その際は教授や先生と早くから外部進学を志していることを相談することで外部の院試験に十分に備えることができると思います。

 

インターンシップ

大学3年生の夏に大学で単位のでるサマーインターンシップがあります。期間や内容は企業ごとにバラバラです。道内、道外企業が募集を出しています。

訪問先の企業にアポとりから始まり、メールでのやりとり→実習→お礼状を書く→学内でインターンシップ先の企業の前で発表をします。

慣れないことをするため、非常に疲れると思いますが学校の外を知るいい機会だと思います。気を貼りすぎずに頑張ってください。

インターンシップで東京に来る際にこのブログを見たと言ってくれればご飯おごります。(笑)

 

就職

その人次第です。がんばりましょう。入学してから学校でしか見られない先輩の就職関連の情報など見れると思います。

大学3年生の2月に学内業界研究セミナーがあります。学内業界研究セミナーとは、学内の体育館に250社ほどがブースを出し、学生がお話を伺うというものです。午前、午後3社ずつ受けます。体力的にきついです。1、2年生も参加可能です。スーツ必須。

また、就職支援課というものがあるため、そこを頼るのもいいと思います。面接や履歴書の練習をしてくれます。

Web系の企業に就職したい方は自分で情報を集めて就職活動を行う必要があります。自分はキャリアセレクト、サポーターズ、テックトレインなどというサービスを使い、就職活動をしました。

 

careerselect.jp

talent.supporterz.jp

techbowl.co.jp

 

キャリアセレクトの逆求人に出た際のブログです↓

僕はこの逆求人経由で今の会社に採用されました~

hisaku.hatenablog.com

 

あとは、就職活動のときに、公立千歳科学技術大学というのがとても大変です。甘噛みしないように気をつけましょう。

 

色々

情報系だけ新しい棟ができるらしいです。理由はわかりません。2024年とか?までに。

※2021年に新棟ができました。はやい!

留学生も増やすらしいです。ホームページに書いていました。現在は、国際交流皆無なのでいいことです。

千歳駅も数年でリニューアルされるらしいです。ぜひ、スタバができてほしいです。

 

以上。千歳科学技術大学についてでした。

LOCAL学生部総大会に参加してきた!

はじめに

LOCAL学生部の総大会に参加してきたので、ざっくり書きます。総大会とは、年1回のオフラインの集いです。

LOCAL学生部とは☟

https://www.local.or.jp/clubs/students

雰囲気

2日間、ビットスターさんのラウンジを借りて行いました。総大会の内容は、主に各々がもくもくして、ブログに成果をのせる。最後にLTしたい人はするという形でした。自分は、2日目から参加したので、ほとんどなにもやってないです。

ちょっとTwitterから雰囲気拝借します。

これが総大会かぁー(・ω・)(-ω-)(・ω・)(-ω-)

こんな感じ~

 

なにやってた?

なにもしてないとはいえ、少しやったので書きます。Spring bootのFormから受とった入力値のValidationを軽くやってました。

Spring bootはJavaフレームワークでView部分でTymeleafというテンプレートエンジンを使用しています。詳しい情報は、調べていただきたいです。申し訳ないです。解説する気力なかったのでコメント文書いてます。

Validation例☟

Controllerクラス
//画面用のFormクラスの初期化
@ModelAttribute
public ValidatedBattlePageForm setupValidatedBattlePageForm(){
return new ValidatedBattlePageForm();
}

/**言わずもがなPost
 *ValidatedBattlePageFromの直後にErrorsを引数にとらないとエラーになるので注意
 *引数のValidatedBattlePageFormが画面上の同名の項目にマップされる
 */
 @PostMapping("BattlePage")
    public String battle(@Validated(IBtPlFmOrder.class) ValidatedBattlePageForm validatedBattlePageForm, Errors errors, Model model) {

        //ValidationErrorならGameStartPageに遷移させる
        if(errors.hasErrors()){
            return "GameStartPage";
        }
Formで入力した値のクラス
public class ValidatedBattlePageForm {

    /**
     * @Notnullは入力値になにもないとき String型でないとエラーがブラウザにそのまま表示される
     * @Min@Maxは0~4以外はだめ messageでエラーじのメッセージを設定できる
     */

    //groupsでvalidationの順番を制御する
    @NotNull(message = "0~4の数字を入力してください",groups = IValidatedBtPlFm1.class)
    @Min(value=0, message = "0~4の数字を入力してください", groups = IValidatedBtPlFm2.class)
    @Max(value = 4, message = "0~4の数字を入力してください", groups = IValidatedBtPlFm3.class)
    private String playerLine;

    @NotNull(message = "0~4の数字を入力してください",groups = IValidatedBtPlFm1.class)
    @Min(value=0, message = "0~4の数字を入力してください",groups = IValidatedBtPlFm2.class)
    @Max(value = 4, message = "0~4の数字を入力してください",groups = IValidatedBtPlFm3.class)
    private String playerColumn;

    public ValidatedBattlePageForm(){
        this.playerLine = "";
        this.playerColumn = "";
    }
    public String getPlayerLine(){
        return playerLine;
    }
    public void setPlayerLine(String playerLine){
        this.playerLine = playerLine;
    }
    public String getPlayerColumn(){
        return playerColumn;
    }
    public void setPlayerColumn(String playerColumn){
        this.playerColumn = playerColumn;
    }
}

@NotNull @NotEmpty @NotBlankの挙動

qiita.com

@NotBlankの方が@NotNullよりいいいが、herbinateをmavenに追加する必要がある。しかし、version6からは非推奨になっている? herbinateのversionとかでうんだったので、@NutNullにしました。

追記
javax.validationを使うspring 2.0系から

インターフェース
public interface IValidatedBtPlFm1 {
}
public interface IValidatedBtPlFm2 {
}
public interface IValidatedBtPlFm3 {
}
@GroupSequence({IValidatedBtPlFm1.class, IValidatedBtPlFm2.class, IValidatedBtPlFm3.class})
public interface IBtPlFmOrder {
}

Formで入力した値のクラスで@NutNull @Min @Maxとつけている。このままではNotNullのときにも同時にMin MaxのValidationもしてしまう。そのため、Groupingする。Groupingするためには、interfaceが必要となる。@GroupSequenceをつけることで、バリデーションの順番を決めています。そして、Controllerクラスに@Validated(IBtPlFmOrder.class)を追加する。

HTML
<form action='BattlePage'  method='post'>
    縦(0~4)<input type='text' placeholder="0~4" name='playerLine' th:field="*{validatedBattlePageForm.playerLine}">
    <span th:if="${#fields.hasErrors('validatedBattlePageForm.playerLine')}" th:errors="*{validatedBattlePageForm.playerLine}" style="color:red"></span><br />
    横(0~4)<input type='text' placeholder="0~4" name='playerColumn' th:field="*{validatedBattlePageForm.playerColumn}">
    <span th:if="${#fields.hasErrors('validatedBattlePageForm.playerColumn')}" th:errors="*{validatedBattlePageForm.playerColumn}" style="color:red"></span><br />
    <button type='submit'>送信</button>
</form>

th:if=で指定のエラーも持っている場合のみタグを表示させ、th:errors= でそのエラー内容を表示させています。

最後に

最初の自己紹介で10代の子が多くて、うぉってなりました。 あと、半分くらいLOCAL学生部の部員がいるので塩化(エンカ)してみたいです。 というか、LOCAL学生部の千歳勢も話したことない人いたりするのでまずはそこからです。 まぁ、とりあえずたかぴろくんがいってたEDD(イベント駆動開発)で各々進捗が出せているっぽいので総大会、めでたしめでたしだったのでは?ブログも一応書いたのでえらい! 次は、OSCとかなのかな?? 本日は、ありがとうございました。終わり。

参考資料

www.slideshare.net

https://programming-information.com/2018/12/25/post-198/programming-information.com

qiita.com