Theories of Pleiades

技術の話とかイベントに行った話とか思ったこととか

#comfes2019 に参加した

TL;dr

  • 中国地区コンピュータフェスティバルに参加しました
  • 今年は宇部高専が主管校
  • 26年目にしてやっと呉高専が参加してくれた!
  • ブース審査2位でしたやった〜


概要

毎年3月に行われる中国地区コンピュータフェスティバルの第26回大会に参加しました。

今年の主管校は宇部高専だったのですが,ほとんどの仕事をコンフェスの実行委員会に任せていたためぼくが特別何か仕事をするということはあまりありませんでした。


毎年中国地区の呉高専を除く7高専が参加していたのですが,今年からはなんと呉高専も参加することになりやっと「中国地区の全高専」と言えるようになりました。嬉しい!


本当はhsm_aiの対話機能を展示したかったのですが,Windows機の挙動が不安定なのと就活で忙しくてコンフェスまで手が回らなかったのとがありhsm_aiのツイート一覧と自作した技術同人誌を展示しました。


ブース審査では作品概要や苦労した点,今後改良するとすればどうするか…のような部分を尋ねられました。

面接慣れもしているのでそこそこ話せたかなとは思っていて,実際審査員の方も「面白い」とか「すごい」とか言ってくれたのでちょっとうれしくなっていました。


去年新設されたアプリケーション部門が今年はとても賑わいを見せており,去年までゲームを作っていた中でも意欲の高い人がアプリケーション部門に戦いの場を移してるなという感じがありました。

全体的にはいつものコンフェスと変わらないなという感じでしたが,やっぱり手の混んだ作品を見るとこちら側のモチベーションも上がるなあという気持ちになりました。


今年は競技部門にも1チーム出場して,プロコンのときに使ったソルバを1年生に託し1年生チームを開発者2人で見守る構図になりました。

例年競技部門はプロコンの競技をなぞるのですが,今年は特に公式ルールが杜撰で不満が相次いだこともあって,プロコンのルールから不評だった「フィールドにチームメンバーを立たせる」とか「トランプでエージェントと通信する」といった部分を排除した改良ルールでの対戦となりました。


途中,競技部門のフィールドの作成ミスが発覚してひと悶着ありましたが,なんとか無事終了したので良かったです。


余談ですが,学生交流会のプレゼンでは文房具の話をしました。スライドを載せておきます。


結果

宇部高専は3冠という結果で終わりました。去年よりはだいぶ少ないけど…………。

内訳は

  • アプリケーション部門ブース審査2位「バーチャルAIツイッタラー hsm_ai」
  • ゲーム部門学生投票2位「サラリーマンが会社に遅刻するおはなし」
  • 競技部門3位「しょうがくにねんせい」

です。


自分の作品がブース審査で2位をいただけた上に,競技部門でも3位に入賞できたので個人的には及第点かなと思っています。

メディアコンテンツ部門で入賞できなかったのが残念ですね。


来年は広島商船で,会場となる広島商船が大崎上島という辺境の島にあるということだったので,大島開催のときのような大きな旅館に全高専の学生がみんなで泊まってわいわいみたいなことができるのを期待しています。


会場の期待は置いておいて,来年のコンフェスが(順当に進級できれば)最後のコンフェスになるので,せっかくなので全部門出展を目指したいなと思っています。

少なくともどこか1つの部門で単独2冠をしたいと思っていて,できれば1位が取りたいです(今まで取れたことがないので)。


宇部高専の運営チームは本当にお疲れ様でした!何もしなくて申し訳なかったです。

また,各高専からはるばる宇部までやってきてくれた参加者の皆さんもありがとうございました!

競技部門参加チームのみなさんは作問ミスでご迷惑をおかけしました。

また来年,広島商船でお会いしましょう!

geohack山口でメンターをしました

TL;dr


経緯

弊学留学担当の教員から突然「3月8,9日で面白そうなバイトがあるんだけど」と紹介を受けました。

ぼく「もしかしてgeohackですか?」

本当は参加者側で行く予定だったのですが,急遽取り止めてスタッフ兼メンターとして参加させていただきました。


ちなみに同じイベントの福井開催には参加者として行ってきていました。そのときの参加記はこちら


やったこと

当日の会場30分前に集合して,机の設置や物資の運搬などをお手伝いしました。

その後は受付役として参加者の出席を取ったりしていました。福井県とか富山県から来てる方もいてビビり散らかした。


講義中は特に仕事がなかったのですが,アイデアワーク終了後ゴミを回収するぐらいのタイミングからめちゃくちゃに忙しくなってきました。ヤバい。

というのも,Elixir(Phoenix)×Vue.jsとかいう初心者向けにしてはやたら激しい(?)ハンズオンが始まったためです。怒涛のエラーメッセージや環境構築の不備でメンターは完全に手一杯になっており,Elixirがわからない上にWindowsが扱えないぼくは完全に泡を吹いて倒れる事態となりました。


2日目は8時間のハッカソンがあり,メンターは参加者からの「これを実現したいけどどうすれば良いの」といった質問にアドバイスをするという仕事が主でした。

初めはElixirわからん〜><を言いながら泣いていましたが人間は学習する生き物で,ハッカソン終了時にはぼくも簡単なCRUD操作のあるAPIを構築するぐらいはできる感じになっていました。

とは言え初心者にMVCフレームワークのなんとやらみたいなのを教えるのも厳しいかなと思ったのでそういった部分は良い解決策をお持ちであろう本業エンジニアのメンターさんにお任せして,私はルーティング処理やデータベース周り,外部APIの使い方やJavaScriptでマップを表示したり…といった部分に専念していました。


ちなみに当日朝,jig.jpの福野さんにIchigoSodaというIoT用のBASICで記述するマイコンの使い方を教わっていたので,その使い方を簡単に参加者の方に教えたりということもしていました。


普段は自分が教わる側なので,がっつり助けを求められて救援に走るというのはかなり貴重な経験でした。ぼくにも教える役が務まるんだ…!と軽く感動もしました。


イベント全体

初心者向けのイベントとは言え,高専生や大学生が多かったので受賞した作品には技術力の高さが目立ちました。

特に「米の美味しさを算出する関数」というのを作り機械学習を組み入れたwebアプリを作っていたチームがあったのにはもう,はい(すごい)としか言えないみたいな状態になっていました。すごい…。


弊部からも1年生がチームで参加していましたが,GoogleMapsAPIを使ってみたりMVCフレームワークについて学んでみたりグラフ系のアルゴリズムを調べてみたり,スクレイピングを試してみたりとかなりたくさんの技術について学んでいるようでした。

正直WebAPIというものを知ったのもスクレイピングを知ったのも高専3年の頃でMVCに至っては高専4年で初めて,という経歴のぼくとしてはお前ら1年生でそれかよ正気か?みたいな気持ちにさせられたりがありました。まだ負けたくないので頑張るぞという感じです。


まとめ

全体的にメンターとして参加できてよかったな!と思いました。

なかなかできる体験ではないですし,教える側でなければ味わえないような体験もあったので。


後輩たちも「頭使ったけど楽しかった」とか割と好意的な感想を言ってくれていたので,先輩としても満足かなという感じです。

スケジュール的にはめちゃくちゃハードな中の参加でしたが,貴重な体験がたくさんできました。あとElixirはパターンマッチが扱えるとちょっと楽しそうかもしれないと思いました(やるかは別として)。


お誘いいただいた先生やHackCampのみなさん,メンター・スタッフのみなさん,参加者のみなさん,ありがとうございました!

セキュリティ・ミニキャンプ福岡2019参加記

TL;dr

  • 選考通ったのでうれしい
  • 独学では絶対にできない経験ができた
  • 人間は近場であれば絶対に行け
  • 全国大会行きたい


参加まで

ぼく「行くしかねえ…」


締切2日前に急いで書き上げた参加申込書を出しました。今回はクラウド技術とかWeb方面の講義が多いミニキャンプだったので,そういう感じの作文課題があったりしました。

割と普段からWebをやっている人間なので,作文課題は上手いこと書けてよかったかなと思います。


正直福岡だし絶対倍率高いしレベルも高いだろ無理無理と思っていましたが選考通過のメールが来たので直前に高速バスを取って参加してきました。


1日目

1日目はガイダンスから始まり,班ごとにチームを組んでAttack&Defenseの試合を2セット行いました。

同じ班に小学生がいて度肝を抜かれました。死んだ絶対勝てねえと思った。他にも専門学生とか大学生がいて一介のオタクたる私は完全にフリーズしていました。


とにかく得るものは得なければいけないの一心でLaravelのコードを読んだりプロジェクトの構成を眺めたりして怪しいところをメモ,リストアップしていきます。

完全に不安と緊張でやられていたのでめちゃくちゃに手を震わせながら間違っていたらどうしようを唱えていて,とりあえず見つけたところからメンバーに共有し修正,を繰り返します。

たまたまサーバを立ち上げたのが私だったので,ひたすらログを眺め不具合を修正するを繰り返しなんとか凌ぎ切るも脆弱性を修正するには至らないまま1試合目が終了。


2試合目は同じ題材をもう一度やるということだったので,1試合目でログを眺めていて見つけた部分を最初にババッと対応して点数を稼ぎに行きました。

そのおかげで割と余裕ができたので,チームメンバーには他のチームの妨害やログの監視をお願いするという感じで役割分担をしていました。

途中何故かプロジェクトルート以下の全ての権限を剥奪されて(自分たちのミスなのか他のチームの妨害なのか)死んでいましたがギリギリ1位で走り切りました。よかった。自分が仕切って穴塞いでをして1位だったのでちょっと得意な気持ちになりました。


その次にLANケーブルを改造して物理層での通信の傍受を試みるという実習がありました。

これはマジでわからなくて,まず新品のLANケーブルをチームメイトのパソコンとつなぐのですがpingすら通らないなどの状況が発生。あれ???

チューターさんのパソコンを借りるとかもしていろいろな組み合わせで試した結果なんとかpingを通して通信速度を設定するところまでは成功しました。


この間にLANケーブルを切ったり中の線を剥いだりと改造をしたのですが,これがめちゃくちゃに難しくてドチャクソ不器用なぼくはチームのロボコニストに助けてもらっていました。電気回路は………無理!(お前本当に組み込み系か?)


パソコン同士をつなぐLANケーブルに切れ目を入れ銅線を引っ張り出して作った盗聴ケーブルを使ってwiresharkで通信を読むのですが,どうにも上手いことpingの通信が取れなくて泣いちゃいました。

他の班に見学に行くとめっちゃ綺麗にping取れててすごいなあという気持ちになりました。余裕があった班は通信を読む線を変えてみたりして遊んでいたそうです。楽しそう。


2日目

博多駅で道に迷って遅刻しかけました。


1つ目の講義はクラウドサーバホスティングサービスを支える技術についての内容で,めちゃくちゃ専門的で深い内容だったので思わずドキドキしてしまいました。

ApacheとかNginxみたいなサーバプログラムの仕組みについても言及されていて,冷静に考えてみるとそういったシステムの中身なんか気にしたことすらなかったな………と思いました。


こういった一歩踏み入った内容の講義は自分の知らない世界への道筋を示してくれるというか,自分が考えもしなかったような領域に興味を向けさせてくれるので好きです。

時間を見つけてwebサーバフルスクラッチで書いてみたりしたいなと思いました。それかgolangのnet/httpパッケージ読むとかしたい。


最後の講義はDockerやk8sを使ったサービス構築のお話で,割とぼくはこの講義を本命で楽しみにしていました(何故ならコンテナが全くわからないため)。

講義を聞いたあと実際にハンズオン形式でコンテナ技術を体験してみようという実習で,なんかよくわからないけどハンズオン終わらせるスピードでは参加者で一番だったみたいです。やった!


終わった人向けにチャレンジ課題というのが用意されていて,これらを通してDockerfileの書き方とかコンテナの扱い方がちょっとだけわかった気がしました。最後の課題だけ時間が足りなかったのがめちゃくちゃに悔しかったです。


まとめ

2日間,初めての体験ばかりだったので恐ろしいほど密度が濃くて楽しかったです!

参加者の方やチューターさんとの人脈も築くことができましたし,今後に活かせそうな知識をたくさん吸収することができました。


翌日が学校だったのですぐ帰らなければいけなくて,二次会とかラーメンとかしたかったのが心残りです。福岡に行ったのにラーメンの一杯も食べれないなんて………

部活にも活かせそうな体験ができましたし,特にA&Dは普段なかなかできないのでサーバ構築して部内A&D!とかやりたいなと思いました(できるのかは知らない)。


参加者の皆さん,チューターの皆さん,また運営やスポンサーの皆さん,ありがとうございました!

次は全国大会でお会いできることを祈っています(祈らずに経験を積みましょう)!



余談ですが,1日目のA&D2戦目で1位だったのでお弁当選びの優先権をいただいたりしました。

かしわめしおいしかったです。