タグ

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

  • JSDocをランタイムassertに変換するBabelプラグインを書いた

    JSDocをassertに変換するライブラリとそれを使ったBabelプラグインを書きました。 azu/babel-plugin-jsdoc-to-assert: Babel plugin for jsdoc-to-assert. azu/jsdoc-to-assert: JSDoc to assert ライブラリのjsdoc-to-assertの方は、JavaScript ASTのコメントからassertの文字列を作り出すだけのシンプルなものです。 実際に使う場合は、Babelのプラグインとしてbabel-plugin-jsdoc-to-assertを使い、コードを変換してランタイムassertを追加させます。 やっていることとしては、FlowTypeをランタイムチェックするbabel-plugin-typecheckのJSDoc版とも言えます。 babel-plugin-typechec

    JSDocをランタイムassertに変換するBabelプラグインを書いた
  • アーキテクチャをめぐるたび

    タイトルに特に意味はありませんが、Alminを作る参考にしたものをまとめた感じの記事です。 スライド: 複雑なJavaScriptアプリケーションを考えながら作る話 リポジトリ: azu/large-scale-javascript: 複雑なJavaScriptアプリケーションを作るために考えること 主に書籍を並べていますがその他のスライドなどの参考資料は以下にまとめてあります。 large-scale-javascript/refs.md at master · azu/large-scale-javascript 自分用のメモなので、読んだ順で並べておきます。 右側の年は書籍の出た年です。 実践ドメイン駆動設計 @ 2013 一番最初に読んだDDD系の。 この辺ででてくるレイヤーとか用語を把握した感じ。 けど、そこまでよく分かってない感じはする。 カウボーイが出てくるの読みにくい。

    アーキテクチャをめぐるたび
    potato777
    potato777 2016/10/03
  • npmで同じライブラリの複数バージョンをインストールして使う方法

    追記: [email protected]で別のパッケージを特定のパッケージ名で指定できるpackage aliasesが追加されました。 rfcs/0001-package-aliases.md at latest · npm/rfcs 注意: この手法はnpm ciで壊れてる場合があります npm ci fails with transitive local packages - 🐞 bugs - npm forum Add support for ESLint v2 by Daniel15 · Pull Request #107 · fkling/astexplorerを見ていて、一つのプロジェクト内で複数のバージョンの同じライブラリを使う面白い方法が使われてたのでメモです。 前述したAST explorerの場合だと、ESLint@1とESLint@2の両方に対応したPlaygr

    npmで同じライブラリの複数バージョンをインストールして使う方法
  • ecmascript-paper

    ECMAScriptのカンペ ECMAScript関係についてざっとみるカンニングペーパー。 2015年10月18日の次世代 Web カンファレンスでstandardizationのセッションで議論に参加するらしいのでそれのカンペです。 ここに書かれている情報は2015年10月17日現在のものです。 追記: 縦に長い記事読むのが面倒な人向けにスライド形式にしたものも置いておきます。 Introduction | ECMAScriptとは何か? ECMAScriptとは? Ecma Internationalによって標準化されてるJavaScriptの仕様の事。 仕様: ECMAScript 実装: JavaScript 2015年10月18日のStableな最新版はECMAScript 2015(aka. ES6)。 ECMAScript® 2015 Language Specificat

    ecmascript-paper
  • 歌舞伎座.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」 アウトラインメモ
  • 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について
  • podspec(cocoapods)のバージョンを更新するコマンドラインツールを書いた

    CocoaPods CocoaPodsはObjective-Cにおけるパッケージ管理ツールです。 gemとかnpmとかCPANみたいな立ち位置のツールです。 基的にはgemと似せていて、ライブラリをパッケージ登録する際には、 podspecというファイルを作って、 それをpod trunk pushで公開用に登録する感じです。 CocoaPods Guides - Podspec Syntax Reference アップデートプロセス podspecファイルに一度書いたクラスのパスやメタ情報はあんまり更新しないのでいいですが、 s.version = '3.1.0' というようなバージョン情報はアップデートの度に更新しないと行けません。 手動でやるのはない感じがしたので、色々探したのですが今のところそういうバージョン情報を自動的に更新してくれるツールがないようです。 podspec-bu

    podspec(cocoapods)のバージョンを更新するコマンドラインツールを書いた
  • GitHubでライブラリのリリースを見ていくためのツールや方法

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

    GitHubでライブラリのリリースを見ていくためのツールや方法
  • ブラウザエンジン先端観測会 アウトラインメモ

    ブラウザエンジン先端観測会 : ATND に参加してきたのでメモ。 途中から参加なのでServoの話は途中からです。 Twitterのログはこちら ブラウザエンジン先端観測会 #1 - Togetterまとめ Servo (by Tetsuharu OHZEKI a.k.a @saneyuki_s) スライド: Servo parallelism ACID2は通った Servoのレイアウトの計算 ボトムアップの場合 子供のノードは並列に計算する 全ての計算が終わった時に親に行く トップダウン もっとシンプルに親からやっていく floatの話 floatの影響を受けるものはフラグを立てる フラグが立ったものは遅延的に計算する floatの計算終了後に再度計算する = assign height 遅延的にやるのは、同計算していいのか分からないため overflow Block format c

    ブラウザエンジン先端観測会 アウトラインメモ
  • CI as a Service ブラウザを使ったJavaScriptのテストをCIサービスで動かす方法のまとめ

    Travis CIを始めとするウェブサービスとして使えるCIを使って、 JavaScriptのブラウザテスト(ブラウザ上でJavaScriptを走らせて行うユニットテスト)をやる方法をサービスごとにまとめてみました。 テストフレームワークとして Buster.JS を使用して行います。 Karma (旧Testacular) では公式サイトにも Karma – Travis CI でCI Serviceとの連携方法が記載されているのでそちらも参考にして下さい。 今回紹介するCI Servicesは以下のものです。 Travis CI drone.io BuildHive Jepso CI テスト実行の流れ Jepso CI を除いては、テスト実行の流れ自体は同じなので先に解説します。 Capture用のローカルサーバを立てる テストしたいブラウザで capture URL へアクセスする

    CI as a Service ブラウザを使ったJavaScriptのテストをCIサービスで動かす方法のまとめ
    potato777
    potato777 2013/03/22
  • JavaScriptのいろいろなコーディングルールをまとめてみた

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

    JavaScriptのいろいろなコーディングルールをまとめてみた
  • JavaScript Gardenの読書メモ - prog*sig

    ■感想 まず発見したときにサイドバーのデザインが綺麗だなと思った。また文章内でちゃんと内部リンクが貼ってあってとても見やすい作りになっている。 内容もそこまで難しい書き方はしてないので何とか読める。またコード(or 文字)で書くようにしているのかは知らないけど、画像を一切使わずにprototypeとかをちゃんと説明できていて凄いと思った。 かなり仕様も囓ってる感じの人が書いてて、noteにES5の時についてなども触れられていてかなり細かいとこも書かれていた。難易度的にはJavaScript Patternsと同じくらいだと思うけど、とてもいい文章をWebで公開してくれているので是非読んでおくべきだと思う。 著者であるIvo Wetzel (Writing)とZhang Yi Jiang (Design)に感謝を。 JavaScript Garden http://bonsaiden

  • ニコニコ動画のAPIまとめ | Web scratch

    ニコニコのマイリスト周りにAPIがいろいろ増えていたので、列挙してみる。 使い方は http://res.nimg.jp/js/nicoapi.js をよく読む。 見方としては 分別 メソッド名 URL(http://www.nicovideo.jp/api/foo/bar という感じで使う) クエリー(それぞれの要素を&でつなげて指定) 返ってくるもの という感じで書いている。 Cathode Music: ニコニコ動画(9)APIを纏めた http://tewi.blogspot.com/2009/11/9api.html も併せて読む。 書き方の一例(testという名前のマイリストを新規作成する) Nico make mylist ←のブックマークレットをニコニコ動画上で実行する var token = NicoAPI.token; location.href = “http

  • 1