プログラミングスクールの最終課題が終わったので

最終課題を終えたので、その中で作成したDB設計が実際どうなったのかを以下にリンク先の記載をしています。

 

https://github.com/nekosyougun/furima-35786/blob/master/README.md

 

そして、現在、自分でどう勉強しようかを考えていましたが、様々な言語があり、転職活動をする上での、自分の現状などを考えて、やるべきことを考え直してみました。

 

前回はちなみに

1.自分のオリジナル勉強法をやってみる

2.そこからアプリケーションを作っていってみる

3.転職活動を行う

ex.やりたい遊びをする

 

と記載していましたが、

 

色々な情報がある中で私が思ったことは

1.アプリケーションを作成していく。

2.そこで必要な情報を検索、使える内容を調べる

1と2を繰り返す。

その合間で、

3.転職活動を行う。

としていこうと思いました。

 

年齢的にも、もう若くない分類に入る年齢らしいので(自分ではあまりそう感じてはないのですが)、ただ20代の方に比べるとやはり、年老いてます。

実力主義と言われるところに、30代で、しかも未経験で入ることは厳しいと言われる(書かれている)部分が多いです。

その点に関しては、確かにと思うところです。

ただ現職との兼ね合いもあり、手に職をつけていきたいと思うところもあり、難しいかもしれないですが、チャレンジをしたいと考えるようになりました。

業界について知らないことばかりですので、youtubeで色々な方の意見を見たり、聞いたりしながら、知っていこうと思います。

 

なんだか誰かへ向けてのブログみたいなことになっていますが、自分へ向けて書いてますね。

本当は何を勉強したとか、こういったことをやったとかを書くことが大事なのでしょうが、まだ自分の中で考えたアプリケーションを作れればと思いますので、短期間で簡単なものを作っていこうと思います。

あまり難しく考えすぎず、自分にできる内容はまだまだ薄っぺらいものだとしても、一から使えるものを使って、作成していこうと思います。

お久しぶりです

プログラミングスクールの最終課題を終え、期限を迎えたところで、転職活動に移るタイミングとなってきました。

 

最後にブログを投稿したのが、8月31日でした。

この間の期間、最終課題をしたり、体調崩したり、引っ越ししたりとバタバタしておりました。

現在、転職活動を行いたい、オリジナルアプリケーションの作成をしたい、自分で勉強をする方法を考えたい、少し気分転換に思いっきり遊びたい。と色々考えて、どれも中途半端な動きになっています。

 

そこでやりたいことを流れとした時に

1.自分のオリジナル勉強法をやってみる

2.そこからアプリケーションを作っていってみる

3.転職活動を行う

ex.やりたい遊びをする

 

最後に欲望を出してしまっていますが、やれることを少しずつでもやっていかないと前には進めないので、同時進行でなくても、一つずつでも進めていこうと改めて、このブログを書きながら決意します。

 

毎度のことながら、まとまらない日記になってしまっていますが、今回はこの辺で終えたいと思います。

最終課題について

現在行っているプログラミング学習も最終課題に突入しました。

最初はDB設計を考えて行いました。

ここでどういったDB設計をしたのかを書くのはまだしませんが、最終課題を終了した際には、どういったDB設計をしたのかを記載したいと思います。

 

DB設計には実際、2週間程度かかりましたが、実際の勉強時間としてはあまり取れていなかったこと、日にちが空いてしまうことで、前回どこまでやったかの読み直し、どこから進めればいいのかの再考による時間の浪費が多かった気がします。

自信がなかったので、できるだけ考えて何度もサンプルページからの動きを確かめながら、ノートに書き出していきました。

 

これでいいのか?と思いながら、プルリクエストをしましたが、かなり指摘箇所があったので、あまり考えすぎず大枠さえ固まればよかったのかな?と感じました。

細かい部分の抜けが多かったです。

 

反省を生かしながらも、最終課題を引き続き頑張ろうと思った次第でした。

全くもって

かなり期間が空いてしまいましたが、個人的事情によりブログを書くこと、プログラミングの勉強をすることの空白期間が生まれてしまいました。

現在、ようやく落ち着いた環境下になり、プログラミング学習は8月の10日前後より少しずつやっておりましたが、あまり集中できていなかったと思います。

ブログを書くことも余裕がなくできていない状況でした。

ようやく今日からブログも書く余裕ができてきたかなと思ったので、また明日より勉強内容を書いていこうかと思います。

現在はフリマアプリを新規作成するためのDB設計をしておりますが、なかなかに新しいことが多く、考えながら進めています。

カリキュラムの補足内容として、

ActiveHashを用いることで、最初から決まったものをプルダウンで表示する方法

(都道府県・・出品者の登録地域や、出品物の状態など)であったり、

クレジットカード決済を行うようにするためには?であったりと内容として、さらに難しいと感じています。(慣れればそんなことないのでしょうが、初めてはやはり難しく感じますね。)

ActiveHashでの決まった内容はDB設計でどこに入れたらいいんだろう?で悩んだり、実際にまだ簡易的なクレジットカード決済導入の練習をしていますが、本番環境で実装するときも同じようにコードの記述できるだろうか?と不安に思ったりしながら、進めています。

 

とりあえず、補足カリキュラムを一通り行ってみて、手持ちのカードを増やしてから、再度DB設計の続きをしていこうと思います。

 

単なる現在の状況と決意表明のような内容になりましたが、また明日から頑張っていこうと思います。 

 

今回の学び

インスタンス変数とローカル変数について

インスタンス変数を使用する際には、

@test = Test.new

といったような形にするが、

これをすることによってどうなるか?

ローカル変数は

test = Test.new

のような形になる。

 

def create

@test = Test.new

end

def create

test = Test.new

end

 

の違いは、createアクションの中でしか使えないのが

test = Test.new

createアクション以外でも使用できるのが

@test = Test.new

となる。

例えば、コントローラーのcreateアクションを行う際に、Test.newをViewファイルで使用する際には、ローカル変数のtestでは❌

インスタンス変数である@testを使用する必要がある。

 

なので、そのアクション内だけでしか、その変数を使用しないのならば問題ないが、そのアクション外でも(他のファイルや、部分テンプレートにて使用する際など)使用するのであれば、インスタンス変数として設定しておく必要がある。

なんてこったい

現在の内容の最後の科目まできていますが、なかなか進められていない。

しかし、実際やっているとなんとなくやっていたことで同じような内容だけど、少し深く足を突っ込んでいる感覚が出てきてるので、挫けず頑張っていこうと思う。

プライベートのことでゴタゴタしてしまい、少し勉強時間の確保ができていないので、先に落ち着けてからしっかり勉強できる体制を整えたいと思った。

 

今回は画像を登録する際の、image_tagについて

これがまた、attached?メソッドを利用して、画像がない場合はimage_tagを読まないようにしたり、optionでclassをつけたりとしているが、optionのclassの意味ってなんだろう?と思い、色々調べてみたがなるほど!といったようになっていないので、今度質問をしてみようと思いました。

ようやく

ようやく悩んでいた箇所からの脱出ができました。

4日ぐらい悩んだ・・・。

 

今回悩んだ点は

新規投稿をした際(createアクション)

投稿ができたら、トップページに戻る。

投稿ができない場合は、その新規投稿画面の状態で入力したものは残っている状態になる。

という条件分岐を記載するところだったのですが、

createアクションの中で、

def create

  if ○○○.create(・・・_params)

    redirect_to root_path

  else

    render :new

  end

end

のような書き方をしていると、空の内容で登録ができないようにvalidatesをモデルに設定しているにもかかわらず、空っぽのまま保存をしようとすると、root_pathが発動してしまい、まるで保存できたような動きをしていた。

 

これはcreateを使用していたためらしく、条件分岐を行う際は、saveメソッドを使用する必要があるようだったので、上記を

 

 

def create

  @・・・ = ・・・・.new(・・・_params)

  if @・・・.save

    redirect_to root_path

  else

    render :new

  end

end

 

としてみたところ、ようやくうまくいった。

 

ということで、今回思ったのは、

1.createはvalidatesがかかっていて、空白がエラーが起きても次の行の処理が進む。

2.createアクションにて、条件分岐(保存できる場合、保存できない場合)する際には、newとsaveを利用する。

 

ということを胸に刻みながら、また明日も少しずつ進めればと思います。

 

最近、詰まるとどうしても抜け出せなくなってしまっている自分がいるので、悩みすぎずにいければと思います。

(他に仕事や引っ越しと考えることが多いので、少しでも考えることを少なくしてから挑みたい気持ちもあるな〜)