<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4751424520161692407</id><updated>2024-09-28T10:58:05.134+09:00</updated><category term="android"/><category term="dartlang"/><category term="XOOM"/><category term="Dart"/><category term="開発"/><category term="Go"/><category term="golang"/><category term="Polymer"/><category term="サラリーマン"/><category term="コーディング"/><category term="Bluetooth"/><category term="python"/><category term="Blogger"/><category term="Game"/><category term="HTML5"/><category term="Java"/><category term="JavaFX"/><category term="angular"/><category term="iOS"/><category term="物欲"/><title type='text'>ダダ漏れ日記</title><subtitle type='html'>はぐれプログラマーによるはぐれプログラマーのためのダダ漏れた心の叫びの記録</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>110</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-6478918403549048863</id><published>2016-07-08T16:05:00.001+09:00</published><updated>2016-07-08T16:05:23.063+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Go"/><category scheme="http://www.blogger.com/atom/ns#" term="golang"/><title type='text'>[Go] Windowsで実行した時、窓を表示させない</title><content type='html'>例えば、デスクトップでそのexeをダブルクリックした時、あのDOS窓を開きません！&lt;br /&gt;
&lt;br /&gt;
Goでは、ビルドオプションで設定できるんですって！&lt;br /&gt;
こんなのあるなんて知らなかったー。&lt;br /&gt;
痒いところに手が届くわー。&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
go build -ldflags=&quot;-H windowsgui&quot;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
こんな機能に用があるの、自分だけかもしれないけど。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/6478918403549048863/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2016/07/go-windows.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/6478918403549048863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/6478918403549048863'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2016/07/go-windows.html' title='[Go] Windowsで実行した時、窓を表示させない'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-8527018853538824519</id><published>2015-10-16T18:27:00.001+09:00</published><updated>2015-10-16T18:27:39.141+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><category scheme="http://www.blogger.com/atom/ns#" term="Polymer"/><title type='text'>[Dart+Polymer] Polymer1.0対応に伴いBraking Change! マジか??</title><content type='html'>Dartが1.12になるのに伴い、Polymerが1.0に切り替わったらしく、サンプルを見てみた。&lt;br /&gt;
&lt;br /&gt;
どんだけ変えるのかと。&lt;br /&gt;
今までの全く無駄じゃん！&lt;br /&gt;
&lt;br /&gt;
Polymer Dart 1.0 Developer Guide&lt;br /&gt;
&lt;a href=&quot;https://github.com/dart-lang/polymer-dart/wiki#10-developer-guide&quot;&gt;https://github.com/dart-lang/polymer-dart/wiki#10-developer-guide&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
@observableが@propertyに変更&lt;/h3&gt;
さらに、2way-bindingするには、&lt;br /&gt;
@Property(notify: true)&lt;br /&gt;
と宣言しなくてはいけない。（&quot;P&quot;が大文字なのに注意）&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
プロパティへの値のセットに専用メソッドを使用する&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;@observable String hoge;
...
void updateHoge() =&amp;gt; hoge = &quot;gg&quot;;


&lt;/code&gt;&lt;/pre&gt;
これが下のように変わります。&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;@property
String hoge;
...
void updateHoge() =&amp;gt; set(&quot;hoge&quot;,&quot;gg&quot;);


&lt;/code&gt;&lt;/pre&gt;
じゃないと、HTML側が更新されないです。&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
イベントの取り方が変わった&lt;/h3&gt;
イベントの取り方はいくつかあるようです。&lt;br /&gt;
&lt;h4&gt;
方法１：@Listenアノテーション&lt;/h4&gt;
HTML側はidだけ設定します。Dart側でどのIDのどのイベントを受けるかをメソッド単位で設定します。&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;button id=&quot;hoge&quot;&amp;gt;発射&amp;lt;/button&amp;gt;

@Listen(&quot;hoge.click&quot;)
void fire(e,[_]) =&amp;gt; print(&quot;hoge&quot;);


&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;
方法２：onにListenする案外ベタな方法&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;attached() {
&amp;nbsp; $[&quot;hoge&quot;].on[&quot;click&quot;].listen( (e)=&amp;gt;print(&quot;hoge&quot;) );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;h4&gt;
プロパティの変更イベントで受ける&lt;/h4&gt;
以前はプロパティ名に&quot;Changed&quot;を付けた名前のメソッドが自動的に呼ばれたものが、@Listenアノテーションに統一されています。&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;@Property(notify:true)
String hoge;

@Listen(&quot;hoge-changed&quot;)
void hogeKawatta(e,[_]) =&amp;gt; print(&quot;Kitsune!&quot;);
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
このとき、プロパティは2Way-bindingにする必要があるらしいですよ。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
っていうか、[_]って何？&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/8527018853538824519/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2015/10/dartpolymer-polymer10braking-change.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/8527018853538824519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/8527018853538824519'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2015/10/dartpolymer-polymer10braking-change.html' title='[Dart+Polymer] Polymer1.0対応に伴いBraking Change! マジか??'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-4127010313707643022</id><published>2015-07-12T16:03:00.001+09:00</published><updated>2015-07-12T16:03:51.971+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><title type='text'>Dart Editorサポート終了</title><content type='html'>そうですか。&lt;br /&gt;
Dart Editorは今後サポートしないのですか。&lt;br /&gt;
&lt;br /&gt;
About Dart Editorを開いてもバージョンアップのチェックが表示されないからおかしいと思ってたんですよね。&lt;br /&gt;
&lt;br /&gt;
まあDart Edtior、超中途半端でしたね。&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
今後はWebStorm推奨ですか〜。&lt;br /&gt;
有料じゃないですか〜。&lt;br /&gt;
&lt;br /&gt;
プロジェクト移行しなきゃなぁー。&lt;br /&gt;
面倒くさいなー。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/4127010313707643022/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2015/07/dart-editor.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/4127010313707643022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/4127010313707643022'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2015/07/dart-editor.html' title='Dart Editorサポート終了'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-8923709818086438277</id><published>2015-06-10T18:30:00.000+09:00</published><updated>2015-06-10T18:30:41.470+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><category scheme="http://www.blogger.com/atom/ns#" term="Polymer"/><title type='text'>[Polymer+Dart] 逆引きPolymer</title><content type='html'>Polymer 1.0なんてニュースもありますね。&lt;br /&gt;
Dart&amp;nbsp;+ Polymerも、ようやく実用レベルに達したような気もしてきたこの頃。&lt;br /&gt;
&lt;br /&gt;
というわけで豆知識。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Polymerのレイアウト支援機能&lt;/h2&gt;
horizontalとかflexとかのキーワードを属性に書くだけでレイアウトしてくれちゃうぞ。&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;lt;div horizontal layout&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;div&amp;gt;hoge&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;div flex&amp;gt;fuga&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/blockquote&gt;
これで横に並べてくれちゃう。&quot;hoge&quot;はサイズ固定。&lt;br /&gt;
&lt;a href=&quot;https://www.polymer-project.org/0.5/docs/polymer/layout-attrs.html&quot;&gt;https://www.polymer-project.org/0.5/docs/polymer/layout-attrs.html&lt;/a&gt;&lt;br /&gt;
でも、Polymer1.0にこの機能ないんだね…。Styleシートで行うようになっているようだ。なるほど。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
プロパティにChangeリスナーを張る&lt;/h2&gt;
プロパティ名の後に&quot;Changed&quot;と書いたメソッドを作成すると、そのプロパティが変更された後に呼ばれる！&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
@observable String hoge;&lt;br /&gt;
void hogeChanged() =&amp;gt; print(&quot;hoge&quot;)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;input type=&quot;text&quot; value=&quot;{{hoge}}&quot;&amp;gt;&lt;/blockquote&gt;
これでinputの入力文字を変更する度にhogehoge出力されるぞ。&lt;br /&gt;
そんな便利なこと許されますかね！&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
idでHtmlElement検索&lt;/h2&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;lt;div id=&quot;hoge&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
var d = $[&#39;hoge&#39;] as DivElement;&lt;/blockquote&gt;
これイケるッス。&lt;br /&gt;
でも、途中にtemplateが入ると検索が届かなくなります。要注意！&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
ある条件でElementを隠したい&lt;/h2&gt;
あるElementを表示したりしなかったりすることは&amp;lt;template if=&quot;&quot;&amp;gt;でも可能ですが、そうじゃない方法もあります。&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;lt;div hidden?=&quot;{{flag}}&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;button on-click=&quot;{{hoge}}&quot;&amp;gt;出てこい&amp;lt;/button&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
@observable flag = true;&lt;br /&gt;
void hoge() {&lt;br /&gt;
&amp;nbsp; flag = false;&lt;br /&gt;
}&lt;/blockquote&gt;
templateを使わないので、$[]検索も届きます。&lt;br /&gt;
っていうか?=って何ヨ？&lt;br /&gt;
Polymer1.0では、$=になっているようだ。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
俺イベント&lt;/h2&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
fire(&#39;hoge&#39;, detail: {&#39;message&#39;: &quot;hogehoge&quot;});&lt;/blockquote&gt;
ってやると、&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;lt;div on-hoge=&quot;{{fuga}}&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/blockquote&gt;
ってキャッチできるそうですよ。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
イベントってDOMツリーを遡上するのね&lt;/h2&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;lt;div on-change=&quot;{{hoge}}&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;input type=&quot;radio&quot; name=&quot;h&quot; value=&quot;A&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;input type=&quot;radio&quot; name=&quot;h&quot;&amp;nbsp;value=&quot;B&quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/blockquote&gt;
radioボタンのon-changeがdivでキャッチ出来るんだと。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/8923709818086438277/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2015/06/polymerdart-polymer.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/8923709818086438277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/8923709818086438277'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2015/06/polymerdart-polymer.html' title='[Polymer+Dart] 逆引きPolymer'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-4744106336302531400</id><published>2015-05-16T23:23:00.000+09:00</published><updated>2015-05-16T23:23:40.055+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><title type='text'>[Dart] Async時代のSleep</title><content type='html'>







&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
Ver. 1.9.0にて「Asynchrony Support: Phase 2」となり、非同期処理が劇的に書きやすくなった。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
もう、thenとか要らない。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
そう、then free。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
それはオレたちのフリーダム！&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
そして中カッコ地獄からの卒業&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
そんな時代に捧げるSleepの実現方法。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class=&quot;s1&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt; Future.delayed(&lt;span class=&quot;s1&quot;&gt;const&lt;/span&gt; Duration(milliseconds:&lt;span class=&quot;s2&quot;&gt;500&lt;/span&gt;), (){} );&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
…長いな。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/4744106336302531400/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2015/05/dart-asyncsleep.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/4744106336302531400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/4744106336302531400'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2015/05/dart-asyncsleep.html' title='[Dart] Async時代のSleep'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-5662929062026488473</id><published>2015-01-08T18:25:00.002+09:00</published><updated>2015-01-08T18:27:04.486+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Go"/><category scheme="http://www.blogger.com/atom/ns#" term="golang"/><title type='text'>[Go] static fileを返すだけのweb serverを作ってみた</title><content type='html'>静的なファイルを返すだけのSimpleなWeb Serverを、Go言語で作ってみた。&lt;br /&gt;
&lt;br /&gt;
テスト用のHTMLとして、&lt;br /&gt;
c:/webroot/webフォルダにhoge.htmlを適当に作ってくれ。&lt;br /&gt;
&lt;br /&gt;
go run webserver.go&lt;br /&gt;
で実行。&lt;br /&gt;
&lt;br /&gt;
ブラウザを立ち上げて、下記のURLを表示してみてくれ！&lt;br /&gt;
http://localhost:8085/web/hoge.html&lt;br /&gt;
&lt;br /&gt;
hoge.htmlが表示されるはずだ。&lt;br /&gt;
&lt;br /&gt;
今回のポイントは・・・&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;http.HandleFuncってpathの最後に&quot;/&quot;つけると、ディレクトリ指定になるんだね&lt;/li&gt;
&lt;li&gt;Goでファイルを読み込む方法&lt;/li&gt;
&lt;li&gt;WriteでbufをSliceして渡すのがGoっぽくてイイネ！Javaだとlength指定が必要だもんね&lt;/li&gt;
&lt;li&gt;defer、ちょっ、コレ、ラクちんだわ～。もうtry..finallyとかタイプしたくない。&lt;/li&gt;
&lt;li&gt;ラベル付きbreakも地味にいいわ～。これがあってswitchが生きる。&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
結論。&lt;br /&gt;
やればやるほどGo言語。&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/yomusu/1a70e6fb4195d451f1d2.js&quot;&gt;&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/5662929062026488473/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2015/01/go-static-fileweb-server.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/5662929062026488473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/5662929062026488473'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2015/01/go-static-fileweb-server.html' title='[Go] static fileを返すだけのweb serverを作ってみた'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-305857786692996632</id><published>2015-01-08T17:02:00.002+09:00</published><updated>2015-10-16T18:30:34.098+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Go"/><category scheme="http://www.blogger.com/atom/ns#" term="golang"/><title type='text'>[Go] http HandleFunc Tips</title><content type='html'>&lt;h4&gt;
/hogeにアクセスされた時、fを呼ぶ&lt;/h4&gt;
&lt;code&gt;http.HandleFunc(&quot;/hoge&quot;,f)&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
/hogeディレクトリにアクセスされた場合、fを呼ぶ&lt;/h4&gt;
&lt;code&gt;http.HandleFunc(&quot;/hoge/&quot;,f)&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
/hoge/aaaでも、/hoge/aa/bbでもヒットする。&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
正規表現でルーティングしたい場合、工夫が必要。&lt;br /&gt;
一旦、ディレクトリ指定で受け取り、自前でルーティングするのだ。
うむむ、なるほど～。
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/305857786692996632/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2015/01/go-http-handlefunc-tips.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/305857786692996632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/305857786692996632'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2015/01/go-http-handlefunc-tips.html' title='[Go] http HandleFunc Tips'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-7420684470797760868</id><published>2014-10-31T17:50:00.000+09:00</published><updated>2014-11-13T14:15:01.124+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Go"/><category scheme="http://www.blogger.com/atom/ns#" term="golang"/><title type='text'>[Go] mapのソート</title><content type='html'>配列のソートは強力だけど、&lt;br /&gt;
mapのソートは、JavaのTreeSetみたいには行かないようだね。&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/yomusu/c44218f34c1f896180cb.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/7420684470797760868/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/go-map.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/7420684470797760868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/7420684470797760868'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/go-map.html' title='[Go] mapのソート'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-236115760286923569</id><published>2014-10-30T16:02:00.000+09:00</published><updated>2014-11-13T14:15:01.105+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Go"/><category scheme="http://www.blogger.com/atom/ns#" term="golang"/><title type='text'>[Go] Push配信サーバーを作ってみた</title><content type='html'>GoでPush配信サーバーを作ってみた。&lt;br /&gt;
&lt;br /&gt;
go run gopush.go&lt;br /&gt;
で実行すると8085ポートで待ち受け開始。&lt;br /&gt;
&lt;br /&gt;
別のターミナルとかで、&lt;br /&gt;
curl -v http://localhost:8085/con?key=hoge&lt;br /&gt;
ってやると配信を受けられる。&lt;br /&gt;
&lt;br /&gt;
ブラウザとかで、&lt;br /&gt;
http://localhost:8085/api/push?key=hoge&amp;amp;mes=hello&lt;br /&gt;
にアクセスすると、ターミナルにhelloが通知されるよ！&lt;br /&gt;
&lt;br /&gt;
このkeyで通知先を変更するのだ。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
こんなの簡単に作れちゃうGo言語、すごいね！&lt;br /&gt;
&lt;br /&gt;
goroutine(go/channel/select)が強力すぎて、Javaのwait/notifyとか戻れないよ！&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/yomusu/bd1d2a5344532ec7d69e.js&quot;&gt;&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/236115760286923569/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/go-push.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/236115760286923569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/236115760286923569'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/go-push.html' title='[Go] Push配信サーバーを作ってみた'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-5998228845226341043</id><published>2014-10-28T16:08:00.003+09:00</published><updated>2014-11-13T14:15:01.117+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Go"/><category scheme="http://www.blogger.com/atom/ns#" term="golang"/><title type='text'>[Go] http、chunked、切断検知、TimeOut、channelのclose</title><content type='html'>Push配信するhttpサーバーを目指すサンプル。&lt;br /&gt;
&lt;br /&gt;
盛り込んだ要素は下記の通り。&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;httpサーバー&lt;br /&gt;→普通です。すみません。&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Transfer-Encoding: chunked&lt;br /&gt;→しょっぱなにw.WriteHeader(http.StatusOK)、&lt;br /&gt;　そして、w.(http.Flusher).Flush()&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;goroutine&amp;amp;channel&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;time.Sleep&lt;br /&gt;→渡す値は、単位を掛ける。&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;channelのcloseとその検知方法&lt;br /&gt;→close()は組み込み関数。&lt;br /&gt;　そしてchannel受信には2番目の戻り値があることを知れ&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;timeoutを仕掛ける方法&lt;br /&gt;time.Afterでchannelゲットだぜ&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;通信切断の検知方法&lt;br /&gt;→w.(http.CloseNotifier).CloseNotify()でchannelゲットだぜ&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;複数channelの同時受信&lt;br /&gt;→selectをforで無限ループだぜ。あとラベル付きbreak。&lt;/li&gt;
&lt;li&gt;ロギング&lt;br /&gt;→log.Println()だぜ。&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
盛りだくさんだぜ～&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/yomusu/c718e016cf6afaedb25e.js&quot;&gt;&lt;/script&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/5998228845226341043/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/go-httpchunkedtimeoutchannelclose.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/5998228845226341043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/5998228845226341043'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/go-httpchunkedtimeoutchannelclose.html' title='[Go] http、chunked、切断検知、TimeOut、channelのclose'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-2759331608141627997</id><published>2014-10-24T14:27:00.003+09:00</published><updated>2014-11-13T14:15:01.110+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Go"/><category scheme="http://www.blogger.com/atom/ns#" term="golang"/><title type='text'>[Go] Chunked Transferで返すHTTPサーバー</title><content type='html'>HTTPのストリーミングサーバーのいわゆるLong Pollingってヤツ。&lt;br /&gt;
&lt;br /&gt;
net/httpを使う普通のやり方に加えて、&lt;br /&gt;
ポイントは&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;WriteHeaderを先に呼ぶ&lt;/li&gt;
&lt;li&gt;http.ResponseWriterをFlushする&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
ってこと。&lt;br /&gt;
Transfer-Encodingヘッダをchunkedにするとか、&lt;br /&gt;
Content-Lengthヘッダをセットしてはいけないとか、&lt;br /&gt;
は、勝手にやってくれる。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/yomusu/d9df778e67502677747f.js&quot;&gt;&lt;/script&gt;

これを起動したならば、curlコマンドで試してみませう。&lt;br /&gt;
&lt;br /&gt;
curl -v http://localhost:8085/&lt;br /&gt;
&lt;br /&gt;
ヘッダが表示され、&lt;br /&gt;
&lt;br /&gt;
&amp;lt; HTTP/1.1 200 OK&lt;br /&gt;
&amp;lt; Date: Fri, 24 Oct 2014 05:14:14 GMT&lt;br /&gt;
&amp;lt; Content-Type: text/plain; charset=utf-8&lt;br /&gt;
&amp;lt; Transfer-Encoding: chunked&lt;br /&gt;
&lt;br /&gt;
その5秒後に&lt;br /&gt;
&lt;br /&gt;
one&lt;br /&gt;
&lt;br /&gt;
その5秒後に&lt;br /&gt;
&lt;br /&gt;
two&lt;br /&gt;
&lt;br /&gt;
が表示される！&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/2759331608141627997/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/go-chunked-transfer.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/2759331608141627997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/2759331608141627997'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/go-chunked-transfer.html' title='[Go] Chunked Transferで返すHTTPサーバー'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-7124318465958107300</id><published>2014-10-23T11:21:00.001+09:00</published><updated>2014-12-24T11:09:16.820+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="angular"/><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><title type='text'>[Angular.dart] 試してみた</title><content type='html'>&lt;p dir=&quot;ltr&quot;&gt;&amp;#12496;&amp;#12540;&amp;#12472;&amp;#12519;&amp;#12531;&amp;#12364;1.0.0&amp;#12395;&amp;#12394;&amp;#12387;&amp;#12383;&amp;#12375;&amp;#12289;&lt;br&gt;
Angular.Dart&amp;#12434;&amp;#35430;&amp;#12375;&amp;#12390;&amp;#12415;&amp;#12383;&amp;#12290;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#12414;&amp;#12378;&amp;#12399;&amp;#12289;&lt;a href=&quot;https://angulardart.org/tutorial/&quot;&gt;Angular.Dart&amp;#12469;&amp;#12452;&amp;#12488;&amp;#12398;&amp;#12481;&amp;#12517;&amp;#12540;&amp;#12488;&amp;#12522;&amp;#12450;&amp;#12523;&lt;/a&gt;&amp;#12363;&amp;#12425;&amp;#12469;&amp;#12531;&amp;#12503;&amp;#12523;&amp;#12434;&amp;#12480;&amp;#12454;&amp;#12531;&amp;#12525;&amp;#12540;&amp;#12489;&amp;#12290;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#12394;&amp;#12427;&amp;#12411;&amp;#12393;&amp;#12394;&amp;#12427;&amp;#12411;&amp;#12393;&amp;#12290;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#12387;&amp;#12390;&amp;#12356;&amp;#12358;&amp;#12363;&amp;#12289;{{name}}&amp;#12387;&amp;#12390;&amp;#35211;&amp;#12360;&amp;#12390;&amp;#12414;&amp;#12377;&amp;#12369;&amp;#12393;&amp;#12290;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;ng-cloak&amp;#12434;&amp;#35373;&amp;#23450;&amp;#12375;&amp;#12394;&amp;#12369;&amp;#12428;&amp;#12400;&amp;#12452;&amp;#12459;&amp;#12531;&amp;#65311;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#12375;&amp;#12390;&amp;#12418;&amp;#12480;&amp;#12513;&amp;#12391;&amp;#12377;&amp;#12369;&amp;#12393;&amp;#12290;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;Dart&amp;#29256;&amp;#12391;&amp;#12399;&amp;#12289;&amp;#33258;&amp;#21147;&amp;#12391;display:none&amp;#12434;&amp;#35373;&amp;#23450;&amp;#12375;&amp;#12394;&amp;#12369;&amp;#12428;&amp;#12400;&amp;#12356;&amp;#12369;&amp;#12394;&amp;#12356;&amp;#12392;&amp;#12398;&amp;#12371;&amp;#12392;&amp;#12290;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;lt;style&amp;gt;&lt;br&gt;
&amp;#160; &amp;#160; [ng-cloak] {&lt;br&gt;
&amp;#160; &amp;#160; &amp;#160; display: none !important;&lt;br&gt;
&amp;#160; &amp;#160; }&lt;br&gt;
&amp;lt;/style&amp;gt;&lt;br&gt;
&amp;#12539;&lt;br&gt;
&amp;#12539;&lt;br&gt;
&amp;lt;body ng-cloak&amp;gt;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#12539;&amp;#12539;&amp;#12539;&amp;#12414;&amp;#12354;&amp;#12356;&amp;#12356;&amp;#12420;&amp;#12290;&lt;br&gt;
&amp;#27425;&amp;#12289;Chapter_02&amp;#12290;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;Controller&amp;#12397;&amp;#12359;&amp;#65374;&amp;#12290;&lt;br&gt;
&amp;#12408;&amp;#12359;&amp;#65374;&amp;#12290;&lt;br&gt;
&amp;#12387;&amp;#12390;&amp;#12289;&amp;#12499;&amp;#12523;&amp;#12489;&amp;#12456;&amp;#12521;&amp;#12540;&amp;#20986;&amp;#12414;&amp;#12375;&amp;#12383;&amp;#12369;&amp;#12393;&amp;#12290;&lt;br&gt;
&amp;#12393;&amp;#12358;&amp;#12356;&amp;#12358;&amp;#12371;&amp;#12392;&amp;#65311;&amp;#65311;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#12362;&amp;#12387;&amp;#12392;&amp;#12289;Dart&amp;#29256;&amp;#12391;&amp;#12399;Controller&amp;#12364;&amp;#12508;&amp;#12484;&amp;#12387;&amp;#12390;&amp;#12427;&amp;#12371;&amp;#12392;&amp;#12364;&amp;#21028;&amp;#26126;&amp;#12290;&lt;br&gt;
&amp;#12394;&amp;#12396;&amp;#65374;&amp;#65311;&amp;#65311;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#12424;&amp;#12367;&amp;#32771;&amp;#12360;&amp;#12390;&amp;#12415;&amp;#12383;&amp;#12425;&amp;#12289;&amp;#26222;&amp;#36890;&amp;#12395;Dart&amp;#12398;&amp;#12463;&amp;#12521;&amp;#12473;&amp;#12391;&amp;#33391;&amp;#12356;&amp;#12398;&amp;#12391;&amp;#30906;&amp;#12363;&amp;#12395;&amp;#19981;&amp;#35201;&amp;#12384;&amp;#12431;&amp;#12394;&amp;#12290;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#12387;&amp;#12390;&amp;#12356;&amp;#12358;&amp;#12363;&amp;#12289;&amp;#12481;&amp;#12517;&amp;#12540;&amp;#12488;&amp;#12522;&amp;#12450;&amp;#12523;&amp;#26356;&amp;#26032;&amp;#12375;&amp;#12390;&amp;#12424;&amp;#12290;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#24613;&amp;#12395;&amp;#12371;&amp;#12398;&amp;#12469;&amp;#12452;&amp;#12488;&amp;#20449;&amp;#29992;&amp;#12391;&amp;#12365;&amp;#12394;&amp;#12367;&amp;#12394;&amp;#12387;&amp;#12383;&amp;#12424;&amp;#12289;&amp;#12418;&amp;#12358;&amp;#12290;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;JS&amp;#29256;&amp;#12392;Dart&amp;#29256;&amp;#12398;&amp;#36949;&amp;#12356;&amp;#12434;&amp;#12414;&amp;#12392;&amp;#12417;&amp;#12383;&amp;#12469;&amp;#12452;&amp;#12488;&amp;#12364;&amp;#12371;&amp;#12385;&amp;#12425;&amp;#12290;&lt;br&gt;
&lt;a href=&quot;http://victorsavkin.com/post/86909839576/angulardart-1-0-for-angularjs-developers-introduction&quot;&gt;http://victorsavkin.com/post/86909839576/angulardart-1-0-for-angularjs-developers-introduction&lt;/a&gt;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#19978;&amp;#35352;&amp;#12469;&amp;#12452;&amp;#12488;&amp;#12395;&amp;#12522;&amp;#12531;&amp;#12463;&amp;#36028;&amp;#12387;&amp;#12390;&amp;#12354;&amp;#12427;&amp;#12469;&amp;#12531;&amp;#12503;&amp;#12523;&amp;#12399;&amp;#12371;&amp;#12385;&amp;#12425;&amp;#12290;&lt;br&gt;
&lt;a href=&quot;https://github.com/vsavkin/angulardart-sample-app&quot;&gt;https://github.com/vsavkin/angulardart-sample-app&lt;/a&gt;&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;&amp;#20844;&amp;#24335;&amp;#12363;&amp;#12425;&amp;#39131;&amp;#12409;&amp;#12427;&amp;#12369;&amp;#12393;&amp;#12289;&amp;#12420;&amp;#12426;&amp;#12383;&amp;#12356;&amp;#20107;&amp;#21029;&amp;#12469;&amp;#12531;&amp;#12503;&amp;#12523;&amp;#12399;&amp;#12371;&amp;#12385;&amp;#12425;&amp;#12290;&lt;br&gt;
&lt;a href=&quot;https://github.com/shailen/angulardart-samples/tree/master/mini_samples#angulardart-mini-samples&quot;&gt;https://github.com/shailen/angulardart-samples/tree/master/mini_samples#angulardart-mini-samples&lt;/a&gt;&lt;/p&gt;
</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/7124318465958107300/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/angurardart.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/7124318465958107300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/7124318465958107300'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/angurardart.html' title='[Angular.dart] 試してみた'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-5033948741349095555</id><published>2014-10-22T17:23:00.000+09:00</published><updated>2014-12-24T11:09:16.810+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><category scheme="http://www.blogger.com/atom/ns#" term="Polymer"/><title type='text'>[Dart] Polymer : 独自selectを作ってみた</title><content type='html'>HTMLのselectって基本的にワナが多いよね。&lt;br /&gt;
&lt;br /&gt;
Polymerでのselectも正直言って不便。&lt;br /&gt;
&lt;br /&gt;
valueでは初期値が渡せないのでselectedIndexでやるしかないのだが、indexって扱いづらい。&lt;br /&gt;
&amp;lt;select value=&quot;{{src}}&quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
というわけで、いい加減イヤになって、独自のカスタムselectを作ってみた。&lt;br /&gt;
（Paper Elementsを使うとちゃんとしているのかなー？）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
こんな感じ。
&lt;script src=&quot;https://gist.github.com/yomusu/897aa2fde947336bb572.js&quot;&gt;&lt;/script&gt;

でも、IEとFirefoxでは動かないんだよね！
$[&#39;select&#39;]が正しく効かないのよ。

Polymerって一体いつ使い物になるのか？って感じだよね…。
Angularにするかな…。
&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/5033948741349095555/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/dart-polymer-select.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/5033948741349095555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/5033948741349095555'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/dart-polymer-select.html' title='[Dart] Polymer : 独自selectを作ってみた'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-7256782796007689957</id><published>2014-10-21T17:17:00.001+09:00</published><updated>2014-12-24T11:09:16.824+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><category scheme="http://www.blogger.com/atom/ns#" term="Polymer"/><title type='text'>[Dart] Polymer : カスタムフィルタを作成する</title><content type='html'>PolymerでWebアプリを作っている時、&lt;br /&gt;
値段を表示したい時とかあるじゃないですか。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;スマイル{{ price }}円&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ってやるじゃないですか。&lt;br /&gt;
でも、値段って大抵3桁毎にカンマ付けないと怒られるじゃないですか。&lt;br /&gt;
&lt;br /&gt;
というわけで、Dart側で、&lt;br /&gt;
&lt;br /&gt;
var nf = new NumberFormat(&quot;#,##0&quot;,&quot;ja_JP&quot;);&lt;br /&gt;
price = nf.format(rowPrice);&lt;br /&gt;
&lt;br /&gt;
とかやるのちょっとバカバカしいじゃないですか。&lt;br /&gt;
っていうか、こういうのって表示の問題だと思うんですよね！&lt;br /&gt;
であれば、MDVでいうとViewであるHTML側でなんとかならんのかと。&lt;br /&gt;
&lt;br /&gt;
って思ってたのですが、&lt;br /&gt;
そういうとき、Polymerのカスタムフィルタ機能でなんとかなりそう。&lt;br /&gt;
&lt;br /&gt;
[HTML側]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;スマイル{{ price | priceformat }}円&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Dart側]&lt;br /&gt;
&lt;br /&gt;
NumberFormat&amp;nbsp;nf = new NumberFormat(&quot;#,##0&quot;,&quot;ja_JP&quot;);&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
String priceformat( String str ) =&amp;gt; nf.format(str);&lt;br /&gt;
&lt;br /&gt;
以上。&lt;br /&gt;
&lt;br /&gt;
本家のPolymerでは、&lt;a href=&quot;https://www.polymer-project.org/docs/polymer/expressions.html#filter-parameters&quot; target=&quot;_blank&quot;&gt;HTML側でfilterに引数を設定することも可能&lt;/a&gt;なのだが、内部のソース(polymer_expressions/eval.dart)を見た感じ、無理じゃね？という感じ。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/7256782796007689957/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/dart-polymer.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/7256782796007689957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/7256782796007689957'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/dart-polymer.html' title='[Dart] Polymer : カスタムフィルタを作成する'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-5328918921718193734</id><published>2014-10-16T15:17:00.001+09:00</published><updated>2014-12-24T11:09:16.815+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><title type='text'>[Dart] Futureサンプル 連鎖編</title><content type='html'>Futureがまだ直感的に使えない。&lt;br /&gt;
パッと出てこない。&lt;br /&gt;
&lt;br /&gt;
下記は、Futureを連鎖させるサンプル。&lt;br /&gt;
FutureAの次にFutureBをやりたい時に使う。&lt;br /&gt;
&lt;br /&gt;
HttpRequest.getString(&quot;http://hoge.com/&quot;)&lt;br /&gt;
.then( (str) {&lt;br /&gt;
&amp;nbsp; var &amp;nbsp;result = str+&quot;hoge&quot;;&lt;br /&gt;
&amp;nbsp; return new Future.value(result);&lt;br /&gt;
})&lt;br /&gt;
.then( (r) {&lt;br /&gt;
&amp;nbsp; print(r); &amp;nbsp;// http://hoge.com/から取得した文字列にhogeを追加したもの&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/5328918921718193734/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/dart-future-chain.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/5328918921718193734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/5328918921718193734'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/dart-future-chain.html' title='[Dart] Futureサンプル 連鎖編'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-1060685854336537802</id><published>2014-10-06T17:03:00.001+09:00</published><updated>2014-12-24T11:09:16.796+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><title type='text'>[Dart] Polymer : Shadow Elementの取得</title><content type='html'>Shadow Element（ほんまもんのHtmlElement）を取得するには、&lt;br /&gt;
PolymerElementの$を使う。&lt;br /&gt;
&lt;br /&gt;
jQueryっぽいが、ここにはidしか指定できない。&lt;br /&gt;
（だって、Map&amp;lt;String,Element&amp;gt;だ）&lt;br /&gt;
&lt;br /&gt;
しかも、制限があって、template if等で消される可能性のあるものは検索できないようだ。&lt;br /&gt;
（polymer[0.12.2+1]で確認）&lt;br /&gt;
&lt;br /&gt;
&amp;lt;polymer-element&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;div id=&quot;hoge&quot;&amp;gt; &amp;nbsp;// ←これは取得可能&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;template if=&quot;{{ visible }}&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;div id=&quot;fuga&quot;&amp;gt; &amp;nbsp; // ←これは取得できない&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;/template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;template&amp;gt;&lt;br /&gt;
&amp;lt;/polymer-element&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
polymerの各種ケースのサンプル&lt;/h4&gt;
&lt;a href=&quot;https://github.com/dart-lang/polymer-dart-patterns&quot;&gt;https://github.com/dart-lang/polymer-dart-patterns&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/1060685854336537802/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/dart-polymer-shadow-element.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/1060685854336537802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/1060685854336537802'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/dart-polymer-shadow-element.html' title='[Dart] Polymer : Shadow Elementの取得'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-3331918215989713198</id><published>2014-10-06T16:55:00.000+09:00</published><updated>2014-12-24T11:09:16.805+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><title type='text'>[Dart] Polymer : inputのchangeイベント</title><content type='html'>inputでのon-changeイベントは、focusをlostした時の意味。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
編集内容の変更をリアルタイムでウォッチするイベントはon-inputだ。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ただそれだけ。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/3331918215989713198/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/dart-polymer-inputchange.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/3331918215989713198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/3331918215989713198'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/10/dart-polymer-inputchange.html' title='[Dart] Polymer : inputのchangeイベント'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-3182683583118068933</id><published>2014-09-10T23:57:00.000+09:00</published><updated>2014-12-24T11:09:16.801+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><title type='text'>Dart : packagesが空になってPub Getでエラーが出るようになった件</title><content type='html'>ある日、Dart Editorで謎の赤バッテンがでるようになった。&lt;br /&gt;
&lt;br /&gt;
packageのimportで「そんなpackageねぇ！」みたなエラーが出ていた。&lt;br /&gt;
&lt;br /&gt;
そんなはずない、と思いつつpackageのツリーを見てみると、確かに一部のpackageが空になっている。&lt;br /&gt;
&lt;br /&gt;
その時は、gitでbranchの切り替えを頻繁にやっていた。そのせいかもしれないなぁ、と思いつつ、Pub Getをやってみるも、&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Unhandled exception:&lt;br /&gt;Uncaught Error: FileSystemException: Cannot open file, path =...&lt;/blockquote&gt;
とエラーが出て進まず。&lt;br /&gt;
&lt;br /&gt;
万事休す…と思って、ネットの情報を漁っていたら…ありました。&lt;br /&gt;
&lt;a href=&quot;https://groups.google.com/a/dartlang.org/forum/m/#!msg/editor/Sel-OJd-vfw/1Z2z0wYvY08J&quot;&gt;https://groups.google.com/a/dartlang.org/forum/m/#!msg/editor/Sel-OJd-vfw/1Z2z0wYvY08J&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PubのCacheを削除するといいよ！ということらしいです。&lt;br /&gt;
&lt;br /&gt;
というわけでこの情報通り、&lt;br /&gt;
AppData/Roaming/Pub/Cache/hosted&lt;br /&gt;
の&lt;br /&gt;
pub.dartlang.org&lt;br /&gt;
を削除したらPub Getが通るようになって無事解決です！&lt;br /&gt;
&lt;br /&gt;
このネットの情報では、「Windowsのsymlinkはhellだよ！」みたいなセリフがありました。&lt;br /&gt;
いつもはMacでやっているのですが、たまたまWindowsでやらざるを得なくて、いざやったらコレだよ。&lt;br /&gt;
Windowsなんとかしてください。&lt;br /&gt;
&lt;br /&gt;
っていうか、Dart Editorのバージョン上げて今までのソースが動かなくなるのが怖くて、サブ機のWindowsで試したんだよね。Dartもそろそろ落ち着いて頂きたい！&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/3182683583118068933/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/09/dart-packagespub-get.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/3182683583118068933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/3182683583118068933'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/09/dart-packagespub-get.html' title='Dart : packagesが空になってPub Getでエラーが出るようになった件'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-8749682727255087323</id><published>2014-04-07T13:37:00.001+09:00</published><updated>2014-12-24T11:09:16.833+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><title type='text'>[Dart] Dartでパースしてくれない日付について</title><content type='html'>DartのDateTime.parseでは、&lt;br /&gt;
&quot;2014-04-01T01:02:03+09:00&quot;&lt;br /&gt;
の文字列をなぜか解析してくれない。&lt;br /&gt;
これってRFC3339でもISO8601でも定義されていると思うんだがー。&lt;br /&gt;
ホントにトホホだよ！&lt;br /&gt;
&lt;br /&gt;
というわけでDateFormatを使用した回避方法。&lt;br /&gt;
&lt;br /&gt;
まず、intlパッケージをインストール&lt;br /&gt;
pubspec.yamlのdependenciesに「intl:any」を追記する。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
dependencies&lt;span class=&quot;s1&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&amp;nbsp; &amp;nbsp; intl&lt;span class=&quot;s1&quot;&gt;:&lt;/span&gt; any&lt;/div&gt;
&lt;br /&gt;
続いてソース。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; &lt;/span&gt;&#39;package:intl/intl.dart&#39;&lt;span class=&quot;s2&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s2&quot;&gt;…&lt;/span&gt;&lt;/div&gt;
var df = new DateFormat(&quot;y-M-dTH:m:sZ&quot;);&lt;br /&gt;
var t = df.parse(&quot;2010-10-12T13:20:30+09:00&quot;);&lt;br /&gt;
&lt;br /&gt;
print(t)&lt;br /&gt;
print(t.toUtc())&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
これで出力内容は、&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
2010-10-12 13:20:30.000&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
2010-10-12 04:20:30.000Z&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
となる。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
面倒すなぁ。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/8749682727255087323/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/04/dart-dartrfc3339.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/8749682727255087323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/8749682727255087323'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/04/dart-dartrfc3339.html' title='[Dart] Dartでパースしてくれない日付について'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-764230758466289321</id><published>2014-01-07T10:45:00.000+09:00</published><updated>2014-12-24T11:09:16.828+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dart"/><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><title type='text'>[Dart] コマンドラインアプリのためのDart資料</title><content type='html'>サーバーサイドもしくはコマンドラインアプリのためのDartのサンプルが用意された。&lt;br /&gt;
Dartはブラウザアプリだけではないよ、ってことを本気で言いに来たようだ。&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Dart By Example&lt;/h4&gt;
&lt;a href=&quot;https://www.dartlang.org/dart-by-example/#dart-io-and-command-line-apps&quot;&gt;https://www.dartlang.org/dart-by-example/#dart-io-and-command-line-apps&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
載っている情報は下記の通り。&lt;/div&gt;
&lt;h3&gt;
ファイル関連&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ファイル操作、ディレクトリ操作、シンボリックリンクの作成&lt;/li&gt;
&lt;li&gt;文字列の読み込み、書き込み&lt;/li&gt;
&lt;li&gt;バイト配列の読み込み、書き込み&lt;/li&gt;
&lt;li&gt;テンポラリファイル、ディレクトリの作成&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
&#39;package:http/http.dart&#39;を使ったHTTPリクエスト&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;GET＆POST&lt;/li&gt;
&lt;li&gt;※同じサーバーに連続してリクエストするときClientを再利用する技が目からウロコ&lt;/li&gt;
&lt;li&gt;レスポンスの読み込み。文字列もしくはバイナリで。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
&#39;package:http_server/http_server.dart&#39;を使ったWebサーバー&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;バインド…HttpServer（これはdart:io）&lt;/li&gt;
&lt;li&gt;ファイルを返すだけのディレクトリ専用クラス…VirtualDirectory&lt;/li&gt;
&lt;li&gt;特定のURLパターンで処理を振り分ける…Router, UrlPattern&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
その他&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Socket通信…ServerSocket, Socket&lt;/li&gt;
&lt;li&gt;WebSocket…WebSocketTransformer, WebSocket&lt;/li&gt;
&lt;li&gt;OS情報取得…Platform.environment, Platform.operationgSystem&lt;/li&gt;
&lt;li&gt;スクリプト自身のパスを取得…Platform.script&lt;/li&gt;
&lt;li&gt;外部コマンドの実行…Process&lt;/li&gt;
&lt;li&gt;URLやファイルパスの連結、分解、相対パス化、解析…&#39;package:path/path.dart&#39;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/764230758466289321/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2014/01/dart-dart.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/764230758466289321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/764230758466289321'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2014/01/dart-dart.html' title='[Dart] コマンドラインアプリのためのDart資料'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-6848607834042340258</id><published>2013-12-13T13:23:00.001+09:00</published><updated>2014-11-13T14:15:27.379+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Go"/><category scheme="http://www.blogger.com/atom/ns#" term="golang"/><title type='text'>[Go言語] 豆知識、小ネタ</title><content type='html'>まだまだよくわかっていないGo言語。&lt;br /&gt;
何をするにもどん詰まる。とにかく小ネタを記録する。&lt;br /&gt;
&lt;h3&gt;
byte配列を文字列(string)に変換する&lt;/h3&gt;
var s = make([]byte,10)&lt;br /&gt;
s[0] = &#39;a&#39;&lt;br /&gt;
fmt.Printf(&quot;result=%s&quot;,string(s) )&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
stringをbyte配列に変換する&lt;/h3&gt;
s := &quot;test&quot;&lt;br /&gt;
b := []byte(s)&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
何でも入るmapを作る(keyは文字列)&lt;/h3&gt;
m := make(map[string]interface{})&lt;br /&gt;
m[&quot;first&quot;] = &quot;test&quot;&lt;br /&gt;
fmt.Printf(&quot;result=%s&quot;,m )&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
mapをJSON化する&lt;/h3&gt;
&quot;encoding/json&quot;のimportが必要&lt;br /&gt;
&lt;br /&gt;
m := make(map[string]interface{})&lt;br /&gt;
m[&quot;f&quot;] = &quot;test&quot;&lt;br /&gt;
r,_ := json.Marshal(m);&lt;br /&gt;
&lt;br /&gt;
fmt.Printf(&quot;result=%s&quot;,string(r) )&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
JSON文字列をmap化する&lt;/h3&gt;
&lt;div&gt;
&quot;encoding/json&quot;と&quot;strings&quot;のimportが必要&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
s := strings.NewReader(`{&quot;f&quot;:&quot;test&quot;}`)&lt;/div&gt;
&lt;div&gt;
d := json.NewDecoder( s )&lt;/div&gt;
&lt;div&gt;
m2 := make(map[string]interface{})&lt;/div&gt;
&lt;div&gt;
d.Decode(&amp;amp;m2)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
fmt.Printf(&quot;result=%s&quot;,m2 )&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
TimeをJSON化する&lt;/h3&gt;
&lt;div&gt;
time.Timeはjson.MarshalでJSON化してくれないようだ。&lt;/div&gt;
&lt;div&gt;
というわけで、マニュアルでJSON化。&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
t := time.Now()&lt;/div&gt;
&lt;div&gt;
s,_ := t.MarshalJSON()&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
fmt.Printf( &quot;%s&quot;, s )&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
stringからReaderを作成する&lt;/h3&gt;
&lt;div&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;import (
  &quot;strings&quot;
)
s := strings.NewReader(`{&quot;f&quot;:&quot;test&quot;}`)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Readerからbyte配列に変換する&lt;/h3&gt;
&lt;div&gt;
&lt;pre&gt;&lt;code&gt;import (
  &quot;bytes&quot;
  &quot;strings&quot;
)

r := strings.NewReader(&quot;hoge&quot;)
var buf bytes.Buffer
buf.ReadFrom(r)
b := buf.Bytes()&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
文字列リテラルのダブルクォートの代わり&lt;/h3&gt;
&lt;div&gt;
HTMLでは、文字列リテラルを定義するのにダブルクォーテーションの他にシングルクォートが使えるがGo言語ではできないようだ。&lt;/div&gt;
&lt;div&gt;
その代わりにGo言語では`（バッククォート）を使う。へぇ〜&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/6848607834042340258/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2013/12/go.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/6848607834042340258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/6848607834042340258'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2013/12/go.html' title='[Go言語] 豆知識、小ネタ'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-5027470308261823123</id><published>2013-12-12T12:39:00.002+09:00</published><updated>2014-10-22T17:12:59.243+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><category scheme="http://www.blogger.com/atom/ns#" term="Polymer"/><title type='text'>[Dart] PolymerでObservableにsetterを使う</title><content type='html'>observableのプロパティに、setterを使いたいときってあるよね。&lt;br /&gt;
&lt;br /&gt;
こんな感じ。&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;
String _title = &quot;&quot;;
@observable String get title =&amp;gt; _title;
set title( String t ) =&amp;gt; _title = &quot;hoge $t&quot;;
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
で、html側で{{title}}ってやるわけですが。&lt;br /&gt;
でも、これ動きません！&lt;br /&gt;
&lt;br /&gt;
titleの実体がfunctionだからだと思いますが、変更イベントが飛ばないのです。&lt;br /&gt;
&lt;br /&gt;
というわけで、自分で変更イベントを飛ばせばOKとのこと。&lt;br /&gt;
具体的には、setterを下記のように変更します。&lt;br /&gt;
&lt;br /&gt;
set title( String t ) {&lt;br /&gt;
&amp;nbsp; _title =&amp;nbsp;notifyPropertyChange( #title, _title, t );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
notifyPropertyChangeの仕様は下記の通り。&lt;br /&gt;
&lt;br /&gt;
dynamic notifyPropertyChange(Symbol field, Object oldValue, Object newValue)&lt;br /&gt;
&lt;br /&gt;
戻り値はnewValueとなっています。&lt;br /&gt;
そして、これをするとgetterの@observableが不要になります。つまり、observableに頼らず、自前で変更イベントを出せるってことですね。&lt;br /&gt;
&lt;br /&gt;
…っていうか、#titleって何ヨ？&lt;br /&gt;
本来、const Symbol(&quot;title&quot;)としなければいけないっぽいが、表記を省略できるってことかね？&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
参考資料：&lt;/h4&gt;
同様の質問&lt;br /&gt;
&lt;a href=&quot;https://groups.google.com/a/dartlang.org/forum/#!topic/web-ui/hxCqmwjnLIA&quot;&gt;https://groups.google.com/a/dartlang.org/forum/#!topic/web-ui/hxCqmwjnLIA&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
まさにこれのサンプル&lt;br /&gt;
&lt;a href=&quot;https://github.com/sethladd/dart-polymer-dart-examples/tree/master/web/setter_with_observable_property_change&quot;&gt;https://github.com/sethladd/dart-polymer-dart-examples/tree/master/web/setter_with_observable_property_change&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/5027470308261823123/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2013/12/dart-polymerobservablesetter.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/5027470308261823123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/5027470308261823123'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2013/12/dart-polymerobservablesetter.html' title='[Dart] PolymerでObservableにsetterを使う'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-407723961119602588</id><published>2013-12-11T18:12:00.001+09:00</published><updated>2014-10-22T17:12:59.237+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><category scheme="http://www.blogger.com/atom/ns#" term="Polymer"/><title type='text'>[Dart] PolymerElementを動的に作成</title><content type='html'>PolymerElementを状況に応じて動的に作成すること、したいよね〜。&lt;br /&gt;
&lt;br /&gt;
Seth Laddのサンプルによると、ore-tagというカスタムタグがあるとして、&lt;br /&gt;
&lt;br /&gt;
querySelector(&quot;#place&quot;).childlen.add( new Element.tag(&quot;ore-tag&quot;) );&lt;br /&gt;
&lt;br /&gt;
とすればいけるとのこと。&lt;br /&gt;
&lt;br /&gt;
確かにこれで問題なく動くのだが、ワナがひとつ。&lt;br /&gt;
Pub Buildすると正しく動かんのだ、これが。&lt;br /&gt;
&lt;br /&gt;
具体的には、enteredViewが呼ばれない。グハッ！&lt;br /&gt;
&lt;br /&gt;
バグじゃね？&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/407723961119602588/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2013/12/dart-polymerelement.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/407723961119602588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/407723961119602588'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2013/12/dart-polymerelement.html' title='[Dart] PolymerElementを動的に作成'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-8619169619405315602</id><published>2013-12-10T18:42:00.000+09:00</published><updated>2014-10-22T17:12:59.260+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><category scheme="http://www.blogger.com/atom/ns#" term="Game"/><title type='text'>[Dart] ゲーム作ってみた</title><content type='html'>Dartでゲーム作ってみたよ。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.niku-mansei.com/contents/05club/club04game00.html&quot;&gt;http://www.niku-mansei.com/contents/05club/club04game00.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Canvasバリバリ系。&lt;br /&gt;
フレームはいわゆるsetTimerで取っている。&lt;br /&gt;
&lt;br /&gt;
スマホでも動作するけど古い端末だとちょっと重いかも。&lt;br /&gt;
描画をキレイにするために、実は倍の解像度で描画してるんだが（いわゆるRetina対応）それが原因っぽい。&lt;br /&gt;
&lt;br /&gt;
しかし、Dartは楽ちんですな〜。&lt;br /&gt;
もう、JavaとかObjective-Cとかやる気しないな〜。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/8619169619405315602/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2013/12/dart.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/8619169619405315602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/8619169619405315602'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2013/12/dart.html' title='[Dart] ゲーム作ってみた'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4751424520161692407.post-3184636072850033606</id><published>2013-11-29T19:05:00.001+09:00</published><updated>2014-10-22T17:12:59.228+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dartlang"/><category scheme="http://www.blogger.com/atom/ns#" term="Polymer"/><title type='text'>[Dart] Polymer 資料＆豆知識</title><content type='html'>DartでWebアプリを作るならPolymerってヤツを使わずにはいれないよね。&lt;br /&gt;
ということで、下記、勉強のための資料。&lt;br /&gt;
&lt;h4&gt;
Seth Laddによるサンプル&lt;/h4&gt;
&lt;a href=&quot;https://github.com/sethladd/dart-polymer-dart-examples/tree/master/web&quot;&gt;https://github.com/sethladd/dart-polymer-dart-examples/tree/master/web&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
Polymerのサイト&lt;/h4&gt;
&lt;a href=&quot;http://www.polymer-project.org/&quot;&gt;http://www.polymer-project.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4&gt;
templateのリファレンス&lt;/h4&gt;
&lt;a href=&quot;http://www.polymer-project.org/platform/template.html&quot;&gt;http://www.polymer-project.org/platform/template.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
豆知識&lt;/h2&gt;
&lt;h3&gt;
on-clickのコールバックメソッドの引数は決まっている。&lt;/h3&gt;
void handle(Event e, var detail, Element target )&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 0px; orphans: auto; text-align: start; text-indent: 0px; widows: auto;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
on-clickのコールバックに独自の引数を渡したい時は独自attributeを使う。&lt;/h3&gt;
&lt;i&gt;HTML&lt;/i&gt;&lt;br /&gt;
&amp;lt;td on-click=&quot;{{handle}}&quot; data-key=&quot;{{data.key}}&quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Dart&lt;/i&gt;&lt;br /&gt;
void handle(Event e, var detail, Element target ) {&lt;br /&gt;
var hoge = target.attributes[&#39;data-key&#39;];&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h3&gt;
PolymerElementにて表示開始を取る時は、enteredView()をオーバーライドする。&lt;/h3&gt;
void enteredView() {&lt;br /&gt;
&amp;nbsp; print(&quot;表示されたなう&quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
PolymerElement内でquerySelectorするときはshadowRootを使う。&lt;/h3&gt;
void enteredView() {&lt;br /&gt;
&amp;nbsp; var e = this.shadowRoot.querySelector(&quot;#mes&quot;);&lt;br /&gt;
&amp;nbsp; e.text = &quot;表示されたなう&quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
PolymerプロジェクトをJavaScriptアプリとしてエクスポート&lt;/h3&gt;
通常のDartプロジェクトはdart2jsを使うんだが、Polymerプロジェクトの場合は、「Pub Build」を使うんだと。以前はPub deployとか--deployオプションとか存在していたけど、現在はこのPub Buildに一本化されている。&lt;br /&gt;
手順は下記の通り。&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;pubspec.yamlのentry_pointsが正しいことを確認。&lt;/li&gt;
&lt;li&gt;pubspec.yamlをOverviewで開いて「Run pub build」をクリック。もしくは、エントリポイントのhtmlを右クリックし、「Build Polymer App」を実行。もしくは、build.dartをRun。&lt;/li&gt;
&lt;li&gt;しばらく待つと、結果がbuildフォルダにエクスポートされる。&lt;/li&gt;
&lt;li&gt;buildフォルダのエントリポイントとなるhtmlを右クリックし「Run as JavaScript」を実行。&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
おっと、packagesの中身まで実体化されているじゃないですか。こりゃ便利！&lt;br /&gt;
もしかしたら通常のDartプロジェクトもPub Buildできるのかしら〜！&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
htmlからアクセスするプロパティには@publishedが必要&lt;/h3&gt;
DartのクラスのプロパティにPolymerのhtmlからアクセスしようとするじゃないですか。これ実は「@published」が必要なんですよ。知ってました？&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;{{hoge.fuga}}&amp;lt;/div&amp;gt;　←htmlでこうなっていたら…&lt;br /&gt;
&lt;br /&gt;
class Hoge {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;@published String fuga;　←こうする必要がある！&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
これが無くてもDartrium上で平気で動いちゃうのでホンマかいなと思うのですが、なんとこれ、Pub Buildすると動かなくなるんですよ！！&lt;br /&gt;
難読化されたソースでエラーが出るとホント心折れそうになりますよ！&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
querySelectorで取得したElementからPolymerElementのインスタンスを取得&lt;/h3&gt;
下記のようなPolymerElementのカスタムタグが入っているとして…&lt;br /&gt;
&amp;lt;hoge-hoge id=&quot;hoge&quot;&amp;gt;&amp;lt;/hoge-hoge&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xtagを使用すればインスタンス取得可！&lt;br /&gt;
var e = querySelector(&quot;#hoge&quot;);&lt;br /&gt;
var p = e.xtag as PolymerElement; ←ですよ！知ってました？&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://dadamorediary.blogspot.com/feeds/3184636072850033606/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://dadamorediary.blogspot.com/2013/11/dart-polymer.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/3184636072850033606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4751424520161692407/posts/default/3184636072850033606'/><link rel='alternate' type='text/html' href='http://dadamorediary.blogspot.com/2013/11/dart-polymer.html' title='[Dart] Polymer 資料＆豆知識'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09706004055440121254</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>