タグ

Developmentとperlに関するwebmarksjpのブックマーク (20)

  • livedoor Techブログ : nowaのサーバ構成

    こんにちはスエヒロです。 今回は弊社が提供しているブログサービス「nowa」(ノワ http://nowa.jp)の仕組みをサーバ構成を中心に紹介したいと思います。 nowaでは一般的なブログサービス要素とSNS要素の機能を実装しています。弊社には先行して提供している「livedoor Blog」、「フレパ」といった大規模なサービスがありますので、そちらの開発・運用で問題になった点などを参考にしつつ開発を進めています。具体的にはアクセスによる負荷への対策、データベースの分散化、画像のストレージング、冗長性、スケーラビリティといった点になります。 - ポータル(nowa.jp)、CMS(cms.nowa.jp) のサーバ構成 ポータルページ(nowa.jp)とCMSページ(cms.nowa.jp)は、静的なファイルのリクエストを捌く+動的なコンテンツへのリクエストをプロキシするフロントサーバ

  • Perl で作る画像類似検索システムの考察

    今日はとてもショッキングな出来事がありました。あまりにショックがでかいので何かに没頭しなければ気が紛れそうにありません。と言うわけで全く専門分野でもないし当面使う予定もないのですが、1年ほど前にちょっと気になっていた画像の類似検索についていろいろ調べてみました。 どうやら ImgSeek ってソフトが結構有名らしいです。最新バージョンは 0.86 で Linux Only です。1つ前のバージョン 0.85 は Windows binary があります。 過去にいくつか画像類似検索ソフトを試したような記憶がありますが忘れてしまいました(vector でも結構類似検索ソフトありますね)。まずは windows binary 版をダウンロードしてきて実行してみました。 それなりに使えそうな予感がします。Linux 向けの imgSeek-0.8.6.tar.bz2 をダウンロードしてインストー

  • naoyaのはてなダイアリー - Perl のクロージャ

    いつもお世話になってるあの人とかあの人とかが山口家の逆襲->perl-解説->クロージャというクロージャの解説ページをブックマークしてるのをきっかけに、 Perl のクロージャについて自分もちゃんと理解できてるのかというのを考えてみましたが、どうも微妙です。 クロージャについて、何でいまいち理解しきれてない感じがあるのかというと、クロージャがどういうものであるかは知ってるけど、クロージャをどういう時に使うと良いのかが具体的にあれとこれという感じで思い付かないからなのではないかと思った。 なので、Perl でクロージャを使ってる実装とかを見て、どんなときに使われるものなのかをリストアップして理解を深めてみよう..のコーナーです。 クラスにデータを保持するためのクロージャ 僕がぱっと思いついたのは Class::DBI の中で使われている Ima::DBI におけるデータベースハンドラのキャッ

    naoyaのはてなダイアリー - Perl のクロージャ
  • Test::Class - naoyaのはてなダイアリー

    最近 Perl でテストを書くときに Test::Class を使ってます。(もしかして常識?) これまでは *.t で Test::More をそのまま使ってたけど、テストが大きくなってくるとコードが分かりにくくなったり、自分であれこれしなきゃいけないことが多くてめんどくさい。 Test::Class は xUnit スタイルで Perl のテストを書けるフレームワークです。xUnitPerl 実装といえば Test::Unit もあるんですが、テスト用の関数も Test::Unit の流儀に従う必要があってちょっと嫌。Test::Class は Test::More と Test::Harness とか、普段使い慣れてる Perl らしいテストスタイルを使いつつ xUnit できるという点が良いです。 使い方ですが、 Test::Class を継承したテストクラスを作り テスト用

    Test::Class - naoyaのはてなダイアリー
  • 山口徹――カクテル片手に才能を紡ぎ上げる唯才の人

    山口徹――カクテル片手に才能を紡ぎ上げる唯才の人:New Generation Chronicle(1/5 ページ) ハッカーは先天的な能力か? ZIGOROuこと山口徹氏は「ものの考え方をどう養っていくかと、単純に努力したか」であると話す。自分の特性を知った上で、自分を最大限に生かして人生を切り開く彼は、過去2回に登場したハッカーたちをその道に進ませた優れたコーチャーでもある。

    山口徹――カクテル片手に才能を紡ぎ上げる唯才の人
  • [ThinkIT] 第1回:Webアプリケーションフレームワークとは (1/4)

    近年のWebアプリケーション開発は大規模化が進み、基幹システムなどの一角を担うまでになってきています。また、Webアプリケーション開発はレガシーなシステム開発に比べて手間のかかる部分が多いにも関わらず、開発にかけられる工数は短縮化の傾向にあります。 そのため、案件の大規模化で開発に携わる人数も増える傾向にあり、開発チームの各々がWebアプリケーションのライブラリを別々に制作してしまい、同様の機能を持ったライブラリが複数存在してしまったり、またUIを担当するデザイナーとビジネスロジックを担当するプログラマが、いざそれぞれの部分を組み合わせようとしたらうまく機能しなかったりといった様々な問題が出てきます。 このような背景から、それらの問題に対するソリューションのひとつとして現在、開発現場ではWebアプリケーションフレームワークを用いた開発スタイルが注目され、実際に多くの開発会社がWebアプリケ

  • MOONGIFT: � WindowsでもCPANを活用する「Strawberry Perl」:オープンソースを毎日紹介

    Perlが得意でない筆者は、WindowsPerl = Active Perlという式ができあがっていた。そして、CPANを使おうと思ってエラーが出てしまい、PPMを使うのだが、何かいまいち…という感が否めなかった。 Strawberry Perlの公式サイト。巨大なイチゴが目印。 恐らくWindowsPerlを使われている方の中には同じ思いをした方がいるはずだ。そこで、Perlの実行環境自体を変えてしまおう。 今回紹介するオープンソース・ソフトウェアはStrawberry Perl、CPANがそのまま使えるPerl実行環境だ。 ActivePerlがnmakeベースであるのに対し、Strawberry Perlはgccを使って環境を構築する。そのため、CPANがそのまま利用できるようになっており、使い勝手がずいぶん良くなっている。 バージョン情報 また、最新版ではPPMやPARもサポ

    MOONGIFT: � WindowsでもCPANを活用する「Strawberry Perl」:オープンソースを毎日紹介
  • Epeg で JPEG ファイルのサムネイルを高速に生成する - bkブログ

    Epeg で JPEG ファイルのサムネイルを高速に生成する Epegは JPEG ファイルのサムネイル (縮小画像) を高速に生成するライブラリです。JPEG に特化した手法でサムネイルの処理を行うため、内部的に画像をビットマップに伸張せず、高速かつ少ないメモリで処理できるのが特徴です。 インストール Epeg は Debian パッケージになっていないようなので、ソース (ダウンロード) からインストールしました Epeg は内部的に libjpeg を使っているため、Debian GNU/Linux では sudo apt-get install libjpeg62-dev で事前にインストールしておく必要があります。 Epeg そのものは ./configure && make && sudo make install でビルド・インストールできます。 サンプルコード Epeg の

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • TL - Perlフレームワーク

    TripletaiLとは TripletaiLは、プログラミング言語であるPerlで日語のWebアプリケーションを構築するためのフレームワークです。 安全性、生産性、保守性という三つの要素を重視しており、少人数での開発に適する形で設計されています。 フレームワークはオープンソースとして、meta::cpan上で公開されています 安全性 セキュリティに配慮した設計がなされており、これに関連する機能を備えています。 テンプレートへの文字列展開やフォームへの値の埋め込み時に、自動で <> などの文字をエスケープします。 DBへのSQL実行におけるプレースホルダはもちろんのこと、CSRFを防止する機能や、セッションにおいて同一ドメイン上HTTP/HTTPS両方の領域で安全かつ領域をまたいでも安全に扱うことが可能なdoubleモードといった機能があります。 生産性 TripletaiLは日製で

  • 404 Blog Not Found:テキストエディタさえあればできるTDD

    2006年10月25日15:25 カテゴリLightweight Languages テキストエディタさえあればできるTDD なんかえらい誤解されているのだけど、私も舌足らずだったかもしれない。 Perl Testing Ian Langworth / Chromatic 『WEB+DB PRESS Vol.35』:実演! テスト駆動開発 - 角谷HTML化計画 (2006-10-24)TDDはハッカーのための技術ではない。ハッカーにTDDは要らない。ただただハックすればよい。偉大なプログラマは偉大なプログラミングをすればよい。だが、ハッカーならぬ凡百たる私のような"普通の"プログラマはそうはいかない。TDDは我々が日々の仕事に自信を持ち、誇りを持って定時に帰るための思想だ。 私が言いたかったのは、Test Driven Development (TDD)に関しては、JavaよりPerl

    404 Blog Not Found:テキストエディタさえあればできるTDD
  • 30days Album Information | 30days Album を支える技術 #0 〜 サーバ構成概要

    こんにちは、mizzy です。30days Album では、全体的なシステムデザイン、ストレージ API の開発、サーバ構築などを担当しています。このブログでは、「30days Album を支える技術」と題して、裏側でどういった技術が使われているのか、ご紹介していきたいと思います。もちろん、技術スタッフは私だけではないので、他のスタッフにも各自担当した技術について紹介してもらう予定です。 第0回目は、サーバ構成の概要についてです。30days Album の論理的なサーバ構成は、以下の図のようになっています。(実際には、1台のサーバが複数のコンポーネントを兼ねていますので、物理的な構成はこの通りではありません。) 各コンポーネントと、コンポーネント間の関係について、もう少し詳細に解説します。 リバースプロキシが、直接ユーザさんから見えている唯一のサーバで、ウェブブラウザからのリクエスト

    30days Album Information | 30days Album を支える技術 #0 〜 サーバ構成概要
  • http://www.lost-season.jp/mt/2005/11/2005112322.html

  • 最速インターフェース研究会 :: Sledge::Plugin::DebugTemplateで開発効率が135倍になるデモ

    フォームポストでテンプレートを送りつけると、それを使ってページを表示してくれるSledge::Plugin::DebugTemplateというのを作った。これによりJavaScriptCSSのみならず、HTMLテンプレートすらローカルファイルと差し替えて開発ができるようになった。 ソース(nopasteが24時間で消えるの知らんかった) http://rafb.net/paste/results/Ohpek040.html http://la.ma.la/misc/src/DebugTemplate.pm Winkで作ったデモ http://la.ma.la/misc/demo/debug_template.htm ブラウザを制御してページの内容をダミーのフォームに置き換えて現在のバッファの内容をペーストしてフォームポストしています。どちらかというとこっちの方が肝で、このデモは萌ディタと

  • 「JAVA村」と「Perl村」の断絶がもたらすのは不幸なのか幸せなのか – 音極道茶室(旧アーカイブ)

    私も1月15日にブクマした「業務経歴書にPerl案件を書くと馬鹿にされる件」に関するessaさんの言及に対して、ちょっと反応しておこうと思う。 「JAVA文化Perl文化の断絶」については、essaさんの記事と、そこからリンクされている記事でほぼ語りつくされてるのだが、「この問題の根の深さ」について少し別の視点から語っておきたい。 Java文化Perl文化の断絶について語られる時、それはほとんど「開発者側」の視点からなのだが当に深刻な断絶はそこよりも、「マーケット」の断絶だと思う。 世のシステム系企業を「JAVA村企業」と「Perl村企業」に分けた場合、当然どちらの企業にも「クライアント」が存在する。ところが、JAVA村企業とPerl村企業が1つのクライアントに対して競合するような場面というのは極めて稀で、「ビジネスマーケット」そのものが交わる事無く分断されているのだ。 ちょっと乱暴

  • WEB DB PRESS vol.38 - naoyaのはてなダイアリー

    WEB+DB PRESS Vol.38 の見誌が届きました。連載も今回で7回目。今回は POE の話の後編です。複数の HTTP サーバーに非同期で同時アクセスするクライアントプログラムを POE::Component::* に頼らずつくり、その後 POE::Component を紹介しつつ IRC bot を作る、という内容になってます。先日の前編の vol.37、それから先日の YAPC::Asia の資料とあわせてお読みいただけると理解が深まるかなと思います。 今月号は新連載が色々始まってたりして関心が高いわけですが、断固guy 小飼弾さん (http://blog.livedoor.jp/dankogai/) の Alpha Geek に逢いたいのゲストがIT戦記の id:amachang とあの"はまちちゃん"で、はまちちゃんの写真が載っていました。はまちちゃんの顔が見たい人は

    WEB DB PRESS vol.38 - naoyaのはてなダイアリー
  • MVCのモデルはDBじゃなくてもいいんだよ - D-6 [相変わらず根無し]

    MVCのモデルはDBじゃなくてもいいんだよ id:charsbarさんが、先ほど書いたエントリに関して 後半その通りなわけですが、CatalystはModel::DBIC系のせいでMVCが誤解されてるのよねー と言っておられる。たしかにその通り。「モデルってDBでしょ?」みたいな印象が一般的にあると思う。 そういう印象を持ってる人に説明すると、「モデルを作る」って何かというと、DBのようなストレージにあるものをどうこうする、ではなくて「データに対する操作を抽象化したものを作る」ということです。例えば、ブログを作ると、Blog、BlogEntry、BlogUserみたいなモデルを作ります。そしてその操作方法はこんな感じ: # ブログを登録するみたいなAPI MyApp::Model::Blog->create({ user => $blog_user, title => $title, .

  • モバゲータウン基盤モジュール、オープンソース化へ:CodeZine

    DeNAでは、YAPC::Asia 2008開催までにモバゲータウンで利用している基盤モジュールをオープンソース化するようだ。YAPC::Asia 2008のセッション紹介のなかで明らかにしている。 オープンソース化が予定されているのは「MVCのコントローラ」「XSによる高速テンプレートエンジン」「ケータイ絵文字変換」「ケータイ端末認識/認証」「ケータイキャリア向け高速メール送信サーバ」などの基盤モジュール。YAPC::Asia 2008ではこれらのモジュール・ソフトウェアについて解説をするほか、他の類似ソフトウェアとの比較も予定している。 YAPC::Asia 2008はPerl開発者のためのカンファレンスで、5月15、16日に東京工業大学大岡山キャンパスで開催される。 【関連リンク】 ・(仮題) モバゲータウン基盤モジュールオープンソース化と解説: YAPC::Asia 2008

  • ここギコ!: 「それ××でできるよ」が通用しない企業文化が悲しい

    SEO対策してサーチエンジンクローラの導線も張った結果、各サーチエンジンのインデックス数も上昇し検索順位も上がってめでたしめでたし、と思っていたら。 ディレクトリの奥の奥の重箱の隅みたいなとこまでクローラが行くようになったせいで、クローラ訪問時のアクセス負荷が上がり、キャンペーンとかなんかのきっかけでのユーザアクセス増大とクローラ訪問がたまたま重なると、盆と正月が一緒に来たみたいになってサーバ障害が発生するようになってしまった。 とりあえずディレクトリ中の、奥の奥の重箱の隅みたいなSEO的にほとんど効果がないと思われるとこには、robots.txtやrel属性・meta要素のnofollow設定施して対策打ったので、とりあえず今のところは大丈夫っぽい。 でもそもそも、一部のディレクトリは静的ファイルでなく、動的生成をmod_rewriteを使った見かけのディレクトリにしているので、アクセ

  • Perlモジュール/WWW::Mixi - Walrus, Digit.

    Mixiに簡単にアクセスするためのLWP::UserAgentライクなモジュール。 更新情報、不具合情報などはmixiのWWW::Mixiコミュニティにも挙げていきます。 WWW::Mixiコミュニティ WWW::MixiモジュールはCPANにも登録済みです。 Mixiに特化したLWP::RobotUAモジュールのサブクラスです。 WWW::MixiはふつうのLWP::UserAgentのように使うことができます。 例えば、次のような手順でCookieを有効にし、ログインし、トップページ(home.pl)を取得することができます。 この書き方であれば、use WWW::Mixiの代わりにuse LWP::UserAgentとかuse LWP::RobotUAとして、WWW::Mixi->newの行を適当に書き換えてやると、それでもトップページの取得ができます。 use WWW::Mixi;

  • 1