株式会社VOYAGE GROUPは、2022年1月、株式会社CARTA HOLDINGSと合併いたしました。 関連リリース:CARTA HOLDINGS、基幹グループ会社のCCIおよびVOYAGE GROUPと統合へ https://cartaholdings.co.jp/news/20210513_01/ CARTA トップへ
![株式会社VOYAGE GROUP](https://cdn-ak-scissors.b.st-hatena.com/image/square/44662b03b18bdca83ecb4b5c4b665b7742e6ef28/height=288;version=1;width=512/https%3A%2F%2Fvoyagegroup.com%2Fwp-content%2Fthemes%2Fvoyagegroup%2Fimages%2Fimg_ogp.png)
かれこれ一年ほど前に実施した実サービスでの apache のチューニングネタを思い出したように書いています。 以前いた部署では少ないサーバ台数で大量のリクエストを如何に処理しきるかってことに燃えていたので、静的コンテンツなどをブラウザに支障のない範囲で最大限にキャッシュさせ、サーバとネットワークの負荷を最小化させていました。 当時参考にした情報源は以下の3つでした。 どのようなレスポンスヘッダを返しておけばブラウザキャッシュを最大化できるかのテクニックがまとめられています。 ブラウザキャッシュとレスポンスヘッダ - murankの日記 Kazuho@Cybozu Labs: キャッシュの上手な使い方 [Studying HTTP] HTTP Status Code チューニングにおいて重要なのは自分自身での検証。というわけで自前で検証した結果と検証するために用意したプログラムを公開します。
Perl › here Perl5.8以降における標準的なPerlの書き方を解説します。 インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれからPerlを書く人はPerl5の現代的な記法で記述することを強くお勧めします。 strictプラグマとwarningsプラグマ (必須) strictプラグマとwarningsプラグマを有効にします。 use strict; use warnings; use strict;とuse warnings;の2行はスクリプトの最初に必ず記述してください。これらはPerlの文法チェックを厳しくするためのものです。面倒だという軽い気持ちでこれを記述しないと後々本当に面倒なことになります。 use strict;とuse wa
そろそろXSをちゃんとやろうと思ったので、メモリ周辺のことが良くわからなくて放置していたsv_2mortal()やhv_store()のことについて調べた。 参考: perlguts http://www.kt.rim.or.jp/~kbk/perl5.005/perlguts.html 最初に結論を書いてしまうと [1: sv_2mortal()] - returnしない変数は常にsv_2mortal()を通す (揮発性をもたせる) - SVはreturnするときはsv_2mortal()を通してはダメ - AV, HVはreturnするときもsv_2mortal()を通す [2: newRV_inc()] - リファレンス変数(RV)を作るときはnewRV_inc()を 使い参照カウントをインクリメントしておく (newRV_noinc()はダメ) - リファレンス変数もsv_2mor
NAME Template::Semantic - Use pure XHTML/XML as a template SYNOPSIS use Template::Semantic; print Template::Semantic->process('template.html', { 'title, h1' => 'Naoki Tomita', 'ul.urls li' => [ { 'a' => 'Profile & Contacts', 'a@href' => 'http://e8y.net/', }, { 'a' => 'Twitter', 'a@href' => 'http://twitter.com/tomita/', }, ], }); template.html <html> <head><title>person name</title></head> <body> <
NAME Fey - Better SQL Generation Through Perl VERSION version 0.43 SYNOPSIS use Fey::Literal::Function; use Fey::Placeholder; use Fey::Schema; use Fey::SQL; my $schema = hand_waving(); my $user = $schema->table('User'); my $group = $schema->table('Group') my $select = Fey::SQL->new_select(); my $func = Fey::Literal::Function->new( 'LCASE', $user->column('username') ); $select->select( $user->colum
メタデータからテスト件数を取得する 前回はテストファイルやテストデータの数からテストプランを計算するモジュールを紹介しました。今回はその続きとして、テストファイルのメタデータからテストの数を求めるモジュールを紹介していきましょう。これらのモジュールの多くは1994年にケント・ベック(Kent Beck)氏がSmalltalk向けに書いたSUnitを祖先にもつ、いわゆるxUnit系のフレームワークに属するものですが、Perlにはそれ以前からTest Anything Protocolを使った独自のテスト手法が存在していたため、Javaなどで使われている同種のフレームワークとはやや毛色の違う部分もあります。一般的にはクラスをひとつ書くたびに対応するユニットテスト用のクラスを書くのがよいように言われていますが、ここではもっとゆるく、テストを自動的に検出してくれるだけでなく、テストの事前事後になん
普段僕はプログラムを書くことが多いのですが, use strict; use warnings; を頭に書くのは当然として,それでもちゃんとできているか心配になることが多々あります. そこで,Lintというプログラムでperlのプログラムを厳密にチェックできるということなので,最近これを使っています.perlではB::Lintというのがあります. 詳しくはB::ListのPODを読むとして,とりあえず使い方としては以下のように使います. perl -MO=Lint,all program.pl allというキーワードはLintにあるチェック機構をすべて適用します.つまり厳しくwarningsを吐き出すようにしています.結構,-w だけでは気づかなかったwarningsを吐き出してくれるの重宝しています.
NAME parent - Establish an ISA relationship with base classes at compile time SYNOPSIS package Baz; use parent qw(Foo Bar); DESCRIPTION Allows you to both load one or more modules, while setting up inheritance from those modules at the same time. Mostly similar in effect to package Baz; BEGIN { require Foo; require Bar; push @ISA, qw(Foo Bar); } By default, every base class needs to live in a file
5年ほど前に作ったレガシーな自作フレームワークを、この度PSGI化した際の記録です。単なる記録であって、必ずしも「PSGIへの対応はこうやるといいよ!」いう内容ではありません*1が、興味があればどうぞ。 レガシーオレオレフレームワークの概要 Oreore::Application はCGI::Applicationのように、1リクエストに対して1インスタンスのフレームワークです。各 App.pm に 呼び出し用の hogehoge.pl を1つずつ割り当てて、 Apache::Registryで運用されていました。 package MyApp; use base qw(Oreore::Application); # For index.pl?action=index sub action_index{ my $self = shift; $self->response->content(
PSGI/Plack勉強会 *PSGI/Plackとは? - PSGI = Perl Web Server Gateway Interface Specification -- WebサーバとWebアプリケーションとの間のインタフェイス仕様 - Plack = PSGIのリファレンス実装 -- PSGI実装のひとつ(とはいえ、やたら気合いの入った感じになってるけど) -- PSGI != Yet Another WAF -- PSGI != Plack *PSGI策定の背景 - 各Webアプリケーションフレームワークがバラバラに実装していた、WebサーバとWebアプリケーションとのインタフェイスを統一したい。 -- 車輪の再発明を避ける -- 各サーバ間における移植性を高める - そのためには、仕様と実装の区別を明確に行う必要がある。 -- Python: WSGI -- Ruby: Ra
国内レンタルサーバで使われている PHP/Ruby/Python/Perl/MySQL/PostgreSQL のバージョンを調べてみた。レンタルサーバの選択基準は特にない。「レンタルサーバ」でぐぐって適当にピックアップした。 最初にまとめとくと: PHP は 5.2.x が主力 Ruby は 1.8.2 が十分現役、1.8.7 が使えるとこなんてごくわずか少しずつ増えてる? Python は 2.3 や 2.4 がまだ現役、2.6 は見つけられずまだまだ少数 Perl は 5.8.8 が主力、5.10 はなし (livedoor ですらそう) MySQL は 5 系が主力だが、5.1 が主力とまでは言えず PostgreSQL は使えるところ自体が少数 なおこの情報は 2010 年 4 月現在であることに注意。 (追記: さくらインターネットで php 5.2.x と ruby 1.8.7
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
NAME Class::Accessor::Lite - a minimalistic variant of Class::Accessor SYNOPSIS package MyPackage; use Class::Accessor::Lite ( new => 1, rw => [ qw(foo bar) ], ro => [ qw(baz) ], wo => [ qw(hoge) ], ); DESCRIPTION The module is a variant of Class::Accessor. It is fast and requires less typing, has no dependencies to other modules, and does not mess up the @ISA. THE USE STATEMENT The use statement
TripletaiLとは TripletaiLは、プログラミング言語であるPerlで日本語のWebアプリケーションを構築するためのフレームワークです。 安全性、生産性、保守性という三つの要素を重視しており、少人数での開発に適する形で設計されています。 本フレームワークはオープンソースとして、meta::cpan上で公開されています 安全性 セキュリティに配慮した設計がなされており、これに関連する機能を備えています。 テンプレートへの文字列展開やフォームへの値の埋め込み時に、自動で <> などの文字をエスケープします。 DBへのSQL実行におけるプレースホルダはもちろんのこと、CSRFを防止する機能や、セッションにおいて同一ドメイン上HTTP/HTTPS両方の領域で安全かつ領域をまたいでも安全に扱うことが可能なdoubleモードといった機能があります。 生産性 TripletaiLは日本製で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く