コロナで無職になった私がエンジニアになるまで

コロナの影響で前職をクビになってから、エンジニアを目指してます。

オリジナルアプリ作成記 ~トップページ、Userの管理機能、記事投稿機能の準備~

今日からこれまでスクールで学んだことを生かしてオリジナルアプリを作成していく。
目標は1ヶ月で仕上げること!
年末年始の忙しい時期にしてはハードルの高い目標だなと思う。

まずは、レイアウト的な物を作ることにした。
データ設計とかは大雑把だけどもメモ帳にまとめて、とりあえず作ってみることに。

f:id:Kosei_Program:20201219183453p:plain


だ、ダセェ…笑

我ながらセンスのないレイアウト、色使い…。
ある意味感動する。絵心はないのは昔からだけども、こういうところにも出るんだなぁ

しかし問題ない。重要なのは機能の面。
今のところ予定では、ContentA(赤)、ContentB(青)、ContentC(黄)の三つがこのアプリのメインの機能になる。
名前は今のところ適当。
それぞれに

「全ユーザーが投稿した依頼のまとめ(記事一覧)」

「依頼投稿機能(新規記事投稿)」

「フォロー、フォロワー間のチャット機能(これは実現できたらいいな程度に)」

html、CSSは見れればいいや程度に適当に編集。
もちろんデザインがしっかりしていればユーザーも使いやすいだろうけど、
とりあえずは機能をしっかり作っていきたい。
余裕があればデザインにも力を入れる。多分ないけど。


次に取り組んだのは、User管理機能。いわゆるログイン、ログアウト、新規作成。
deviseをインストールして、ちょちょいとやるだけの簡単なお仕事。
これはもはやどのアプリを作成する上でも避けられない作業だし、
やることは全部一緒なので、テンプレート的に暗記すればいいかなと思った。
そこまで内容も難しくないしね。

f:id:Kosei_Program:20201219184346p:plain

やっぱりダセェ!!
なんか必要最低限の機能を持った物を作ると入ったもののダサすぎる。
でも中央揃えとか頑張ったんや。ちょっとでも見栄えを良くしようと思って。
色って大事だなぁ。

新規登録、ログインして、テーブルに情報が登録されてログアウトできて〜までは
deviseで一通り実装できる。
問題は、ログアウトする際にmethod: :deleteを記述することを忘れずに。

ストロングパラメータに関しても注意が必要。
application_controllerにdeviseに関してのストロングパラメータを書く必要がある。

deviseの処理を行うコントローラーはGemに書かれているためである。
Gemは直接編集することはできないためapplication_controllerに書くという流れ。

deviseを使用して実装を行った場合は、paramsの他に、paramsとは異なった形のパラメーターも受け取っている…らしい。
=> deviseコントローラーにストロングパラメーターを設定する必要がある。
   paramsとは異なった形のパラメーターを受け取るように設定する必要がある。

異なった形のパラメーターはdevise_parameter_sanitizerというメソッドを使用する。

class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  private
  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname])
  end
end

こんな感じ。
ログイン、新規登録をする時などのリクエストからパラメーターを取得することができる。
第一引数に機能、次に許可するカラムを記述する。
今回はnicknameというカラムを後から追加したので、それを新規登録する際に許可するようにしておく。

if: :devise_controller?でdeviseに関する処理のみこれらのメソッドが使用されるようにする。
application_controllerで全体に影響するけど、deviseのみに使用したいのでこのように記述する。


あとは、application.html.erbのヘッダー部分にログインしている時、ログアウトしている時の状態で表示を分ける。


とりあえずユーザー管理機能は実装できたので、次に記事投稿機能の準備だけしておこうと思って取り組み始めた。
とは言っても、モデルを作って、ルーティング設定、コントローラー作成、ビューファイルの作成まで。
コンソールを使って、データを登録して、ビューファイルに表示させるところまでやって…。

今日はここまで!
ボチボチやっていきましょう。

今日のまとめ! ~Ruby on Rails で プログラミングの勉強7~

復習だけに使ったら、ブログに書くことなくなっちゃった。
ので、今日は新しく学んだことを書いていきます。

他の生徒さんのブログの内容があまりにも充実しすぎてて、
自分のブログのだらけ具合に恥ずかしさを覚えますが、まぁいいでしょう。

 

設計とGit、GitHubについて!

 

続きを読む

今日のまとめ! ~Ruby on Rails で プログラミングの勉強6~

体力の…限界…! by 千代の富士

ちょっと仕事と勉強の両立がうまく行かなくなってきた、今週。

リフレッシュ代わりの筋トレで追い込みすぎて余計に疲れてしまう始末。

 

今日は検索機能とデバックについて!

 

続きを読む

今日のまとめ! ~Ruby on Rails で プログラミングの勉強4~

休みの日に一気に学習を進めようと思ったけども…。

まぁうまく行かないもんで。
予期せぬエラーが出て、それを直すためにまたエラーが起きて…。

で、解決したと思ったらものすごく単純な原因だったりして…。

とんでもなく疲れた1日でしたわ。

とりあえず今日の振り返り!

 

続きを読む

今日のまとめ! ~Ruby on Rails で プログラミングの勉強3~

休み前の1日が一番充実してる感じがする。
ある程度計画通りに行かなくても、「まぁ明日休みだし」でなんとかなっちゃう。
このブログなんかもそう、普段なら「寝なきゃ明日に響く」って焦るけども

「まぁ明日休みだし」でなんとかなっちゃう。

休み前の1日が一番いいね。

今日は、記事の編集、削除、詳細表示、before_actionとか!

続きを読む