タグ

ブックマーク / efcl.info (27)

  • power-assertを使ったDoctestツール power-doctestを書き直した

    今回power-doctestをシンプルなものへと作りなおしました。 rewrite simply by azu · Pull Request #11 · azu/power-doctest 1.0未満のバージョンはツール自体に変換したコードの実行=>レポート表示の機能があったのですが、そこを削除して変換のみを行うように書き換えました。 実行機能はやっぱりとても複雑で、Nodeだけでも結構制御が大変なので、単純にassertに変換して後は他のツールと組み合わせて実行できるような形がいいかなと思いました。 使い方 azu/power-doctest さきほども書いたように変換機能しかないのでライブラリとして使うのがいい気がしますが、単純なファイルを指定して変換するCLIの機能だけは入っています。

    power-assertを使ったDoctestツール power-doctestを書き直した
    koba04
    koba04 2015/08/12
    sugoi
  • ブラウザでビジュアルテストをするreftest-runnerを作った

    概要 reftest-runnerというブラウザで描画内容やレイアウトといった表示結果をテストするためのライブラリを作りました。 要素技術としてはブラウザ、WebDriver API、レンダリングキャプチャ、画像Diffという感じです。 azu/reftest-runner 時間が無い人向け 以下のスライドに簡単にreftest-runnerやreftestとはなにか、どういうユースケースがあるのかが書いてあります。 reftest-runner-overview.pdf reftestとは reftest(Referrence Test)とは、2つのHTMLの表示結果(スクリーンショット)を比較することで表示結果が意図したものかをテストする方法です。 用意するHTMLとして以下の2種類を1セットとして用意して利用します。 テスト用HTML テストしたい機能を使って実装したHTML リファ

    ブラウザでビジュアルテストをするreftest-runnerを作った
  • ECMAScript 6ドラフトのDiff検索用リポジトリを作った

    タイトルから何を言ってるのか意味わからない気がするので順を追って解説。 スライド版: ECMAScript 6 Draft Hisotry Repo 2015-05-07現在、ES6の仕様はApril 14, 2015 Rev 38 Final Draftが公開されています。 Rev38とわかるようにドラフトは38回ぐらい更新されていて、ちょっとづつ追記されたり変更されたりして結構な変更履歴があります。 Growing #ECMAScript 2015(ES6) Drafts :) pic.twitter.com/tV60cjdmM8 — azu (@azu_re) May 3, 2015 これだけ長い間(4年ぐらい?)やってるとある時点では正しかったかもしれないけど、最終版では違うものになってるという挙動があったりします。 例えば、class構文で以下のようにして定義したmethod()

    ECMAScript 6ドラフトのDiff検索用リポジトリを作った
  • npmで名前空間を持ったモジュールを公開する方法(scoped modules)

    npmにモジュールを公開することは多くなってると思いますが、今までのnpmだと名前は早い者勝ちでした。 最近npm Private Modulesというprivateで扱えるモジュールを有料でサポートしましたが、これはscoped modulesをprivateで扱う時だけ有料でpublicで公開する時は無料で行えます。 scoped modulesというのは、@username/project-name という感じで、@ユーザー名がパッケージ名に入るので異なるユーザー間では重複しません。 The npm Blog — solving npm’s hard problem: naming packages 公開手順 実際にscoped modulesをpublicに公開する手順としては、 npm init --scope=<npmユーザ名> パッケージの名前が@<npmユーザ名>/パッケー

    npmで名前空間を持ったモジュールを公開する方法(scoped modules)
    koba04
    koba04 2015/05/01
  • material-fluxというFluxライブラリをREADME駆動で開発した

    material-fluxというFluxアーキテクチャの実装ライブラリを書きました。 Fluxって何?と思う人は以下などを見ると良さそうな気がします。 React: Flux Architecture - Video Tutorial Series @eggheadio Fluxとはなんだったのか + misc at 2014 - snyk_s log Fluxアーキテクチャの覚え書きを書いた - snyk_s log The Flux Quick Start Guide Getting To Know Flux, the React.js Architecture ♥ Scotch What the Flux? (On Flux, DDD, and CQRS) — Jack Hsu なぜ作ったか IDE readable(machine readable)なライブラリが欲しかったのがひと

    material-fluxというFluxライブラリをREADME駆動で開発した
  • #error_handling_sushi でPromiseのエラーハンドリングについて発表した

    #error_handling_sushiJavaScriptのエラーハンドリングについて議論した。 自分はPromiseのエラーハンドリングの握りつぶしの問題を見つけやすくするイベントの実装について、Promise Error Handlingという話をした。 ログ: #error_handling_sushi - Togetterまとめ #error_handling_sushi 始まった #寿司とは pic.twitter.com/XZe21QTsDO — Takuto Wada (@t_wada) March 6, 2015 – 基調講演 - teppeis これが #error_handling_sushi pic.twitter.com/vSLDpthYi4 — azu (@azu_re) March 6, 2015 #error_handling_sushi 基調講演 一

    #error_handling_sushi でPromiseのエラーハンドリングについて発表した
  • [2015-02] 最近のJavaScript AST標準化の動き

    以前書いた記事からのどんな感じの動きがあったのかまとめたものです。 最近気になったJavaScript AST周りの動き | Web Scratch 前回の記事 2015年の1月前後の内容が中心です。 前回のに比べ、JavaScriptのエコシステムの根幹でもあるパーサやASTの仕様まわりについての動きが最近活発なので、その辺を中心にまとめています。 RReverser RReverserさんはここ最近のJavaScript ASTに関係するところならどこでもみかけると思うので紹介。 主にacornのコミッターでもありますが、後ほど出てくるESTreeやBabelなど色々なところで活動しています。 またasterというASTの効率的に処理できるツールチェインを出したりしています。 AST周りでよく見る人やパーサをいかにまとめてあります。 JavaScript AST Links. esto

    [2015-02] 最近のJavaScript AST標準化の動き
    koba04
    koba04 2015/02/26
    めっちゃ詳しくてありがたい
  • Frontrend Conference アウトラインメモ

    Frontrend Conference - A conference for front-end developer(2015年2月21日開催) に参加してきたのでメモ 殆どCSS側のセッションにいたのでCSSが中心。 終わったあとに#ゴーヤsushiと#ルノアール_sushiをしたのでとても長かった。 Pragmatic Front-end Developer: From Artisan to Expert - 斉藤 祐也 基調講演 メンテンス性 WEBを構成するJS+CSS+HTMLはあんまりメンテしやすくない けど専門的な知識がなくてもかけてしまう学びやすさがある 言語的にシンプル コードスタイルガイドライン 多くの人が開発しても、一人の人が書いたように見えるようにしたほうがいい JavaScript IDOMATIC.js jQuery Code Style GuideLine

    Frontrend Conference アウトラインメモ
    koba04
    koba04 2015/02/22
    密かに登場してた
  • 歌舞伎座.tech#6「VirtualDOMとReact」 アウトラインメモ

    歌舞伎座.tech#6「VirtualDOMとReact」 - connpass に参加して来たのでメモ。 すべてのCSSに死を!これはJSerの叫び!- @kyo_ago スライド: CSSに死を!これはJSerの叫び! #kbkz_tech CSSが辛い CSSはカプセル化とか継承とか、プログラムからの概念がそのまま持ってこれない ReactStyle js-next/react-style JS内にStyleを埋め込むことができる そのままオブジェクト的に入れられる Template Stringsと合わせればその場でCSSを入れることができる styles=にスタイルを入れる セレクタをあまり考えなくていい style属性でスタイリングする 擬似要素、擬似クラスが全滅 :hover :active などが使えない。 CSSの継承などの概念が消える 自分で頑張る必要がある ユーザプレ

    歌舞伎座.tech#6「VirtualDOMとReact」 アウトラインメモ
  • Promise本が中国語と韓国語に翻訳されました

    タイトル通りJavaScript Promiseの中国語と韓国語の翻訳がそれぞれリリースされました。 中国語版 中国語の翻訳は以下から見ることが出来ます。 JavaScript Promise迷你书(中文版) liubin/promises-book オリジナルと同じAsciidoctorを使ってGitHubにて公開しています。 @liubinさんが中心となって翻訳されました。 韓国語版 韓国語の翻訳は以下から見ることが出来ます。 [한빛미디어 eBook] JavaScript Promise - eBook & DRM-free hanbit.co.krという韓国電子書籍のプラットフォームにて無料で公開されています。 JSer.infoの韓国語訳もやってくれているU-Yeongさんが翻訳されました。 中国語、韓国語の翻訳が殆ど同時にリリースされたのは驚きと共にとても嬉しいです。

    Promise本が中国語と韓国語に翻訳されました
    koba04
    koba04 2015/02/02
    awesome!
  • テストできないコードをE2Eテストを使ってリファクタリングしよう

    ユニットテストがしにくい状態となってるコードをTestiumを使ったE2Eテストを書いてリファクタリングしてみる話です。 例えば、以下のようなjQueryで書いたコードは外(テストコード)から取り出すポイントがないので、ユニットテストを書くのは難しいと思います。(そもそもViewのコードなので) 特定のバージョンでの変更点を簡単に確認できるよう、 「Aの列のラジオボタンを選ぶと同じ行より一つ下にあるBの列のラジオボタンを自動で選ぶ」 という補助機能 $(document).ready(function () { // seq: シーケンス番号 $.each(["new_version", "old_version"], function () { $("input[name='" + this + "']").each(function (idx, elem) { if (idx == 0

    テストできないコードをE2Eテストを使ってリファクタリングしよう
    koba04
    koba04 2015/01/27
    Testium知見だ
  • #reactsushi でESLintとtextlintの設計について話してきた

    #reactsushiをしてきたのでそれのメモです。 #reactsushi - Togetterまとめ これが #reactsushi pic.twitter.com/PFSYoyp2R5 — Yosuke FURUKAWA (@yosuke_furukawa) January 14, 2015 ハイライト Truly Isomorphic io.js 1.0.0リリース io.jsのロゴは何時決まったの? logo ideas · Issue #37 · iojs/io.js fs.exists()とfs.existsSync()はなぜDeprecatedになったの? fs: deprecate exists() and existsSync() · 5678595 · iojs/io.js 解決してる問題が少ない Expressが使いまくってる 代わりにfs.access()やfs.

    #reactsushi でESLintとtextlintの設計について話してきた
    koba04
    koba04 2015/01/15
    お疲れ様でした!
  • The Refactoring Tales - JavaScriptのリファクタリング本を読んだ

    GitHub: jackfranklin/the-refactoring-tales 読んだ日付: 2015年1月11日 まだ4章の途中までしか書かれてないですが、ウェブ版は無料で読めてPDF版等は買えるようになるようです(6-7章ぐらい予定) The Refactoring Tales - JavaScript Playground またGitHubにソースが公開されています(ウェブページはまだ反映されてない感じのtypoの修正等がありました) 感想 1,2章はフロントのJavaScriptで、jQuery世界を例にjQueryでべったり書いてしまったものをどうやって分けていくかの話。 1章はとても読みやすくて完成度もあるので読んでみるといい気がします、2章のカヌーセルの話はもっと深くやっても良かったような気がします。 縦に並ぶ$を見かけるとつらい感じになりますが、まずは手が出しやすい場

    The Refactoring Tales - JavaScriptのリファクタリング本を読んだ
    koba04
    koba04 2015/01/13
    面白そう
  • ライブラリをES2015(ES6)で書いて公開する所から始めよう

    この記事はECMAScript 2015の事始めとして、ライブラリをECMAScript 2015で書いて公開するというところから始めるのがいいのではという内容です。 ECMAScript 2015(ES2015)はES6とも呼ばれていてどちらも同じものを指しますが、この記事ではES2015に統一します。 ECMAScriptのバージョンについては次のページを参照してください。 ECMAScript · JavaScriptの入門書 #jsprimer 2018-12-27: 追記 textlint/textlint-rule-helperのmasterはTypeScriptの実装へ変換されています。 Babelの実装はhttps://github.com/textlint/textlint-rule-helper/tree/2.0.1から参照できます Babel から TypeScrip

    ライブラリをES2015(ES6)で書いて公開する所から始めよう
    koba04
    koba04 2015/01/09
    シンプルでいい
  • segmentio/dekuのコードリーディング

    VirtualDOM Advent Calendar 2014 9日目の記事。 segmentio/deku は最近出たばかりのVirtualDOMの実装ライブラリです。 小さくて読みやすく拡張性がある実装を目指していて、既にあるvirtual-domとは別に作り始めたのも微妙にComponent周りの考え方が違うからのようです。 読んだもの: deku 0.0.2 読んだ日付: 2014年12月9日 絶賛実装中な感じなので、これを見たからといってもどうという感じではないと思います。 基的なVirtual DOMの構造はあるので、そういう意味では読みやすいです。 基的な使い方 var component = require('segmentio/deku'); // Buttonのcomponentを作る // <button>とonClickした時のイベントがある var Butto

    segmentio/dekuのコードリーディング
    koba04
    koba04 2014/12/10
  • ES6+カジュアルトークでES7について発表してきた

    ES6+カジュアルトーク - connpass ES6+カジュアルトーク に参加と発表してきました。 自分は明日には使えなくなるES7トークというES7の話をしてきました。 「runstant 始めるEcmaScript6 入門」 by @phi_jp EcmaScript 6 のサンプル集 | runstant runstant jsfiddle的なツール ハンズオン let 2進数を直接書ける Lexical grammar - JavaScript | MDN デフォルトパラメータ 引数にデフォルト値を設定出来る 分割代入 template strings バッククオートでヒアドキュメントを書ける class syntax 「Node.js v0.12で使えるようになるES6+αの機能」 by @yosuke_furukawa Node.js v0.12で使えるようになるES6+の機

    ES6+カジュアルトークでES7について発表してきた
  • Virtual DOMを持つMV*ライブラリのmercuryについて

    最近node-webkitアプリを書く時、何かしらのMV*やデータバインディングライブラリと言われるものを試しているのですが、floating-memo.appではRaynos/mercuryを使いました。 mercury は小さなモジュールを組み合わせたライブラリとも言えますが色々特徴的です。 完全にモジューラーな実装 Virtual DOM FRP ファイルサイズが小さめ モジューラーな実装とは何かというとmercuryのindex.jsを見ると面白い事が書かれています。 /* Pro tip: Don't require `mercury` itself. require and depend on all these modules directly! */ require("mercury") しないで、直接それぞれのモジュールを読み込んで使えるという事が書かれています。 (これ

    Virtual DOMを持つMV*ライブラリのmercuryについて
  • Browserify 5.0から--standaloneでderequireはされなくなった

    Browserify 5.0.0では、 基盤となる変換処理の部分に色々変更がありました。(特にtransform周りが大きく変わって変換にhookする処理が色々できるようになった) node-browserify/doc/changelog/5_0.markdown at master · substack/node-browserify ChangeLogの一番下にちょこっと書いてありますが、--standaloneを付けて単体のライブラリとして配布向けにビルドするときに、 derequireがされなくなりました。 derequire has been taken out of core, which should speed up –standalone. そもそもderequireとは何かというと、 requireという関数を使うライブラリ等との衝突を避けるためにリネーム処理をするモ

    Browserify 5.0から--standaloneでderequireはされなくなった
  • Node.jsで書いてQuickStartを使ってブラウザで実行する話

    QuickStartというのは、名前がややこしいですがSpotify社が出してるツールのことです。 このツールはCommonJSで書いたJavaScriptのモジュールの依存関係を解決してビルドしたり、ローダとして使えるものです。 前者のビルドする機能は簡単にいえばBrowserifyです。 QuickStartもBrowserifyと同じく、nodeのcoreモジュール等をブラウザで使える様になってます。(CoreモジュールはBrowserifyが使ってるものと同じshimが使われてる) もう一つのローダとして使えるのがこのQuickStartの面白い所なんじゃないかなと思います。 この記事では、適当に試して見たQuickStartの使い方について見ていきます。 サンプルプロジェクトは以下に置いてあります。 azu/quickstart-example ビルド ビルドする場合はBrose

    Node.jsで書いてQuickStartを使ってブラウザで実行する話
  • Githubのタイムラインや通知を見るアプリをnode-webkitで作った

    github-reader というGithubのNotifications や News Feedを見るためのビューアーアプリを作ってみました。 大した機能はなくて、GithubでWatch等をして飛んでくるNotificationsとホーム画面にタイムライン的に流れてくるNews Feedを一緒に見られるだけです。 飛んできたイベントをWebViewで見られるRSS Feed Readerみたいな感じです。 インストール node-webkit をダウンロードしてインストールします github-reader.nw からアプリをダウンロードします node-webkitをインストール済みならgithub-reader.nwが関連付けから起動 使い方 自分しか使わないかなと思ったので認証周りがかなり手抜きしています。 (以前も似たものを作ったけど使ってる人はいない) Githubでは自分用

    Githubのタイムラインや通知を見るアプリをnode-webkitで作った