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

  • 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のリファクタリング本を読んだ
    daiki_17
    daiki_17 2015/01/12
  • Node.jsのrequireをインライン化、無駄なuse strictを取り除くモジュールを書いた

    はじめに Promises Bookという薄いを書いているのですが、書籍中に出てくるサンプルコードはテストが必須であるという原則があります。 サンプルコードは必ずテストコードが必要となる。(読者がコピペして実行するようなコードをテストを書くべきである) promises-book/CONTRIBUTE.md at master · azu/promises-book サンプルコードとテストはNode(といってもほぼCommonJSというだけ)で書いています。 ECMAScript6 Promisesについての内容なので、ブラウザ/Node.js どちらの実行環境でもいいのですが、閲覧するのはブラウザが基になると思うのでブラウザ向けのコードを表示したいという感じになると思います。 CommonJS -> ブラウザ用のJS といえば、browserifyやCommonJS Everywhe

    Node.jsのrequireをインライン化、無駄なuse strictを取り除くモジュールを書いた
    daiki_17
    daiki_17 2014/12/20
  • 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で作った
    daiki_17
    daiki_17 2014/11/15
  • node-webkitで最前面に置けるMarkdownメモアプリを作った

    floating-memo.app 名前の通り最前面に表示されてる事を前提にした簡易なメモアプリです。 node-webkitで最前面なアプリが書けることに気づいたので簡単に作りました。 今のところMacのみのサポートとしています(DayOneに依存してるので)、別の所に保存する実装等があれば他のプラットフォームでも動かせるようになると思います。 以下から、ダウンロードすることが出来ます。 https://github.com/azu/floating-memo/releases/latest 仕組み floating-memo.appはnode-webkitで書かれています。 node-webkitはnode-webkitとは何かでも書いていましたが、ブラウザのcontextとnode.jsのcontextの2つを持っています。 このアプリでは、表示やエディタ部分はブラウザのcontex

    node-webkitで最前面に置けるMarkdownメモアプリを作った
    daiki_17
    daiki_17 2014/11/15
  • Web Scratch

    ブラウザ/JavaScript等についてのブログ

    Web Scratch
    daiki_17
    daiki_17 2014/11/06
  • gulp 3.5でgulp.runがdeprecatedになりました | Web Scratch

    Task runner Build systemツールであるgulp 3.5がリリースされました。 変更点 gulp/CHANGELOG.md at master · gulpjs/gulp に変更点が幾つか載っていますが、 以下の2点は今までにgulpfileを書いてきた人は影響があると思います。(公式のreadmeとかもそうだったので) added gulp.watch(globs, tasksArray) sugar deprecate gulp.run gulp.run が 以下のような議論/問題点を経て非推奨になっています。 Avoid promoting gulp.run by robrich · Pull Request #162 · gulpjs/gulp 要はタスクの依存関係のために gulp.run を使うと問題がでるケースがある そのため、以下のようなタスクを実装する

    gulp 3.5でgulp.runがdeprecatedになりました | Web Scratch
    daiki_17
    daiki_17 2014/11/03
  • 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について発表してきた
    daiki_17
    daiki_17 2014/10/30
  • 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について
    daiki_17
    daiki_17 2014/08/29
  • GitHubでライブラリのリリースを見ていくためのツールや方法

    GitHubでのリリース 前回、GitHubのRelease機能ついて書きましたが、これはリリースする側の自動化等についてでした。 git tagとGitHub ReleasesとCHANGELOG.mdの自動化について | Web Scratch 今度は、いわゆるライブラリユーザーだったりソフトウェアの利用者側から、 GitHubでリリースされるものをどう追っていくかについて書いていきたいと思います。 自分は、JSer.infoというJavaScriptの情報を見ていくサイトをやっているので、 JavaScriptのライブラリ等のリリース情報をどう追っていくかが中心になりますが、基的にGitHubでリリースされてるならやり方は大きな違いはありません。 基的には以下に色々書いていた内容のGitHubに関してをまとめた感じの記事となっています。 最近のJavaScript情報の探し方 ·

    GitHubでライブラリのリリースを見ていくためのツールや方法
    daiki_17
    daiki_17 2014/07/31
  • 天下一クライアントサイドJS アウトラインメモ

    天下一クライアントサイドJS MV*フレームワーク武道会 - connpass に参加してきたのでメモ。 Chaplin - mizchi Chaplin.jsの話 #ten1club // Speaker Deck 仕事で使ってる Chaplin paulmillr作のBackbone拡張系のMVC Rail風の構成 Chaplinの設計 Rails風のルーター インスタンスの管理するComposer Controllerと強調してインスタンスを管理 差分管理できるので早い 逆にインスタンスを引き継ぐので意識しないと辛い スキャフォールディング paulmillr/scaffolt Generator MV*だとやたらファイルが増える scaffolt はChaplinとは関係なく使える Brunch ウェブアプリに特化したビルドランナー CommonJS風の展開 npmで拡張子に応じた

    天下一クライアントサイドJS アウトラインメモ
    daiki_17
    daiki_17 2014/07/12
  • JavaScript Promiseの本を書きました | Web Scratch

    JavaScript Promiseのという無料で読める電子書籍を書きました。 タイトルそのままで、JavaScriptのPromiseについて書いた書籍です。 書籍の目的 この書籍を読むことで学べる事として、次の3つを目標にして書きました。 Promiseについて学び、パターンやテストを扱えるようになる事 Promiseの向き不向きについて学び、何でもPromiseで解決するべきではないと知る事 ECMAScript6 Promiseの基をよく学び、発展した形を自分で形成できるようになる事 Promiseは、次のECMAScriptの言語仕様として策定が進められていて既に多くのブラウザに実装されています。 Promiseについて扱う書籍ですが、この機能はjQuery.Deferred()やAngularJSの$qやBluebird等の類似の機能が既にあるため扱ったことがあるかもしれま

    JavaScript Promiseの本を書きました | Web Scratch
    daiki_17
    daiki_17 2014/06/23
  • power-assertでJavaScriptのテストをする ブラウザ編

    power-assertという単純なアサーションでも、テストが失敗した時に分かりやすい情報を出せるテストライブラリ/ツールについての記事です。 前回、power-assertの使い方 Node.js編 | Web scratchではpower-assertの動作やNode.jsプロジェクトでの簡単な導入方法について解説しました。 前回のpower-assert + gulpで紹介したプロジェクトをそのまま使っていくので、見ていない場合はそちらから見ていたほうがいいかと思います。 今回は、ブラウザでのpower-assertの動かし方とデバッグについて書いていきたいと思います。 今回扱う実行環境 Node.js <= 前回 ブラウザ Browserify 前回やったこと まずは前回紹介したgulp + power-assertのプロジェクトを元にやっていきます。 azu/power-asse

    power-assertでJavaScriptのテストをする ブラウザ編
    daiki_17
    daiki_17 2014/04/11
  • 桜JSでご飯を食べながらLT大会をした

    #桜JSでご飯をべてきた #桜JS – Togetterまとめ さくらのクラウドのCLIについて – azu SAKURA(Internet Cloud).js CLIがnode.jsの実装されてるので見ていく node v0.12で変わること – yosuke_furukawa これからのNode.jsの話をしよう // Speaker Deck Tracing API 同期的なchild_process API そもそもNodeでそういうツールに無理があったのでは感 Jake node.jsで書かれたものを配布するならnode.jsで書かれたものを使う的な流れ Build tools written in JavaScript TypeScriptもJake – To Build TypeScript Take? 1年後ぐらいのモバイルHTMLゲーム – tkihira #桜js コ

    桜JSでご飯を食べながらLT大会をした
    daiki_17
    daiki_17 2014/04/03
  • ドットインストールをオフラインで見るiPadアプリを作った

    はじめに ドットインストール はひとつの動画短くて移動時間とか見るのに便利そうなのですが、オフラインで見る方法が用意されてないので、レッスンの動画をまとめてキャッシュしてオフラインでも見られるiPadアプリを書きました。(AppStoreとかに出すことはないので、各自ビルド) azu/DotChairsPlayer 機能 WebViewでドットインストールを開く機能 レッスン一覧ページで右上のボタンを押すと、そのレッスンの動画をまとめてキャッシュする(一瞬固まったようにみえるのは手抜きのため) キャッシュした動画をiOSのプレイヤーで開く機能 ぐらいの機能しかありません。 バグ Youtubeの動画体のURLを取得するのにhellozimi/HCYoutubeParserを利用しているのですが、 何故かこれ経由で取得した動画が縦半分に別れて二重に表示されたりすることがあります。(ストリー

    ドットインストールをオフラインで見るiPadアプリを作った
    daiki_17
    daiki_17 2014/02/18
  • 第44回HTML5とか勉強会「HTML5とセキュリティ」アウトラインメモ

    第44回HTML5とか勉強会「HTML5とセキュリティ」 に参加してきたのでメモ。 2014/01/29(#html5j)第44回HTML5とか勉強会(HTML5とセキュリティTogetterまとめ 第44回 HTML5とか勉強会 – YouTube 今から始めるHTML5セキュリティ – 松悦宜 一般社団法人JPCERTコーディネーションセンターの紹介 「HTML5を利用したWebアプリケーションのセキュリティ問題に関する調査報告書」 HTML5 を利用したWeb アプリケーションのセキュリティ問題に関する調査報告書 アジェンダ – 報告書の概要 JavaScript API XHR ブラウザが実装してる関連機能 HTML5は開発者にとって非常に便利 => 攻撃者にとっても便利 表現の幅が広がる 攻撃の幅も大きく広がる HTML5とセキュリティ 従来のHTMLでは影響がなかったも

    第44回HTML5とか勉強会「HTML5とセキュリティ」アウトラインメモ
    daiki_17
    daiki_17 2014/01/30
  • npmとbrowserifyを使ったクライアントサイドのウェブアプリ開発

    YoutubeとVimeoの検索結果のRSSをまとめてOPMLで取得できるサイトを作った | Web scratch で公開した Tech Video RSS Searcher はbrowserifyを使って作ったので、その辺の開発フローについての記事です。 browserify って何? browserify はNode.jsスタイルで書かれたモジュール(CommonJS)を ブラウザで利用できるように変換するコマンドラインツール(Nodeモジュール)となっています。 又、node.jsのCore Modulesのshimが用意されていて、 npmで公開されているnode.js向けのモジュールも一緒に変換してブラウザで動かすことが出来るようになっています。(普通に require で読みこめば勝手に変換されます) 原理的に無理だったり全てのモジュールが動くわけじゃないですが、 その辺の互

    npmとbrowserifyを使ったクライアントサイドのウェブアプリ開発
    daiki_17
    daiki_17 2014/01/21
  • JavaScriptベストプラクティス30選-jsEdu

    #jsEduから適当に選んで日語にしたものです。 訳とかは全く正確ではなく、as possibleなど表現をかなり省いてるので命令口調になってます。 フィーリング的なものはあんまり入れてないので、興味をもったらTogetter – 「JavaScriptのベストプラクティス大会 jsEdu」を読みましょう。(まとめた奴はこれの10倍くらいありますが、被ってるのや関係無いのもあるので読める程度の量です) 全てを確認したわけではないので、正確性は保証しかねます。 ==ではなく===を使うべき (自動的に型変換に行われないのでバグが減る、高速) new Object() and new Array() よりも[] or {}を使うべき。 []や{}の方がシンプル JavaScriptを高速化する6つのテクニック | エンタープライズ | マイコミジャーナルで出てくるのは間違いだと思う。 []

    JavaScriptベストプラクティス30選-jsEdu
    daiki_17
    daiki_17 2013/12/14
  • JavaScriptでdoctestを行う power-doctest を作った

    power-doctest という doctest風 にコードと評価結果のコメントを並べるとテストとして実行出来るようなNode製のツールを作りました。

    JavaScriptでdoctestを行う power-doctest を作った
    daiki_17
    daiki_17 2013/12/05
  • 定期更新されるJavaScript等の情報サイトをまとめたMeta-Weeklyというサイトを作りました

    はじめに JavaScript Weekly や 私がやってるJSer.infoなど、 週刊などでJavaScript等の情報について紹介するサイトがここ数年でかなり多くなりました。 詳しくはオフライン勉強会でJSer.info一周年について発表してきた | JSer.infoでも乱立するまとめサイトとして触れています。 それらのサイト、メールマガジン、ポッドキャスト等をまとめたMeta Weeklyというサイトをつくったという話です。 Meta Weeklyって何? Meta Weekly は 単純にそれらのサイトをまとめたリンク集のようなものです。 基的にまとめているサイトは、フロントエンドJavaScriptに関連するような生きているサイトをリストアップしています。 機能らしい機能はDaily, Weeklyなどでフィルターするぐらいしかありませんが、RSSがあるサイトなどはそれ

    定期更新されるJavaScript等の情報サイトをまとめたMeta-Weeklyというサイトを作りました
    daiki_17
    daiki_17 2013/08/26
  • testemで任意のHTMLでテストを動かす方法とJavaScriptデバッガ連携

    Test Runnerのtestemを使ったテストについてメモ testem自体については以下などを見るといい気がします。 JavaScriptのテストツール「testem」が素晴らしいぞ | Mach3.laBlog Testem 0.1.0 Released and Screencasts testem の仕組み的には、テストを実行するためのHTMLページを用意して、 testem のローカルサーバ上でそれを表示してテストを実行しています。 testem自体は特にmatcher等は持ってなくて、adapter を書いて、jasmineやBuster.JS、QUnit等の構文を使ったテストを走らせた結果を得られるようにしてます。 Example Projects で紹介されてますが、この辺が充実してるのがtestemのいいところでもあります。 カスタムHTML testem/views

    testemで任意のHTMLでテストを動かす方法とJavaScriptデバッガ連携
    daiki_17
    daiki_17 2013/04/05