yuya Takeuchi

yuya Takeuchi

Why not create your own Wantedly profile?

Showcase yourself and your experiences to bring your professional story to life.

Join

やらない後悔より、やって後悔

学習言語:Ruby, RubyOnRails 学習方法:独学(Railsチュートリアル、書籍など) 部活動:野球部(高校まで、10年間) 趣味:ヒップホップダンス、麻雀、お笑い、アコースティックギター

MJRecorder

お笑い芸人依頼アプリ

コンセプト:「依頼型マッチングアプリ」 本アプリでは芸人ユーザーと一般利用ユーザーとでログインや機能を分けています。 芸人ユーザーは主にプロフィールやスケジュールを入力し、一覧に表示できます。 一般ユーザーは芸人一覧画面からマッチする芸人を探し、メッセージを送れます。 以下使った技術です。 ・Rails ~> 6.1.1 ・Ruby 2.7.2 ・HTML, CSS ・JavaScript、Bootstrap ・AJAX(jquery) ・RSpec ・Docker ・Heroku ・Git, GitHub 以下機能一覧です。 ・ログイン(deviseによるメール認証) ・フォロー ・ダイレクトメッセージ ・検索(絞り込み) ・プロフィール編集 ・スケジュール編集 特に注力した部分はスケジュール部分と一覧に表示される芸人プロフィールです。 スケジュール編集機能は以下の3点を工夫しました。 ・SimpleCalenderGEM をアレンジして実装 ・上記アレンジで、入力を手軽にするため「◯」「△」「✖︎ 」の選択方式にした ・モーダルウィンドウ+Ajax による実装 また、DB設計が甘いという課題も見つかり、自分なりに分析しました。 【改善点】 ・芸人と一般ユーザーを、User モデル内の isTalent 属性(boolean)でのみ識別している点 【問題点】 ・if 文による多重ネスト問題 ...芸人と一般ユーザーとで画面表示や機能の制限を if 文を用いて分けています。 その際、if 文の中にさらに if 文を入れて分岐が複雑になっている問題が起こっています。 ・モデルの複雑化 ...芸人(isTalent 属性が true のデータ)のみ Profile モデルや Schedule モデルと紐づいて いて、複雑になっています。 【解決策】 ・芸人と一般ユーザーとでモデルを分ける(DBの正規化) ...モデルを分けることで、if 文による分岐が減り、理解しやすいコードになります。 また、関連する他モデルとの関係も分かりやすくなります。 【学び】 ・属性値で分けるのは、後に変わる可能性があるものに限るべき  ...isTalent 属性は新規登録時に分けたあとは変わらない属性なので、モデルを分けるべ きものだと考えました。 ・モデル設計は実装前によく検討するべき  ...モデル次第で、あらゆる実装方法が大きく変わるほど重要だと学びました。 本アプリでは、作りながら勉強するという目的があったため、デザインや実用性などはあまり意識できませんでした。次回からは、実用性や運用、保守といった観点からも工夫してアプリ制作を継続していきます。 以下ポートフォリオ 説明PDFになります。 ・https://drive.google.com/file/d/1E4YZPucwvNeoBSQByeZlEsftUDEhO7dv/view?usp=sharing

なし

MJRecorder

お笑い芸人依頼アプリ

コンセプト:「依頼型マッチングアプリ」 本アプリでは芸人ユーザーと一般利用ユーザーとでログインや機能を分けています。 芸人ユーザーは主にプロフィールやスケジュールを入力し、一覧に表示できます。 一般ユーザーは芸人一覧画面からマッチする芸人を探し、メッセージを送れます。 以下使った技術です。 ・Rails ~> 6.1.1 ・Ruby 2.7.2 ・HTML, CSS ・JavaScript、Bootstrap ・AJAX(jquery) ・RSpec ・Docker ・Heroku ・Git, GitHub 以下機能一覧です。 ・ログイン(deviseによるメール認証) ・フォロー ・ダイレクトメッセージ ・検索(絞り込み) ・プロフィール編集 ・スケジュール編集 特に注力した部分はスケジュール部分と一覧に表示される芸人プロフィールです。 スケジュール編集機能は以下の3点を工夫しました。 ・SimpleCalenderGEM をアレンジして実装 ・上記アレンジで、入力を手軽にするため「◯」「△」「✖︎ 」の選択方式にした ・モーダルウィンドウ+Ajax による実装 また、DB設計が甘いという課題も見つかり、自分なりに分析しました。 【改善点】 ・芸人と一般ユーザーを、User モデル内の isTalent 属性(boolean)でのみ識別している点 【問題点】 ・if 文による多重ネスト問題 ...芸人と一般ユーザーとで画面表示や機能の制限を if 文を用いて分けています。 その際、if 文の中にさらに if 文を入れて分岐が複雑になっている問題が起こっています。 ・モデルの複雑化 ...芸人(isTalent 属性が true のデータ)のみ Profile モデルや Schedule モデルと紐づいて いて、複雑になっています。 【解決策】 ・芸人と一般ユーザーとでモデルを分ける(DBの正規化) ...モデルを分けることで、if 文による分岐が減り、理解しやすいコードになります。 また、関連する他モデルとの関係も分かりやすくなります。 【学び】 ・属性値で分けるのは、後に変わる可能性があるものに限るべき  ...isTalent 属性は新規登録時に分けたあとは変わらない属性なので、モデルを分けるべ きものだと考えました。 ・モデル設計は実装前によく検討するべき  ...モデル次第で、あらゆる実装方法が大きく変わるほど重要だと学びました。 本アプリでは、作りながら勉強するという目的があったため、デザインや実用性などはあまり意識できませんでした。次回からは、実用性や運用、保守といった観点からも工夫してアプリ制作を継続していきます。 以下ポートフォリオ 説明PDFになります。 ・https://drive.google.com/file/d/1E4YZPucwvNeoBSQByeZlEsftUDEhO7dv/view?usp=sharing

なし

In the future

Ambition

In the future

この先やっていこうと考えていることは以下の3つです。


Accomplishments/Portfolio

MJRecorder

Apr 2021

お笑い芸人依頼アプリ

Feb 2021 - Mar 2021

なし


Languages

Japanese - Native