小野 波留也

アルサーガパートナーズ株式会社 / バックエンドエンジニア東京

小野 波留也

アルサーガパートナーズ株式会社 / バックエンドエンジニア

旅は道連れ世は情け

■経歴 【2021年3月〜現在 アルサーガパートナーズ株式会社 バックエンドエンジニア正社員 - 2019年4月〜2020年2月 フリーランスWebコーダー

この先やってみたいこと

未来

データビジュアライズ ラズパイを用いたIoT開発

アルサーガパートナーズ株式会社の会社情報

アルサーガパートナーズ株式会社1 year

バックエンドエンジニア現在

- 現在

DB設計、API開発

  • MAU2千人のライブ配信サービスにおける配信基盤移行プロジェクトの開発

    ## 概要 MAU2千人のライブ配信サービスにおける配信基盤移行プロジェクトの開発。 ## 使用技術 Kotlin, Ktor, TypeScript, Angular.js, Oracle, CloudFirestore, CloudFunctions, AWS Lambda, S3, CloudFront, MediaLive, Docker ## チーム情報 6~8人チームの中でバックエンドを担当。 ## 担当業務 ・既存の配信基盤やAPIサーバの技術調査 ・「ポイント購入+投げ銭」機能の一部仕様策定 & DB設計 ・サーバーサイドKotlinによるAPIサーバの追加開発 ・Angular.js+TypeScriptによるフロントエンド実装。RxjsとFireStoreによるリアルタイム通信の確立 ・Firestore(NoSQL型データベース)のDB設計および適切なセキュリティルールとインデックスの設定、トランザクションによるデータ整合性の担保 ・Cloud Functionsを使用した各種バックエンド関数や定期実行バッチ関数の作成  ・コードレビュー ## 課題1 ー 某配信基盤の不調により映像の遅延や乱れが発生していた。ユーザーからのクレームが多く、優良顧客を失うとサービス収益が見込めなくなる懸念があった。しかし、基盤の提供企業のサポート対応が遅かったり、目に見える改善が見られないことを皮切りに、早急な配信基盤の移行を希望されていた。 ## 課題2 ー ポイント購入, 投げ銭機能の実装にあたり、スケジュールに間に合わせる必要があったため、既存DBであるCloudFirestoreに決済まわりの重要なデータを保管することになった。「データの欠落や不整合は起こりうる」というFireStoreの思想と共存しなければいけなかった。 ## 取り組み ー 課題1に対して インフラエンジニアと連携して、AWS MediaLive(配信サーバ)をAWS Lambdaで制御する構成を採用し、Lambda → CloudFormation → MediaLiveのリソース作成・削除までの一連の流れを実装して頂いた。 配信サーバーの作成・削除・アーカイブ動画のストレージ保存等の処理は多くのメモリを占有するため、既存のAPIサーバと共存させることができなかった。そのため、Kotlin + Ktor で駆動するAPIサーバからLambdaを呼び出すことで、サーバーレスな配信基盤の制御を実現した。 ー 課題2に対して Firebase Authentication未使用な環境下で、トランザクションによるデータ整合性の担保が厳しいように見えたが、排他制御の仕組みの理解や挙動検証を通して、なんとか解決方法を見つけ出した。 ## 発揮したバリュー 技術的な壁の突破 ・NoSQLデータベースであるFireStoreのクセのある設計手法やトランザクション、Kotlin+Ktor によるDDDアーキテクチャを採用したAPIサーバ開発に戸惑ったが短期間でキャッチアップ ・できるエンジニアを巻き込んで、設計レビューやコードレビューをして頂いた ・その結果、詰まないDB設計や決済等の重要データの整合性を取ることに成功 不確定な仕様の策定 ・金銭振込の締日、ポイント償却の締切日等のサービス設計が決まっていなかった ・PMと相談しつつ、スケジュールを加味した提案をしながらクライアントと一緒に方向性を確定 ・その結果、PMの負担を軽減 & 仕様未定による開発遅延を防止できた 人手不足の解消 ・専門ではないが、フロントエンド業務も率先して担当。 ・既存コードの調査及び各種書籍やネット情報をもとに素早くキャッチアップして即戦力となる ・その結果、フロントエンド領域において新メンバーのサポートが可能となった 絆を深める ・ベテランエンジニアを巻き込んで「使用技術の理解を深めよう」のMTGを不定期で開催 ・慣れない技術を使用した開発に戸惑う自分や他のメンバーの技術理解が進んだ ・その結果、信頼関係が深まり、働く環境が良くなった

  • 医療施設と器具製造業者間の器具受発注システムの開発

    ## 概要 医療施設と器具製造業者間の器具受発注システムの開発。 ## 使用技術 PHP/Laravel/TypeScript/Vue.js/AWS ## チーム情報 5~7人チームの中でバックエンドおよびフロントエンドを担当。 ## 担当業務 ・DB設計の考慮漏れの指摘 ・PHP + Laravel によるサーバーサイド開発。管理画面/認証/画像アップロード/CSRF対策/N+1問題 ・Vue.js+TypeScriptによるフロントエンドSPA実装。CSSはSCSSを導入 ・コードレビュー ## 課題 ー 人員不足によりフロントエンドおよびバックエンドのスケジュール遅延が発生していた。複雑なテーブル設計や実装をすぐにキャッチアップできる即戦力となる人材をすぐにアサインできない状況だった。 ## 取り組み ー 画面仕様書やER図、過去のMTG議事録を読み込み、現在の開発状況を整理。初めてコードレビューも担当し、レビュー担当者の負担軽減に貢献した。LaravelによるMVCアーキテクチャ、Vue.jsによるSPA開発においては、書籍やネット上の記事で学習して実務に落とし込み、開発スケジュールの遅延改善に貢献した。 ## 担当した機能 画像アップロード ・Minioを採用して、開発環境のS3にデータ保存可能な基盤を構築 ・テストデータをMinioに流し込むスクリプトを作成 ・AWS SDKを用いてS3に画像データをアップロードするAPIを作成 キャッシュによる画像表示 ・「画像データのバイト数が大きい&アクセス数が多い 」という壁をクリアするため、CloudFrontによるコンテンツ配信でキャッシュを実現。 ・環境(本番、検証、開発)ごとに自動でエンドポイントの向き先が変わる設定をした 各種API ・MVCにServive/Repository層が組み込まれたアーキテクチャでAPIを作成 ・データモデルとビジネスロジックの依存関係を分離、ビジネスロジックとデータ入出力の依存関係を分離することで、例えば「ストレージをMySQLからMemcacheに切り替える」という柔軟な対応も可能となった。また、テストも容易になり保守性が高いシステムとなった。 各種ページ ・Laravel Adminによる管理画面の作成 ・Vue.js+TypeScriptによるSPAを実装。VueRouterに不具合が見受けられたので、pageライブラリを用いてルーティングを実現。バックエンド専門ということもあり、フロントエンドとAPIの繋ぎこみおよびバックエンドのレスポンス修正等を全般担当した。

    -

釧路公立大学3 years

経済学部・経済学科

-

やりたいことが見つかったので親に頭を下げて退学させて頂きました。ありがとう😭

個人1 year

Webコーダー

-

休学中に開業してWeb制作活動。 Web制作会社様から案件を受注して納品を繰り返してました。

釧路江南高校

普通科

陸上競技


アプリをインストールして、知り合いの最新の活躍をフォローしよう