2011-01-01から1年間の記事一覧

Slim3 でログイン必須のコントローラーやサービスをテストする方法

Slim3 で、ログイン必須のコントローラーやサービスをテストする方法が分かりにくかったので、やり方をメモしておきます。 まぁ、やり方は簡単で、tester.environment の setEmail と setAttributes を使うだけなんですけどね。 // ログイン Map<String, Object> attrs = new</string,>…

さすがMoles!Moq たちにできない事を平然とやってのけるッ

C#

はじめに Jenkins を導入して継続的インテグレーション(以下 CI)を始めてみたものの、作成済みテストの多くは他のテストの事を考えて作成されていないので、テスト環境を破壊するものが結構ありました。このまま常時テストしたところで、常時失敗するだけ。…

泰元食堂の『泰元定食』

今年の夏もいやになるくらい暑いですね。あまりの暑さに夏バテしそうです。スタミナをつけないといけません。スタミナをつけるには肉を食べるに限ります。しかし、2時間食べ放題を1時間で切り上げる胃袋を持つ私にとって、焼肉食べ放題とかまったく割りにあ…

.NET 開発者のための Jenkins 入門

はじめに 仕事で Subversion と Trac を使っていますが、残念ながら、活用できているとは言えません。継続的インテグレーション(以下CI)?何それおいしいの?って状態。そもそも CI やるために Trac とか諸々導入したはずなんですけどね…。CI 導入しなきゃと…

VIS A VIS の『渋皮栗のモンブラン』

外食後、むしょうにケーキが食べたくなりました。しかし時刻はすでに20時をまわっていて、ケーキを売ってそうなデパートは軒並み閉店。天神って店閉まるの早い。せめて21時まで開いていてほしいです。眠る街、天神。 そんなとき、国体道路を歩いていると、明…

Slim3 の Validator を自作してみた

リクエストパラメータが Key や boolean に変換可能かどうか検証する Validator が見当たらなかったので。Slim3 のソースコードを参考にすれば、作るのは難しくないです。 まず boolean 用。 package sample.controller.validator; import java.util.Map; im…

GWT でグローバル例外ハンドラを登録する方法

Map に Date 型の値を詰めて、GWT RPC で引数としてサービスに渡したら、UmbrellaException が発生してしまいます。この UmbrellaException ってやつは複数の例外をまとめたものなので、格納されている値を見ないとエラーの詳細がわかりません。 GWT RPC 使…

Trac Lightning に含まれている Jenkins の Windows サービスが動かない

Trac Lightning に含まれている Jenkins は、[Jenkins の管理] - [Windows のサービスとしてインストール] のページから Windows サービスをインストールできるんですけど、インストールに成功した後 Jenkins をブラウザで開くとエラーになってしまいます。…

Trac 月 1.6.0 から Trac Lightning 3.1.1 にアップグレードしたら Subversion へのコミットでエラー

先日に引き続き、Trac 月 1.6.0 から Trac Lightning 3.1.1 にアップグレード中です。 Trac 月 1.6.0 から Trac Lightning 3.1.1 にアップグレードしたけどマルチリポジトリが使えない - present 上書きインストールだと上手くいかなかったので、 Trac 月の…

TOC-TOC

お酒全然飲めないので居酒屋にはほとんど縁が無いんですが、博多 TOC-TOC だけは例外。海の幸を使った料理が美味いので、お金に余裕があるときに、酒ではなく食事を目当てに行きます。今回久しぶりに行ってみました。多分、1年ぶりくらいです。 まず最初に注…

trac.ini を更新するスクリプト書いてみた

Trac 月から Trac Lightning にアップグレードする際、すべてのプロジェクトの trac.ini に、inherit セクションの追加と、チケットのカスタムフィールドの修正をしないといけません。プロジェクトが1個ならまぁ手作業でもいいんですが、10個くらいあるので…

Trac 月 1.6.0 から Trac Lightning 3.1.1 にアップグレードしたけどマルチリポジトリが使えない

先日の続き。 Trac 月 1.6.0 から Trac Lightning 3.1.1 にアップグレード - present 上記の手順で Trac 月 1.6.0 から Trac Lightning 3.1.1 にアップグレードしたので、 さっそくマルチリポジトリを試してみます。 Trac に admin ユーザーでログインして、…

Trac 月 1.6.0 から Trac Lightning 3.1.1 にアップグレード

Trac はバージョン 0.12 からマルチリポジトリをサポートしたというのに、うちで使っている Trac のバージョンは 0.10.4。そろそろアップグレードしないと、と思いながら今までズルズルきましたが、マルチリポジトリが必要になったのでようやくアップグレー…

28 の夜

今日でめでたく 28 歳になりました。around なんとかは、私の中では ±2 なので、私もアラサーってやつの仲間入りです。そう考えると素直に喜べない…。 28 歳になりましたが、Web サービスは全然リリースできてないし、オフラインの活動も再開できてないし、…

Titanium Mobileで開発するiPhone/Androidアプリ

日本初の Titanium Mobile 入門書。発売日にゲットして、ようやく読破。サンプルを実際に試しながら読み進めたので、時間かかりました。 本書は、Twitter クライアントと食べログクライアントを作成しながら、Titanium Mobile の使い方や、Android と iOS の…

バックアップ先としての SkyDrive

先日、SkyDrive がリニューアルされたようですね。 MS のストレージ サービス「SkyDrive」、HTML5 で速度/操作性が向上 - インターネットコム 無料の大容量オンラインストレージ SkyDrive - Windows Live on MSN 動作は軽快になった…気がします。久しぶりに…

WebRole でログを Azure Storage Services に保存する方法メモ

C#

SDK 1.3 になってやり方が変わっていました。RoleInstanceDiagnosticManager を使って現在の設定を取得し、プロパティを色々変更して再び RoleInstanceDiagnosticManager にセットしないといけないみたい。 using System; using System.Linq; using Microsof…

『理科系の作文技術』は文章作成の教科書

本書はまさに文章作成の教科書です*1。タイトルに「理科系」とありますが、本書の内容は仕事で作成する文章全般に使えます。ネタの集め方に始まり、文章の構成案の作り方や表現の仕方など、文章の作成する手順が最初から最後まで書かれています。それらが、…

利久の牛たん定食

JR 博多シティが開業して、はや 3 ヶ月。ずっと行こうと思っていた『利久』にようやく行きました。この店は仙台に本店を構える牛たん専門店です。行ったのは平日だったんですが、利久だけ長い行列ができていました。1時間近く並んだかも。すんなり入れるとは…

GWT のテーマを指定する方法

Slim3 + GWT でアプリを開発していて「DialogBox の背景が透明になっていて変だな」と思っていたら、それは GWT のテーマを適用していないからでした。 下記のように、メインのモジュールでテーマを指定してやれば、オサレな DialogBox が表示されるようにな…

Jinja2 のインクルード機能を使ってより DRY に

Jinja2 って、テンプレート内で他のテンプレートを読み込めるんです。テンプレートを共通化する方法は継承だけじゃないんですよ。私も最近調べて知ったんですけどね。 Template Designer Documentation — Jinja2 2.7-dev documentation この機能を使えば、ペ…

Kay のページング機能を使ってみた

はじめに AppEngine/Python で CGM 系の Webサービスを作っているんですが、運営しているうちにデータ数が多くなりそうです。いや、なりますね。1ページに何百何千もデータを表示すると、見づらいし表示が遅いので、ページングを実装しなければいけません。 …

Jinja2 で for ループのインデックスを取得する方法

リストに詰めたデータを、Jinja2 を使って 5列×n行*1 のテーブルで出力しなければいけなくなりました。 インデックス付きループを使って「横に5個出力したら次の行へ」という処理を書けばいいんですが、インデックス付きループに必要な enumerate が Jinja2 …

GWT のサービスで Slim3 の Validators を使う方法

Slim3 はシンプルなバリデーションフレームワークを提供しています。 バリデーション - Slim3 日本語サイト(非公式) Controller に渡された Request の中身を検証するのに使うわけですが、これを Slim3 + GWT で開発しているときにも使いたいと思いました。…

PyQuery で再びスクレイピング入門

Python でスクレイピングするときに便利なライブラリで、BeautifulSoup の他によく見かけるのが PyQuery。名前から想像つくと思いますが、HTML を jQuery と同じ感覚で操作できるライブラリです。 前回、BeautifulSoup を使ってはじめてのスクレイピングに挑…

Python と BeautifulSoup でスクレイピング入門

何個か Web アプリを作ったけど、そういえば、まだスクレイピングをやったことがありませんでした。ふり返っても、サービス内で処理が完結するものや、外部 API を呼び出すものばかり。今考えている Web サービスを実装するには、どうやらスクレイピングが必…

WebRole で大きなサイズのファイルをアップロードするための設定メモ

調査用に Blob ストレージを使った簡単なアプロダを作って Windows Azure にデプロイしたけど、いざ 100MB 超のファイルをアップロードしようとするとエラー。 ASP.NET ではアップロードできるファイルのサイズが制限されている(デフォルトでは 4MB)ので、下…

Windows のレジストリを読み書きするサンプルを書いてみた

ここのところ Python や Java ばかり触っています。たまには .NET の記事も書かないと怒られそうです。誰に怒れられるのかはわかりませんけど。.NET のネタが無いか考えていたら、Windows のレジストリ操作が必要な場面に遭遇したので、読み書きを行うサンプ…

非リア充のための Twitter 活用術

IT

最近、自分の中で Twitter はコミュニケーションツールというより、メモツールになっています。その理由は、会社ではネットが制限されているし、家ではずっと PC に貼り付けなくて、ほとんどツイートできてないから。コミュニケーションできてない。 そんな…

ファイルをコピーしたりフォルダのシンボリックリンクを作成したりするスクリプト

「フォルダの場合はシンボリックリンクを作成し、ファイルの場合はコピーする」という作業が必要になったので、Python でスクリプトを書いてみました。自分用にメモ。 # -*- coding: utf-8 -*- import os import glob import shutil SRC_DIRS = [ "C:/Projec…