【元介護士・元人材営業出身の27歳男が未経験でエンジニアを目指す】TECH::EXPERT20〜21日目。簡易WEBアプリ開発完了からのチャットアプリ開発着手からのわくわく増し増し。(簡易WEBアプリ開発編)
どうも、オタユウです。
前回の作業効率化topicsの後から現在に至るまではこんな感じです。
・19〜20日目:ミニアプリ開発
・21日目〜:チャットアプリ開発←イマココ
・今の心境:シンプルに楽しい、もっとサイト制作したい
今回はミニアプリ開発の話をさくっとしていきましょう。
(追記:長くなりそうだったので、ミニアプリ編とチャットアプリ編に分けました。)
ミニアプリ開発
カリキュラムの番外編のような形で発表会があり、それに向けてミニアプリを一人で開発しよう!というもの。個人アプリ開発は併行して進めていきたいと思っていたので、ちょうど良いタイミングでした。
Twitterで作成報告もしておりましたね。
CSSフレームワークは「Materialize」を使用。
Rubyフレームワークは「Ruby on Rails」、
RailsのGemfileに「devise」を採用して会員登録機能を実装しています。
マイページの表示やvalidation、flashを使った簡易メッセージ表示などなど…やりたいことはまだまだたくさんありましたが、メンターの方には「チャットアプリの実装に集中してもらっていい」と確認を取っていたため、限られた時間でどこまでできるか?とタイムアタック形式に切り替え。
言い訳すると、直前に脱水症状で2〜3日寝込んでいたこともあり、キャッチアップが遅れてしまったという完全な自己責任。くそう。
遅れを取り戻すべく、実際には10時間という制約を設けて「最低限の機能実装を完了する」ことを必達目標として取り組みました。
今回の場合の「最低限の機能」は、下記の通りです。
・記事投稿機能
・ユーザー登録機能
・ログイン時のみ記事編集、削除機能
・ユーザー未登録でも記事一覧&詳細が見れる
作成にあたり、苦労した点やこだわりポイントも簡単に書いておきます。
苦労したこと
・deviseを使用するための環境構築
└ターミナルからのメッセージをイチから読み解こうとして時間ロス。調べたら一瞬で解決。
・ストロングパラメーターの取り出し方
└form_for(ヘルパーメソッド)を使用した場合、require メソッドで「引数に設定した key の 値だけ」を取得する必要があることを失念していた。
※実際のコードは下記
# new.html.erb
<%= form_for @article do |f| %>
<%= f.text_field :title, placeholder: 'タイトルを入力' %>
<%= f.text_field :image, placeholder: '画像URLを入力' %>
<%= f.text_area :text, placeholder: '本文を入力してください', style: 'width:100%;height: 300px;' %>
<%= f.submit :投稿 %>
<% end %>
NG
# articles_controller.rb
private
def article_params
params.permit(:title, :image, :text).merge(user_id: current_user.id)
end
OK
# articles_controller.rb
private
def article_params
params.require(:article).permit(:title, :image, :text).merge(user_id: current_user.id)
end
・レイアウトがお粗末くん
└笑えるぐらいクソレイアウト。今後、少しずつ充実させていく。制約がある中で優先度低く時間がかけられず反省。
こだわったこと
・時間内にやりきる(最低限の機能実装を遂行する)
・横並び2記事表示(ウィンドウサイズの変更に影響されないグリッドデザイン)
自力で作れたことをまずは褒めつつ、しかし自己評価は50点。色々納得いってないからじわじわ改善していくぞ。って感じです。
完成後にCSSフレームワークの使いやすさに言及していたところ、ある方からMaterializeを駆使して作られたサイトをご紹介抱きました。マジで心躍るので見てください。素敵MAXです。
なんかもう、クソレイアウト作っちゃってすみません!!!!!!1
フレームワーク活かしきれてないのは重々承知の上で見ましたが、ほんとまだまだだなと。逆にここまで出来ちゃえば敵なしなのかな。どのぐらいの道のりなのか想像もつかねえ。めっちゃ楽しいやんけ。
現状の課題や改善点、やるべきことも徐々にシャープになっている感覚があって、勉強って楽しいですね。久々だわこの感覚。
引き続き、ワクワクする方を選ぶことを念頭に置いて学習を進めていきます。チャットアプリの話はまた次回。
ここまで読んでいただいた方、ありがとうございました。
千里の道も一歩から、ですね。
オタユウ