合同新年会の裏で何をやっていたのか。もしくはEFO実装について。

福岡の有名なデザイン会社D-ZEROさんと、弊社Fusicは縁があって毎年新年会を合同でやっています。

実は今年の新年会では個人的に裏目的があって、それは、

この人 を捕まえて、今作成中のちょっとしたライブラリの方針について相談すること。

みんなが呑んでいる裏で何をやっているんだと言われるかもしれませんが、楽しみ方は人それぞれです。自分はソースコードを肴にお酒が呑める方です。

あ、平尾さんもこっち側の人間でした。

EFOな悩み

で、実際に話していた内容というのが、ざっくりいうとEFO絡みの話です

fa

自分がなんとかしたいのが「フロントエンドのリアルタイムフォームバリデーションとサーバサイドのバリデーションの実装が微妙に違ってきてしまう」という問題。

しっかりと要件を詰めて作ればいいんでしょうけど、毎回調整するのが面倒です。

特に、フロントエンドとサーバサイドで作る人が違うとなおさらです。

「全角カタカナって具体的に何?(よく聞くと、実は全角数値や全角アルファベットも許可されていたり)」

となります。

そこをなんとかしたいがために、「dataset/testsetを共有するアイデア」のもと、バリデーションのテストセットを共有したJavaScriptPHPとでフォームアサーション用のライブラリを作っています。

k1LoW/fa · GitHub

k1LoW/fa-js · GitHub

k1LoW/fa-php · GitHub

少なくとも同じテストセットを共有しているので安心(?)というアイデアで突き進んでいます。

まだWIPなプロジェクトです。実際に実装が気に食わなくてJavaScript側を相談しようとしていました。まあ、タイムアップだったわけですが。

jaco

逆に平尾さんが出してきたのは「日本語な文字変換」のためのライブラリでした。

YusukeHirao/jaco · GitHub

かなカナ変換や、全角半角変換をバリデーション前に、フォームの入力内容を自動で変換してあげるようなときにつかえるライブラリですね。

自分も昔、FuzzyというCakePHP pluginを作ったことがあったので、理解できたのでこちらのライブラリでも話が盛り上がりました。

「ふつうのform」のためにFuzzy plugin for CakePHPを作ってみた - Copy/Cut/Paste/Hatena


「EFOの機能実装はフロントエンドとサーバサイドの両方で考えないといけない」

当たり前なんですが、毎回要件調整するのが面倒なので、なんとかしたいなーと思っています。

ちなみに

2次会の会社対抗ボーリング大会は、Fusicが勝ちました!!

2次会の会社対抗ボーリング大会は、Fusicが勝ちました!!

大事なので2回言いました!