エンジニアチーム

エンジニアチーム

The Internet
6 posts
Website Facebook
n+1 問題とは
engineer

n+1 問題とは

n+1問題とは 目次 はじめに n+1問題とは n+1を解決する方法 preload eager_load includes どれを使うのが良いのか? はじめに Ruby on RailsではActiveRecordというORMを採用しているため、自身でクエリ文を書かずともデータベースからデータを取得することが可能です。 例えば、あるモデルの全てのデータを取得したいとします。以下のように書けば、望んだデータの取得ができます。 Model.all これを、SQLで書くと以下のようになります。 SELECT "model"

ActiveResourceとマルチDBのどちらを使うべきか?
engineer

ActiveResourceとマルチDBのどちらを使うべきか?

ActiveResourceとrails6以降複数DB接続機能のメリットとデメリットをご紹介していきます。 どちらを使うべきかはそれぞれのメリットデメリットにみて、ご自身で検討してください。 ActiveResourceのとは ActiveResourceの使い方 Rails間でリソースのCRUD操作をする Prefix(接頭辞)を指定する Validationを設定する ActiveResourceのメリット・デメリット メリット デメリット Rails6で追加された複数DB接続 複数DBを使ってみる どのように複数DBへ接続するのか primary/replica コネクションの自動切り替え primary/replicaの挙動の確認 複数DB接続できるようになったメリット・デメリット メリット デメリット ActiveResourceとは ActiveResourceは、Rails2.0〜

ActiveJobとは
engineer

ActiveJobとは

ActiveJobとは 目次 ActiveJobの概要 Job(ジョブ)とqueue(キュー) どういった場面で使用するのか ActiveJobを実装すべきケース ActiveJobのバックエンド なぜ非同期バックエンドが必要なのか よく採用される非同期バックエンド ActiveJobと非同期バックエンドの直接利用 ActiveJobの同期実行 簡単なjobを作成する Jobの実装の準備 Jobをキューに入れる バックエンドの設定 ActiveJobの概要 今回はRubyonRailsの機能の一つである、「ActiveJob」について解説していきたいと思います。 ActiveJobについて、Railsガイドでは以下のように説明されています。 Active Jobは、ジョブを宣言し、 それによってバックエンドでさまざまな方法によるキュー操作を実行するためのフレームワークです。 ジョブには、定期的なクリーンアップを始めとして、

rubyをrbenvを使用してmacにインストールする
engineer

rubyをrbenvを使用してmacにインストールする

今回はmacにrubyをインストールしていきたいと思います。macに開発者ツールをいろいろダウンロードするのによく使うツールがHomebrewです。Homebrewはgithubなどと連携して、開発者ツールをダウンロード、管理してくれるツールになります。Homebrewの公式ホームページはこちら Homebrewのページにいきbrewコマンドを使えるようにするためにはrubyが必要です。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" つまりHomebrewでrubyをダウンロードしたいのにrubyを先にダウンロードしないとHomebrewをmacにインストールできないという、初心者には「ちょっと待って?」と言いたくなるような状態です。 Homebrewをインストール Homebrewをダウンロードするためにmacが標準で用意してる開発者ツール全般をダウンロードして、rubyを入れていきましょう。

よく使うSQL文 チートシート | MySQL編
engineer

よく使うSQL文 チートシート | MySQL編

mysqlのインストール mac OSでhomebrewが入っている場合 brew install mysql window OSの場合 こちらをご覧ください https://webkaru.net/mysql/install-windows/ ログイン パスワードがない場合 mysql -u root パスワードがある場合 mysql -u root -p データベースの一覧を表示 SHOW DATABASES; データベースへの作成 CREATE DATABASE

人工知能系・機械学習系・AI系のオススメAPIまとめ
engineer

人工知能系・機械学習系・AI系のオススメAPIまとめ

APIとは APIとはアプリケーション・プログラミング・インターフェイスの略です。 インターフェースとはコンピュータ用語でいうと、「何か」と「何か」をつなぐものという意味を持ちます。 つまり、APIとは「アプリケーション」と「プラグラム」をつなぐもの、という意味になります。 ここで紹介するAPIは機械学習の開発している会社が、無料または有料で機械学習を用いた、分類/分析/生成などのサービスを提供しています。 Watson API 提供:IBM リンク: https://www.ibm.com/