投稿

Dart Editorサポート終了

そうですか。 Dart Editorは今後サポートしないのですか。 About Dart Editorを開いてもバージョンアップのチェックが表示されないからおかしいと思ってたんですよね。 まあDart Edtior、超中途半端でしたね。 今後はWebStorm推奨ですか〜。 有料じゃないですか〜。 プロジェクト移行しなきゃなぁー。 面倒くさいなー。

[Polymer+Dart] 逆引きPolymer

Polymer 1.0なんてニュースもありますね。 Dart + Polymerも、ようやく実用レベルに達したような気もしてきたこの頃。 というわけで豆知識。 Polymerのレイアウト支援機能 horizontalとかflexとかのキーワードを属性に書くだけでレイアウトしてくれちゃうぞ。 <div horizontal layout>  <div>hoge</div>  <div flex>fuga</div> </div> これで横に並べてくれちゃう。"hoge"はサイズ固定。 https://www.polymer-project.org/0.5/docs/polymer/layout-attrs.html でも、Polymer1.0にこの機能ないんだね…。Styleシートで行うようになっているようだ。なるほど。 プロパティにChangeリスナーを張る プロパティ名の後に"Changed"と書いたメソッドを作成すると、そのプロパティが変更された後に呼ばれる! @observable String hoge; void hogeChanged() => print("hoge") ---- <input type="text" value="{{hoge}}"> これでinputの入力文字を変更する度にhogehoge出力されるぞ。 そんな便利なこと許されますかね! idでHtmlElement検索 <div id="hoge"></div> --- var d = $['hoge'] as DivElement; これイケるッス。 でも、途中にtemplateが入ると検索が届かなくなります。要注意! ある条件でElementを隠したい あるElementを表示したりしなかったりすることは<template if="">でも可能ですが、そうじゃない方法もあります。 <div hidden?=...

[Dart] Async時代のSleep

Ver. 1.9.0にて「Asynchrony Support: Phase 2」となり、非同期処理が劇的に書きやすくなった。 もう、thenとか要らない。 そう、then free。 それはオレたちのフリーダム! そして中カッコ地獄からの卒業 そんな時代に捧げるSleepの実現方法。          await new Future.delayed( const Duration(milliseconds: 500 ), (){} ); …長いな。

[Go] static fileを返すだけのweb serverを作ってみた

静的なファイルを返すだけのSimpleなWeb Serverを、Go言語で作ってみた。 テスト用のHTMLとして、 c:/webroot/webフォルダにhoge.htmlを適当に作ってくれ。 go run webserver.go で実行。 ブラウザを立ち上げて、下記のURLを表示してみてくれ! http://localhost:8085/web/hoge.html hoge.htmlが表示されるはずだ。 今回のポイントは・・・ http.HandleFuncってpathの最後に"/"つけると、ディレクトリ指定になるんだね Goでファイルを読み込む方法 WriteでbufをSliceして渡すのがGoっぽくてイイネ!Javaだとlength指定が必要だもんね defer、ちょっ、コレ、ラクちんだわ~。もうtry..finallyとかタイプしたくない。 ラベル付きbreakも地味にいいわ~。これがあってswitchが生きる。 結論。 やればやるほどGo言語。

[Go] http HandleFunc Tips

/hogeにアクセスされた時、fを呼ぶ http.HandleFunc("/hoge",f) /hogeディレクトリにアクセスされた場合、fを呼ぶ http.HandleFunc("/hoge/",f) /hoge/aaaでも、/hoge/aa/bbでもヒットする。 正規表現でルーティングしたい場合、工夫が必要。 一旦、ディレクトリ指定で受け取り、自前でルーティングするのだ。 うむむ、なるほど~。

[Go] mapのソート

配列のソートは強力だけど、 mapのソートは、JavaのTreeSetみたいには行かないようだね。

[Go] Push配信サーバーを作ってみた

GoでPush配信サーバーを作ってみた。 go run gopush.go で実行すると8085ポートで待ち受け開始。 別のターミナルとかで、 curl -v http://localhost:8085/con?key=hoge ってやると配信を受けられる。 ブラウザとかで、 http://localhost:8085/api/push?key=hoge&mes=hello にアクセスすると、ターミナルにhelloが通知されるよ! このkeyで通知先を変更するのだ。 こんなの簡単に作れちゃうGo言語、すごいね! goroutine(go/channel/select)が強力すぎて、Javaのwait/notifyとか戻れないよ!