2014年1月2日木曜日

Teeda で バリデーションに指定した項目ではない項目の色を変更する

前回に続いて、Teedaネタです。今度は前後でフォームの分かれた郵便番号などにバリデーションを適用した際に両方のフォームの色を変えたいなど、バリデーションを指定した項目ではないフォームをバリデーションエラー時に変更する方法を紹介します。

2013年12月27日金曜日

Teedaでの複合項目のバリデーションをする

今更のTeedaネタですが、フィールドが前後に分かれた郵便番号や3つのプルダウンで構成された年月日フォームに日付チェックをするときのように複数のフィールドに対して、単一のバリデーションを実行する方法を紹介します。

2013年12月14日土曜日

Agile Samurai Base Camp に行ってきました。

12/8(日)に Agile Samurai Base Camp という勉強会に出席してました。その内容について書いておきます。

会のコンセプト

Agile Samurai Base Campは、アジャイルサムライを読んで実践したいと悩んでいる人成果がでないと悩んでいる人のためのアジャイル開発についての入門者向け大規模セミナーです。
 となっており、インセプションデッキ、TDDグループに別れて実習を行うという形式で行われました。ちなみに、自分はインセプションデッキグループに入りました。

2012年1月9日月曜日

S2Clickをさわってみた

年末にかけてS2Click(Apache Click + S2)を触ってみたので、ちょっとメモ。 こちらのページのサンプルをベースに簡単な一覧、登録、編集を実装してみました。 そのときの、感想や作業内容などを備忘録として書いておく。

2011年11月23日水曜日

[JavaScript]リンクのURLクエリをPOSTで送信する



先日、検索 → 一覧 → 詳細 という画面に対して、


  1. 一覧から詳細画面へはリンクをつかって遷移すること
  2. 詳細画面から一覧画面へは「パンくず」リンクを利用して戻れるようにすること
  3. 一覧画面は検索したときの条件で絞り込まれた一覧が表示されること
  4. 詳細画面へのURLに検索条件のURLクエリをつけず、詳細データへのIDのみをクエリにつけること
  5. Cookie(セッション)利用不可

という依頼を受けました。
SEO対策のためにURLに余計なクエリをつけたくないけど、パンくずのフローは辿ってきたフローをちゃんと戻れるようにしたいというのが趣旨でした。
そこでHTMLを生成するときには、ID、検索条件ともにリンクのURLにクエリとして追加しておき、Javascriptを利用して、URLからクエリの一部を抜き取り、リンクをクリックしたときに、それらがPOSTされるようにしました。
書いておけば、後々役に立つかなと思ったので書いてみることにしました。
下がそのサンプルになります。
どちらも同じURLを指定していますが、開く画面は別になるようになっています。

この処理の手順はこんな感じになります。
  1. リンク要素を取得する
  2. リンクのURLをアドレスとクエリにわける
  3. 動的にフォームを生成し、生成したフォームにクエリをhiddenとして追加していく
  4. リンクのhref属性の書き替え
  5. リンククリック時に生成したフォームがsubmitされるようにする

2011年11月3日木曜日

ScalaでSwingレイアウト(GridBagPanel編)

scala.swingでは、レイアウトのクラスとPanelが一つのクラスになっています。
GridBagPanelはGridBagLayoutとJPanelクラスが合わさったクラスです。
GridBagPanelはレイアウトの自由度がかなり高いクラスとなっており、これを利用すれば、おおよその画面レイアウトは実装できてしまうのではないでしょうか?

主な使い方は以下の通りです。
  1. GridBagPanelの基本的な仕組み
  2. GridBagPanelクラスの基本的な利用方法
  3. GridBagPanelの色々なレイアウトオプション

ScalaでSwingレイアウト(BoxPanel編)

ScalaでSwingアプリを作っていたんですが(これまた今更ですが・・・)、Scalaに限らずSwingをやっていて、個人的にいつも困るのがフォームのレイアウトだったりします。
普段はWebプログラマ~な自分からすると、Swingのレイアウトマネージャーって、非常に使いづらい。「そんなんだから Adobe Airに・・・」なんてことが出掛ってしまうぐらい使いづらい。そんなSwingですが、Scalaを利用して実装すると少しはマシになるな~というのを実感する今日この頃なので、少しずつScalaでのSwingの利用方法を紹介できたらなんて思っています。そんでもって、まずはBoxPanelクラスを紹介しようと思います。
Scalaではパネルを設定するのにPanelクラスとレイアウトマネージャがセットになっている以下のクラスを利用するようになっています。

  1. BorderPanel
  2. BoxPanel
  3. FlowPanel
  4. GridBagPanel
  5. GridPanel
その中からBoxPanelを何故最初に紹介するかというと、フォームの右寄せ、上寄せができる数少ない(唯一?)レイアウトマネージャだからです。

  1. BoxPanelを定義し、コンポーネントを配置する方向を指定する
  2. コンポーネントの表示位置を設定する
  3. Swingクラスを利用して、隙間を挿入する

2011年9月25日日曜日

→Pia-no-Jac←のライブに行ったら、買うことをお薦めするグッズ

最近、→Pia-no-JaC← にすっかりはまっており、先日ついにライブに行ってきました。

ライブといえばグッズなわけでして、当然→Pia-no-JaC←のライブでも色々なグッズが売っているわけです。
そんな中から、ライブへ足を運んだ人なら、是非買っておきたいグッズを勝手に紹介しちゃいます。

  1. シャカシャカ大作戦袋(300 円)
    見ての通り、何の変哲もないビニール袋です。
    しかし、→Pia-no-JaC←のライブに参加する皆様は必ず購入することを強くお薦めします。
    この「シャカシャカ大作戦袋」は→Pia-no-JaC←のライブでは恒例となっている(なっていたらしい)セッションコーナーで活躍するアイテムなのです。
    実際、参加者のほとんどが購入しているため、万が一ステージの近くのポジションが取れたのに買ってないってことがあると、ステージの2人に「あれっ」という表情で見られてちょっと恥ずかしい思いをしてしまう可能性大です。
    あと、これはわたしの経験談になるのですが、コンビニのレジ袋は強度が足りません。
    途中で穴開いてしまいます。
  2. タオル(1,000 円)
    こちらは、ライブでは定番の商品かと思います。ネタバレになる(さっきのもそうですが)のですが、→Pia-no-JaC←のライブでは、またまた恒例となっている「タオル回し」コーナーがありまして、タオルもシャカシャカ大作戦袋同様、ライブの必須アイテムの一つとなっております。
  3. ライブDVD
    現在(2011/09/25)行われている最中のツアー限定なんですが、左のDVDがライブ会場で販売されています。
    自分自身これを買ってみて、思ったのですが相当いいです。
    実は、→Pia-no-JaC←のライブDVDをもう1枚もっているのですが、それら2つに限って言わせていただくと実は、CDより音がいいのでは?と密かに思ってます。というわけで、音源としてもかなりいいものなので、今回のものに限らずライブDVDは購入しておくことを強くお薦めします!!
    ちなみに持っているもうひとつのDVDはこちらです。
    PIANO project.
    PIANO project.
    posted with amazlet at 11.09.25
    DAISHI DANCE × →Pia-no-jaC← 樫原伸彦
    urban sound project. (2010-08-04)
    売り上げランキング: 39811

2011年9月24日土曜日

[JavaScript]ブラウザ上でペーストを禁止する

会員登録フォームなどで、メールアドレスを入力させる場合、確認のために同じメールアドレスを2度入力させるのをよく見かけます。

そのような場合、「確認用はコピー&ペーストではなく直接入力でお願いいたします。」などと注意書きが入れてあったりするのですが、こういうった注意書きがある場合でも、実際にはコピー&ペーストできてしまうフォームがあったりします。

そこで、こういったフォームでJavaScriptを利用してコピー&ペースト(Ctrl-c & Ctrl-s)を防止する方法を紹介します。

コピー禁止フォーム:

ペースト禁止フォーム:

2011年9月22日木曜日

→ Pia-no-JaC← のライブに行こう!!

最近すっかりはまっているピアノ&カホンの熱い2人組み「→Pia-no-Jac←」(ピアノジャック)。7月の音霊ライブに続き、横浜での彼らのライブに行ってきました。
→Pia-no-Jac←の単独ライブには初参加ということで、客層や雰囲気はどんななんだろう??なんて不安に思いながら、参加したわけですが・・・・。自分が予想していた雰囲気とは弱冠違いがあったせいかもっと色々な人にライブに参加してほしいな~と思いまして、まあ色々書くことにした次第です。
というわけで、→Pia-no-Jac←(以下ピアノジャック)のライブについて、Q&A形式にしてまとめてみました。

  1. そもそもピアノジャックってどんな感じなの?
  2. 客層はどんな感じですか?
  3. 一人で見に行っても大丈夫?
  4. CD一枚も持っていないけど、大丈夫なの?
  5. 会場の雰囲気はどんな感じなの

2011年9月20日火曜日

[JavaScript]テキストエリアにtitleタグを使って入力例を表示する

JavaScriptを利用して登録フォームのテキストボックスにtitleタグに指定した文字列を入力例として表示する方法を記します。

この処理は

  1. フォーカスが外れたとき
    入力した文字列がないまたは、入力した文字列がtitleタグの入力内容と同じ場合、入力例を表示する
  2. フォーカスされている場合
    入力した文字列がtitleタグの入力内容と異なる場合、入力した文字列を通常のフォント色で表示する
という方法で実現します。

実際の動作は下のようになります。

2011年9月4日日曜日

【読書メモ】日経新聞で鍛えるビジュアル思考力

「記事トレ!」日経新聞で鍛えるビジュアル思考力
板橋 悟
日本経済新聞出版社
売り上げランキング: 5768

~ 新聞なんて読んでどうするの?と言うあなたに ~

本書は、著者が考案した日経新聞の読み方と「ピクト図解」という図解術の解説本です。
この本で特徴的なのは、日経新聞と「ピクト図解」を利用して、ビジネスの勉強をしようという点にあります。

通常の「日経新聞の読み方」系の本は、日経新聞を経済の動向を捉えるための媒体であると定義し、日経新聞に書かれている主要なデータや、記事を通じて経済を把握していきましょうという主旨であることがほとんどです。まあ、"日本経済"新聞なので当然といえばそれまでですが。

しかし、本書では日経新聞のそういった読み方をある意味否定し、変わりに著者が仕事で出会った会社社長たちから聞いた読み方を紹介しています。そして、その読み方を更に深く追求するために「ピクト図解」を用いたビジネス分析の方法を紹介しています。

自分自身が「新聞なんて見てもな~」ニュースとかってテレビやネットでわかるし~という人間だったので、この本を読んで人並みに新聞を読む動機が持てたことが読んでて一番大きかったかな~という気がします。

2011年8月21日日曜日

ScalaのgroupByメソッドを使ってみた

最近Scalaのコレクションクラスに「groupBy」というメソッドがあることを知り、ちょっと使ってみました。
使ってみて改めて画期的なメソッドだな~と感じたのでちょっと紹介いたします。

groupbyメソッドは引数に渡した関数の戻り値をキーにしたマップを作成するメソッドです。同じキーを返した値がマップの値になります。

例として売上げを商品毎にまとめてみます。

2011年8月7日日曜日

AntでScalaをコンパイルする

最近ScalaファイルのコンパイルをAntを利用して行うようにしたので、その方法をメモしておきます。

  1. Scalaコンパイル用タスクの設定
  2. ターゲットの作成

2011年7月22日金曜日

iPod + iTunes が嫌いな5つの理由

最近ブログ更新してなかったから、電気屋に行っていつも思うことを書いてみました。
  1. (iPod nanoの)インタフェースがダサい。
    なんでジョグダイヤル回らないの?カチカチいいながら回らないと楽しくないじゃん
  2. iTunesがiPodと同期することを前提にしたインタフェースである
    iPod + iTunes は基本的に全曲同期をベースに作られているせいなのか、「フォルダへコピペ」ができるiPod以前のWin系MP3プレーヤーに比べると「気分に合わせて入れる曲を選ぶ」をどうやるのか非常にわかりづらいインタフェースになっている。
  3. CD(アルバム)取込み時の分類アルゴリズムがバカ
    洋楽でフィーチャリングしてる曲があると別アーティストとして勝手に分類してしまうので、取り込んだアルバムをアルバム通りの曲順で聞こうと思うと意外な苦労を強いられることがある。
  4. iTunes Store が重すぎて使いづらい
    iTunes Store のトップページに動画広告多すぎて、トップ表示から次の操作が実行されるまでに10秒ぐらいのタイムラグがある。iTunes の問題なのかわからないけど全体的に他の音楽配信サイトに比べて重い
  5. こんだけ使いづらいのに何故かメジャーな地位を獲得している
    電気屋に並んでいるiPod nanoたちを見ていつも心の中でこれを叫んでます。

2011年6月12日日曜日

dabbrevのポップアップにXTAGSの関数リストを追加する

普段XYZZYで開発をしています。
文字補完にdabbrevを利用しているわけですが、dabbrevは表示バッファしか候補リストに表示してくれないので、補完リストに表示させるためだけに編集しないファイルを開いたりしなければいけなくって結構に面倒に感じていました。
関数が補完候補にあがってきてくれればいいので、関数のタグジャンプ機能を利用する際に生成されるファイル(XTAGS)をdabbrev実行時に読み込んで、関数を補完リストに表示させるようにしました。
仕事でつかっているのがPHP4(というか関数しかつかってないPHP)なので、そういった環境での利用を想定しています。

2011年6月11日土曜日

[XYZZYTIPS]PHPDoc風関数コメントとコメントを生成するマクロ

仕事でPHPを利用しているのですが、PHPは型の指定を一切しないのに、PHPDoc用の関数コメントには型を明記しないといけないんですよね。それとインデントをそろえるのが面倒くさくて関数とコメントを生成するマクロを作成してみました。


具体的には、

これはテスト用の関数です。
@test_function param:array:配列 return:string

という入力を
/**
* これはテスト用の関数です。
*
* @param  array  param 配列
* @return string       
*/
function test_function($param) {



}

に変更します。



これは次のような手順で実現しています。

2011年5月10日火曜日

【読書メモ】ザ・ゴール

ザ・ゴール ― 企業の究極の目的とは何か
エリヤフ・ゴールドラット
ダイヤモンド社
売り上げランキング: 459

随分昔に読んで、その時はいい本だけどプロジェクト型である自分の仕事(IT系SIer)では、このノウハウはあまり通用しないかなと思い、そのままにしてありました。
しかし先日「クリティカルチェーン」を読んで、TOC理論がプロジェクト型の仕事に当てはめられていく過程を読みすすめていくうちに、一度シリーズを一から読み直したいという衝動に駆られ、久しぶりに本書を読んでみることにしました。
本書を読んでいて
1.従業員というのは、実は企業の目的というのをあまり理解していないものである。
2.目的への達成度を測定するのに間違った指標、複雑すぎる指標を利用しがちである。
3.物事の本質を抜き出してモデル化すると、その姿は意外なほどシンプルである。
という教訓を得ることができました。

また、「クリティカルチェーン」を読んだあとだったせいか、前回読んだときより本書でのポイントが自分の中にすんなり入ってきてとても読みやすく感じました。

本書で紹介されている具体的な方法論(バッチサイズの変更、ボトルネックのリソースを最大化する方法)などは、工場での製造現場でしか利用できないことなのかもしれませんが、本書で提示されている概念や主人公たちの奮闘する姿勢などはとても参考になりました。ただ概念や姿勢の話などになると、実は次作の「ザ・ゴール2」の中でより詳しく説明されているのでそちらの方がより参考になると思います。
しかし、いきなり2の方を読むよりは本書を導入編と位置づけて一度読んでおいたほうが、理解もより深まるでしょう。

個人的には、小説形式のビジネス本というのはポイントがわかりづらいし、そのポイントにいたるまでの過程にまどろっこしさを感じてしまうのであまり好きではありませが、この本は小説としても楽しく読めました。昨年話題となった「もしドラ」といい、売れるビジネス本というのは、エンターテイメントの要素も必要なんだなと改めて思いました。

2011年5月5日木曜日

【XYZZYTips】タブキー押下時に囲み文字を抜ける

Eclipseだと文字列を書いたりしている場合に、タブキーを押すと文字列(「"」で囲まれた範囲)から抜けることができるのですが、それと似たようなことをXYZZYでもできないだろうかということで、タブキーを押したときに隣にある文字列が囲み文字列(「"」、「'」、「>」)などのときは、カーソルを一つさきにすすめるというマクロを作ってみました。