21卒 インターンES
エンジニア
21卒 | 筑波大学大学院 | 男性
-
Q.
プログラミング経験がある方は、一番アピールしたい成果(制作物、研究、コンテスト等)について概要を教えてください。(背景や目的、制作時期など)
-
A.
卒業研究。「NoSQL型データベースシステムでの実体化ビュー選択に関する研究」という題目で研究を行いました。 数年前までは主要なデータストアとして、リレーショナルデータベースがあげられることがほとんどでした。それは多くの開発者がSQLに慣れ親しんでおり、正規化されたデータモデル、トランザクションの必要性、耐久性のあるストレージエンジンが提供する保証を受けられるからでした。しかし近年高いスケーラビリティや大量なデータ処理が得意であることなどからNoSQLに対する需要が急激に増えています。 例えばNoSQLの一種のドキュメント指向データベースはデータベースの構造を表すスキーマを定義する必要がなく、大量なデータを事前準備なしで格納することができます。従来のリレーショナルデータベースにあったような参照型のデータ構造に加えて埋込型のデータ構造を選択できます。型宣言の必要のないスクリプト言語と相性が良いことなども合間って、プロトタイプを高速に開発することが求められるビジネスの現場で採用されることが増えています。 一方でドキュメント指向データベースの特徴とも言える階層的なデータモデルが更新処理速度の低下やデータ参照の柔軟性を低下を招くことがあます。これを防ぐためにはドキュメントに階層的に埋め込むフィールドを適切に選択する必要があります。本研究ではこの選択の自動化し、ドキュメント指向データベースのデータモデルのチューニングを行い、データアクセスを高速化しました。 続きを読む
-
Q.
その際のあなたの役割(担当分野、使用技術・言語など)を教えてください。
-
A.
ドキュメント指向データベースとしてMongoDB、サーバーサイドとしてnode.js、ミドルウェア実装にMongooseを補助的に用いました。実験用のREST APIをexpress.jsで実装しました。 続きを読む
-
Q.
(主に技術面で)最も苦労した点や、工夫した点をお教えください。
-
A.
ミドルウェアを実装する上で、用意されているインターフェース(SQL)に対して機能を担保すること考えながら実装しました。また、高速化する上でミドルウェアがボトルネックになってしまっては元も子もないので、非同期処理で実装しました。 続きを読む
-
Q.
プログラミングにおけるあなたの履歴書を教えてください。 例:いつからいつまで 何の技術を(言語、フレームワーク、DB、OS等)何につかったのか。
-
A.
~2018/3 授業にてプログラミング(C言語)の基礎を学ぶ Railsでチーム開発を経験する 2018/4 ~ 2018/11 ITベンチャーにてインターン生として参加。 サーバーサイドエンジニアとしてLaravel+MySQLを使用 数ヶ月かけ某テレビ局の勤怠システムを構築・運用 2018/9 ~ 2019/2 卒業研究にてnode.jsを使用 2018/11 ~ アプリ開発者向けSNSのサーバーサイド(Laravel + Amazon Linux + MySQL)を担当 インフラ周りではAWS(s3, SQS, SES)を使用 続きを読む
-
Q.
得意な言語について、どのように使用しているのかを教えて下さい。
-
A.
PHP(Laravel): アルバイトで使用しています。Eloquentやcomposerなど、比較的先進的な機能を取り入れている点で優れていると感じています。 JavaScript: 研究を実装する際に使用しています。書き方のトレンドが1年でガラリと変わり、常にアンテナを立てていないと良いコードが書けない所が勉強のやり甲斐があり好きです。 続きを読む