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

  • performance.markにメタデータを紐付けできるライブラリを書いた

    performance.markというパフォーマンス計測に役立つAPIがあります。 performance.mark APIを使うと、指定して処理をマーキングでき、その結果を開発者ツールでみれます。とても便利なのですが、そのマーキングとメタデータを紐付ける仕組みがありませんでした。 performance.markでパフォーマンス計測する | Web Scratch Almin + React/Vue.jsのパフォーマンスプロファイルをタイムライン表示できるように | Web Scratch TPAC 2017のUser Timing L3 - Google スライドでは、performance.mark APIでメタデータ(details)を紐付けできる仕組みが提案されています。 これを使うと「Aという処理でデータを取得」をperformance.markでマーキングする際に、実際に取得

    performance.markにメタデータを紐付けできるライブラリを書いた
    Qurage
    Qurage 2019/02/28
  • lernaでのmonorepoにおけるリリースフロー(Fixed/Independent)

    一つのリポジトリで複数のパッケージを管理する際にはLernaとYarnのワークスペースを組み合わせて運用するmonorepoにすることが多いです。 lerna/lerna: A tool for managing JavaScript projects with multiple packages. LernaにはFixed(すべてのパッケージが同じバージョン)とIndependent(パッケージごとに異なるバージョン)のモードがあります。 https://github.com/lerna/lerna#how-it-works 基的にはFixedの方が運用は簡単ですが、不自然なバージョンの上がり方を避けたい場合などはIndependentのmodeを使うことになります。 この記事では、Fixed modeとIndependent modeでのパッケージのリリースフローについて見ていきます

    lernaでのmonorepoにおけるリリースフロー(Fixed/Independent)
    Qurage
    Qurage 2019/01/27
  • ECMAScript 2015以降のJavaScriptの`this`を理解する

    この記事はJavaScriptの入門書として書いているjs-primerのthisに関する部分をベースにしています。 またjs-primerでは書けなかった現在時点(2018年1月1日)でのブラウザの挙動についてを加えたものです。 次の場所にjs-primer版(書籍版)のthisについての解説があります。 この記事と違って実際にコードを実行しながら読めるので、学習ソースとしては書籍版を推奨します。 書籍版: 関数とthis · JavaScriptの入門書 #jsprimer また、バグ報告やPRも直接リポジトリにして問題ありません。 asciidwango/js-primer: JavaScriptの入門書 おかしい場所を選択した状態で右下にある”Bug Report”ボタンを押せば、簡単にtypoとかのバグを報告できます。(PRでも歓迎) 前置きはこの辺までで、ここから編。 この記

    ECMAScript 2015以降のJavaScriptの`this`を理解する
    Qurage
    Qurage 2018/01/06
  • Living Documentation by design, with Domain-Driven Designを読んだ

    Living Documentation by design, with Domain-Driven Designを読んだ Living Documentation by design, with Domain-Driven Design by Cyrille Martraire [PDF/iPad/Kindle]という電子書籍を読んだ。 leanpubで$0から購入できて、任意の値段で購入できるドキュメンテーションとDDDについての書籍。 追記: 書籍版 Amazon.co.jp: Living Documentation: Continuous Knowledge Sharing by Design (English Edition) 電子書籍: Martraire, Cyrille: 洋書 ドキュメンテーションもソフトウェア開発のように設計やテストといったパターンやアプローチがありま

    Living Documentation by design, with Domain-Driven Designを読んだ
    Qurage
    Qurage 2017/05/14
  • textlintのElectronアプリを作った

    textlint-app textlint-appという、インストールするだけで動くtextlintのElectronアプリを作成しました。 インストール方法 https://github.com/textlint/textlint-app/releases/latest からバイナリをダウンロード ダウンロードしたインストーラー(Windows)、app(Mac)を実行すれば動きます。(Node.jsの環境なども不要です) 実行する際に署名されてないバイナリなので警告がでるので、その辺は許可しないと動きません。 Windows: インストーラーで許可を選択する必要がある Mac: /Application/textlint.app をコンテキストメニューから”開く”をして許可する必要がある 特徴 一番の特徴はNode.jsなどの環境を作る必要なくインストールするだけで動く点です。 tex

    textlintのElectronアプリを作った
    Qurage
    Qurage 2017/05/14
  • GitHubのPull Requestのレビューコメントをコマンドラインから取得するツール

    get-github-pr-review-commentsというシンプルなCLIを作りました。 GitHubでPull Requestを出して、そこへレビューコメントを書いて、それを反映というのを繰り返すと思います。 そのときに、レビューコメントの位置をソースコードの位置で探すのが毎回大変でした。 (特に文章をPRしてるときは細かいtypoをレビューコメントで印を付けて直すみたいなことがよく起きるので、位置が見つけにくい) get-github-pr-review-commentsは次の事を行うCLIです。 指定したCommitShaを含むPull Requestを取得 ブランチのshaとかでいい Pull Requestについているレビューコメントを取得 実際のファイルパス:行数 + レビューコメントを出力 VSCodeやWebStormなど大体のエディタはファイルパスをクリックしてジャ

    GitHubのPull Requestのレビューコメントをコマンドラインから取得するツール
    Qurage
    Qurage 2017/04/04
    April 04, 2017 at 10:22AM
  • JavaScriptの配列のパターン

    JavaScriptの配列をどう解説するかを考えていて、配列って普段どういう風に使ってるけ?みたいなことを書き出してみました。 Arrayオブジェクト · Issue #49 · asciidwango/js-primer 皆さんは配列をどう使いますか? 追記: 次のページでこの記事をブラッシュアップした話をhttps://jsprimer.net/で公開しています。 配列 · JavaScriptの入門書 #jsprimer 配列の作成 配列の作成には配列リテラル([])を使います。 配列リテラルには初期値も指定できます。 var emptyArray = []; // 空の配列を作成 var array = [1, 2, 3]; // 値をもった配列を作成 Arrayオブジェクトをnew演算子でインスタンス化する方法は基的には使いません。 こちらは配列リテラルとは異なり、初期値ではな

    JavaScriptの配列のパターン
    Qurage
    Qurage 2016/10/12
  • テストできないコードを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テストを使ってリファクタリングしよう
  • Shibuya.XSS techtalk #7 アウトラインメモ

    Shibuya.XSS techtalk #7に参加してきたのでメモ 超絶技巧 CSRF - mala スライド: 超絶技巧CSRF / Shibuya.XSS techtalk #7 // Speaker Deck CSRFについて クロスサイトでリクエストを強制する脆弱性 書き込み パスワードの削除 未だによくある XSSは正しく書いていれば防げる CSRFは未だによくある CSRFは事後対処になりやすい 投票とか掲示板とか事後対処になりやすい リスクの高いCSRFの紹介 アカウント乗っ取り 危険なCSRF パスワードの変更 メールアドレスの変更 連携アカウント追加 OAuth2.0 + stateパラメータで防げる いろんなものにCSRFする JSONやXMLを送る form enctype=text/plainを使う CSRFでmemcached protocolとして解釈可能なも

    Shibuya.XSS techtalk #7 アウトラインメモ
    Qurage
    Qurage 2016/03/28
    []
  • JavaScript ASTを始める最初の一歩

    何かJavaScriptのソースコードを機械的にチェックするためのツールを作りたいという場合に、JavaScriptのASTというものを触る必要が出てくると思います。 この記事では、その取っ掛かりとなる案内を簡単にまとめたものです。 ASTとは AST(Abstract Syntax Tree)はコードをパースした抽象構文木のこと。 JavaScriptの場合はJavaScriptオブジェクト(JSON)として表現されます。 コード: { "range": [ 0, 10 ], "type": "Program", "body": [ { "range": [ 0, 10 ], "type": "VariableDeclaration", "declarations": [ { "range": [ 4, 9 ], "type": "VariableDeclarator", "id": {

    JavaScript ASTを始める最初の一歩
    Qurage
    Qurage 2016/03/06
  • メモアプリをDayOneからQuiverに移行した

    メモアプリとしてEvernoteOneNote、ファイルベースのMarkdown管理アプリ、DayOneなどを使っていました。 EvernoteOneNoteはメモ機能は強いですが、あんまり気軽に書けるような感じじゃないのでピンときませんでした。 (画像やテーブルは便利ですが、Markdownみたいなプレーンなテキストじゃないのも微妙な点) そのため、ファイルベースのMarkdown管理アプリなどを作ったりしましたが、UIを作りこまないとあんまり使いやすくないということが分かったので、途中で飽きてました。 DayOneは気軽にMarkdownで書けて、iOSアプリもできがいいのは素晴らしいですが、検索機能が微妙でした。 (書くのはいいが、見るのが難しい) 最近Quiverというアプリを見つけて、これを使うようになりました。 AppStore: Quiver: The Programme

    メモアプリをDayOneからQuiverに移行した
    Qurage
    Qurage 2016/02/05
  • ブラウザでビジュアルテストをする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を作った
  • [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標準化の動き
    Qurage
    Qurage 2015/02/27
  • 歌舞伎座.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」 アウトラインメモ
    Qurage
    Qurage 2015/02/17
  • #chatworkjs でQUnit 2.xやTC39 MTG Notesや企業JavaScriptについてなどの話をした

    #chatworkjs でQUnit 2.xやTC39 MTG Notesや企業JavaScriptについてなどの話をした #chatworkjsでQunitやコードリーディング、TC39 MTG NotesやCanvasについて等の話をしてきました。 経緯 企業に遊びに行くのやりたい — azu (@azu_re) December 4, 2014 うち、いつでもOKですよ — kyo ago (@kyo_ago) December 4, 2014 いつもの チャットワーク社訪問 @glatyou chatwork社の床です #chatworkjs pic.twitter.com/El7HJ8K5OY — azu (@azu_re) December 5, 2014 #chatworkjs chatwork滞在時間五分ぐらいだった — azu (@azu_re) December 5,

    #chatworkjs でQUnit 2.xやTC39 MTG Notesや企業JavaScriptについてなどの話をした
    Qurage
    Qurage 2014/12/08
  • pdf.jsを使いブラウザで見られるPDFスライド表示ツールを作った

    追記: ライブラリとして切り出しました pdf.jsを使ってスライド表示するライブラリを書いた | Web Scratch どういうもの https://azu.github.io/slide/DOMQuery/sourcemap.pdf というPDFファイルを読み込んで表示しています。 普通のHTMLスライドのようにウェブページとして公開することも出来ます。 例) https://azu.github.io//slide/DOMQuery/ 作った経緯 mozilla/pdf.jsを使えばPDFをブラウザ上で表示出来るので、これを使ったプレゼンテーションツールとかあると面白そうな気がしたのが始まりです。 こういうのが欲しい理由としては以下のような感じでした。 Deckset みたいにPDFしか配布用のフォーマットがないものがある Deckset自体は便利なので使いたい でもSlideSh

    pdf.jsを使いブラウザで見られるPDFスライド表示ツールを作った
    Qurage
    Qurage 2014/10/12
  • JavaScriptのいろいろなコーディングルールをまとめてみた

    JavaScriptの書き方はJavaScript自体がある程度自由なためいろいろな書き方ができますが、一貫性を持って書いた方がバグなども発生しにくくなるため、コーディングルールを定めておくのはよいことだと思います(特に複数人の開発の場合) 有名な企業やライブラリはコーディングルールも公開している事が多いので適当にまとめてみました JavaScript style guide – MDC Docs Mozilla/Firefox向けのものなので、一部ECMAScriptの範囲を超えたものも含まれています。 多くの人が見ていると思うので、見たことない人は一度読んでみるといいです。 jscsにこのコーディングルールをチェックするプリセットが用意されています。 Google JavaScript Style Guide Google JavaScript Style Guide 和訳 — Goo

    JavaScriptのいろいろなコーディングルールをまとめてみた
  • JavaScriptライブラリの気になる実装をどうやって見ていくか

    はじめに 毎日新しいJavaScriptライブラリが登場していると思いますが、それらがどういう実装になっているかを知ることはライブラリを使う以上に大事かもしれません。 ソースを全部読めば分かるかもしれませんが、それをやるには時間が足りません。 JavaScriptに限った話では無いですが、今回はJavaScriptを例に”特定の機能はどうやってるんだろ?”という事を調べる方法についてです。 探す前にドキュメントに載ってないかを見るのが手間がなくて一番よいですが、書いてない場合は実装を見ます。 Vue.js 今回はVue.jsというAngularJSやKnockoutのようなViewとModelのデータバインディグを行うライブラリを例に、データバインディグはどうやっているのかを2つの方法で調べてみたいと思います。 コードをステップで見ていく これはよく見る方法で皆さんもやったことがあると思い

    JavaScriptライブラリの気になる実装をどうやって見ていくか
    Qurage
    Qurage 2014/02/10
    azuさんのコードリーディング
  • 1