2022-04-01から1ヶ月間の記事一覧

[Ruby on Rails]Ajaxを実現しているデフォルトのJavaScript機能

初めに 今回はRuby on Railsで元々組み込まれているもので、Ajax通信を実現しているJavaScriptの機能について掘り下げる 前提 Ajax 「Asynchronous JAvaScript + XML」の略。JavaScriptとXMLを用いてサーバー側との通信を「非同期」で行い、通信結果によって…

[JavaScript] export import きほんのき

初めに これまでJavaScriptのモジュールにおける、import export export defaultをなんとなく使用してきたため、今回は復習の意味も込めて簡潔にまとめておく。 export モジュール化をして他のプログラムから使いたい変数や関数・オブジェクトなどをエクスポ…

[Ruby on Rails]Active Job、Sidekiqで非同期に

初めに 筆者は未経験からweb系エンジニアを目指しており、技術面接の対策として、Rails開発者が採用面接で聞かれる想定Q&A 53問(翻訳)を参考にしている。 問題の中で、聞いたことがあっても手元で動かしたことがない機能があり、今回はその1つのActive Jo…

[Ruby on Rails] ActiveSupport::Concernとは

初めに 今回はActiveSupport::Concernについて触れていく。モジュールを通常のmix-inするよりも、依存関係を気にせずに書けるぐらいの認識だったので、より理解を深めるためにも、公式のコードから掘り下げていく。 結論 include時にクラスメソッドとしても…

[Ruby] ローカル変数 インスタンス変数 クラス変数

初めに Rubyの変数宣言で、代表的なローカル変数、インスタンス変数、クラス変数についてまとめていく ※補足 本記事のメソッドとはクラスメソッド、インスタンスメソッドを含めたものを指します ローカル変数 先頭が小文字、_で宣言される。スコープは、変数…

[Ruby on Rails] 数えるメソッドの違い length, size, count

初めに Railsでは要素の数を数えるメソッドとして、length、size、countがある。今回はこれらのメソッドの違いについて、まとめていく 結論 メソッド名 キャッシュ参照 キャッシュ保存 COUNT関数 length ○ ○ × size ○ × ○ count × × ○ 前提 SQLキャッシュ ク…

[Ruby on Rails] redirect_to と render の挙動の違い 

初めに なぜインスタンスの保存に成功するとredirect_to で、失敗するとrenderなのか。ぼんやりとは分かるが、自信を持って言語化できなかったので、実際にコードを書き掘り下げていく 結論 保存に成功したときにrenderをしてしまうと、インスタンス変数が参…