2013-01-01から1年間の記事一覧
Meteorはシングルページウェブアプリのプラットフォームです。 マルチページにするにはmrtでIron Routerパッケージを追加します。 https://github.com/EventedMind/iron-router Iron Routerは(シングルページウェブアプリを拡張したためか)基本的にクライア…
死活と詰め碁(@tsumego_bot)や囲碁対局中継「耳赤」を通じて画像投稿をしています。 ところが、この投稿画像、Twitter公式サイトでプレビューとして表示されない。画像は操作なく見えた方がいいので、なんでだろうと思いました。 png, gifはダメ? 調べた結…
Meteor社自身もお勧めのMeteor本"Discover Meteor"が本日だけ全文無料公開されています。 http://free.discovermeteor.com/
Meteor固有の話ではありませんが、面白いことが起こったので、実装含めてご紹介。Twitter APIとNPMのtwitterパッケージを使えば自動フォローバックが簡単に実装できます。 meteor add npm packages.json { "twitter": "0.2.4" }サーバー側 Twitter = Meteor.…
Meteorのaccounts関連のパッケージははアカウント管理にソーシャルサービス連携をサポートしています。 ユーザーにソーシャルサービスアカウントでアプリにサインインしてもらい時には、 accounts-facebook accounts-github accounts-google accounts-twitte…
Meteorでアプリケーションキャッシュを有効にする方法は簡単です。 meteor add appcache ピリオド。 これでマニフェストを自動生成してくれます。マニフェストはサーバーを再起動する度に再生成されます。 ウェブアプリ(クライアント)はマニフェストが更新さ…
Meteorでのユニットテストは、Meteorの部分に関してスタブを作って、Mochaで流すのが一番よさそうです。すいません、以下、CoffeeScriptでのコーディングを前提にしています。 share = {} Meteor = require: require users: findOne: -> methods: -> startup…
Meteorはでは、テンプレートHTMLにヘルパーメソッドでリアクティブなデータを盛り込むとそのHTMLの該当部分が自動的に更新されます。以下はMeteorの公式ドキュメントの例。 <body> {{> players}} </body> <template name="players"> {{#each topScorers}} <div>{{name}}</div> {{/each}} </template> Template.players.top…
Meteorは、デフォルトではシングルページのウェブアプリケーションを作ることになります。 (iron-routerというパッケージを追加すると、マルチページにすることができます)MeteorのHTMLファイルは実際にはHTMLではなく、htmlタグを含まず、headとbodyとtempl…
本格的なウェブアプリケーションを作ろうと思うと、既存のライブラリを活用することが事実上不可欠です。Meteorは、クライアント、サーバーともJavaScriptの世界ですから、クライアントではブラウザ用JavaScriptライブラリ、サーバーではNode.js用ライブラリ…
Meteorでアプリケーションを作るとき、最初に meteor create app-name を実行します。すると、app-nameという名前のフォルダーが生成され、中に必要なファイルやテンプレートが展開されます。 この状態でアプリケーションにはautopublishとinsecureというパ…
12月になると、各所でクリスマスまでプログラミング関連の記事を連載するAdvent Calendarが盛況になります。 私も遅ればせながらやってみようかと思いました。題材はMeteor。 http://www.meteor.com/ Meteorはウェブアプリケーションのプラットフォームです…
DraftPadとその後継Textwellの拡張方法を中心に独特の語り口調でiPadアプリを掘り下げるブログ「W&R: jazzと読書の日々」にテーブルトップをご紹介いただきました。 iPadのSafariで使えるOSXダッシュボード TableTop 元々(Macで)動いているものを(iPadで)動…
Meteor.methodsでTwitterに写真付きstatusの投稿をするコードを書きました。 最初非同期で書いたのですが、そしたらクライアント側で投稿が成功したかどうか確認するタイミングが得られませんでした。 で、Meteorのhttpパッケージを使って書き直したのですが…
進行中の対局をリアルタイムで中継するサイトを作りました。明日の名人戦第五局で早速運営する予定です。 気になる局面から検討をすることもでき、その結果を画像として添付してツイートすることができます。囲碁が好きで、Twitterをしていて、中継を見るほ…
「Dropboxは全部Pythonで信頼性の高いソフトウェアを作った」の中で「人生を変えた記事」として"Subject: How to duck type? - the psychology of static typing in Ruby"というメーリングリストへの投稿記事が紹介されていましたので、訳してみようかと思い…
iPad用iOS 7にはやっぱり計算機アプリがないということなので、iOS 7パクリの計算機ウェブアプリを作りました。 http://y-ich.github.io/Calculator/calculator7.html フラットデザインって、ずいぶんHTMLやCSSのコードが減りますね。
iOS 6では「ホーム画面に追加」したウェブアプリではwatchPositionのコールバックが1度しかコールされないという不具合がありましたが、iOS 7では直っていることを確認しました。 <html> <head> <meta charset="UTF-8" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <title>watch location</title> </head> <body> <script type="text/javascript"> navigator.geo…</body></html>
ご存知でしたら対処法教えてください。 Android Chromeで、タブを作成して以下のページにアクセスすると、#touch divをタッチしてもtouchstartがトリガーされません。ページをリロードすれば、トリガーされるようになります。初回ロードでもトリガーするよう…
Twitterから問いかけると、Wolfram|Alphaが答えてくれるTwitter bot @wb_botを多言語化しました。40カ国語以上です! (Microsoft Translator APIを利用させていただきました。)@wb_botにメンションする形で探索式を入力すると、答えがリプライされます。 @wb…
新Nexus 7を買って少しずつ触っています。iPadと比較していい点悪い点色々ありますね。ウィジェットはやっぱりいいなーと思いました。それほど役に立つという訳ではありませんが、華がある。で、iPadでもウィジェットを使いたくてサイトを作りました。 http:…
Maximaの日本語マニュアルを5.31.0に更新しました。 http://maxima.sourceforge.jp/maxima.html
諸般の理由により、年初以来、Maximaの日本語マニュアルの更新をさぼっていたのですが、5.30.0に更新しました。 http://maxima.sourceforge.jp/maxima.html
(注: 2013年10月9日、サイトをmaps2013.herokuapp.comからy-ich.github.ioに引っ越しました。) http://y-ich.github.io/maps/navi.html 最近、自転車で動き回っています。この前は住んでいる天理市から三重県の鳥羽市まで行ってきました。 ろくに地図を確か…
iOS Safariのaudio要素はユーザーイベントで再生をしないと音が出ないようになっています。iOS6でWeb Audio APIがサポートされ、この制約を緩和するノウハウが色々なブログで公開されています。 今回、このノウハウを実際に使うことになったので、CoffeeScri…
ナビゲーションアプリ、パズルのようなゲームをウェブアプリで作ると、iPhoneの自動ロックを抑制したくなります。ネイティブアプリならidleTimerDisabledプロパティを使うところです。 解はあって、それは10秒以下の短いaudioを鳴らし続けることです。 Mobil…
http://y-ich.github.io/maps/athlete-maps.html自分用のツールなので、無愛想ですが、URLだけ。
四路の純碁ゲームの兄弟、「四路の純碁ソルバ」を作りました。 http://y-ich.github.io/yonro/solver.html 問題を出すと、コンピュータが一生懸命解きます。
Bootstrap便利ですね。 でも、iPhone, iPadで使うとエフェクトのアニメーションがぎこちなくて重いアプリのように見えます。少し手を入れればスムーズになります。 bootstrap.cssの以下の部分を下のように直せばOK。 .modal.fade { -webkit-transition: opac…
要素のサイズを0にする iOS Safariではdisplay: noneにしてもaudio要素が200x16の基本サイズを持ち、レイアウトに影響を与えます。 CSSでサイズを0にしておきましょう。 audio { width: 0px; height: 0px; } 先頭から再生を始めるには例外処理を入れておく c…