入退室管理システム Monban を支える技術

この記事は、SYSKEN Advent Calendar 2021 3日目の記事です。

あらたです。 後期中間試験が終わり、最近は寒い日が続くようになってきました。

今回はシステム研究部で開発・運用を行っている入退室管理システムについて書いていきます。

目次

  • 背景
  • 作ったもの
  • 使用した技術
  • 感想

背景

昨年度から本校では感染症対策のため、課外活動に参加した学生を記録するようになりました。これを受けてシステム研究部では、Google Formsを使用して課外活動に参加した部員を記録していました。しかしこの方法は、正直に言ってかなり面倒です。記録を取るためだけに以下の行程が必要になります。

  1. QRコードをスマホで読み取る
  2. 必要な情報を記入する
  3. 送信する

1回の記録に1分かかると考えれば、5年間ある高専生活のうち30時間を無駄にすることになります。貴重な青春時代をそんなことで失うわけにはいきません。そこで、学生証だけで記録を取ることができる本システムのアイデアを思いつきました。

作ったもの

部室の入室時と退出時に学生証をかざすと、氏名と時刻が自動で記録されます。同時にSlackのチャンネルにも投稿され、誰が部室にいるのかを観測できます。

初期バージョンの開発期間は1日で、部費で購入してもらった機器が届いたその日のうちに動くものをつくりました。高専プロコンで忙しい時期に他のことをしたくなるのはよくあることだと思います。

使用した技術

構成図は以下のようになっています。

クライアントサイド

ハードウェアとして、鯖室にあったRaspberry Pi Model B+ v1.2と購入したSony PaSoRi RC-S380を使用しています。ここらへんの機材を発掘できるのは鯖室のよいところだと思います。

こちら側でしている処理は非常に単純で、学生証から読み取った学籍番号をサーバーに投げるだけです。インターネットへの接続や重複を防ぐ処理など面倒な部分がいくつかありましたが、それだけでした。

サーバーサイド

GolangとEchoでAPIサーバーを実装して、それをHerokuにデプロイしています。クライアントから受け取った情報は適切な加工を施したあとにGoogle Sheetsへ保存します。

最初はDBに保存しようと考えていましたが、データの取り出しやすさや安定性を考え最終的にGoogle Sheetsを選択しました。スマホからもデータを確認することができるため、よい選択だったのではと考えています。

「記録されたデータの可視化を行うサイトを構築する」というアイデアもありましたが、氏名や学籍番号、活動時間といった個人情報がインターネットに公開されるのはまずいと考え断念しました。ただ、かなりの量のデータが収集されるため、部内ハッカソンでなにかに活かせればと思っています。

感想

今のところは元気に動いてくれていてとても楽しいです。アイデア段階ではまったく想定していなかった活用方法もあり、なかなか便利なシステムになりました。特に、誰が部室にいるのかを把握できるようになったのは一つの革命だと思っています。

一方で、以前までシス研で使用されていた鍵管理ツールのように製作者依存の運用になっていることは大きな課題です。部として運用するための仕組みを整えつつ、今後もシステムを改善していきたいです。

明後日はTomookiの投稿です。お楽しみに!

線を引くだけ

この記事は、SYSKEN Advent Calendar 2021の2日目1日目の記事です。

 

こんばんは、部長です。ポケモン厳選にいそしんでいたためAdvent Calenderに取り掛かるのが遅くなってしまったことをお詫びします。

さて、今回の記事はIllustratorで線を引くだけのものです。

Illustrator(以下Aiと表記)は皆さんご存じAdobeが開発・提供しているデザインソフトです。AiはPhotoshopなどの色のついた点の集合を扱うものとは違い、ベクターデータを扱うソフトです。ベクターデータ、つまり線のデータを扱うため後から拡大縮小しても崩れにくいというのが特徴です。

Aiはベクターデータを扱うと言いました。つまり、線のデータが無いところに突然物を生やす、といった行為はできません。なにを表現するにもかならず線を引く必要があります。そのことを踏まえてデザインを構築していきましょう。

 

1.線を引く

線を引くにもいきなりフリーハンドで作っていくことはハードルが高いですし、整ったものを作るのは困難だと思います。そこで、Aiの「ペンツール」を使って線を引いていきます。このペンツールはクリックした場所を経由して折れ線を引いてくれます。始まりと終わりの2点だけを指定すれば1本の直線を引けますね。

ペンツールでひたすら線を引いていくことでもデザインはできていきますが、それでは昨今流行の正円や正方形をベースとしたデザインはかなりめんどくさいものになりますね。そこで、「長方形ツール」や「楕円ツール」を使用していきます。

これらのツールを使えばすべての角が直角な長方形や綺麗な円を使って様々なデザインを作れますね。Shiftキーを押しながら使えば正方形や正円だって綺麗に作れます。

2.色を付ける

先ほどAiは線のデータを扱うと言いました。ですが線だけでデザインを作るのはいささかハードルが高すぎます。そこで、先ほど引いた線の中の色を決めればどうでしょうか。だいぶ印象が変わりましたね。

ざっくり言うとAiは線がどこにあるか、そして線が何色か、線の内側は何色か、の3つがカギになります。というかすべてこれでできているといっても過言ではないでしょう。この3つをいじっていくだけでほとんどの形が作れます。

さて、結局はこの2つだけわかっていれば基本的には問題ないのですが、さすがにこれだけではいささか不便です。ここからはこれらを念頭に置いていろんな形を作るうえであると便利なことを並べていきます。

 

組み合わせる

基本的には1に描いた「ペンツール」と「長方形ツール」、「楕円ツール」をメインに作っていきます。では例えばNintendo SwitchのイラストをAiで作ろうと思うとどうすればいいでしょうか。

Switchを単純な図形に置き換えて考えてみましょう。画面がある本体の形は長方形です。その横についているJoy-conも長方形ですね。正面から見てしまえばSwitchは大小3つの長方形が並んでいますね。ということでまずは大きな長方形を真ん中にその左右に小さい長方形を置いてみましょうか。

うん、だいぶSwitchぽいですね。そんなことないですか?

では左右の長方形の外側の角を丸めてみましょうか。Shiftキーを押しながら選択をすると複数選択ができます。その状態でCtrl(Macならcommand)キーを押すと四角形の角に丸い印が出ますね。そのCtrlを押した状態でSthitを押して、その状態で丸めたい角を選択します。丸めたい角にある丸い印が青くなっていればその状態で丸めたいだけ内側にその印をドラッグします。

こうすればほら、だいぶSwitchっぽいんじゃないですか? え、まだダメ? じゃあ今度はジョイスティックと各種ボタンを足していきましょうか。

今度はもっと簡単です。長方形ツールでそれぞれにちょうど合ったサイズの円を足していきます。この時に作るのはジョイスティック用の丸が1つとボタン用の丸が1つだけです。それがつくれたらAltキーを押しながらドラッグしてみてください。複製できましたね。複数の同じサイズのものを置く場合、1つを複製した方がきれいに作れるのでこれを使って他のパーツも作っていきます。

かなりSwitchに見えてきましたね。それぞれの中に色を付ければSwitchだとわかるのではないでしょうか。

 

Illustratorでデザインをするうえで重要になるのは組み合わせて形を作っていくことです。そのほかにも面白い機能はいろいろあるのでまずは触ってみてください!

 

余談ですが、今回Advent Calenderの参加者が少ないので1日おきに記事を出します。1日目を僕がしくじったので次は明日、3日です。

2021第32回プロコン

はじめに

こんにちはriver Kです
今回は第32回プログラミングコンテストの協議部門に参加させていただきました
コロナにより今年もオンライン開催となりました
内容を簡単に説明すると
バラバラになったパズルをいかに少ない移動で完成させるを競うものです
詳しく知りたい方はここにURLを張っておくのでご確認ください
https://www.procon.gr.jp/?cat=1680

目次

  • 参加メンバーと仕事の割り振り
  • 結果
  • 反省

1.参加メンバーと仕事の割り振り

Arata         : 画像の推測/復元/提出のプログラム
Tamuaki   : 参加要項/紹介動画作成
river K       : 人力GUI

2.結果

予選を突破しましたが準決勝で敗退しました

3.反省

仕事の割り振りを見ていただければわかりますが
一人に対しての仕事量が圧倒的にアンバランスになってしまいました
すまん….

Open Hack U 2021 Onlineに参加しました

はじめに

こんにちは。sizutoです。
Yahoo Japan が主催している学生ハッカソンHack Uに参加しました。しかし例年のHack Uと違いコロナ禍ということでオンラインでの開催でした。
Hack Uに関しての詳細は公式のホームページをご覧ください。https://hacku.yahoo.co.jp

結果は最優秀賞とHappy Hacking賞(参加者投票賞)でした。

チーム構成

参加したメンバーと分担です。
デザイン、検証 : sizuto
開発 : sinozima

作ったもの

プレゼンのアーカイブがYouTubeにあるのでそれを見てもらった方が早いと思います。

アプリの今後

現在AppStoreでの公開に向け調整を行なっています。2021年10月中のリリースを目標にしています。
みなさん是非使ってみてください。

まとめ

今回作成したアプリのコンセプトやデザインを高く評価していただきとてもうれしかったです。
Hack Uではヤフー社員の方達からアドバイスをもらいながら開発がでるためプログラミング初心者にかなりおすすめのハッカソンになっています。
部員のみんなも参加してみてください。

KOSENセキュリティコンテスト2020に参加しました。

こんにちは、2年生のarataです。

11月14日に開催されたKOSENセキュリティコンテスト2020に参加したのでその報告です。弊学からは1チームのみの参加でした。

目次

  • KOSENセキュリティコンテスト2020とは
  • 結果
  • 感想

1. KOSENセキュリティコンテスト2020とは

全国の高専生を対象としたコンテストです。情報セキュリティに関連した技術を用いて、出題された問題を解きそのスコアを競います。今年は24の高専から51チームが参加していました。

2. 結果

チーム”helix”として参加して51チーム中7位でした。

去年と同じ順位というのは何ともコメントし難いのですが、まあ精進を怠った当然の結果でしょう。

3. 感想

去年は学校のプロキシが悪さをしていたので、今年は別の回線を用意していたのですがとくにトラブルは発生しなかったので良かったです。

また、テスト前にも関わらず一緒に参加してくれたtamuaki君には感謝の言葉しかないです。

来年も頑張ります。

パソコン甲子園2020に参加しました

出典:パソコン甲子園2020ホームページより

初めまして、2年生の tamuaki です。

パソコン甲子園のプログラミング部門にarata君とチーム”helix”で参加しました。9月12日にあった予選を今回の大会であった「オンライン特別枠」で本選に出場したのでこの記事で報告します。

1.パソコン甲子園、プログラミング部門とは?

パソコン甲子園は会津大学等によって主催、運営してプログラミング部門、モバイル部門、いちまいの絵CG部門の3つ部門があります。

プログラミング部門は制限時間内に問題に対する解答プログラムを書いて専用のウェブページから提出するものです。簡単に言ってしまうと競プロです。

詳細などは、下記に大会ホームページを貼っておきます。

https://web-ext.u-aizu.ac.jp/pc-concours/

2.結果と反省

結果は最初の2問だけしか解けれませんでした。3問目も時間いっぱいまで頑張って考えたのですがダメでした。まだまだ経験不足だと思いました。これからもいろいろ問題を解いて練習して次回は今回よりも良い成績になるように頑張りたいです。

3.最後に

今回初めてブログを書いたので「こんな感じでいいのかな」と思いつつも頑張って書いてみました。また、今回の大会の他にチーム”helix”で高専セキュコン2020にも参加しました。そちらの方はarata君が書いてくれるのでそちらの方も読んでみてください。

2019年度 高専ワイヤレスIoT技術実証コンテストに参加しました。

はじめに

お久しぶりです。てるふのです。
総務省が主催する、高専ワイヤレスIoT技術実証コンテストに採択されていました。
2019/05/28くらいから取り組んでいるので1年弱の長期プロジェクトでした。
この記事は総務省等の広報画像に埋め込んでいるQRコードからアクセスされることを想定して書かれています。

結果はコンピューティング大賞です。詳細は総務省が公開しているpdfを確認してください。

所属チームとチーム構成

  • 津山高専
  • Resources Alvitr
  • 4名チーム
    • 検証担当: Agata
    • K8s担当: Glatan
    • Docker担当: Terfno(取りまとめ)
    • デザイナー: Jun

高専セキュコン2019に参加しました。

はじめまして、1年生のarataです。
1ヶ月ぐらい前の話ですが、高専セキュコン2019に参加したのでWriteupのついでに参加記を書きます。

コンテストにはチーム”helix”(画像では”hex”)として友人2人と参加し、結果は7位でした。

1. 高専セキュコンとは

CTFと呼ばれる、セキュリティの技術や知識を競うコンテストの一つです。暗号を解読したり実行ファイルを解析したりして、”フラグ”と呼ばれる文字列を手に入れると得点を得ることができます。

詳細は下記の公式サイトを見てください。

https://www.ishikawa-nct.ac.jp/lab/I/k_seccon2019/

2. Writeup

Writeupを書くまでがCTFというような慣習があるので書きました。
10分クオリティかつそこそこ長くなるので、こちらにまとめてあります。

3. 終わりに

いかがで チームとしてCTFに参加するのも高専セキュコンに参加するのも初めてでしたが楽しむことができました。ただ、7位という微妙な順位で終わってしまったのがかなり悔しかったので、次回は5位以内を目指したいです。

ステージ照明システムを作ってみた

この記事は、 SYSKEN Advent Calendar 2018 25日目の記事です

どうも、しるびあです。
クリスマス当日ですが、いかがお過ごしでしょうか。私は、進路が決まって嬉しさを噛み締めています。しかし、事前に組まれた予定を外すことはできず、本記事を書いているわけなのです。

ということで、今回は先日の弥生祭に合わせて製作したステージ照明(LEDだけですが)のコントールシステムについてまとめてみようと思います。

続きを読む »