タグ

tengに関するm_shige1979のブックマーク (7)

  • クイックスタート — Teng-Doc 0.01 documentation

    はじめに¶ この章は、Tengを使ったことない人が試しに使ってみるガイドを目指しています。 なるべくわかりやすく、そのまま実行可能なように記述してあるつもりですが、多少初心者には不親切かもしれません。 この章では、ある程度、他のORMDBIの知識のある人が試しにTengを使い始めることを目的としているので、よくあるメソッド等でもあえて紹介する順序を後にしていることがあります。 環境の準備¶ まず、perlを導入しましょう。perl5.8以降であれば、基的には動作するはずです。 Tengを以下のコマンドでインストールします。

  • MojocliciousでTengを使う設定 - Qiita

    Tengのファイルを作成する lib/MyApp/DB.pmというファイルを作成する。 このファイルでは以下のような設定を記述する。 Tengを継承 有効にしたいプラグインの設定 hookの設定 プログラムは以下のような内容になる。 package MyApp::DB; use parent 'Teng'; use DateTime; # プラグイン有効 __PACKAGE__->load_plugin('Pager'); __PACKAGE__->load_plugin('Count'); # hookの設定 use Class::Method::Modifiers; # updateメソッド時にupdated_atに現在時刻を自動入力する before update => sub { my ($self, $table_name, $update_row_data, $update_c

    MojocliciousでTengを使う設定 - Qiita
  • 鈍足ランナーのIT日記 Tengでgroup byやDateTimeをWhere句に書く方法

    IT業界で働くおじさんです でも技術がありません。 でも、金持ちになりたいのでPerlの勉強をはじめました。やるしかない・・・ http://kinjouj.hatenablog.jp/category/Perl?page=1327244400 http://d.hatena.ne.jp/ktat/20111205/1323023021 http://d.hatena.ne.jp/ktat/20120111/1326211861 group by はうまくいったが、問題はWhere句のほう・・・ DateTimeオブジェクトをWhere句の中に書いてみたらエラーとなった。 my $dt = DateTime->now( time_zone => 'local' ); my ($entries, $pager) = $self->app->db->search_by_sql_abstract

  • Teng::Plugin::SearchBySQLAbstractMore リリース - Practice of Programming

    ケースによりますが、最近のプロジェクトだと、searchメソッドじゃ足りないことが多かった(50%くらい)ので、SQL::Abstract::Moreをクエリービルダーに使えるようにしました。 Teng::Plugin::SearchBySQLAbstractMore リリースしたらblog書こうと思ってたら、リリースしては改変を繰り返してしまい、0.06っていう…どんだけバージョン上げてんだかorz 気を取りなおして…。 Tengのクエリービルダーとして、SQL::Abstract::Moreを使えるようになります。 これの利点としては、 group by 可能 having とかも書ける (x = 1 or y = 2) のような別カラムの or が書きやすい 複雑な join も書ける SQL::Abstractに慣れてる人は書きやすい & SQL::Abstractを素で使うよりは

    Teng::Plugin::SearchBySQLAbstractMore リリース - Practice of Programming
    m_shige1979
    m_shige1979 2014/11/03
    Tengのsearchでは条件が厳しい場合に使用する?
  • SQLを組み立てるもの - Practice of Programming

    最近、Tengを使っていますが、それほど複雑でもないSQLを組み立てるのに、searchメソッドは使いにくいと思う時が割と多い(group by出来ないとか、x = ? or y = ? とか書きにくいとか)。たぶん、方針として、シンプルなSQL以外は、search_by_sqlをっていうことなのだろうと思います。 ですが、SQLを文字列として組み立てるのは、割とめんどくさいので、SQLを組み立てるモジュールを使って、search_by_sqlに渡しています。 O/Rマッパーで、SQLのクエリを組み立てるものが組み込まれてますが、Tengで使われているのは、SQL::Maker、DBIx::Classだと、SQL::Abstract。Tengのsearchメソッドでは、SQL::Makerのselect メソッドを使っていますので、出来ることは、selectメソッドに出来ることに限られます

    SQLを組み立てるもの - Practice of Programming
  • PerlのO/RマッパーTengの簡単なリファレンス | UCWD-Studio

    今回は Perl の O/Rマッパー Teng を触ってみます。特に触れない限りMySQLを利用しているということにして、コードのサンプルは DB名 teng_test / 利用するテーブルは users / そのテーブルレイアウトは mysql> SHOW FIELDS FROM users; +---------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_

    PerlのO/RマッパーTengの簡単なリファレンス | UCWD-Studio
  • ユーザ由来の構造化データによるSQLインジェクション | tech - 氾濫原

    Kazuho's Weblog: The JSON SQL Injection Vulnerability について。元記事をはっちゃめっちゃに要約すると SQL::Maker にユーザから受けとったデコード済み JSON をそのまま突っ込むと SQL インジェクションになる場合がある SQL::Maker 側でそういったことが起こらないように strict オプションをつけたから、できればそっち使え 別に SQL::Maker に限らないから気をつけろ という話っぽい。来であればユーザ入力をタイプチェックをすべきだけど、クエリビルダレベルでも、脆弱性にならないようにもうちょっと考慮してもいいよねという趣旨かな… strict モードは非互換なので、既存のコードが動かなくなる可能性があるようです。 Teng での対応 Teng を使っているとデフォルトで SQL::Maker がクエリビ

  • 1