有料イベントですが、CROSS 2013 というイベントが1月18日にあります。
そこでひとつセッションオーナーになってまして、パネルディスカッションぽいことをやるのですが、それはともかくとして夕方以降にはプレミアムモルツ飲み放題タイムがあります。サントリーからでかいタンクでやってくる美味いプレモルを飲みまくりながらそのへんのソフトウェアエンジニアとしゃべりまくるという素敵な時間になると思われるので、ぜひ来ると良いのではないかと思います。
[Read More]有料イベントですが、CROSS 2013 というイベントが1月18日にあります。
そこでひとつセッションオーナーになってまして、パネルディスカッションぽいことをやるのですが、それはともかくとして夕方以降にはプレミアムモルツ飲み放題タイムがあります。サントリーからでかいタンクでやってくる美味いプレモルを飲みまくりながらそのへんのソフトウェアエンジニアとしゃべりまくるという素敵な時間になると思われるので、ぜひ来ると良いのではないかと思います。
[Read More]そろそろ年の瀬なので、このblogの今年のアクセスランキングをまとめてみました。
今年のネタ2本しか入ってない(´・ω・`)
[Read More]2012年末の昼下がり。
原稿を書かなければならないのですが、追い詰められているがゆえに違うことをしてます。
最近は邪道Jenkinsがマイブームでして、ちょろっと検証してみました。
3時間くらいいじっただけなので、詳しい方からツッコミいただけると幸いです。
このエントリはPlay frameworkひとりアドベントカレンダーの24日目です。
今日は /admin/order.csv
を実装します。CSVダウンロードです。
今日も今までと同じ流れでいきましょう。
[Read More]このエントリはPlay frameworkひとりアドベントカレンダーの23日目です。
今日は /admin
を実装します。
今日も今までと同じ流れでいきましょう。
get '/admin' => sub { my ($self, $c) = @_; $c->render('admin.tx') }; post '/admin' => sub { my ($self, $c) = @_; open(my $fh, 'root_dir . '/../config/database/initial_data.sql') or die $!; for my $sql () { chomp $sql; $self->dbh->query($sql) if $sql; } close($fh); $c->redirect('/admin') };
modelいらない、viewたいしたことない、というわけで、controllerをがんばりましょう。
といってもファイルからSQLを読み込んでがーっと流すだけです。
このエントリはPlay frameworkひとりアドベントカレンダーの22日目です。
今日は画面左側の recent_sold
を実装します。
実装にさしあたりやることは次の2つ。
先日とある @ttkzw さんからX201sを譲っていただいたのでfedoraを入れて使ってます。
mozcとかchromeとか入れてまぁ快適なんですけど、キーがちょっといまいちアレなんですよね。
ちなみに日本語キーボードです。カナ入力だし。
このエントリはPlay frameworkひとりアドベントカレンダーの20日目です。
今日は /ticket/ を実装します。
昨日までと同じ流れでいきましょう。
viewを仮実装する場合、注意点がひとつあります。
それは viewのファイルサイズに制限がある ということ。
このエントリはPlay frameworkひとりアドベントカレンダーの19日目です。
今日は /artist/ を実装します。
例によって元コードを見ます。
get '/artist/:artistid' => [qw(recent_sold)] => sub { my ($self, $c) = @_; my $artist = $self->dbh->select_row( 'SELECT id, name FROM artist WHERE id = ? LIMIT 1', $c->args->{artistid}, ); my $tickets = $self->dbh->select_all( 'SELECT id, name FROM ticket WHERE artist_id = ? ORDER BY id', $artist->{id}, ); for my $ticket (@$tickets) { my $count = $self->dbh->select_one( 'SELECT COUNT(*) FROM variation INNER JOIN stock ON stock.variation_id = variation.id WHERE variation.ticket_id = ? AND stock.order_id IS NULL', $ticket->{id}, ); $ticket->{count} = $count; } $c->render('artist.tx', { artist => $artist, tickets => $tickets, }); };
さて、ticketごとのカウントをviewにどう渡すか困ってしまいました。。
とりあえず動けばいいので、力技ですがHashMapで渡すことにしましょう。