タグ

2011年6月20日のブックマーク (9件)

  • Module::Setupで身に付けるよい習慣 - Perl日誌

    あらすじ 前回[twitter:@hachiojipm]で行われた[twitter:@norry_gogo]さんのLTで次のような発言がありました。 自分が書いたPerlコードを添削してくれる人が周りにいなくて困ってる 添削したったでー https://github.com/okamuuu/Twitter-Reader おすすめのファイル構成について 一枚岩のスクリプトだとテストがしづらいので普段から以下のようなディレクトリ構成にする事をおすすめします。 Your-Dist/script/*.pl Your-Dist/t/*.t Your-Dist/lib/**/*.pm Your-Dist/Makefile.PLscriptはbinでも何でも良いと思います。こんな感じのディレクトリがいいと思います。 それを簡単につくるためのcpanモジュールがいくつかあるのですが、今回はその中からMod

    Module::Setupで身に付けるよい習慣 - Perl日誌
  • tyoe2.com

    tyoe2.com 2021 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

  • DBIx::Class::Manual::Cookbook - レシピいろいろ - perldoc.jp

    名前¶ DBIx::Class::Manual::Cookbook - レシピいろいろ レシピ¶ 検索¶ ページ処理された結果セット¶ When you expect a large number of results, you can ask DBIx::Class for a paged resultset, which will fetch only a small number of records at a time: 結果セットが膨大になりそうなら、ページ処理された結果をDBIx::Classで取得できます。 一回に、少しのレコードしかとってきません: my $rs = $schema->resultset('Artist')->search( undef, { page => 1, # page to return (defaults to 1) rows => 10, #

  • Perlのメモリリークを見つける方法 - Islands in the byte stream (legacy)

    Perlではメモリリーク検出ツールがいくつか開発されているので、top(1)の結果を眺めるよりそういうツールを使うほうが楽である。 さて、メモリリークが発生しているとき、その可能性としてはだいたい以下の4つが挙げられる。 Perlレベルでの循環参照 グローバル変数に値をどんどん足しているとき*1 XSレベルでリファレンスカウントの管理ミス XSレベルでmalloc()したメモリの管理ミス この1-3についてはすべてPerlインタプリタ内の出来事であり、Test::LeakTraceを使って検出できる。4を検出するのは難しいが、Test::Valgrindが役に立つ。 Test::LeakTraceのSYNOPSISは歴史的経緯によりごちゃごちゃしているが、テストで使うべき関数はno_leaks_ok()とleaks_cmp_ok()だけである。 たとえば、以下のようにして使う*2。 #!p

    Perlのメモリリークを見つける方法 - Islands in the byte stream (legacy)
  • [ThinkIT] 第1回:PostgreSQL と MySQL の紹介 (1/4)

    共に連載執筆開始時点での最新安定バージョンですが、ある特定のバージョンに特化した内容を記述する予定はないため、基的にはPostgreSQLはバージョン8.1系、MySQLはバージョン5.0系の内容としてご理解ください。 また、PostgreSQLMySQLともに様々なOS上で動作可能ですが、特に断りのない場合はLinux版となります。 PostgreSQLは、1980年頃にUCB(カリフォルニア大学バークレイ校)の研究プロジェクトにて開発されたPOSTGRESというRDBMSが前身です。その後、1995年に同校の大学院生によりPostgres95としてリリースされ、現在の開発チームであるThe PostgreSQL Global Development Groupがこの開発を引き継いだのは1996年です。その際に、名称がPostgreSQLに改名され、ソースコードを公開し、現在もコミ

  • [ThinkIT] 第3回:トランザクションの比較 (1/4) -at- 徹底比較!! PostgreSQL vs MySQL

    トランザクション機能をサポートしているのは、PostgreSQLMySQL+InnoDBエンジンであり、MySQL+MyISAMエンジンはトランザクション機能をサポートしていません。ここでのトランザクション機能とは、複数のテーブルやレコードに影響をおよぼす処理を1つの単位とみなし、この単位での処理結果を保証する機能を指します。 具体的には、BEGIN文にてトランザクションを開始していくつかの処理を行った後、処理を確定する場合はCOMMIT文、処理を取り消す場合はROLLBACK文を使用し、トランザクションを終了させるまでの処理です。 トランザクション分離レベルとは、複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい分離するかのレベルを意味します。 ANSI/ISO SQL規格(SQL92)では4つの分離レベル(下記コラム参照)が定義されています。P

  • MySQL InnoDBのネクストキーロック おさらい - SH2の日記

    MySQLのInnoDBストレージエンジンは行ロックをサポートしています。しかしOracleと同じ感覚でアプリケーションを作っていると、思わぬところでデッドロックに出くわすことがあります。これはInnoDBのロック範囲がOracleよりも微妙に広いためです。 実際の例で確認してみましょう。 mysql> select * from t; +----+------+ | c1 | c2 | +----+------+ | 10 | a | | 15 | a | | 20 | a | | 25 | a | | 30 | a | | 35 | a | | 40 | a | | 45 | a | | 50 | a | +----+------+c1列は主キーになっています。1つめのセッションで以下のSQLを実行します。 mysql> set tx_isolation = 'repeatable-r

    MySQL InnoDBのネクストキーロック おさらい - SH2の日記
  • vim で実践! コードリファクタリング

    どうも、技術部でプログラマをしている鈴木です。シャノンに来てからは主に Shanon Marketing Platform の国際化対応をやっています。 わたくし、いわゆるひとつの vi 使いでして、世の vi 使いの類にもれず、世の中のすべてのアプリケーションの UI が vi ライクになればいいと常日頃思っているクチなのですが、(この記事も、vi で書いてからコピペであります。WYSIWYG なんてクソくらえ! でありますw)今日は恥ずかしながら、そんなわたくしが普段どんな感じで vi を使っているかをお見せしたいと思います。

    vim で実践! コードリファクタリング
  • [書評]MySQLをハックしまくりたい人のためのスゴ本「MySQL 5.1 Plugin Development」

    MySQLはGPLv2で頒布されているフリー(自由な)ソフトウェアだ。誰でも自由に改造、改善、機能追加して、GPLv2のもと再頒布することが出来る。 そうは言っても改造なんて敷居が高くて出来ないよ・・・という人に朗報なのが書「MySQL 5.1 Plugin Development」だ!MySQLはストレージエンジンによってデータを管理するレイヤーが独立しているのはよく知られているが、MySQL 5.1ではさらに一歩進んで、ストレージエンジンを含む様々なプラグインを作成できるようになった。プラグインAPIを使ってMySQLを拡張すれば、無造作に改造してしまうよりもずっと楽にMySQLをハック*1することが出来るだろう。 MySQL 5.1で利用可能なプラグインPlugin APIは、MySQL 5.1で新たに追加された機能である。これにより、共有ライブラリ形式で後から機能を追加することが

    [書評]MySQLをハックしまくりたい人のためのスゴ本「MySQL 5.1 Plugin Development」