Node.jsのProxyでdirty checkとmethod missingを実現してみる

過去にphpのマジックメソッドを使ってRailsのfind_all_by_*メソッドを実装してみる | WEB EGGという記事を書いたのですが、Node.jsでもProxyの登場により、似たようなことができるのでは?と思ったので試してみました。

今回の題材は、同じくRailsのActiveRecordから、ActiveModel::Dirtyモジュールです。

こんな感じに変更を検知するためのマジックメソッド、ユーティリティが加わるモジュールだそうです。

昔であればBackbone.jsのモデルが似たような仕組みを提供していました。
ですが、あれば独自のセッタを提供しており、それを利用しているから変更が検知できるという仕組みです。 いわば白魔術です

今回は、 独自のセッタ を提供せず、普通にオブジェクト操作しているだけで変更検知ができちゃう機能の実装を目指します。
白魔術に対して言うなれば、黒魔術です。

ちなみに使用しているNode.jsのバージョンはv6.1.0です。

Continue Reading…

ChatworkだってSlackしたい!!

なんとも日本語が不自由な感じのタイトルですが、始めます。
普段仕事でChatworkを使っているのですが、どうにもUIが好きになれない。

別に使いにくくはないんですが、趣味でSlack使ってるせいでどうにも馴染めません。
でも仕事で使うのでどうにかして向き合わなければならない。

ならSlack使ってる感覚に陥るChatworkであれば違和感なく使えるのでは・・・?
ということで試してみました。

Continue Reading…

MMDのモデルにブラウザで踊って頂いた

2016/12/03 末尾に追記しました

この記事は12/3 Three.js Advent Calendar12/4 Hamee Advent Calendarの記事です。
もう半年以上前の話ですが、猛烈にドリームクラブというゲームの実況にハマりまして、あまりにハマりすぎて 「ノノノちゃん踊らせたい!!!歌ってほしい!!」 と思い、
それと同時期にスプラトゥーンの実況にもハマっており、ハイカラシンカを踊るアオリちゃんとホタルちゃんが可愛すぎて 「二人ともぎゃんかわ!!もう手中に収めて無限ループしたい!!!」

とか思い、 「ブラウザでもMMDしたい!!!」 と想いからthree.jsMMD.jsを使ってみた話を。

Continue Reading…

HTML5のConstraint validationでライブラリ要らずならくらくバリデーション

こんにちは。
Hamee Advent Calendar 2015 8日目の記事です。

Chromeの開発者ツールでHTMLの要素を眺めていたらvalidityという属性を見つけました
validityプロパティの中にはpatternMismatch, tooLongなどそれっぽいプロパティとbool値。

調べてみたら フォームのバリデーションはこれだけで十分なのでは
と思うほどに便利だったので詳しい機能の紹介と、より便利に扱う小ネタの紹介です。

Continue Reading…

フォーム周りで地味に使うUIと実現方法

れこです。
Hamee Advent Calendar 2015 2日目の記事です。

「明日使えるフロントエンドと作業効率化の備忘録」とか銘打っておきながら、
フロントエンドの記事を書くのはものすごく久々な気がします。

フォームやinput周りを扱っていると、毎回小さな機能を作るたびググって毎回使用するライブラリや実装が揺れてしまうので、
2015/11/24現在での決定版を調べてまとめて備忘録にします。

Continue Reading…

Karmaを使ってIEのテストをMacから行う

karmaを使ってIEのテストをMacから行う

久々の更新です。
社会人になってからいつの間にか1年が経過していました。時が立つのは早いものです。。。

最近はインプットを増やしてばかりで全然アウトプットできていなかったので、少しずつアウトプットできればと思います。 ここんところ業務の都合でPHPネタばかりだったので、そろそろ本来のフロントエンドの話に切り替えようと思います。

さて本題ですが、Angularのチームが開発したKarmaというツールを使用して、
MacでIEのテスト を実行してみようと思います。

Continue Reading…