2021-12-01から1ヶ月間の記事一覧

DBのインデックスについて

データを高速に検索するにはどうすればよいか DBからデータを取得する場合、通常順次検索して条件に合ったものを取ってくる。 順次検索するより、索引を作成して、索引を基準とした検索方法の方が検索スピードが速くなる。 つまりDBにもインデックスを張るカ…

リーダブルコード1章2章

1章 コードが読みやすいとは、他人がコードを見たときに理解しやすく、理解するまでの時間が短い 2章 名前を付けるという事は短いコメントを書くような意識を持ち、名前に情報を埋め込んでいく 明確な単語を選ぶ 例えば汎用的な単語を使う場合、getだとどこ…

プログラマー転職時に聞かれた技術的な質問

一覧 メモリリーク デッドロック N+1問題 プロセスとスレッド スタックとキュー Webアプリのセキュリティ bit演算 オブジェクト指向の重要な概念3つ メモリリーク メモリリーク(memory leak)とは - IT用語辞典 e-Words プログラムを実行するためにメモリ…

find_or_initialize_byを使ってみる

要約 find_or_initialize_byはRailsのメソッドで、同時にfind_byとnewを行ってくれる。 find_or_initialize_by | Railsドキュメント モデル.find_or_initialize_by(条件) find_byで検索してない場合、条件に入れた値を基に新しいインスタンスが生成される。 …

Railsのfind、where、find_byの違い

要約 findはidを基に検索する。値がない場合、エラーを吐く find_byはカラムを指定して検索する。値がない場合、nilを吐く whereは条件を指定して検索する。値がない場合は#<ActiveRecord::Relation []>を吐く find findはidを基に検索する。値がない場合、エラーを吐く 例 irb(main):00</activerecord::relation>…

N+1問題について

要約 関連テーブルからデータを取得するときに、結合せずに、1つづつデータを取ると、負荷がかかる。 1つづつデータを取る場合とは、まず親となるテーブルから対象のデータ(N個)を取得するSQLが1回、 子テーブルの外部キーを条件にデータを取得するSQLがN…

githubにログインできなかったときにやったこと

githubの設定時 ローカルからgithubにユーザー名とパスワードでHTTPでログインしようとしたが、できなかった。 アクセストークンを作成して、パスワードの代わりにこれを代入したらできた。 やり方↓ githubでfatal: Authentication failedが出て急にpush,pul…

Cannot find module 'XXXX' or its corresponding type declarations.のエラーについて

Vetur Vetur とはVScodeでエラーチェックやシンタックスハイライトとかしてくれる拡張 タイトルのエラーはこの拡張から警告されている。 自分の状況 Vue3、RailsApi、TypeScriptの環境構築していた。 APIフォルダとフロント側フォルダの2つに分けて、VScode…

CORSとは

要約 CORSはサーバからもらったスクリプトをブラウザ側で実行して、同じオリジンではない、別のオリジンのサーバに対してアクセスできる仕組み。 概念のみ以下説明 ブラウザとサーバの仕組み インターネットを使って、Chrome、FirefoxなどのWebブラウザを立…