Ajaxって便利

Hi everyone!

 

最近は、色んな実装をしてみてはエラーを出し、心が折れ、エラーを出し、心が折れ、、
を繰り返しております。笑
なんねもうわからん!やめたい!って思うこと、めちゃくちゃあるんですけど、その後に
”うおおおおわかっちゃった〜!”とか思う瞬間があると、やめられないですねw

 

さてと。

JavaScriptAjaxを最近少し触りました。

 

なんとなく思ってることメモみたいに書いていきます。
postsコントローラーのcreate アクション

 

def create
post = Post.create(content: params[:content])
render json:{ post: post }
end

 

ここで json を定義することで、memo.jsで後から使うことができるんですよね?ね?

*本当はここはRubyでredirect_to action: :index => index actionに戻る記述をしてた。

 

次はこれ

const buildHTML = (XHR) => {
const item = XHR.response.post;
const html = `
<div class="post">
<div class="post-date">
投稿日時:${item.created_at}
</div>
<div class="post-content">
${item.content}
</div>
</div>`;
return html;
};

はい?XHR?なぁにぃ〜〜ってもや、もや。もや。
ですが尊敬する方から"console.log使ってね"と言われ、使うとあら不思議、こういうことなのかぁ〜!と納得できました。

 

例えば:

const buildHTML = (XHR) => {
const item = XHR.response.post;
const html = `
<div class="post">
<div class="post-date">
投稿日時:${item.created_at}
</div>
<div class="post-content">
${item.content}
</div>
</div>`;
console.log(XHR.response);
return html;
};

 

としてみましょう。

するとconsole でXHRの内容がわかります。

ここで私は気づきました。

あ、これpostsテーブルの中身やーん!と。
そうですそうです。あんま難しく考えんと、XHR、うんうんAjax使うときに持ってくるものなんだな〜テーブルの中身やな〜くらいで、覚えとけば、後からわからなくなった時、どこを調べれば良いかわかりますよね。って話です。

 

とても支離滅裂ですが、これだけ書いておきたかった。。w

 

では、goodnight!

たくさんeach methodが入ってなんぞや?となった話

こんばんは。

 

プログラミングの勉強をしてて初めになんじゃこりゃ〜と思ったのがeach methodなのですが、今日はeach methodがコード内に2個繰り出されてハァァわからんとコードを睨み数十分。

 

こちらです。

def lone_sum(ary)
 
  uniq_nums = []
  ary.each do |num|
    count = 0
    ary.each do |i|
      if num == i
        count += 1
      end
    end
    if count < 2
      uniq_nums << num
    end
  end

例えば lone_sum([3,2,3])として、

  • 配列の3つの数字を計算、
  • しかし同じ数値が2つ以上含まれている場合、その数値は合計する要素に含めない

と決めましょう。

 

コードを見てみると

ary.each do |num| 

ary.each do |i|

 

ここで2つeach method が出てきて私はアワアワしたんです。
つまりここでは何をしてるかっていうと、

1周の処理:

|num| = 3を取り出します

|i| = 3,2,3 を取り出します(子供的存在のeach method は全部取り出すんだな〜っていうイメージを持ってるんですが、違ったら教えてください。)

コードで見ると

ary.each do |num| *num 1周目の3を出すよ〜
    count = 0
    ary.each do |i|  *i 1周目の3,2,3を出すよ〜
      if num == i
        count += 1
      end
    end

こんな感じですかね?

それを3回繰り返すんです。

では続けます。

if num == i

  count += 1 

この記述ですが、1周目の処理で考えてみましょう。

num = 3, i = 3 (2,3は後から続きます)なので
num = i になりますよね!
ということで count 1 追加です。

1周目、i が2個目(3,2,3)の時はどうでしょう?
num = 3 , i = 2で条件に合いません。
みたいな感じで3周処理を繰り返します。

 

ここで以下の記述ですが:

if count < 2
      uniq_nums << num

count が1だった時は uniq_nums にnumを1追加ということになります。
1周目を例にすると、合計countは2、numは追加されないということになります。(難)

 

自分用にメモしよメモしよという感じでも、説明するのって難しいですね。

つまり、each method重なった時の処理ってああ、親と子みたいな感じだなと感じた、そんな夜でした。

おやすみなさい。

Search method てなんぞやという話。

こんばんは。

 

プログラミング学習をしていると、アハ体験(Aha moment)ってあると思うので
思ったことをメモしていきたいと思います。

題名にもある”Search method”ってなに?って話なのですが、

.each_with_index  do |item, i|

end

と表しますよね。
私、ドットの左隣に何を入れていいか、はてわからなかったわけです。

けど分かりました。調べりゃわかる程度の小さなことだけど、私はこの感覚を大事にしたい!

 

ドットの隣は配列が入るんですね。
そりゃそうですよね、サーチして欲しいから配列の中から何か探さないといけないから。

仮引数2つ当てはめちゃったら、どっちを書いたらいいの?わかんないんですけど!
って思ってたのですが、意味がわかると、あ、なるほどそうですよね。となりました。

 

ブロック変数の2つも、え、いつもは一つしか入れなくていいのに今日2つあるどうしよ!
となっていたのですが、2つ目(例えばindex)等がないと、何番目の処理かわからないってことですよね。

 

AHA moment です。笑

 

さて、今日も頑張ります。

ではみなさまおやすみなさい。

 

 

英語学習とプログラミング学習

Good morning!

 

おはようございます。
今日はとても暖かいですね、2月とは思えない暖かさで困惑です。
日の出も早くなり、春が近づいているのを肌で感じます。

さて、私はプログラミング学習を初めてまだ1ヶ月のペーペーですが、1ヶ月プログラミングをしてみて思ったことをちょろちょろと。

 

1.英語の勉強と同じじゃない?!

高校生の時に”海外で働く!”と決めて英語学習にスイッチが入った時期があるのですが、その時に激しい、それはもう激しい(笑)感情の起伏をしていたなと思い出しました。

(例)沢山の文法が出てくる、新しい単語もどしどし、何言ってるかわからないまま次の単元へ、、、私イライラ、、、笑 わかんない!もう無理!!

それでふと思ったんです。あ、今私言語勉強してる時と同じ気持ちだと。
だってわかんないんです。何言ってるか。笑
全く勉強したことのない”言語”を自分の知識に入れようとしてるのだから、当然ですよね。
ここで少し気が楽になりました。

2.寝かせるべき時がある!

日本人って真面目ですから(もちろん国籍で限定しているわけじゃありません)、出来るようになるまでやらなくちゃ、完璧に、、!という思考がよく働くと思うんです。私の最初の1ヶ月もそうです。わからないのに次に進んで、いける?無理じゃない?だって今わかんないんだもん(泣)と悔しくも悲しい気持ちになっていました。今もなります。

ですが、ここプログラミングの面白い所だなと思うのですが、寝かせたり、しばらく経ってもう一度復習するときにスッと理解できたりするんですよね。笑
そういう瞬間が癖になり、次のステップに進む原動力になっているのかな、なんて思っています。

 

全く新しい領域にチャレンジしてるわけだから、わからないし躓くのは当然ですよね。
もし私のようにプログラミングに挑戦中の方がいたら、毎日パソコンを開けて「わから〜〜〜〜ん!!!」と言ってる自分を少し褒めてあげてくださいね 。

 

それでは皆様 Have a great day wherever you are : )