タグ

ブックマーク / tech.nitoyon.com (57)

  • JavaScript フレームワークがデータバインディングを実現する4通りの手法

    最近流行りの JavaScript MV* フレームワークは、どれもデータバインディングをサポートしているが、実現方法はフレームワークによって異なる。 この記事では、各種フレームワークがどのようにモデルの変更を検知しているかを次の 4 つのパターンに分類して紹介する。 モデル クラス方式 (Ember.js、Backbone.js、Ractive.js、Knockout.js など) 力ずく方式 (AngualrJS) モデル書き換え方式 (Vue.js) Object.observe 方式 (Polymer) パターン名は私が勝手に名づけたものだけど、このへんの雰囲気が理解できれば、フレームワークごとの個性が分かるだろうし、利用イメージもわきやすいんじゃないかと思っている。 1. モデル クラス方式 「モデルとして扱えるのはフレームワークが用意したモデル クラスのインスタンスだけ」という

    JavaScript フレームワークがデータバインディングを実現する4通りの手法
    rikuo
    rikuo 2014/07/18
  • 全角半角混在の文章で 1 行に半角何文字分あるか調べる方法

    「ソースコードは 1 行あたり 80 文字以内」とか「コミットログは横幅 72 文字以内」とか、文字数に関するルールはいろいろある。 ルールを徹底するには機械的に判定したい。と思って、簡単なスクリプトを書こうとした瞬間、意外と「1 行あたりの文字数」をカウントするのが難しいことに気付いた。 たとえば、「あA」は「全角 1 文字+半角 1 文字」なので半角 3 文字分としてカウントしたい。 しかし、UTF-8 の世界では「あA」の文字長は 2 だし、バイト数は 4 (あ=0xE38182、a=0x41) である。 EUC-JP や Shift-JIS の時代なら、単純に「あA」は 3 バイトなので「半角 3 つ分」とすぐ分かったのだけども… (逆に文字長を調べるのが面倒だった)。 はて、どうするか? というのがこの記事でいいたいこと。 East Asian Width を見よ いろいろとググ

    全角半角混在の文章で 1 行に半角何文字分あるか調べる方法
  • D3.js の Data-Driven な DOM 操作がおもしろい

    D3.js は「ビジュアライズ用のライブラリー」だと紹介されがちなんだけども、意外にも D3.js にはグラフを描画する機能がない。 D3.js のトップページには次のように書いてある。 D3.js はデータからドキュメントを生成するためのライブラリーです。D3 は HTML, SVG, CSS を使ってデータに命を吹き込みます。Web 標準を重要視しているので、独占的なフレームワークに縛られません。強力なビジュアライズ用のコンポーネントと data-driven な DOM 操作手順を組み合わすことで、モダン ブラウザーの能力を最大限に活用できます。 D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG

    D3.js の Data-Driven な DOM 操作がおもしろい
    rikuo
    rikuo 2013/10/25
  • Node.js 0.12 では yield が使えるのでコールバック地獄にサヨナラできる話

    Node.js の次のメジャーバージョン 0.12 で yield が使えるようになります。 そのおかげで、JavaScript のコールバック地獄に光が差し込むのです。ああ、さようなら、コールバック地獄。 7 年ごしで実現した yield 2006 年、Firefox 2 のリリースと同時に yield は JavaScript 界に登場しました。随分と前の話ですね。 登場した当時は JavaScript 界隈でけっこう話題になっていました。 JavaScript 1.7 の yield が凄すぎる件について - IT戦記 Latest topics > JavaScript 1.7のyield文ってなんじゃらほ - outsider reflex JavaScript 1.7 の新機能: Days on the Moon 登場したときにはインパクト大きかったものの、結局 Firefox

    Node.js 0.12 では yield が使えるのでコールバック地獄にサヨナラできる話
  • jQuery 1.9 のソースマップ対応で圧縮版でもデバッグが簡単になった話

    jQuery 1.9 がリリースされました。1.9 の新機能の中ではあまり注目されていませんが、ソースマップに対応したのが地味に便利そうです。 というのも、圧縮版の jquery.min.js を使っていると 何か問題が起きたときにスタックトレースを眺めても jQuery の部分が意味不明 デバッガーで jQuery のソースにステップインしても意味不明 といった理由で、開発中には非圧縮の jquery.js を使うことが多かったわけです。 それが、1.9 からはソースマップに対応したので圧縮版のままでのデバッグが簡単になってます。 超簡単な使い方 ソースマップに対応したブラウザーは現時点では Google Chrome のみなので、Google Chrome の手順を説明します。 (Firefox はソースマップへの対応を計画中らしい) 事前準備を忘れずに Google Chrome

    jQuery 1.9 のソースマップ対応で圧縮版でもデバッグが簡単になった話
    rikuo
    rikuo 2013/01/29
  • 「いいね!」ボタンは XFBML 版を設置して Facebook に最適化すべき

    右側の最近のアクティビティが増えています。もうちょっと下にある「いいね!」一覧も増えますが、あまり目立ってません。 XFBML 版の「いいね!」ボタンを押してみる 押した状態になるところまでは同じだけど、コメント入力用のポップアップが出てきます。 通常の投稿としてタイムラインに表示されましたね。 単に「いいね!」したときに比べて、目立つようになりました。 じゃ、ニュースフィードはどうなる? 自分のタイムラインは分かったので、友達のニュースフィードではどうでしょうか。 Facebook の開発者向けドキュメントには If users do add a comment, the story published back to Facebook is given more prominence. もしユーザーがコメントしたら、コメント内容は Facebook に反映されて、さらに目立つようになり

    「いいね!」ボタンは XFBML 版を設置して Facebook に最適化すべき
  • 俺の最強ブログ システムが火を噴くぜ

    ブログを「はてなダイアリー」から、自分のサーバーに移転しました。 せっかく移転するなら、2012 年の流行を取り入れた挑戦的なブログにしてみたい!と思い、構想から半年、ついにこの日を迎えることができました。 せっかくなので、凝ったところを自慢させてください。 これが俺史上最強のブログ システムだ ブログ システムとして Jekyll を採用 Jekyll のプラグインを自作 (はてな記法対応、英語ブログとの統合) 履歴管理は GitHub を利用、git push で自動でデプロイ コメント欄には DISQUS を採用、旧ブログへのコメントはインポート済み HTML5 マークアップ、CSS3、レスポンシブ Web デザインでのモバイル対応 盛りだくさんですね。 詳しく説明していきます。 ブログ システムとして Jekyll を採用 最近では WordPress を選ぶのが普通でしょう。Wo

    俺の最強ブログ システムが火を噴くぜ
  • コンプガチャの確率マジックを中学生にも分かるように説明するよ - てっく煮ブログ

    コンプガチャが話題になっています。コンプガチャにハマりやすい理由として「最初は当たりやすいが、だんだん確率が低くなる」という指摘があります。なぜ「確率が低くなる」という現象おきるのでしょうか。この記事ではコンプガチャの裏側にある確率マジックを分かりやすく解説します。サイコロの面を全部そろえるゲームいちばん身近な確率といえばサイコロです。サイコロを使ったこんなゲームを考えてみます。サイコロ コンプのルール サイコロを 1 回振るには 10 円が必要。 6 つの面をすべてを出せば、ペットボトル飲料をプレゼント。「サイコロの 6 つの面をすべてコンプしよう」というゲームなので、シンプルな「コンプガチャ」といえます。このゲーム、あなたなら参加しますか?6 つの面を全部だせばよいので、運がよければ 6 回(60円)でペットボトルが手に入ります。なんだかお得そうです。ためしにやってみると・・・サイコロ

    rikuo
    rikuo 2012/05/11
  • 意外と多い!? Web フォントに対応していない環境 〜2012 年の Web フォント事情〜 - てっく煮ブログ

    html5Web フォントは「Web サイトにオリジナルのフォントを埋め込む」ための技術です。現行のブラウザーは全て Web フォントに対応している状況です。そんな状況であるため、絶対にコピペできない文章を作ったったwwww は Web フォントに依存したコンテンツでしたが、特別な配慮はせずに公開しました。しかし、公開後、Web フォントが適用されなかった複数の方から「コピペできるんだけどどういうこと?」「意味が分からない」というコメントがよせられました。そこで、Web サーバーのアクセスログを解析して「Web フォントに対応していない環境」がどの程度あったのかを調べてみました。4種類のフォーマット一口に Web フォントといっても、フォントのフォーマットは WOFF・TTF・EOT・SVG の 4 種類あります。今後は WOFF フォーマットが標準になっていくのですが、現在ではサポートし

  • 「コピペできない文章」がコピペできなかった理由 - てっく煮ブログ

    html5先日公開した 絶対にコピペできない文章を作ったったwwww はおかげさまで好評だったようで嬉しい限りです。「不思議!」「どういう仕組みなんだ?」という声も多かったので裏側を紹介します。コピペできない訳ではないタイトルは「コピペできない」としていいますが、実際にはコピペはできます。正確に表現すると「コピーすると違う文字になる」という状態になっています。 ではなぜ違う文字になるのでしょうか。結論をいってしまうと「そこにある文字が、人間の目に見える文字とは違う」からです。といっても、これでは分からないですね。今回のために作成された独自フォントトリックの肝は「フォント」です。フォントといえば、文字の見た目を変えるために利用するものです。たとえば、「ほ」という文字を「メイリオ」フォントで表示するとこうなります。フォントを変えて「HG創英角ポップ体」フォントで表示すると、ポップな雰囲気になり

    rikuo
    rikuo 2012/04/23
    SVGだと一字毎でなくて、複数の文字列を置き換えるやり方ができるけれども、 http://www.w3.org/TR/SVG/fonts.html#GlyphElementUnicodeAttribute 他のフォント形式はどうなんだろう。ま、対応ブラウザがネックなんですが。
  • 絶対にコピペできない文章を作ったったwwww - てっく煮ブログ

    html5一見、コピーできるように見えますが、ペーストしてみると・・・。ツイートする

  • 文字を制限した軽量な日本語 Web フォントを作成する方法 - てっく煮ブログ

    HTML5最近、Web フォントをつかってかっこいい表現をしているサイトも増えてきました。ただ、残念ながら 日語で Web フォントを使うのは厳しいのが現実です。というのも、日語には英数字・ひらがな・カタカナ・漢字・記号・・・など必要になる文字数が多すぎるため、フルスペックの日語の Web フォントはファイルサイズがすごいことになりそうです。そこで、「利用したい文字だけを含んだ Web フォントをその都度作ればいいんじゃね?」ということを考えてみました。アイデア自体は珍しいものではなく、例えば デコもじ というサービスは同じようなことをやってくれるようです(ただし、無料では「書体 1 つまで」「5 文字まで」など機能制限が大きい)。手始めに日語 Web フォントを作ってみるまずは簡単に日語 Web フォントを作る方法を紹介しておきます。無料で公開されているフォントの中にも、フォン

  • Google がまだ Flash を使っているサービスでみる脱 Flash の難しさ - てっく煮ブログ

    Flash, HTML5スマートフォンの普及が進む中、iPhone には Flash が搭載されず、Android 版 Flash は開発停止になるなど、遅かれ早かれ Web 上から Flash が消えていき、リッチな表現は HTML5 に置き換わっていくことは確実となりました。「これからは HTML5 だ」という印象を世間に強く与えたのが、2009 年の Google I/O でした。Google I/O 2009 レポート グーグルが賭けるHTML 5の未来 − @ITGoogle はそれ以降、多くのサービスに HTML5 を取り入れてきました。しかし、いまだに Flash を利用しているサービスがいくつかあります。この記事では HTML5 化していない、または、できていない 5 つの Google のサービスを通してどのこで Flash が使われているのかなぜ Flash が使われて

  • Flash 重いという人たち - てっく煮ブログ

    ここ最近、【Web屋限定】Flash・Silverlightお葬式会場 HTML5大勝利www | 教えて!はかどる速報はてなブックマーク - HTML5はFlashの3倍重かった! 描画パフォーマンスの比較 | ClockMaker Blogあたりボーっと見ていると、「Flash が重い」→「Flash なくなれ」といった話が出てくる。けども、叩くべきはそこじゃないような気がして twitter につぶやいていたのをこちらにも転載しつつ補足しておく。クソ重い Flash サイトについて 「Flash クソ重い、消えろ」と言ってる人、Flash が消えて HTML5 でクソ重い広告サイトが作られるようになったときに何て言うんだろう。 2012-02-23 00:18:13 via web 忌むべきはプラットフォームではなく、重くても良しとする広告主と制作会社。 2012-02-23 00:

    rikuo
    rikuo 2012/02/24
  • IE10 Metro 版では Flash が動かないので、いよいよ Flash 終わった感 - てっく煮ブログ

    win8, as3, msWindows 8 の情報がいろいろ出てきています。この中で気になるのが「Windows 8 の IE では Flash が動かない」という話です。ちょっと煽りすぎたかもしれないので、もう少し正確に説明してみます。2つの IE10Windows 8 には2つの Internet Explorer 10 が搭載されます。Metro 版 IE10従来版 IE10利用イメージ: Metro 版 IE10Metro というのは iOS や Android のようにタッチ端末でも使いやすいよう設計されており、Windows 8 の標準 UI に採用されています。Windows 8 を起動すると、タイル上のメニューが Metro で表示されます。タイルメニューの左上にある Internet Explorer を選択すると Metro 版 IE10 が回転しながら起動します。M

    rikuo
    rikuo 2011/09/17
  • ベジエ曲線の仕組み (1) - 昔話 - てっく煮ブログ

    asドローソフトなどでもお世話になることが多いベジエ曲線について解説していくシリーズ。小学生のころ、BASIC でのサンプルを入力して遊んでいたのですが、あまりのきれいさに衝撃を受けたプログラムがありました。それはこんな絵を出力するプログラムでした。左上と左下の点をそれぞれの x 座標、y 座標を少しずつ増やしながら、直線を引いています。いくつもの四角形が端に行くにしたがって変形していくところが、いかにも近未来風の CG に見えました(当時は)。しかも、この絵は直線だけで構成されているのに、カーブして見えるところが不思議でなりませんでした。さて、15年のときを経て、このプログラムを ActionScript で実装してみました。点をドラッグして曲線の変化を楽しんでみてください。前置きが長くなりましたが、実はこのカーブして見える曲線の部分は2次ベジエ曲線になっています。3つの黒い点がベジエ

  • HTML5 で書道が楽しめる The Shodo の完成度がすごい - てっく煮ブログ

    ちまたでは HTML5 が話題ですね。「HTML5 ではこんなこともできます」といった紹介はいろんなところでみかけますが、「じゃあ、ぶっちゃけ、どんなサイトが作れるのよ」がいまいち見えてない人も多いのではないでしょうか。そんな中、HTML5 の機能を活用した完成度の高いサイトが登場していました。その名も The Shodo。 The Shodo (http://www.theshodo.com/)ブラウザ上で書道体験The Shodo ではこんな感じにブラウザ上で書道を楽しむことができます。書くときにカーソルの位置に手が大きめに表示されるのが当に書道している気分にさせてくれます。硯をクリックして色の濃さを選んだり、筆をクリックして筆の太さを選んだりもできます。ちょっとした動画や BGM が雰囲気を盛り立てるトップページで [Write] を選ぶと書き始められるのですが、最初に動画で墨を擦

  • HTML5 雑感 - てっく煮ブログ

    twitter にちょぼちょぼ書いてたけど改めてまとめてみた。HTML5 の捕らえ方 HTML5 自体は Flash 対抗というよりも、Ajaxで作ってたようなサイトをより作りやすくするようなものなんだと解釈している。 2010-02-02 21:09:20 via web HTML5 vs Flash の話を見てて気になるのは、人によって Flash を何と捕らえるかが違うところ。videoタグで不要になるFlashは全体の一部だし、Flash使わなくてもできるようなところは既にHTML+JSに置き換わってる物も多い。 2010-02-02 21:09:33 via web JavaScript 使ってるだけで「Ajax だ」「Web2.0 だ」と言われた時代は去り、canvas つかってるだけで「HTML5 だ」と言われる時代がやってきました。 2010-02-11 10:10:53

    rikuo
    rikuo 2010/06/07
  • なぜ iPhone に Flash が搭載されないのか(Appleの弁) - てっく煮ブログ

    Apple のスティーブジョブズ CEO が公開した Thoughts on Flash を和訳してみた。この文章では、「なぜ iPhone、iPod、iPad に Flash が搭載されないのか」について Apple の立場から6つの理由を説明している。細切れにジョブズの口から理由が語られたことはあったが、まとまって文章化されたことはなかった。目次Flash はオープンじゃない全ての Web を見るために当に Flash は必要か?セキュリティとパフォーマンスを犠牲にしたくないFlash を使うとバッテリーが持たないFlash はタッチを前提としていない一番重要な理由Apple は Adobe と長い期間、関わり合ってきた。実際、我々が Adobe の設立者に会ったのは、彼らがガレージで起業したばかりのころだった。Apple はレーザープリンタに Adobe の Postscript

    rikuo
    rikuo 2010/04/30
  • 津波テロップでTBSが1人勝ちしていた件 - てっく煮ブログ

    チリで発生したマグニチュード8.8の地震の影響で、17年ぶりに大津波警報が発令されました。その影響もあって、2010年2月28日(日)のテレビ放送は NHK・民放各局で番組を中断して津波速報が流されました。津波警報地図番組の中断以外の時間は、津波警報の範囲を示す地図が常時表示されています。上の図のように、地図のせいで番組のテロップが隠れてしまって読み取れません。中には、飲店を紹介するコーナーで、お店の場所が津波警報地図に隠れて全く分からない、というケースもあり、店主にとっては宣伝効果ほぼゼロという悲しすぎるものもありました。もちろん、番組を編集したときはこんなところに津波情報が表示されるなんて思ってもいないわけで仕方のないことですが…。また、この津波情報は CM 中も表示されていたので、CM の種類によっては広告が意味をなさなくなってしまうものもありました。ところが TBS は…そんな中

    rikuo
    rikuo 2010/03/01