タグ

関連タグで絞り込む (356)

タグの絞り込みを解除

javascriptに関するtyruのブックマーク (853)

  • 2017-01-30のJS: Safari 10.1 pre、Firefox51.0、徐々に型を付けてのリファクタリング

    JSer.info #316 - Safari 10.1がプレリリースされました。 Fetch APIIndexedDB 2.0、Custom Elements、Pointer Lock/Gamepad API、ES2016,2017のサポートなど。 また<a>要素のdownload属性、CSS Gridなどのサポートが含まれています。 Firefox 51.0がリリースされました。 WebGL 2、IndexedDB 2、XHRの仕様追従、FLAC形式のサポートなどが行われています。 また、DOMImplementation.hasFeature()は常にtrueを返すように、非標準なfor each inに警告が出るようになるなど。 詳しくは次のサイトを見てください。 Firefox 51 for developers - Mozilla | MDN Firefox 51 Site

    2017-01-30のJS: Safari 10.1 pre、Firefox51.0、徐々に型を付けてのリファクタリング
    tyru
    tyru 2017/01/31
    「3万行のJavaScriptをどのようにリファクタリングしていったかについて書かれています」「型をつけていきながらリファクタリング」
  • V8 JavaScript Engine: Speeding up V8 Regular Expressions

    Show navigation This blog post covers V8’s recent migration of RegExp’s built-in functions from a self-hosted JavaScript implementation to one that hooks straight into our new code generation architecture based on TurboFan. V8’s RegExp implementation is built on top of Irregexp, which is widely considered to be one of the fastest RegExp engines. While the engine itself encapsulates the low-level l

    tyru
    tyru 2017/01/13
    "Historically, various components of V8 have been implemented in JavaScript. Until recently, regexp.js has been one of them" / "Posted by Jakob Gruber, Regular Software Engineer"
  • 安心して2017年を迎えるためのAngular最新動向チェック - Qiita

    忙しい人向けのまとめ Angularは破壊的変更を含む可能性のあるメジャーアップデートを 半年に1回 に定めました 次のメジャーアップデートは3月1日予定です 諸事情により来年3月にリリースされるのはAngular 4.0.0です 2.xで書いてるものは基壊れないから怯えないで あとAngular2 って呼ばないで! Angular だから! 時間がある人はここから読んでね どうも、lacoです。ng-japanの代表とかやってます。 さて、2016年はAngularコミュニティにとって、とても重要な激動の1年になりました。去年の今頃からは考えられないほど状況は変化しました。日常的に動向をウォッチしている筆者でさえ突然の大営発表に驚くことが何度もありました。しかしその結果、無事にAngularは2.0のFinalリリースを迎えることができて、ようやくコミュニティとエコシステムが軌道に乗

    安心して2017年を迎えるためのAngular最新動向チェック - Qiita
  • サーバーサイドレンダリング不要論 - Qiita

    サーバーサイドレンダリング、Isomorphic、Universal JavaScriptなどの言葉をよく見かけます。なるほどね、良さそうだね、外部公開するサービスを書くことがあったら挑戦してみたいね、Mithrilにもisomorphic-mithrilってのをがんばっている人がいるし、みたいなことを漠然と思っていたのですが、最近ASCII.jpのシステムコールプログラミングの連載を書いていて、あらためてHTTPの仕様を見返してみて、逆にサーバーサイドレンダリングをしない方がいいのではないか、と思い始めました。 追記(23:30): サーバーサイドレンダリングと書いていますがUniversal JavaScriptみたいな凝ったビューの更新の意味です。 サーバーサイドレンダリングの欠点 サーバーサイドレンダリングのメリットとしてあげられるのは次の2点です。 検索エンジンのクローラー向け

    サーバーサイドレンダリング不要論 - Qiita
    tyru
    tyru 2016/12/25
    「イベントハンドラが適切にリンクされたDOM構造であって、仮想DOMを書き出してブラウザに表示するだけでは意味がありません」→ 埋込み JSON、chunked、HTTP2 Server Push
  • Rails5.1に向けてフロントエンド周りで起こっている革命まとめ - Qiita

    こんにちは Rails5.1に向けて、DHHのjqueryを依存から外す発言を発端にフロントエンド周りが急激に発展しているので、簡単にですがまとめてみました。 各issue, PRの詳細には踏み込みませんが、知見に溢れているので読んでみるの推奨です。 間違い、足りないものがあったら編集リクエストお願いします。 jQuery依存を無くす話が出る rails(issue): Drop jQuery as a dependency jquery-ujsはjqueryに依存しないようにする jquery-ujs: Drop jQuery as a dependency "jquery"-ujsじゃなくなったので名前変更 rails-ujs誕生 実際にRailsからjquery依存がなくなる rails: Drop jQuery as a dependency jsライブラリを入れる方法がnpmパッ

    Rails5.1に向けてフロントエンド周りで起こっている革命まとめ - Qiita
  • 一から始めるJavaScriptユニットテスト - Hatena Developer Blog

    この記事は、はてなエンジニアアドベントカレンダー2016の5日目の記事です。 こんにちは、はてなでアプリケーションエンジニアをしている id:shiba_yu36 です。先日、buildersconにおいて、現在所属しているプロジェクトJavaScriptのユニットテストを導入した知見について、「一から始めるJavaScriptユニットテスト」というタイトルで発表しました。 speakerdeck.com この発表は、実際にJavaScriptのユニットテスト環境を作ってみると非常にハードルが高いと感じたので、そのハードルを少しでも下げられればという思いで、非常にシンプルな例で一から環境を作る例を紹介しました。アジェンダは次のとおりでした。 カクヨムのJS環境 JSのテストツールを整理する 通常の関数のユニットテスト DOM操作する機能のユニットテスト カクヨムのJS環境や、JSのテスト

    一から始めるJavaScriptユニットテスト - Hatena Developer Blog
  • Houdini、それはCSSの進化を促すプロジェクト - The future starts today

    この記事は CSS Advent Calendar 2016 の5日目の記事です。 W3C Houdini Task Forceで進められている「Houdini」と呼ばれるプロジェクトの話をします。 FlexBoxの例 突然ですが、FlexBoxの話をします。 モジュールの横並びには重宝しますよね。 今年になってだいぶ利用が進んだ印象がありますが、随分と前からFlexBoxの仕様は存在していました。 一番最初の草案に遡ってみると、なんと2009年。 7年前です。 2013年くらいからFlexBox良いぞという記事はちらほら出始め、おそらく皆認識はしていました。 が、ブラウザの対応状況などを考慮し実装できずにいたと思います。 仕様定義の議論から実際にここまで普及するまで7年間もかかっているわけです。 流れを整理してみると、以下のようになります。 提案、議論、仕様書作成あたりに時間がかかるのは

    Houdini、それはCSSの進化を促すプロジェクト - The future starts today
    tyru
    tyru 2016/12/06
    CSS は JS みたいに Polyfill 作れないので、JS で低レベル API いじれるようにして CSS でも後方互換性を実現しようぜ、なプロジェクトらしい>Houdini
  • Node学園 23時限目 アウトラインメモ

    Node学園 23時限目 (今回はリクルート(東京駅)でやります!) - connpassに参加してきたのメモ npm@4、npm@5 node-gakuen-201610.md npmは後方互換性を重んじている Node.jsにbundleされているので npm@2のbreaking changeについて backwards-incompatible change to the way npm run-script handled its arguments npm@3 flat directory npm@2そのまま使い続ける人もいる 大きな変更は移行の壁になるという話 npm@4 Release v4.0.0 · npm/npm npm 4は小さな変更にした prepublish が npm install 時に実行されるのは Deprecated prepublishOnly と

    Node学園 23時限目 アウトラインメモ
    tyru
    tyru 2016/10/23
    「最近のサーバサイドはMicroServiceになってきている」「クライアントサイドもMicroservicesの一つなのでは」
  • PurpleJS

    PurpleJS is a JavaScript application framework running on the Java Virtual Machine. Combine the power of Java and your existing investments with the simplicity of JavaScript. PurpleJS is an alternative to Node.js for Java projects.

    PurpleJS
  • Bluebirdの高速化を可能にする、3つのJavaScriptパフォーマンスの基礎 | POSTD

    最近Reaktorが掲載した『 Promises made by a Reaktor developer had an impact on the industry article 』で約束した、Bluebird promiseライブラリの製作者であるプログラマのPetka Antonovからの知見です。 Bluebirdは広く使用されているJavaScript用のpromiseライブラリで、同じような機能が実装されているにも関わらず、他のpromiseよりも100倍速いという理由から最初に知られるようになったのは2013年でした。Bluebirdが高速な理由はライブラリ全体にJavaScriptの最適化の基礎を一貫して適応しているからです。この記事ではBluebirdの最適化に使用する3つの重要な基礎について詳細に説明します。 1. 関数オブジェクトの割り当てを最小限に抑える オブジェク

    Bluebirdの高速化を可能にする、3つのJavaScriptパフォーマンスの基礎 | POSTD
  • pdf.jsなPDFビューアアプリをElectronで作った

    タイトルどおりですが、FirefoxのPDFビューアをスタンドアローン化したようなアプリを作りました。 azu/mu-pdf-viewer: PDF viewer on electron. 特徴は次の通りです。 PDF.jsベース J, Kでスクロールなどいじっています Drag and Dropをサポートしてます Install npm でインストールするか バイナリをダウンロードして使えます(OS Xのみ) https://github.com/azu/mu-pdf-viewer/releases/latest Travis CIとかでelectronを自動ビルドするのがかなり難しくなったので、自分用にOS X版のみバイナリを作ってます。 READMEにその他の環境のバイナリの作り方を書いてあります。 Usage npmでインストールした場合はCLIから起動できます。

    pdf.jsなPDFビューアアプリをElectronで作った
  • 正規表現を複数回実行する際の注意点 - Qiita

    javascriptで正規表現を複数回実行する際の注意点 以下のコードは"hoge"という文字列が含まれているか正規表現で検索し、結果を表示するコードです。 var example = "hoge"; var regexp = /hoge/g; regexp.test(example); // true regexp.test(example); // false regexp.test(example); // true regexp.test(example); // false ... 一度目の実行ではtrueが返ってきますが、二度目の実行ではfalseが返ってきます。 以降は交互に結果が変わります。不思議ですね。 私はループ内で正規表現を実行する際に、この挙動につまづきました。 一体何が起きているのでしょうか? var examples = ["hoge", "hoge", "ho

    正規表現を複数回実行する際の注意点 - Qiita
  • http://jamesnavin.net/2014/05/25/maven-karma-webjars/

  • WebJars 使い方メモ - Qiita

    WebJars とは JavaScriptCSS などのクライアントサイドのライブラリの依存関係を、 Maven (Gradle)で管理できるようにした仕組み。サービス。 推移的な依存関係の管理もやってくれる。 Hello World 実装 buildscript { repositories { jcenter() } dependencies { classpath 'com.sahlbach.gradle:gradle-jetty-eclipse-plugin:1.9.+' } } apply plugin: 'jettyEclipse' apply plugin: 'war' repositories { mavenCentral() } dependencies { compile 'org.webjars:jquery-ui:1.11.4' } <!DOCTYPE htm

    WebJars 使い方メモ - Qiita
    tyru
    tyru 2016/10/10
    「JavaScriptやCSSなどのクライアントサイドのライブラリの依存関係を、Maven(Gradle)で管理できるようにした仕組み」マジか…めっちゃ便利だ(Maven Centralにはプロキシ繋がる環境とかだと)
  • 黒魔術(JavaScript)まとめ - Qiita

    まえがき JavaScript、書いてますか? JavaScriptは今や世界中の人々に愛されています。 stackoverflowの2016年の調査によるとJavaScriptは地球上で最も一般的に使用されているプログラミング言語だそうです。 JavaScript is the most commonly used programming language on earth. Even Back-End developers are more likely to use it than any other language. link しかしJavaScriptは愛されすぎているが故、しばしば黒魔術のようだと比喩されることも少なくありません。 愛と憎しみが紙一重とはこのことですね。 ということでそんなこんなはどうでもいいのですが、自分もJavaScriptは大好きです。 今回は黒魔術まと

    黒魔術(JavaScript)まとめ - Qiita
  • WindowsでJavaな人に捧げる素敵なスクリプティングツール jrunscriptの使い方

    これは Java Advent Calendar 2015 の3日目です。昨日は@kawasima さんの「Webアプリ開発/テストのお供に『WAITT』」で、明日は @akihyro さんです。 もしもLLが使えたなら 業務にWindowsを使用していて、開発言語はもっぱらJava、LLを使えたらかっこいいと思うけど、Windowsだし。。。。Powershellとかよく知らないしでもっぱらサクラエディタ、、、そんな方はいらっしゃいませんか? 僕は、そんなあなたを応援します!なぜなら僕がそうだからです! 僕は大量のファイルを作ったり、複雑なファイル検索をしたいなどのデータ処理に、よくJDK付属のjrunscriptコマンドを使っています。例えばこの記事でも使っています。 jrunscriptとは jrunscriptはJDK6以上に付属しているコマンドで、JVM上でJavaScript

    tyru
    tyru 2016/10/03
    jrunscript, jjs
  • target=&quot;_blank&quot; で開くリンクには rel=&quot;noopener&quot; をつける - Qiita

    The performance benefits of rel=noopener - JakeArchibald.com より target="_blank" でリンクを開く場合は、rel="noopener"をつけておくのが良い。 管理画面などでは rel="noopener noreferrer"というかたちでnoreferrerをつけるとさらに良いかもしれない(参考:http://qiita.com/wakaba@github/items/707d72f97f2862cd8000 ) target="_blank" で開いたWindowは、 window.opener を使って親のWindowを操作することができる。つまりtarget="_blank"で開いたサイトで任意の操作ができてしまうことになるけど、Same origin の仕組みが働く。ので、Same originではない場

    target=&quot;_blank&quot; で開くリンクには rel=&quot;noopener&quot; をつける - Qiita
    tyru
    tyru 2016/09/16
    window.opener を使う場合は別だけど、使わない場合は rel="noopener" つけないと、常に同一プロセスやスレッドで処理されるので親ウィンドウも一緒に遅延するらしい
  • セミコロンは省略?人気スタイルガイドに学ぶJavaScriptのコーディング規則

    インデントにタブとスペースのどちらを使うのがいい? JavaScriptにセミコロンは付けるべき? JavaScript Standard Styleを使えばそんな論争にけりがつくかもしれません。 最近、注目を集めている@ferossのJavaScriptスタイルガイド、JavaScript Standard Styleを紹介します。チーム内での開発が円滑になり、プログラミングがより楽しくなります。 JavaScriptスタイルガイドのコーディング規約は、タブとスペースのどちらが良いかといった不毛な議論を無くし、コードに一貫性を持たせてくれます。JSLintやJSHint、ESLintといったLinterで使用できる多くのスタイルガイドのうちの1つです。 もしLinterが分からなければ、SitePointの記事『A Comparison of JavaScript Linting Too

    セミコロンは省略?人気スタイルガイドに学ぶJavaScriptのコーディング規則
    tyru
    tyru 2016/09/16
    ESLint でセミコロン省略での意図しない動作を拾ってくれるのかー(ブコメで知った)
  • Using requestIdleCallback  |  Blog  |  Chrome for Developers

    Many sites and apps have a lot of scripts to execute. Your JavaScript often needs to be run as soon as possible, but at the same time you don’t want it to get in the user’s way. If you send analytics data when the user is scrolling the page, or you append elements to the DOM while they happen to be tapping on the button, your web app can become unresponsive, resulting in a poor user experience. Th

    tyru
    tyru 2016/09/04
    requestIdleCallback(): requestAnimationFrame() と似ているが、フレーム描画後に余分な時間がある時や、inactive な時に実行される
  • jsdoc-to-assert を試す - アカベコマイリ

    /** * Output log. * * @param {String} message Message text. */ function func(message) { console.assert(typeof message === "string", 'Invalid JSDoc: typeof message === "string"'); console.log(message); } に変換される。型チェックが偽ならば、その情報を assert として出力。Firefox や Chrome の開発者ツールであれば関数の呼び出しと assert 箇所をコンソールから確認できるので不正な値を指定した処理を修正するためのヒントになる。 環境構築と注意点 jsdoc-to-assert は体と Babel plugin/preset 版が提供されている。plugin が Bab