Discover companies you will love
立命館大学 / 情報理工学部情報理工学科実世界情報コース
コーディングはあくまで開発手段! - 実装に関する技術を積極的に養う - なぜその技術スタックにしたのかといった技術選定からこだわって話せるようになる
なりたい人物像 コーディング+マネジメント両方できるエンジニアになる.影響力を持ちたい. - 技術力にこだわるだけでなく,プロダクト開発において必要な知識を持つエンジニアになりたい
「生活に溶け込む情報技術によって豊かで夢のある未来社会を創造する。」 情報機器やセンサ機器、情報通信技術の高度化により、社会インフラ、日常生活などの広範にわたり情報化が進展しています。このような実世界の高度情報化技術に関する教育研究を行います。
概要:echo/Golangにリプレイスし,DBはユーザーやイベント,グループの管理と,各ユーザーの到着予定時刻を比較するセグメントとしてNoSQLでドキュメント指向であるMongoDBを採用した.また,今までの開発との仕様変更としてグループ機能を実装することにした.これにより,ユーザーそれぞれが異なるグループを作成し,そのグループ内での記録を見ることができるようになる. 以前の課題点と改善策,結果:個人開発①で上がった課題点としてRDBを用いたことによって中間テーブルが多くなってしまい,設計として見にくく,fetchする時間もかなりかかってしまっていた.また,遅刻順位が入れ替わるリアルタイム性の実現に関して,高速で順位関係をソートしてフロント側に返すことでより機能として磨きがかかると考えた.このような考えからDBをMongoDBに変更することでイベント情報を配列としてcollectionに格納することができるようになり,また,echo/Golangを採用することでゴルーチンを使って平行処理をすることで,ランキングに関して表示させるのにかかる時間が大幅に短くなった. 意識したこと:グループ機能を実装するにあたって,要件設計,画面設計で考えないといけない部分が多かったため,チーム内で定例MTGで共有するだけでなく,Notion内で案を立てて,機能要件の把握に齟齬が出ないようにまとめた.
運営の団体目標として「watnowを自分の可能性を広げてもらう場所にする」を掲げ,団体運営を行っている.
概要: イベントの遅刻者をリアルタイムでランキングするアプリ「遅刻リンピック」のチーム開発を行った.アプリ概要は,イベントページで参加者を確定し,開催地とiOSのGeoLocationで取得した位置をリアルタイムで取得し,誰が一番遅刻をしているかをライブで確認できるアプリとなっている.背景は,私が運営するプログラミングサークル内では,エンジニア集団ということもあり,朝起きれなく遅刻癖のある部員がほぼであり,企画したイベントのスタートが遅れるという事が毎回起こる.そこで,この事態をむしろ面白おかしくネタにしたいと思い開発に至った. 技術詳細: この開発において,私はバックエンド全般の開発を担当した.本開発では軽量で高速なマイクロフレームワークのFastAPI/Pythonを使用した.遅刻順位が入れ替わるリアルタイム性の実現として,FastAPIに搭載されているWebsocketを使って実装した.DBはユーザーやイベントの管理と,各ユーザーの到着予定時刻を比較するセグメントとして,Supabaseを採用した.また,リアルタイムで通知を飛ばすためにFCMを利用し,プッシュ通知の実装も行った. 意識したこと: チーム開発時点で設計共有をNotionで行っていたことである.企画で要件定義が完了した後,バックエンドとクライアントでそれぞれ設計資料を作成して,設計共有を都度行うようにした.自分はバックエンドを担当していたので,API設計のアーキテクチャ図と,データベースのER図,機能要件/非機能要件を定義して,クライアントサイドのメンバーからレビューをもらって開発を進めるようにした. 反省点: 浅い理解でクリーンアーキテクチャを適応させて開発を進めたため,責務分担の境界が曖昧になってしまった.それによって新しい機能を実装するとなった時にどのディレクトリにどのロジックを書くのかわからなくなってしまった.