開始92日目〜超初心者、文系、30代のスタート〜
本日学んだこと:
this は function を呼んだ時の . の前についているオブジェクトを指している
.が無い場合、グローバルオブジェクト、ブラウザでは Window オブジェクトになる。
$(this).parent().remove()
→取得した親要素を削除する。
→この場合のthisはクリックしたユーザー名の取得、id名の取得をしている。
非同期通信の場合、投稿者以外のユーザーは
・リアルタイムでデータは反映しない
・サーバーにはデータが保存されているので、リロードすれば反映する
→その為、リアルタイムで更新されるようにする為、自動更新は必要
例)LINEなど自動でメッセージがブラウザに反映されるようになること。
自動更新に必要となる機能
①何秒かおきに、JavaScriptを使ってブラウザに表示されているメッセージのうち最も新しいもののidをリクエストとして送る
②Railsのコントローラのアクションにてデータベースに保存されている最新のメッセージのidと①のidを比較し、①のidよりも大きいidを持つメッセージたちをレスポンスする
③JavaScriptを使って、レスポンスに含まれるメッセージたちをメッセージ一覧の最後に追加する
WebAPI
APIは、Application Programming Interfaceの略称で、アプリケーション開発者が外部に向けてアプリケーションの機能の一部を公開する仕組み
→例えばTwitterのAPIを使用すれば、Twitterアプリを使うことなくつぶやきの情報を取得するなどの機能を使うことができます。
WebAPIは、HTTPやHTTPS通信を通じて利用するAPIのこと。
Rubyのクラス名は、このように::で繋げて装飾することができます。これを、名前空間またはnamespaceといいます。
プログラムがクラスを判別する際はどのディレクトリに入っているかでの判別はできないため、名前空間を利用するルールになっています。こうすることで、Railsは間違えることなく2つのコントローラを区別するようプログラムされています。
書き方:namespace :ディレクトリ名 do ~ end
例)山田さんが2人以上いる場合。
総務部の山田さん、経理部の山田さん、1つに特定できる。
$('.message:last')
jQueryのオブジェクトの指定方法の1つに、:lastがあります。今回の場合は.messageというクラスがつけられた全てのノードのうち一番最後のノードという意味。
setInterval()関数
第一引数に動かしたい関数名を、第二引数に動かす間隔をミリ秒単位で渡すことができます。
今回は、reloadMessages関数を数秒おきに呼び出します。
明日やること:
自動更新機能のコード完成。
できるかぎりカリキュラムを進める。
今後に向けて:
・過去に予約したことのある飲食店まとめ、お気に入り機能付き←様々なまとめサイト
→
→
知識よりもポテンシャル
どうしてやりきったのかを言葉で表現できるようにすることが大事。
61期開発にも合流できる可能性もある。
62期で個人アプリ開発に注力。
・自己紹介、パズルゲームなど
●簡単なものを一旦作ってみるのも一つの手段。
感想:
今後に関して、技術も大事だがポテンシャルが大事ということもはっきりした。
なので、できる限り自分でできることをやりきること、そして自己紹介ポートフォリオは作ってみることに決めた。
早く終われば、前倒しで開発チームに関われることも知った。
そこを目指すのもありかもしれない。
年内は明日が最後、LGTMをもらって年内は終えよう!