チームで中規模Perlアプリケーションを開発する工夫

Perl Advent Calendar 2018 13 日目の記事です。 チームで開発を行うとき、機能単位で担当者を割り振り、実装することが多いかと思います。 しかし、実際には一人で実装するにはボリュームが大きく、機能も分割しにくいケースがよくあります。 このような時…

builderscon 2018 に参加(登壇)してきました

数年放置していた本ブログですが、私は元気です。 builderscon 2018に参加してきました。 オープニングには間に合いませんでしたが、色々なセッションに刺激をもらいました 開発現場で役立たせるための設計原則とパターン 実況中継シリーズ 「開発現場で役立…

APIドキュメントからモックサーバを立ち上げるWeb::API::Mockを書いた

APIドキュメント(API Blueprint)からモックサーバを立ち上げるWeb::API::Mockを書きました https://github.com/takihito/Web-API-Mock 使い方: https://github.com/takihito/Web-API-Mock/wiki/Usage Plackで作った事もあり以前紹介したapi-mockよりも、ちょ…

APIドキュメントからモックサーバを立ち上げたい

APIドキュメント(API Blueprint)を記述するとモックサーバを立ち上げてくれるサービスがあります。 GitHubでAPIドキュメントを管理したり、モックサーバのアクセスログが見えたりの中々の優れ物です。 Apiary — Home 提供されるモックサーバがRESTful APIで…

手軽に多言語対応したい

YAPC::Asiaも終わったことですし(?)久々に 時間と工数が少ない中で、多言語対応する必要に迫られました。 Locale::Maketext::Lexiconあたりを使ってテンプレート側でフィルタかけて差し替えるってのが正攻法ではある http://blog.64p.org/entry/20111103/132…

YAPC::Asia 2013 行ってきました

1日目は諸事情で、ほとんどのセッションを逃してしまったのですが、2日目はLTまで参加することができました。 追えていなかった技術的の話をまとめて聞けて、遅ればせながらも 最近の動向についていけるようになったかなぁと思っています。 非常に学習効率が…

Monoを使ってOSXでC#

Unityを触っています http://unity3d.com 言語はJSとC#に対応しているワンソースで色々なプロットフォームに対応してくれるすぐれもので、手元ではC#で書いています Unity上でプロジェクトをビルドして再生ってのが正当な開発方法のようですが、一旦ターミナ…

Supervisorでnginxを管理してみる

daemontoolsを使っていますが、設定や導入の分かりやすさやからSupervisorを使いはじめています http://supervisord.org インストールや細かい設定は省きますが、/etc/supervisord.confに外部設定ファイルを参照するようにしてデーモンを管理するのがいいよ…

はじまるよー

かくよー

Amazon S3使ってみた

今更ながら使ってみた。 Amazon Simple Storage ServiceサーバのDiskが週に1Gとか日に1Gとか普通に埋まっていくのでなんとかしたい。概念的に増やしたい!願ったり感じたり信じたりすると増えるみたいのが欲しい。 容量とか気にしなくて良いし、物理的に増設…

トラブルに強いWebアプリケーション

個人的にですが、Webアプリケーションを作るときに注意していることです。 URLとクラスのマッピング URLとそこで操作するクラスの名称を一致させたり、似た名前にしておくと色々よい事があります。 ユーザ情報を表示するURL http://example/user/akihito/pro…

良いお年を〜

絶賛放置プレイ中のこのブログですが、来年もよろしくお願いします。今月こっそりアップしたモジュールですが、そのうち何処かのブログで解説したいですね。http://search.cpan.org/~akihito/File-Stat-Trigger/

心霊写真変換がMixi砲をくらった話とか

はてな界隈では、さほど話題にならなかった心霊写真変換ですが、実はGIGAZINEに載った経緯でmixiの注目ニュース入りし、かなりのアクセス数になりました。経緯としてはこんな感じです↓ GIGAZINEに載る→mixiニュースに載る→mixiユーザが日記を書く→注目のニュ…

心霊写真変換で目線を選択できるようにしました

心霊写真変換つくりましたの続きです。顔ラボAPIが1日あたり200回?しか叩けないようなので、目線を選択できるようにしました。 目線をなしにするとAPIを叩かないので多少制限回避になるかなと。個人的には「目線を入れたほうが心霊写真ぽいな」と思っていた…

心霊写真変換つくりました

世間では空前の幕末ブームが到来しているようですが、社内のデザイナーさんの力をお借りして心霊写真ジェネレータを作成しました。心霊写真変換やっていることは、 富士フィルムさんの顔ラボAPIで目の位置を検出し、目線を入れる 霊の画像を合成 ノイズを入…

scoks経由のLWP::UserAgent

socks経由でLWP::UserAgentを使いたいときのメモ。 LWP::Protocol::https::SocksChainを使って指定してあげると良いようです。 use LWP::UserAgent; use LWP::Protocol::https::SocksChain; LWP::Protocol::implementor( https => 'LWP::Protocol::https::So…

autoboxでRESTクライアント

autoboxが流行っているようです。 自分は最近RESTづいているので、こんなクライアントモジュールを作ってみました。 http://svn.coderepos.org/share/lang/perl/autobox-REST/ use autobox; use autobox::REST; my $response = "http://example.com/rest_api…

やっぱRESTでしょ!

REST本を読んだりニコニコの動画配信を見て、ようやく分かってきた感じです。 動画で配信!「現場で使えるREST」鼎談 RESTful Webサービス作者: Leonard Richardson,Sam Ruby,山本陽平,株式会社クイープ出版社/メーカー: オライリー・ジャパン発売日: 2007/1…

Class::C3でFizzBuzzなんぞしてみる

微妙に違うバッチ処理スクリプトを大量に書いていたのですが、メンテナンスや再利用性を考えるとプラガブルな感じにしておくと良さそう。PerlモジュールにClass::C3ってのがあるので、これでうまい事できないかなと...つーわけで、これを使って試しにFizz…

結局、またしても...

orz

微妙に違うバッチ処理スクリプトを書きました...orz Class::C3でFizzBuzzなんぞしてみる だめだ はやくなんとかしないと。

CGIでDB(Postgresql)にアクセスするとエラーに → SELinuxの設定で解消★

CGIでPostgresqlのDBにアクセスすると以下のエラーが出てこける。 Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?コマンドラインのスクリプトからは接続できてmod_perlでも動作するが、CGIだけダメ…

宇宙怖い><とかオモタ、つーか宇宙ヤバイ。

夜空を見て呑気に「奇麗だな」と思えなくなったというか..... 数学者はキノコ狩りの夢を見る〜ポアンカレ予想・100年の格闘 ニコニコ動画のコメントがちょっとした解説にもなっていて面白い。天才数学者の頭の中は想像できないけど、関わるものを破滅に…

千葉県某所

行楽の秋と言う訳でもないですが、東京郊外の某町に友人を訪ねて。昔住んでいた町なのですが、ベットタウン華やかりし頃の面影はほとんど無く、何とも寂しいものでした。数年でここまで変わるんですね。 このままいけば、軍艦島や炭坑跡のような巨大廃墟スポ…

IKEAに行ってきたのでスクレイピングしてみる。

IKEA港北に付き添いで行ってきました。付き添いと言っても野郎ですが(w。シンプルで好感が持てるデザイン、さすが北欧家具だなと(でも今の自分の家には合わないな...それなりに広い所に住まなくては)。日本のメーカには真似できなさそう。そして買い物…

Flickrの検索APIでJSONが指定できるわけだが

通常はXMLだけど、format=jsonでJSON形式で結果を出力できます(XMLをパースして取り出すは非常に面倒)。 しかし、この機能は現在のところドキュメントには載っていないようです。 http://www.flickr.com/services/api/flickr.photos.search.html Perlのモ…

PlaggerとWeb::Scraperでアクセスランキングを出してみる

久々にPlaってみました。アクセスログを集計して結果(上位10件)をRSSで出力するようにしてみました。 処理の流れ(変に遠回りしてる気もしますが) ログファイルをもとにアクセス数をカウント アクセス数が多い順にソート ページにアクセス Web::Scraperで…

POEでmemcachedらしきものをつくってみる

perlのPOEを使ってmemcachedを再現してみました。 esecached.pl memcachedの偽物なので、こんな名前です。できるのはset,get,delete,flush_allだけ。flagもexptimeも無視します(笑)。 Cache::Memcachedを騙せる事を確認しました。POEをはじめて使ったので…

Javascriptでmemcachedにソケット通信する

MOONGIFTで紹介されていたJNEXTを使うとブラウザからソケット通信をする事ができます。これを使ってmemcachedにソケット通信するモジュールを作ってみました。 10/9 ソースをcodereposに移しました add,replaceが使えるようになりました(使ってる人なんかい…

Javascriptでmemcachedにソケット通信する(続き)

ステータスを取得するメソッドを用意しました。関数の引数にステータス情報の配列が渡されてきます。 mm.stats( function(s){ var str = ""; for(var i=0;i<s.length;i++){ str = str + s[i]+"<br/>"; } document.getElementById('stats').innerHTML = str; } );実行するとこんな感じ。 取得したステ</s.length;i++){>…

はてすたアイコン変えました

ジョジョな感じに。 以下を使うといいよ! .hatena-star-comment-button-image { background-image: url(http://f.hatena.ne.jp/images/fotolife/t/t-akihito/20070907/20070907153432.gif); } .hatena-star-add-button-image { background-image: url(http:…