You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
メンテナになってからしばらくパッチあてたりしつつ放っておいたのですが、0.19 として出しました。 Teng::Row が結構書き変えられているので、そのへんちょっと気をつけて使ったほうがいいかもしれないです。inflate/deflate まわりの挙動をまともにしたつもりです。今までなんとなく動いていた感じだったので…… それにともなって set/get というメソッドが追加されています また、kazeburo さんのパッチにより is_changed メソッドが追加されています。これにより実際は update しなくてもいいケースを簡単に判定しやすくなっています。デフォルトでは今まで通りなので実際にそうするには呼び出し側で判定をする必要があります。 0.19 には入れず、今後やろうとか思っていること 自分で書いたのは以下あたり。ちょっと冷却期間中です。 https://github.c
https://metacpan.org/module/Teng::Plugin::SearchJoined https://metacpan.org/module/SQL::Maker::Plugin::JoinSelect N+1問題という近年まことしやかに語られるようになった言葉があります。当たり前の事象に大げさに名前をつけるのどうなのかと思ったりもするわけですが、名前が付いていると案外説明に便利だったりして「名前重要」だなーとか思ったり思わなかったりするわけです。 最近はTengを便利に使わせてもらっているわけですが、Tengはシンプルな分、何も考えないで使うとN+1問題が多発してしまいます。そう言う思想なわけです。 クエリ数を抑えるためにJOINしたクエリを投げたくなるわけですが、そうなると自分で投げるしか無くて、それはまだいいとしても、普段Rowオブジェクトを使い慣れているゆる
前回のTengのリファレンスに続き、今度はAmon2でTengを利用するケース。これは amon2-setup.pl を実行する際に flavor に Teng を指定するとすぐに利用できるようになります。以下、一応手順。 Amon2, Teng, Amon2::Setup::Flavor::Teng が入ってない場合はインストール $ cpanm Amon2 Teng Amon2::Setup::Flavor::Teng 任意の場所で Amon2 のスケルトンを作成。この際 flavor に Teng を指定 $ amon2-setup.pl --flavor=Basic,Teng MyApp amon2-setup.pl を実行すると指定したプロジェクト名(上の例では MyApp)のディレクトリとともにスケルトンが作成されます。 use File::Spec; use File::Ba
schema.sqlみたいなファイルにmysqlのテーブル定義を管理しているとして、その修正をした時にできるだけ楽にMyDB::SchemaみたいなTengのSchemaクラスを生成するというときのオレオレTipsです。 TengのSchemaクラスの生成について このTipsはAmon2とは直接関係ないですが、Teng使う場合はきっとついてくる問題だと思ったのですし、Amon2とTengを一緒に使う人はたくさんいるでしょうと思ったりしたので、オレオレTipsとして入れ込みました。 で早速本題ですが、PerlのO/RマッパーのTengを使う場合は、Schemaクラスというのを用意しなくてはいけないんですが、その作り方としては主に3つあります。 手で色々とゴニョゴニョ書く Teng::Schema::Dumperを使って自動生成する Teng::Schema::Loaderを使ってSchem
どうもnekokakです。 みなさんDBIを使っているコードのベンチマークってどうしてますか? SQLのチューニングであればいいのですが、ロジックのベンチマークを取りたい時に 実際にdatabaseにクエリなげてしまうと、ネットワーク通信等が発生し、細かいロジックのチューニングの邪魔になることがあります。 たとえば私はTengのチューニングをするときに、バックエンドのdatabase性能なんてどうでもよくて、 プログラムの性能をみたいわけです。 そんなときに便利なのがTest::Mock::Guardです。(え Testというnamespaceにありますが、やっていることはコードをさしかえることなので これをつかって実際にデータベースにクエリなげるところとかをフガフガします。 例えばTengのベンチマークを取る時に試したコードは以下のようなものです。 #! /usr/bin/perl us
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く