deruiの日記 このページをアンテナに追加 RSSフィード

2014-08-11

[] QiitaにJavaScriptについての記事を投稿しました。 13:24  QiitaにJavaScriptについての記事を投稿しました。を含むブックマーク  QiitaにJavaScriptについての記事を投稿しました。のブックマークコメント

http://qiita.com/derui@github/items/6e8de68cc1b7295de3a6

なんか最近、Javascriptを書いていると、なんかこれどっかで見たことあるなー、という感覚を覚えていました。ソースは忘れましたが、JavaScriptLispを作りたかった人が作った言語、という話を目にして、そうか!と目から鱗が落ちた気分でした。

そんな気分を記事にしたものです。正確性は置いておいて、JavaScriptしかやらない人でも、Lispとか他の言語を学ぶことで、楽に概念を理解できる、ということもあるんじゃないかなー、と思いました。まぁ動的言語Lispになくて他の言語にある、なんてものはほとんど無いとは思いますので、Lisp一回学んでおくと、現在のプログラミング言語の概念は大体理解できちゃうんじゃないでしょうか。

2014-07-09

[]PolymerのCSSについての記事を書きました 22:33 PolymerのCSSについての記事を書きましたを含むブックマーク PolymerのCSSについての記事を書きましたのブックマークコメント

Polymerを利用して要素を作成していっていますが、CSSの書き換えルールとかが今一つよくわからなかったので、実際に簡単なサンプルを作成してみた記事です。うーん、完全に宣伝記事ですね。もうちょっと実のある記事をこっちにも書きたいのですが・・・。

PolymerでのCSSについて

http://qiita.com/derui@github/items/f23d840b787d1d72ae3a

2014-07-05

[] 今週のお題「テスト」 16:14  今週のお題「テスト」を含むブックマーク  今週のお題「テスト」のブックマークコメント

こういうのがあるのは結構前から知ってましたが、今回初めてこういうものを書きます。

昔のテスト

昔でテストというと、当然ながら学生時代のテストになるわけですが。今から思い起こすと、学生時代って試験多かったなぁ、という感じがします。特に高校では三年の後半は週に一回は模擬試験やってたような。私が学生時代は、ちょうどゆとり教育との境目(翌年度くらいから本格的に開始)だったので、土日は完全に休みでした。休み万歳。

そういう意味だと、今の学生はさらにテストが多いんでしょうか。それはそれで大変そうですが・・・。

テストというとテスト勉強、ということになりそうですが、年を経るにつけてどんどんしなくなった記憶があります。それに伴って成績が見事に落ちていったのもよく覚えています。特に古文。なんで古文で赤点と取るのかわからん、と教科の担任に言われて笑って誤魔化したことがあります。

学生時代のテストで一番覚えているのは、ちょうどテスト当日に39℃の熱が出て、しかし入学して一発目の中間試験だったということもあり、それでもテストを受けたことですね。結果はそれなりだったのですが、とにかく試験中が辛かったです。

今のテスト

さて、社会人になってからのテストは、IT業界の人間にとってはおなじみな方のテストを意味するようになりました。中間試験とかよりもこっちの方がよっぽど恐ろしいときも多いです。事前準備とか洒落にならないくらい大変な時の方が多いですし。

それと、TDDもそうですね。最近はこっちの推進みたいなこともやろうとしていますが、どちらにせよ、テストに正解というものが無く、常に思考しつづけないとならない、という点で、学生時代のテストとは一線を画していると思います。いつになったらこのテストをちゃんと書けるようになるのかと思いながら今日もテストを書き、そのテストを楽に書くための機構を作っています。

書いてみて

特に学生時代のテストについて、特に思い入れとかなんもないなー、と。思い返してみても、どうにもテストにいい思い出もなければよい思い出もないですね。むしろ社会人になってからのテストの方が色々とあって・・・。テストはもうちょっと平穏に進めたいものです。

以上、今週のお題でした。

2014-07-02

[] Polymerを使ってみた、という記事を書きました 00:13  Polymerを使ってみた、という記事を書きましたを含むブックマーク  Polymerを使ってみた、という記事を書きましたのブックマークコメント

最近いろいろな事情があって、Qiitaに書くようになっていくと思いますが、とりあえず書きました。後日曜の停電からネットが繋がらなくてマジつらい。

http://qiita.com/derui@github/items/bafc8f68c55e0c9d8b70

内容としては、Polymerを実際に使うにあたって解決しておいたほうがいい問題とかです。まだ使い始めたばかりなので、これからどれくらいいろいろあるかがわかりませんが、とりあえず、といった感じです。

2014-06-15

[]Sencha Touch2をTypeScriptでちょっと書いてみた。 22:55 Sencha Touch2をTypeScriptでちょっと書いてみた。を含むブックマーク Sencha Touch2をTypeScriptでちょっと書いてみた。のブックマークコメント

気付いたら本気で一年の半分が過ぎそうです。最近時間の流れの早さが確実に早くなってきているのを実感しているので、もうちょっと週末のだらけっぷりをなんとかせんとなー、と思うこの頃です。

ところで、諸事情がありましてSencha Touch2をTypeScriptでちょこっと書いてみたので、その感想をばと思います。

Sencha Touch(というかExtjs)はTypeScriptには向かない

量は少ないのですが、ちょこっと書いてみたかぎりでは、ぶっちゃけこれ以上の感想があまり浮かばないというか・・・。

  • TypeScriptモジュールとかClassとかが基本使えない
  • 型定義ファイル
    • ExtJS自体が巨大なので、公開されているファイルをありがたく使わせてもらってますが、あまり効果が実感できないというか・・・。
  • オブジェクトを超多用
  • クラスの定義とかで() => {}が諸事情で使えない
    • () => {}は普通に使う分には便利ですが、クラス定義の時に使ってしまうと、windowとかそのあたりをthisとしてしまうため、結局JavaScriptで書いているのと変わらないという・・・。

な感じで、本来TypeScriptで重要なファクターとなる点がかなりの割合で潰されてしまっているため、TypeScriptを書くよりかは普通にJavaScriptを書いた方が、コンパイルとか無視できる分むしろ早くなるんでは?という例になりそうです。

CoffeeScriptの方がいいかも

オブジェクトを多用する書き方なので、あまりインデントでブロックを表記するやりかたは好みではないのですが、CoffeeScriptの方が楽に書けるような気がします。関数の書き方としても、TypeScriptの()=>{}が(大抵)使えないのに対して、CoffeeScriptの場合は常に() -> が使えるので、毎回functionを書きたくないからTypeScriptを使ってるのに結局functionを打ちまくる、というなんともな状況は回避できます。

CoffeeScriptを使った場合、TypeScriptで得られる利点(型定義によるコンパイルエラーとか)は得られませんが、その分早く書ける(はず)なので、テストを厚めに書く、というまさにRuby的な形でやることができるんではないでしょうか。

つまるところ

TypeScriptJavaScriptを型定義を通して、固く使うことができる、ということが基本的な利点だと思います。しかし、JavaScriptの利点である柔軟性を十全に生かしたプロダクトで、しかもExtJSレベルで仕組みが構築されてしまっていると、TypeScriptを使うことによる利点が、TypeScriptの利点を享受するための作業によるコストを下回ってしまうのではないかと懸念しています。

ここはあれですね。TypeScriptExtJSを書き直せばきっと誰かが幸せになれるんだと思います。そうなったら既存のExtJSとは似てもにつかないものになるだけでしょうが。

JavaScriptはfunctionを短く書く方法と、関数とグローバル以外の変数スコープができるだけで大分使いやすくなると、改めて感じた今日この頃でした。