「フロントエンドで普及が進むビルドツールたち」 インフラエンジニアの祭典「July Tech Festa 2014」でフロントエンドの自動化の話をしてきました。(まだ6月だけど) http://2014.techfesta.jp/

script要素で変数を定義 スクリプトの読み込み前に、引数とする変数をスクリプトで定義します。 <script type="text/javascript"> var a = 123; var b = 'abc'; </script> <script type="text/javascript" src="sample.js"></script> スクリプトが読み込まれた時点でグローバル変数として定義されているため、スクリプト側で特別に値を取得する必要はありません。なお、この例ではインライン スクリプトとして記述していますが、外部スクリプトとして読み込んでも同じです。 単純でブラウザの実装にも依存しないため、これが最も確実な方法です。 HTML要素の属性値に値を記述 HTML要素の属性に、引数とする値を記述します。このとき要素にIDを設定しておくと、その要素を参照しやすくなります。 たと
最近のテスト環境 最近、ブログ書かないうちに、また、 自分のjs周りのテストやビルド環境が変わってきた。 具体的には、karmaとかgulpとかに変わった。 今日は、 その環境にしてどうだったか?とか、 設定ファイル(gulpfile)とか書いてみる。 去年と今年と 去年、勉強会等でyeomanとかgruntの話をしていて、このblogでもどこかに書いてた。 テストはmocha chaiが良いのかなーと思ってた。これもblog書いた。 所が、世の中どんどん変わっていく。 最近の環境 今はこんな感じ。 build tool gulp test jasmine2 sinon karma gulp vs Grunt gulpどうなんだろう?と思いながら色々試していくうちに、かなりしっくりきた。 stream baseで書き易いので、カスタマイズし易い。 gruntは、設定ファイルが何画面にも渡っ
最近、mocha をつかってテストを書くのが楽しくなってきました。でも、テストの数が増えてくるとローカルでの実行だけでなく、CI 環境が欲しくなりますよね。github にあげられるようなプロジェクトだったら、Travis CI も良いですが、実際に仕事で使うとなると、既存の Jenkins と組み合わせてやる必要ができてきたので、実際にやってみました。 基本的な手順は以下の通りです。 mocha でテスト結果を TAP 形式でファイルに出力する 出力したファイルを Jenkins の TAP Plugin に読み込ませる 簡単ですね。 実際にやってみた というわけで、以下のような最小構成で試してみます。 myapp |- lib | |- calc.js | |- test | |- calc.test.js | |- package.jsonここには書いていませんが、実際は git で
■ [ruby][rails] rails と bower を組み合わせて assets を良い感じに使う術 npm と bower と grunt を使って javascripts のテストに必要なライブラリをインストールするようにした by hsbt · Pull Request #414 · tdiary/tdiary-core で導入した npm, grunt, bower の組み合わせで javascript/css をかなり良い感じに organize するという仕組みを production の rails に投入した。 準備としてはまず nodejs を使えるようにするところから開始。これは cli さえ満足に動けばいいので xbuild を使ってビルドしたものを /opt/node-x.y.z とか /usr/local/node-x.y.z に置いて /usr/loca
JavaScriptでフレームワークを書くのはもうやめましょう。 JavaScriptフレームワークというものは、あたかも避けられない死と税金のようなもの、絶対にぶちあたる避けられないものといわれています。こっそり聞いてみましょう、新しいウェブプロジェクトが始まるとき、一番初めに聞かれる質問は?十中八九は「どのJSフレームワーク使っているの?」でしょうね。昨今の業界においてJSフレームワークというものは本当に根深く浸透しているのです。でも、だから必須だというものではないのです。実際、もう使うべきではないのです。 どうしてこういった結論に至ったのか、振り返ってみましょう。 AngularにBackbone、Ember・・・ ここのところ長い間、 ウェブプラットフォーム とはHTML+CSS+JS、と簡潔に技術用語の羅列でまとめられてしまっていましたが、そこにはもっとぴったり表す用語“大混乱”
Vue.jsはそのまま使ってもよいですが「自分(プロジェクト)に合ったフレームワーク」を見つけるのにも向いています。 これは、後発フレームワークだけあり各フレームワークの特徴を意識した設計がなされているためです。他の著名なフレームワークとの特徴を比較した文書もあるので、こちらをチェックしながら導入を検討するとよいと思います。 そのため、以下はVue.jsの紹介と他フレームワーク(Knockout.js と Angular)へのステップという2セクションに分けて紹介していきたいと思います。 JavaScriptフレームワークの導入を行いたいがこの選択は慎重にいきたい、という状況であれば最初にVue.jsを試金石としてみて、効果的と感じられる機能からAngularやKnockout.jsに流れていくというのは十分ありだと思います。 2016/06: Vue.jsの1.x系に合わせて記述・サンプ
Takuto Wada @t_wada TJ が component を開発するにあたっての所信表明エントリ。なぜ npm や bower や browserify とは別のものを開発することにしたか。 / “Components - TJ Holowaychuk” htn.to/713F39 2014-06-17 17:36:01
Tools, patterns & Architecture By Enrique Amodeo / @eamodeorubio Enrique Amodeo (who is this guy?) Programming since 1984 Currently Software Engineer at SoundCloud Has loved JS since 2005 Test infected Enthusiast of the Agile/Lean way Follow me at @eamodeorubio This talk To cucumber or not to cucumber No need to test the UI? I want my UI tested Testing xBrowser issues Maintainable tests Conclusion
無限スクロールとは、ページの下部までスクロールすると自動的に新しい要素が追加される機能のこと。TwitterなどのSNSのタイムラインを初めとして様々なウェブサイトで使われているが、いくつかの問題点も指摘されている。 無限スクロールのよく知られた問題点と、それに対する解決方法をまとめた。 別のページに移動してから戻ると継ぎ足しがリセットされる リンクがクリックされたときは常に新しいウィンドウを開くようにしたり、 Lightboxのようなモーダルな擬似ウィンドウをページ内に開いたりすることで、ページの遷移そのものを抑制するという方法がある。 また、次の項目で紹介する「History APIでURLを書き換える」という方法を使えば、読み進んだ位置は復元される。 permalinkが取れない 同じページに次々と新しい内容が継ぎ足されていくので、いま自分が見ているページのURLが分からないという問
実務でよく使うhtml,css,jsの小技をつらつらと紹介します。 ※2/11のスクーの授業中で使った資料です。 https://schoo.jp/class/1776 【オシャレCSS編】 1. transformを使って要素を変形させるワザ 2. transitionを使い、CSSだけで簡単なアニメーションを行うワザ 3. keyframesを使ってCSSだけで複雑なアニメーションを行うワザ 4. 矢印アイコンをcssだけで表現するワザ 5. アイコンをアニメーションさせるワザ 6. CSSプロパティ”filter”で画像を加工するワザ 【地味だけど使えるワザ編】 7. 今どきの、要素を上下中央寄せにするワザ 8.「flexbox」で要素を自由自在に整列させるワザ 9. Windowsでwebfontをちょっとマシに見せるワザ 10. ア
手作りMEAN Stack 業務アプリをAngularJS+PHP+MySQLで組んでいたのですが、JavaScriptとPHPの文法の微妙な違いのおかげでケアレスミスが多く出てきてしまいました。 そこで、フロントエンドもバックエンドもJavaScriptで統一できる、流行りのMEAN Stack(MongoDB+Express+AngularJS+Node.js)を試してみようと考えた次第です。 MEAN Stackのひな形を作るツールもいろいろあるのですが、今回は手作りで作成してみます。 WindowsとUbuntuの導入方法を挙げますが、他のOSでもほとんど同じ感じでいけると思います。 M: MongoDBのインストール・設定 言わずと知れたNoSQL界の雄です。 Windowsの場合 http://www.mongodb.org/ こちらからダウンロードしてインストールします。今回
昨日の記事で書いたVOC (Vision Oriented Communication) の実装を支援するライブラリを作った。 https://github.com/ympbyc/VOC READMEを英語で書いたのでここに日本語版を書いとく。 VOCのコンセプト オブジェクト指向やアクターはpushベースだけど、実世界のコミュニケーションの多くはpullベースだ。 僕らはレシーバを指定したメッセージを送らない。 僕らは自分の見た目(e.g. 表情)や自分の周りの状態(e.g. 声)を変える能力を持っている。 僕らは自分の周りの景色を見て、情報を引き出して、それに基づいて行動する。 僕らはそれぞれバラバラに勝手に非同期に行動している 僕らは赤信号が見えたらブレーキを踏むわけで、赤信号が僕らのbrakeメソッドを呼んでくれるわけじゃない。 実装 VOC.Visual(state)は見た目を作
Backbone.js is a JavaScript framework for building flexible web applications. It comes with Models, Collections, Views, Events, Router and a few other great features. In this article we will develop a simple ToDo application which supports adding, editing, and removing tasks. We should also be able to mark a task as done and archive it. In order to keep this post's length reasonable, we will not i
Introduction When I began coding, error messages used to induce fear in me. I was afraid that each message was informing me of a convoluted problem; moreover, I was afraid that I couldn't resolve these problems. Where would I even begin? I eventually calmed down and let my eyes guide me towards a natural starting point: An error message. This observation was enlightening for me. I began shifting m
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く