タグ

ブックマーク / www.techscore.com (11)

  • Railsライブラリ紹介: N+1問題を検出する「bullet」 | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Rails の便利なライブラリをシリーズでご紹介してみたいと思います。 今回は「N+1 問題」を検出してくれるライブラリ、bullet です。 bullet (http://github.com/flyerhzm/bullet) N+1 問題 N+1 問題とは、OR マッパーを使用しているときに発生しがちな問題です。 何かの一覧画面を作成しているときに、 一覧に表示するデータを取得するために SELECT を 1 回実行(N レコード返される) 各データの関連データを取得するために SELECT を N 回実行 データベースアクセス(SELECT)が合計 N+1 回も実行される(JOIN して 1 回の SQL で取得した方が効率的) というものです。 具体的なコードで考えてみましょう。 例として店舗の一覧画面を作成しているとします。 関係するモデルは以下の通りです

  • ローンチから10年を経たSaaSシステム開発が抱える問題にどう取り組んだのか | TECHSCORE BLOG | TECHSCORE BLOG

    SaaS システムを開発しているみなさま、お元気でしょうか。松です。 当社プロダクトの Synergy! は 2005 年にローンチした、数千テナントを抱える SaaS 型 CRM システムです。 Synergy! のような SaaS システムはローンチしたらそれで完成ではなく、継続的に機能追加や機能改善を繰り返していくことがユーザーにとっての魅力のひとつです。Synergy! 開発ではこのサイクルスピードが年々落ちており、開発パフォーマンスの維持、向上が大きな課題になりつつありました。 また、ローンチから 10 年を経たプロダクトを、今の時代を反映したプロダクトとしてリニューアルしたいという強い要望も社内から出ていました。これまでも機能強化は続けてきましたが、抜的なユーザーエクスペリエンスの変革を実現するには、機能を新しくデザインし直さなければなりません。大規模な機能追加や機能改善が

    bopperjp
    bopperjp 2016/07/13
  • 6. トランザクション管理 (3)

    6.3. 宣言的トランザクション管理 宣言的トランザクション管理を使用するとトランザクション管理をビジネスロジックから切り離すことができます。これは Spring AOP により実現されています。宣言的トランザクション管理によるとアプリケーションコード中にトランザクション制御コードを記述する必要がなくコードの見晴らしが良くなります。また、アプリケーションコードが Spring の API やその他のトランザクション API に依存することがありません。このため通常はプログラマティックなトランザクション管理よりも宣言的トランザクション管理を選択する方が良いでしょう。Spring でもトランザクション操作が少ない場合以外では宣言的トランザクション管理が推奨されています。 宣言的トランザクション管理を行うには、org.springframework.transaction.interceptor

    bopperjp
    bopperjp 2015/04/14
    宣言的トランザクション
  • Docker上でRailsアプリケーション開発 | TECHSCORE BLOG | TECHSCORE BLOG

    イメージを取得して起動するだけです。 コンテナはデタッチモードで動かしたいので -d オプションを指定しています。また、コンテナには名前を付けておくと便利なので --name で「postgres」という名前を付けました。 ポイントは環境変数として「-e LC_ALL=C.UTF-8」を指定しているところです。これは initdb でデータベースクラスタを初期化するときのエンコーディングを UTF-8 とするためです(デフォルトでは SQL_ASCII になります)。 Rails 開発用のイメージを作成する 次に Rails 開発用のイメージを作成します。 PostgreSQL は既存のイメージをそのまま使用しましたが、今度は個人用の開発環境を作りたいのでそうもいきません。 Dockerfile を書いて自分用のイメージを作成することにしました。 FROM ubuntu:14.04 MAI

  • JMeter

    JMeter はJakarta プロジェクト 1 で開発が進められている、パフォーマンス計測用のJavaアプリケーションです。 そのJMeterについて解説していきます。 1 [2012/5/23追記] 2011/12/21にてJakarta Projectは廃止されました。このプロジェクトはApache Projectに移管済みです JMeter INDEX JMeterの基 1.1. JMeterとは 1.2. インストールと実行 1.3. 簡単なテスト リスナー 2.1. リスナーとは 2.2. リスナーの使用法 2.3. 結果を表で表示 2.4. 統計レポート 2.5. グラフ表示 2.6. その他のリスナー 設定エレメント 3.1. 設定エレメントとは 3.2. HTTPリクエスト初期設定 3.3. HTTP認証マネージャ 3.4. HTTPヘッダマネージャ 3.5. HTTP

  • 7. Maven Tips

    2006.08.04 株式会社四次元データ 鈴木 圭 Maven 7章 Maven Tips 7.1. 標準のディレクトリ構成 7.2. プロジェクトのライフサイクルにおける各フェイズ 7.3. フェイズとゴール 7.4. 複数のゴールやフェイズを一度に実行できる 7.5. デフォルト設定を含めた pom.xml や setting.xml の情報を得る 7.6. Ant 用のビルドファイル (build.xml) を生成する 7.7. コンパイルするソースコードのバージョンを指定する 7.8. 生成する javadoc の設定を行う 7.9. ライブラリをローカルリポジトリにインストールする 7.10. Sun の JAR ファイルをリポジトリに登録する場合の注意 7.11. 依存ライブラリを指定ディレクトリにコピーする 7.12. 配布用のアーカイブ (zip や tar.gz など)

  • TECHSCORE BLOG

    こんにちは、鈴木です。 興味位で作り始めた Forth インタプリタの続きです。 前回はワードを定義できるようにしたので、今度は条件分岐をサポートしようと思います。 続きを読む...

    bopperjp
    bopperjp 2014/02/17
    forth
  • 4. enum

    2005.11.21 株式会社四次元データ CTO 畠中晃弘 Java言語機能(JDK5.0(Tiger)新機能) 4章 enum 4.1. 簡単な enum 4.2. カスタムのメソッドの実装 4.3. 定数ごとに異なる振る舞いを持った enum 4.4. switch - case 文での利用 4.5. EnumMap 4.6. EnumSet enum 型は、あるカテゴリーに属した複数の定数をひとまとまりとして取り扱うための仕組みです。J2SE 5.0 の enum は、C や C++ の enum ように内部的に整数で定数を保持するものではなく、タイプセーフ enum と呼ばれるパターンを実現したものになっています。 4.1. 簡単な enum まずはじめに簡単な enum 型の定義を示します。 public enum Color { RED, BLUE, YELLOW, BLAC

    bopperjp
    bopperjp 2011/11/22
    enum
  • Maven-TECHSCORE-

    章では、Apache Software Foundation で開発されているプロジェクト管理ツール「Maven」について解説します。 Maven はプロジェクト情報の一元管理、統一したビルドプロセスの提供、依存ライブラリの管理などの機能により、 開発者にかかるプロジェクト管理の負担を軽減します。 現在の Maven は、version 1 系統と version 2 系統が平行して開発されていますが、章では version 2 系統について説明します。 Maven INDEX Maven とは 1.1. Maven とはどのようなものか 1.2. Maven の入手とインストール Maven 入門 2.1. Maven のアーキテクチャ 2.2. Maven の実行 2.3. プロジェクトの作成 2.4. pom.xml について 2.5. コンパイル 2.6. ユニットテスト 2.

  • Ruby on Rails

    Ruby on RailsRuby を用いた Web アプリケーション開発フレームワークです。その Ruby on Rails について解説していきます。 Ruby on Rails INDEX

    bopperjp
    bopperjp 2011/11/02
  • TECHSCORE - XML

    数年前、XML ブームとも言える現象が起きました。 「アプリケーション間のデータ交換が簡単」「WEB時代の必須技術」などといわれ、XMLが技術者達の熱い期待を背負っていたときがありました。 ブームは一段落し、かつて程熱を帯びた言葉で語られなくなったXMLですが、では、XMLは廃れてしまったのでしょうか? そうではありません。 着実に「基盤技術」として、あらゆるコンピュータシステムに実装されようとしています。 ここでは、XML, DTD, XML Schema などについて、詳しく説明します。 「XML関連アプリケーションを今すぐ実装しなければいけない」といった人には向かないかもしれません。 「XMLの質を理解したい」「XMLについて、基礎からしっかり丁寧に習得したい」という人の力になれば、と思っています。 XML INDEX

    bopperjp
    bopperjp 2011/06/13
  • 1