宮路

技術で日常をもっと便利に — システムエンジニア志望

作品を見る

プロフィール

学生時代からものづくりが好きで、自分で仕組みを考えて形にすることに魅力を感じてきました。 基礎力向上のため情報処理技術者試験やアルゴリズム学習にも継続して取り組んでいます。 将来的には、技術を通じて様々な課題の解決に貢献できるエンジニアを目指しています。

技術スタック

成果物

ガチャ確率シミュレータ

包除原理を用いて当選確率を高速計算するWebアプリです。

  • 解決したこと:総当たりだと遅い確率計算を、数学的手法で高速化
  • 工夫:BigInteger/BigDecimalで大きな数値に対応し、累乗は繰り返し二乗法で実装
  • 構成:最初にJavaでロジック検証 → 授業内容を使ってWeb UIへ展開
Java Servlet/JSP BigInteger BigDecimal HTML/CSS/JS
詳細を見る

学校でJavaを学び始めた直後に、まずロジック部分をJavaで実装し、確率計算を正確に扱えることを確認しました。 その後、Webアプリ開発の授業で学んだ内容を活用し、ロジックを再利用しながらUIを追加してWebアプリとして再構築しました。 大きな数値に対応するためBigInteger/BigDecimalを使用し、BigIntegerで累乗が必要な箇所は繰り返し二乗法で独自実装しています。

ガチャ確率シミュレータ:動作デモ

数字の並びジェネレータ

与えられた条件を満たす数式・数列を自動生成するWebアプリです。

  • 解決したこと:条件を整理し、組合せ探索で成立する式を自動生成
  • 工夫:不要な小数が出ない式を優先し、探索を絞り込んで計算量を抑制
  • 対応:BigIntegerで大きな数値にも対応し、結果の安定性を確保
Java Servlet/JSP BigInteger HTML/CSS
詳細を見る

Java学習直後に、まずロジックのみをJavaで実装し、条件整理と組合せ処理の実装を中心に完成させました。 その後、Webアプリ開発の授業で学んだ内容を活用してUIを追加し、Webアプリとして再実装しています。 計算量を抑えるため、処理中に不要な小数が発生しない式を優先的に採用する方針で探索を絞り込みました。

数字の並びジェネレータ:動作デモ

YouTube関連Webアプリ(視聴履歴×プレイリスト)

YouTubeの視聴履歴を基に動画を分類し、期間・ジャンル条件でプレイリストを生成して連続再生できるWebアプリです。

  • 解決したこと:視聴履歴から「通常音楽/音MAD/ピアノ」を抽出・分類し、条件指定で再生用リストを生成
  • 工夫:曲名・アーティスト名に信頼度(true / false)を付与し、信頼度の高いデータを基準に一定以上の文字列類似度を満たす場合のみ統合する設計としました。
  • 検索構造:更新頻度が高い曲名は前方一致、表記揺れが多いアーティスト名はn-gram(信頼度が高いデータのみ登録)とし、抽出精度に応じて検索方式を切り替えました。
Java 21 Tomcat 10 Servlet/JSP YouTube Data API MariaDB / PostgreSQL JavaScript
詳細を見る

視聴履歴を取り込み、動画を「通常音楽/音MAD/ピアノ」に分類したうえで、期間やジャンル条件からプレイリストを生成し、ブラウザで連続再生します。 また、動画ごとに再生開始位置やスキップ区間を設定でき、通常音楽を対応するピアノ動画へ切り替えて再生する機能も実装しています。

※デモ環境ではサンプルデータでの動作確認のみ可能としており、履歴データのアップロードによる解析機能は利用できません。

YouTube関連Webアプリ:動作デモ

現在学んでいること

現在はAtCoderを通じて、アルゴリズムとデータ構造の理解を深めています。 競技プログラミングに取り組むことで、限られた時間内で問題の本質を見抜き、適切な解法を選ぶ力を養っています。 将来的に、設計や実装の場面でも役立つような思考力を身につけたいと考えています。

今後の目標

今後はAtCoderでより高いレベルを目指すと同時に、 その知識を実際のWebサービスや業務システムの開発にも応用できるようなスキルに育てていきたいです。

連絡先