Abstract HTML/CSS/JavaScriptを組み合わせてモノを作るフロントエンドの開発において、運用の効率アップとコードの破綻を回避するため、画面を構成するUIを、それなりの大きさの塊の集合として考えてコードを構成するのが一般的です。 このUIの塊のことは、「モジュール」「コンポーネント」「ブロック」「エレメント」など、様々な呼ばれ方をします。 HTMLとCSSを書く際、このコンポーネント(と呼ぶことにします)をどのくらいの大きさのものとして扱うかは、なかなか難しい問題です。私を含め、フロントエンドに従事する者の多くがこの不確定なコンポーネントの粒度(大きさ)に頭を悩ませていることでしょう。 HTMLとCSS的にコンポーネントをどう考えるかは、CSS設計方法論(CSS methodology)としてまとめられたものがいくつもあります。しかしその多くは、コンポーネントの粒度につ
Some people seem to be confused why Angular seems to favor the Observable abstraction over the Promise abstraction when it comes to dealing with async behavior. There are pretty good resources about the difference between Observables and Promises already out there. I especially like to highlight this free 7 minutes video by Ben Lesh on egghead.io. Technically there are a couple of obvious differen
英会話中級者と初級者との大きな違いは、“英会話フレーズを上手に使いこなせる事”が1点、そして“フレーズを選んで相手と話せる事”が2点目として挙げられます。 その大きな理由として、初級者と違いある程度の英語を使いこなす事ができるため、相手は初心者の頃のようにフレーズのニュアンスをそのまま受け取ってしまうからです。 例えば、日本語がほとんど話せない外国人から片言の日本語で「ミチ オシエロ」と道を尋ねられた場合、この人は外国の人なのに“日本語で話そうとしていて偉いな”と言う印象になりますが、ある程度日本語が話せる外国人から「道をオシエロ」と言われると、思わず“嫌です”と反発したくなってしまいますよね(笑)? それと同じで英会話中級者になると、フレーズを選んで英語を話さないと思わぬトラブルになってしまう事があります。 そこで、そんなトラブルを避けるために、ここでは日本人英会話中級者がトラブルになり
この記事はGoodpatchのエンジニアがお送りするGoodpatch Advent Calendar 2015の1日目の記事です! 1日目は最近Prottチームでおこなったテスト推進施策について書いてみようと思います! 私はProttというプロトタイピングツールの開発を担当しているのですが、Prottには今までサーバーサイドのコードにしか自動テストがありませんでした。 変化のサイクルが速く長期的な運用になる自社サービスは常にコードの形を変えていく必要がありますが、自動テストがないと気軽なリファクタリングをしていくことが難しくなってしまいます。 今回はテスト推進施策ということで、フロントエンド側のテスト環境構築とテストに関連する取り組みを行ったので、その内容をまとめたいと思います。 ポイントは以下の3点です! フロントエンドのテスト環境を作る → Karma + mocha + power
Angular is a popular JavaScript framework used for developing web applications, as well as mobile and desktop applications. It’s been a key tool for developers for more than eight years and is one of the most popular frameworks in use today. But what can it be used for? First, Angular can help organizations develop highly […] Having a good grasp of Angular is essential for any aspiring programmer
10分で実装するFlux 自己紹介 azu @azu_re Web scratch, JSer.info Flux /flˈʌks/ Fluxとは Facebookが提唱したSmalltalk MVCの焼き直し CQRS(Command Query Responsibility Segregation)と類似 データが一方通行へ流れるようにするアーキテクチャ ウェブUIについてそれを適応する 今日の目的 小さなFluxの実装を作りながらFluxついて学ぶ Fluxの特徴: Unidirectional data flow 本当にデータが一方通行に流れるのかを確認する Fluxでよく見る図 登場人物 何か色々いる Action Creators, Dispatcher, Store, React Views... Dispatcher = EventEmitterと今回は考える もっと実装的
There are many dermatologists that recommend yogurt for acne. The reasoning is that, if you choose the right yogurt that contains probiotics, then it can fight the bad bacteria that is partly responsible for the cause of acne. Dermatologists obviously aren’t going to tell you to get those fake sugary yogurt substitutes with a bunch of chemicals, artificial sweeteners and corn syrup (why not just u
Yesterday, I looked at how to create a simple modal window system in AngularJS. In that exploration, I used the $rootScope to bridge the gap between the modal Service and the modal directive. In the past, I've used the same approach to bridge the gap between a global uploader service and its Plupload directive. As it turns out, the scope tree acts as a wonderful pub/sub (Publish and Subscribe) mec
Hey! If you do front end development, you should know about CatchJS. It’s a JavaScript error logging service that doesn’t suck. Below is a graph over the amount of searches for AngularJS versus a bunch of other Single Page Application frameworks. Despite the flawed methodology, the story seems to be pretty clear: Popularity wise, Angular is beating the shit out of the other frameworks. I spent mos
If you're coming from a jQuery background, you're probably used to calling .abort() on the AJAX (Asynchronous JavaScript and XML) response object (jqXHR). In AngularJS, things are a little bit more complicated. AngularJS don't expose the .abort() method; but, it does provide a way to abort an active AJAX request. It lets you define a promise object that will abort the underlying request if and whe
{ "short_name": "Amaze App", "name": "Kinlan's Amazing Application", "icons": [ { "src": "launcher-icon-3x.png", "sizes": "144x144", "type": "image/png" } ], "start_url": "index.html", "display": "standalone" }
Material Design Lite Material Design Lite lets you add a Material Design look and feel to your websites. It doesn’t rely on any JavaScript frameworks and aims to optimize for cross-device use, gracefully degrade in older browsers, and offer an experience that is immediately accessible. Get started now. Templates The MDL components are created with CSS, JavaScript, and HTML. You can use the compone
1. Chrome DevTools.next 2012/12/21 Cyber Agent Toru Yoshikawa ( @yoshikawa_̲t ) 2. Who? 吉川 徹 / Toru Yoshikawa @yoshikawa_̲t C.A.Mobile Web先端技術フェロー Google API Expert ( Chrome ) コミュニティ活動 html5j.org/HTML5とか勉強会スタッフ ⽇日本jQuery Mobileユーザー会 管理理⼈人 Sublime Text 2 Japan Users Group 管理理⼈人 allWebクリエイター塾/jQuery Mobile担当講師 Blog: http://d.hatena.ne.jp/pikotea/ 3. 著書 「HTML5ガイドブック 増補改訂版」(
Updated 2014.02.16 / Published 2014.02.16 jQueryでdata-*属性を扱う際にjQuery.data()メソッドもしくはjQuery.attr()メソッドを使うことになるでしょうが、jQueryで扱えるdata-*属性のオブジェクトは前提としてキャッシュ仕様であることを理解しておかないと嵌ることが多々あります。 取得だけなら問題は起こらない <div id="user1" data-id="1" data-user="Jack" data-date-of-birth="2000-10-01">Jack</div> これらのdata-*属性を取得したい場合、jQueryであれば次のように記述します。 //data()の場合 jQuery("#user1").data("id"); // => 1 (数字扱い) jQuery("#user1").d
Create small, reusable CSS that scales as your website grows. Atomizer is an unopinionated CSS utility library for modern websites. Just add classes like D(f) and Fz(1.5rem) to your markup to efficiently style your website. Get Started Try it now! Meet Atomizer! Atomizer generates a simple static CSS stylesheet from the Atomizer classes you define in your project or predeclared configured styles -
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く