400万人が利用する会社訪問アプリ
電気通信大学 / 情報理工学研究科 情報学専攻
フィリピン・インドへの留学経験有り。特に学部在学中での4カ月間のインドへの留学を通じてWebアプリケーション開発の一連のプロセスに精通するまでに専門性を深めることが出来た。 この経験が世界で活躍するソフトウェアエンジニアを目指すきっかけとなった。
「音」への純粋な探究心から、私は音響信号処理を研究領域として選びました。大学院入学時は、この分野の知識が全くない状態でしたが、先行研究の調査から実験の実施までを一貫して進め、研究を形にしてきました。 入学当初は、論文の読み方さえ分からず、ゼミでの議論や研究活動のスピードにつ
ドイツのエネルギー管理・施設管理向けソフトウェア企業にて、ソフトウェアエンジニアとして勤務しました。 主な業務は、企業のコアプロダクトにおけるソフトウェアバージョンのアップデート時に必要となる、Microsoft Accessで管理されている構成データを、Oracle SQLで実行可能な形式に変換し、顧客のサーバー上のデータベースにインポートするプログラムの開発を0から着手しました。 最終的には、Access DBから全テーブルおよびマクロの階層構造を抽出し、マクロの実行順序に従ってSQLファイルを生成・実行できるよう、次のような仕組みを実装しました: * マクロの階層構造をテキストファイルとして出力し、それをスクリプトでパース * 全てのクエリ情報をAccess DB内の一時テーブルに書き出し、その順序に基づいてSQLを実行 * Access DBの構成(テーブル/マクロ)が変更された際には、修正すべきクエリ情報をログファイルに出力し、保守性を向上 これにより、Accessが使用できない環境にあるクライアントが抱えていた課題を解決しただけでなく、構成データの移行に際してAccessやACEプロバイダーをインストールする手間も不要となり、本プロジェクトの目的を達成できたと考えています。
[タイトル] GO_SNS [概要・制作背景] GO_SNSは、軽量なSNSのAPIを提供するアプリケーションです。本プロジェクトの目的は、これまで学んできたソフトウェア開発の知識(設計、サーバー構築、データベース、セキュリティ、オブジェクト指向プログラミングなど)を実践的に活用し、アウトプットとして形にすることです。そのため、バックエンド部分ではあえてフレームワークを使用せず、基本から実装しています。 [開発期間] 2024年11月20日~(進行中) [苦労した点] 1. セッションのメカニズムの理解: セッションベースの認証を実装する際に、セッションが実際にクライアントとサーバ間でどのようにやり取りが行われているのかを理解することに時間を要しました。しかし、最終的にはセッションベースの認証のメカニズムをCSRFによって悪用されるリスクを含めて理解することができました(CSRF対策の実装は未着手)。 2. APIテストの実装: 単体テストを実装するのは初めての経験だったため、データベースのモック化やテストの意義・実装方法を理解するのに時間がかかりました。しかし、テストを実行する過程で依存性注入の活用やメソッドごとのエラーハンドリングを改善し、保守性の高いコードへリファクタリングすることができました。 3. アプリのコンテナ化: フロントエンド・バックエンドをそれぞれコンテナ化し、1つのアプリケーションとして統合するプロセスで多くのエラーに直面しました。Dockerをゼロから学習しながら取り組んだことで、コンテナ技術に関する知見を深めることができました。 [工夫した点] 1. ユーザーがページをリフレッシュせずに、投稿やログインなどの操作を行えるコネクションレスな設計を採用しました。これにより、よりシームレスな操作体験を提供しています 2. Dockerにより、あらゆる環境のユーザーがアプリをマシン上ですぐに動作させた上で開発に取り組むことができるようになっています。詳しい動作方法はアプリのコードを含んだgithubリポジトリ上のReadmeに記載されています。 [実装予定] * 頻繁にアクセスされるデータ(例: 人気投稿やインフルエンサーの情報)をキャッシュ化し、データベース負荷を軽減。