Active Storageを使った場合のFactoryBotの記述の仕方

Active Storageを使った場合のFactoryBotの記述の仕方はすこし特殊な記述を書きます。

 

FactoryBot.define do
factory :item do
name {'hoge'}
price {'800'}
explanation {'ああああ'}
category_id {3}
state_id {3}
burden_id {2}
shippingorigin_id {3}
day_id {1}
user_id {2}
association :user

after(:build) {
|item| item.image.attach(io: File.open('public/images/test.png'),
filename: 'test.png', content_type: 'image/png')
}
end
end

 

after(:build) {
|item| item.image.attach(io: File.open('public/images/test.png'), filename: 'test.png', content_type: 'image/png')
 
↑この記述なんですが、記述の上記あるitemに関するものと,item.imgeとを結びつけてくれる記述ものらしいです。

メンターさんありがとうございます✨

あと、今日教わったことで上の記述とは関係はないですが

 

@items = Item.all.order("created_at DESC")

と記述するとitemに関するもすべてを呼び込んでくれる(だった気が💦)ものです。

うろ覚えですみません。

 

 

久しぶりに書いたので今日のYou Tubeも貼っておきます。

よかったら見たて下🤗

 


絶対に着たらいけない服 TOP3

 

全部よく分かります。僕も参考にできるところは取り入れようと思います。

 

最後まで見て頂きありがとうございます。

 

次回もよろしくお願いします。

検索について

今日は、少しプログラミングから離れて自分の今後の課題の一つでもあるタイトルにも書いてますが検索について書いていきます。

 

なぜ検索のことについて描こうかとおもたのかと言うと学習していて、分からないエラーに出会い調べていて中々答えに辿りつかず時間だけが過ぎていて、カリキュラムは進まないといけないと言うストレスを感じたからです。

 

前回のブログでJavaScriptに入り楽しくなってきたと書きましたが今日は正反対でした。

 

そもそも検索をかけても誰が調べてもそんなに大差ないと思ってましたが、少しのことをするだけで検索数が変わります。

 

それで何をすれば差が生まれるかと言うと、大きく分けて2つあります。

 

 どう言うキーワードで検索をするか?

 どんな手法を使って検索をするか?

 

の2つになります。

 

①のキーワードにつては、何を検索するのにもよりますがある程度の経験値、キーワードの発想力(連想力)が必要になって来ると思います。

 

②のどんな手法には使うか使わないかになって来る気がします。

 

で、どんな手法がるかと言う

検索のコツその1

キーワード検索(完全一致検索)

 " ユーザー認証"

キーワード「 " (ダブルコーテーション)」で囲って検索をします。

「ユーザー検証」で検索をかけると検索ワードを含むページを検索をしてしまいます。

 

 

しかし、「"」を囲んで検索をすると



検索内容が少し変わったのと検索数が下の方が少なくりました。

これは、ダブルコーテーションで囲まないと「ユーザー、検証」と2つ言葉で検索するみたいです。

検索コツその2 

OR検索

検索をしたい2つのキーワードの間にスペースを空けて「OR」と入力します。

javascript  OR  Ruby」と検索した場合、どちらかのキーワードが含まれているサイトを検索できます。

f:id:QeGAN85daCstEJC:20200808003445p:plain

 

ちなみに「javascript  Ruby」と検索するのをAND検索と言います。

2つのキーワードがどちらも含たサイトを検索します。

 

検索のコツその3

除外検索

キーワードの後ろにスペースを空けて「- (マイナス)」と検索したくないキーワード入力します。

 


検索結果からRubyを場外して検索してくれます。

ちなみにJavascriptだけで検索するとこんな感じです。

 

 

検索方法3つ紹介しましたがそれぞれ検索内容も検索数が違います。

色々な方法を使って検索してみましょう。

プログラミングで個人的に使えそうさな検索方法を紹介しましたが、

一般的に複数のキーワードを調べる時なら、左から検索をかけられるので

並び替えて検索かけるのも一つの手かもしれませんね。

 

 

最後まで見て頂きありがとうございました。

また次回もよろしくお願いします。

JavaScript

今日から JavaScriptを学習が始まったんですが自分に合っているか、やてて楽しかったです😊

今日学習したのが非同期通信です。

非同期通信とは、リクエスト後にブラウザの再読み込みされることなくブラウザの一部のみが更新される通信方法です。

よく目にするのが地図アプリ、通販サイトのカテゴリー検索とかだと思います。

 

f:id:QeGAN85daCstEJC:20200806004859p:plain

Amazonさんから

こう言うものが非同期通信です。

 

f:id:QeGAN85daCstEJC:20200806005143p:plain

右の円を書いている矢印を押すと

こう言う風に青い円が回るている時は読み込んでいるので同期通信になります。

f:id:QeGAN85daCstEJC:20200806011123p:plain

きのこブログさんからお借りしました

同期通信の図です。

読み込んでいる間は待たないといけないのでユーザーにストレスを与えてします。

 

非同期通信を行う処理のことをAjax(エイジャックス)と言います。

ページからページに移らなくてもHTMLのデータなどを取得することができるのでユーザはストレスを感じず情報を取得できます。

f:id:QeGAN85daCstEJC:20200806011347p:plain

きのこブログさんからお借りしました

 以上JavaScriptでの非同期通信でした。

 

最後まで見て頂きありがと言うございます。

 

久しぶりに

最近、カリキュラム進めるので一杯になってて書けてなた無かったですが今日からまた書きます。

Ruby on Railsのモデルのデータベースの操作について。

モデルのデーベースの操作はActiveRecordと言うまとまりが持つ仕組みによって実現して、ORMと言う技術に分されます。

ORMと言うのは Objecut-Relational Mappingの略でRDB(リレーショナルデータベース)のデータをオブジクト指向プログラミング言語でオブジェクトとして使用するためにけ変換する技術で、Ruby on RailsActiveRecordPHPフレームワークのLaravelのEloquentなど様々な種類があります。

その他にもテーブルとデータベースを裏側で操作するSQLがあります。

SQLRDBを操作するための言語で、データベースやテーブルに対していろいろな命令を行いますが、大きく分けて3つあります。

データを定義するDDL(Data  Definititlon Language)

 

データを操作するDML(Data Manipulation Language)

 

データを制御するDML(Data Control Language)

の3つになります。

 

 今日はこの辺でまた次回もよろしくお願いします。

 

最後まで見ていただきありがとうございました。

今日はなんとか

昨日からtwitterに目標を書いて勉強し出しましたがようやく2日目で達成出来ました🎉

 

今日は複数のテーブルを紐付ける事を学びました。

テーブルと言ってもご飯とか食べテーブルじゃないですよ😁

複数のテーブル結びつける定義をアソシエーションを使います。

アソシエーションとは、モデルに定義する事でそのモデルに紐づく別のモデルの情報にアクセスできるようになる事です。

各テーブルの中には複数のデータがあり、テーブルとテーブルを繋ぐ線の関係は1対多の関係です。

コードでは、has_many  : モデル複数形と言う形になります。

アソシエーションを使ってコードを書くとない場合と比べると短縮されっるので便利です。

 

昨日はマコさんの動画を載せさせて頂きましたが(真子さん有難うございます😊)

今日はもふもふ不動産のもふもふさんです。

youtu.be

 

経済の動画と投資の動画とか出されてます。

動画で言われているのが、①考える事ができない人。

仮説を立てて検証してみたりしないと自分のステップアップには繋がらない。

②実行しない人。

リスクある実行はしな方がいいが、実行して努力しないと成長しない。

口ばっかりで上の人の悪口とか言うだけで何もしない人とか、才能があるからとないにもしないも成長できない。

③失敗から学べない人

小さく失敗して小さく成功して行く事が大事。

失敗して落ち込まない事。

成功してる人は必ず失敗して学ばれているそうです。

要は考え方が大事だそうです。

 

ブログと一緒に動画も見て頂けると嬉しいです。

もふもふさんの動画もよろしくおねがいします。

最後まで見て頂きありがとうございます。

全然上手い事いかず、、、。

今日から目標立ててやてみたが初日から達成出来なっかたです💦

目標立てるのって難しいですし、それに達成するのってやっぱり大変ですね。

 

今 、Railsの勉強中なんですが、アソシエーションて言うのがあるんですが、アソシエーションをモデルに定義することそのモデルに紐づく別のモデルの情報にアクセスできるようになります。

その定義にはhas-manyメソッドを使って定義します。

has-manyメソッドとは、あるユーザーの制作した投稿は複数個あるのでこの状態をhas-manyの関係と言います。

この関係付をするのにuserと他のモデルとの間に「1対多」の繋がりがあるメソッドになります。

 

そうそう、なぜ今日から目標立てようかと思ったのかと言うととあるYouTuberさんの動画を見たからなんです。

それは、マコなり社長と言うYouTuberさんなんですが実は動画見せて頂いて1年以上になると思います。

いつもためになる動画を出されていて僕が通ってるプログラミングスクールのdivと言う会社の社長さんなんです。

見た動画と言うのがこちらです。

youtu.be

この動画中の裏技で他人に1時間ごとの終わりを共有すると言う物で、他人に目標を告げて、目標未達だと罰ゲーム共有した相手に飲み物を奢るとかになるんですが目標に締め切りがあると集中力が上がるらしくこれを締め切り効果と言うそうです。

ただ未達の時に妥協して達成したことにしたり、忙しかったからしょうがか、みたいにすると締め切り効果が弱まるのでよくんしそうです。

この動画には他にもたくさん良いことが載っているのでブログと一緒に見て頂けると嬉しいです。

マコさんの動画は他にもためになる動画がたくさんあるので見て下さい。

 

最後まで見て頂きありがとうございます。

はじめまして

テックキャプでプログラミングで勉強しているユートです。

このブログでは学習したこと日々何か学んだことなど書いていこうと思います。

毎日更新していくつもりなのでよろしくお願いします。

 

間違っているところとか、アドバイスとかあればどしどしお願いします。

人に伝えるのはあまり得意ではないのでブログをとうして伝える力が身に付ければ良いなと思います。

 

では、初めての記事はこの言葉です。

僕が大事にしている言葉です。

f:id:QeGAN85daCstEJC:20200716153235j:plain

大事な言葉

とある人にいて頂いて大事にしている言葉です。

分かっているつもりなんですが中々実行に移せていないように気がします💦

すごく大事な言葉なのでこれからも実行できるように頑張ります。

 

読んでいただきありがとうございました。

今日は夜に学習したことを書こうと思いますので良かったら見てください。