タグ

2015年11月4日のブックマーク (7件)

  • Chrome開発者ツールの小技集 | POSTD

    最近、普段以上にChromeの開発者ツールを使うことに時間をかける機会がありました。その過程で、自分が今まで気づいていなかった機能をいくつか見つけました(少なくとも今までその機能を探す必要に迫られていなかった、とも言えるのですが。例えばブラックボックス化や非同期のスタックトレースなど)。そのため、開発者ツールでとても気に入っているいくつかの機能についてまとめてみたくなったのです。 小さな虫眼鏡ののアイコンは、特定の要素やCSSプロパティに対して、「どのCSSファイルに書かれているどのセレクタ/クラスが最終的なスタイルを決めているか」を示してくれます。例えば、どれかDOM要素に対して「要素を検証」を選び、右側の「Computed」というタブを選びます。確認したいCSSプロパティを見つけてその虫眼鏡アイコンをクリックすることで、すぐさま右側に正しいCSSファイル内のクラス/セレクタを表示してく

    Chrome開発者ツールの小技集 | POSTD
  • ReactとFluxでクライアントサイドの設計

    はじめに こんにちは。皆さんはReact使われてますでしょうか? 今回はReactとFluxについて書きます。 MVCの問題点 詳しくはこちらに書いていますが、MVCでアプリを作った場合は、ModelとViewの間で双方向のデーターフローが作られる可能性があるので理解したりデバックするのが難しくなります。 React単体で使った場合の問題点 子のViewでなにかアクションを起こした結果、親のViewにも変更を伝えてなににかをする場合、子のViewに親のViewのコールバック関数を渡す必要があります。 子のViewの下にさらに、子のViewがあって、アクションが起こった時に親のViewに伝えようとするとコールバックが深くなって複雑になってしまいます。 Flux それを解決できる方法としてFluxです。 Fluxを使うとデーターフローが一方向になります。 やってることはObserverパターン

    ReactとFluxでクライアントサイドの設計
  • Airbnbのメインデータベースをどうやって2週間で分割したか | POSTD

    スケーリング=時速160㎞で走行しながら自動車の全ての部品を取り替えること -Mike Krieger  Instagramの共同設立者@ Airbnb OpenAir 2015 Airbnbのピーク時のアクセス数は、毎年夏のピーク時で見ると年率3.5倍で増加しています。 2015年夏の旅行シーズンを前に、Airbnbの基盤チームは、夏季のアクセスで予想されるデータ通信量に対処するため、データベースのスケーリングで忙殺されていました。中でも特に全体への影響が大きかったプロジェクトが、特定のテーブルを、アプリケーションの機能に従ってそれぞれのデータベースに分割することを目的としたプロジェクトでした。これは通常、アプリケーション層のフォームの変更やデータ移行、データの整合性を保証する堅牢性テストなど、最小限のダウンタイムで多大な技術投資を必要とするものです。何週間もかかるエンジニアリング時間

    Airbnbのメインデータベースをどうやって2週間で分割したか | POSTD
  • Redis 本番障害から学んだコードレビューの勘所

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Redis不適切利用による問題は番運用が始まってから顕在化することが多く、時限爆弾みたいな存在です。事前に防ぐにはコードレビュー段階で叩くしかありません。 Redisはスクリプト言語と相性が良く、適切に利用するとRDBと比較し驚くほど高速なプログラムを組むことができます。昨年尊敬する先輩にコードレビューで斧100くらい(レビューコメント)投げられて血まみれになりつつ学んだことを、まとめて書いてます。概要は『消えても良いデータならRedis』 Redisのメモリが溢れたら... (この話は事実ではなくファンタジーです。) 深夜電話で叩

    Redis 本番障害から学んだコードレビューの勘所
  • 速報:仮想 DOM は殺された。誰に? magnum.js に - Qiita

    mag.module('lister', { controller: function(props) { this.item = [1, 2, 3] this.title = 'Lister' }, view: function(state, props, element) { state.h2 = { _text: state.title, _onclick: function() { state.show = state.show ? !state.show : true state.item.reverse() state.title = 'Gister' + state.show } } } }) mag.module の第一引数、lister は <div id="lister"> と対応しており、ここで両者が結ばれます。controller 関数は一度だけ呼ばれて、view 関

    速報:仮想 DOM は殺された。誰に? magnum.js に - Qiita
  • ECMAScript6にシンボルができた理由

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ECMAScript6 (ES6, ES2015) で導入された新機能の大半は、読めば便利さが想像くらいはできるけど、自分にとってしばらく訳がわからなかった新機能が「シンボル」(MDNのリファレンス)。これまで文字列だけで上手くやってきたJavaScriptに、急になぜこんなものが導入されたの? イマイチ分からなかったので、調べたことのまとめ。 シンボルの簡単なおさらい 知ってる人は読み飛ばし推奨。詳しく見たい人は、こことかの他のページを参照。 ES6で導入された、 Symbol() で作成できる特殊な値。 Symbol() は、 ty

    ECMAScript6にシンボルができた理由
  • この1年で反響が大きかったフロントエンド技術記事まとめ 2015年版 - Qiita

    2016年版はこちら 2016年反響が大きかったフロントエンド技術記事まとめ こんにちは、ICSの鹿野です。 普段、モバイルアプリ・Webサイト制作、勉強会登壇等をやっているのですが、2014年からICS MEDIAやQiita等でのフロントエンド技術の記事執筆を始めました。内容はHTMLJavaScriptSwift、タスクランナー、Photoshop等で、初学者にもわかりやすいようにできるだけ丁寧な記事を心がけています。 今回はこの1年で執筆した記事の中で、PV数、SNSのシェア数の点で反響が大きかったものをご紹介します。 #Photoshopについて Web用保存は古い!? JPEG画質が改善したPhotoshop CC 2015の新方式の画像保存機能まとめ – ICS MEDIA Photoshop CC 2015から新しく実装された新しい画像書き出し形式の比較記事です。GIG

    この1年で反響が大きかったフロントエンド技術記事まとめ 2015年版 - Qiita