タグ

JavaScriptに関するoasis440のブックマーク (217)

  • JavaScriptの非同期処理をじっくり理解する (2) Promise

    対象読者と目的 非同期処理の実装方法は知っているが、仕組みを詳しく知らないのでベストプラクティスがわからないときがある 実行順序の保証がよくわからないので自信をもってデプロイできない変更がある より詳しい仕組みを理解することでより計画的な実装をできるようになりたい という動機で書かれた記事です。同様の課題を抱える人を対象読者として想定しています。 目次 実行モデルとタスクキュー Promise async/await AbortSignal, Event, Async Context WHATWG Streams / Node.js Streams (執筆中) 未定 用語に関する注意 前回定義した以下の用語を今回も使います。 1 tick ... タスクキューが1周すること。 1 microtick ... マイクロタスクキューが1周すること。 これらの単位は非同期処理の間の相対的な優先順

    JavaScriptの非同期処理をじっくり理解する (2) Promise
  • Server Side Renderingについて知るべきこと。Server Side Renderingとは何か? それによって何が改善されるのか?(前編) ng-japan 2017

    Server Side Renderingについて知るべきこと。Server Side Renderingとは何か? それによって何が改善されるのか?(前編) ng-japan 2017 JavaScriptフレームワークとして知られるAngularのイベント「ng-japan 2017」がAngular Japan User Group主催で6月17日に都内で開催されました。 Angularは基的にWebブラウザで実行されるJavaScriptアプリケーションのフレームワークですが、一方でサーバサイドでAngularが備えるHTML構成機能を実現する、いわゆるServer Side Rendering機能の開発も「Angular Universal」として進んでいます。 そのため、Server Side Renderingに興味を持つAngularデベロッパーも増えてきました。 ng-

    Server Side Renderingについて知るべきこと。Server Side Renderingとは何か? それによって何が改善されるのか?(前編) ng-japan 2017
  • ReactとAngular、使うならどっち? JavaScriptギークが6つの視点で徹底比較 - エンジニアHub|Webエンジニアのキャリアを考える!

    ReactAngular、どちらを選ぶべきか? 使用するJavaScriptフレームワークを選ぶ際、この2つはよく比較対象に挙がります。しかし、両者の特徴をよく理解していなければ、選定は困難でしょう。 今回は、両フレームワークが具体的にどんな強みを持っているのかを、Reactの専門家 小林徹さんとAngularの専門家 稲富駿さんに解説してもらいました。両フレームワークの設計思想から使用において考慮すべき点、今後実装される予定の機能まで、利用者が気になるポイントを網羅しています。 JavaScriptギークである2人のノウハウ、ぜひ選定の参考にしてください!

    ReactとAngular、使うならどっち? JavaScriptギークが6つの視点で徹底比較 - エンジニアHub|Webエンジニアのキャリアを考える!
  • Promiseについて0から勉強してみた - Qiita

    ES6を使う機会がありそうで、Promiseについて全然知らなかったので、実際に書きながら勉強してみたときのメモ。 なお、以下を参考にさせて頂きました。 0から勉強する時でもとても分かりやすかったです。 JavaScript Promiseの 環境 Node.js v4.2.2 Promiseとは 非同期処理を操作できる 非同期処理の成功時(resolve)、失敗時(reject)の処理を明示的に書くことが出来る 非同期処理を平行・直列に実行させることが出来る とりあえずやってみる とりあえず、参考にさせて頂いたサイトのコードを書いてみました。 function asyncFunction() { // Promiseオブジェクトを返却する.処理成功時にはresolveが呼ばれる return new Promise(function (resolve, reject) { setTim

    Promiseについて0から勉強してみた - Qiita
  • HTTP/1.1 200 OK - Qiita

    ※このお話はたぶんフィクションです。実在の人物や団体とはあんまり関係ありません。 序 planetter.comをバージョンアップすることにした。数年前にリリースしてからずっと放置していたけど、そろそろ手を付けないとやばいと思った。 しかしウェブの世界はドッグイヤーだ。3年も経てば何もかもが変わっている。しばらく開発から遠ざかっていた僕には、最近の技術トレンドなんてさっぱりわからない。 まずは自分自身をアップデートするところから始めよう。 Atom 最初はIDEだ。以前はEclipseを使っていたけど、いまはもうウェブ系言語の進化速度に追いつけていないようだった。ウェブ開発用のIDEならいまはWebStormが人気のようだ。有料だけど、最新の技術に対応しているし、使い勝手もいい。 でも最終的にはAtomを選んだ。IDE(統合開発環境)ではなくエディタなので、これ自体は単機能だけど、不足分は

    HTTP/1.1 200 OK - Qiita
  • イマドキのJavaScriptの書き方2018

    PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前のやウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい

    イマドキのJavaScriptの書き方2018
  • JSON Editor Online: edit JSON, format JSON, query JSON

    JSON Editor Online JSON Editor Online is the original and most copied JSON Editor on the web. Use it to view, edit, format, repair, compare, query, transform, validate, and share your JSON data. About JSON Editor Online JSON Editor Online is a versatile, high quality tool to edit and process your JSON data. It is one of the best and most popular tools around, has a high user satisfaction, and is c

    JSON Editor Online: edit JSON, format JSON, query JSON
  • 自分も開発したくなる!楽しすぎるJavaScriptライブラリ7選 - Findy

    2016.06.06|最終更新:2017.11.17 自分も開発したくなる!楽しすぎるJavaScriptライブラリ7選 JavaScriptを使ってユニークなサイトやアプリを制作したい! そんな時に活用できるのがJavaScriptライブラリです。 記事では楽しくWeb開発が可能なライブラリを厳選して7つご紹介します! 顔の認識ができるようになる! 【 jQuery Face Detection 】 JavaScriptだけで、画像内に映る顔を検出できちゃいます! 顔の座標位置を検出し、データとして取得できます。 複数人が画像に含まれていても、それぞれ検出可能です。 Webカメラにリアルタイムに映る顔を検出できる「clmtrackr.js」もありますよ! VR空間で絵が書けるブラウザアプリ! 【 A-Painter 】 A-Frameはブラウザ上で仮想空間(VR)を実現するフレームワー

    自分も開発したくなる!楽しすぎるJavaScriptライブラリ7選 - Findy
  • フロントエンド開発の基本知識(2017年夏) - Qiita

    10年ぶりくらいに Web 開発に再デビューしなくてはならなくなった筆者が見た、現代のフロントエンド開発の基知識についてまとめます。フレームワークを使ったシングルページアプリケーション開発が対象です。若干の不正確には目をつむってズバリ言い切るスタイルで書いていきます。 Node.js 現代のフロントエンド開発には Node.js を使います。フロントエンド開発を強力にサポートするいくつものツールが Node.js で実装されているからです。 Web 開発で言語処理系というと、Ruby on Rails のような Web アプリケーションフレームワークを思い浮かべるかもしれません。もちろん Node.js にもそのようなフレームワークはいくつも存在しますが、フロントエンド開発で使うツールはそれとは全然関係ありません。 これらのツールを使うことによって解決するのは、以下のような要望です :

    フロントエンド開発の基本知識(2017年夏) - Qiita
  • 2017年JavaScriptのテスト概論 | POSTD

    稿は、JavaScriptのテストについて最も重要な根拠、用語、ツール、アプローチなどの知識を身に着けることを目的とした簡略版ガイドブックです。稿で検討する数々の側面に関する最新の秀逸な記事も紹介しつつ、私たちが経験的に得たことも多少付け加えたいと思います。 Facebookによるテスト用フレームワークであるJestのロゴをご覧ください。 見てお分かりのように、このフレームワークは「苦痛のない」JavaScriptのテストをスローガンに掲げています。しかし、 “次のように言う人” もいます。 苦痛のないテストなんてあり得ない。 実際、Facebookはこのスローガンを掲げるだけの素晴らしい理由があります。一般的にJSのデベロッパは Webサイトのテストにあまり満足していません 。JSのテストには制限があり、実装が難しく、低速である傾向があります。 一方、正しい戦略を立てて適切にツールを

    2017年JavaScriptのテスト概論 | POSTD
  • フロントエンドの未来の話 - Qiita

    前置き 会社の勉強会資料になります(6/16発表) フロントエンドの未来の話というか、色々なライブラリの紹介です ほとんどが5月上旬くらいに書いた資料なので、 それ以降に変化があったライブラリについては、追記という形で資料の中にコメント入れてます モジュールバンドラーの未来 モジュールバンドラーとは簡単に言うと、JavaScriptのビルドツールのことです 最近はフロントエンドでも、機能ごと・共通化などの理由によって、JSファイルを分けてコーディングをするので、 最終的にそれをまとめて、1個のJSにする必要がある その時に使われるのが、モジュールバンドラー 有名どころのツール みんな大好きwebpack 後は、rollupとかbrowserifyとか ですが、、 これからの時代は fuse-box fuse-boxとは webpackと同様なモジュールバンドラー 設定ファイルがシンプル w

    フロントエンドの未来の話 - Qiita
  • 今更だけどPromise入門 - Qiita

    今年のはじめの方からPromiseの話題は耳にしていたけど 結局よくわかってなかったのでここでPromiseのAPIを理解しておこうと思います。 Promiseとは 非同期の処理をいい感じに使えるAPIパターンです。 Promiseを使ってない場合だと非同期のメソッドを繋げる場合 いわゆるコールバック地獄となってしまいます。 //Promiseを使わない非同期を繋げる場合 A(function(a){ B(a, function(b){ C(b, function(c){ done(c); // ABC }); }); });

    今更だけどPromise入門 - Qiita
  • JavaScriptのモジュール管理(CommonJSとかAMDとかBrowserifyとかwebpack) | tsuchikazu blog

    昨年のAdvent Calendarを眺めたり、JS周りの記事を見ていると、RequireJSとか、CommonJSとか、AMD、Browserify、webpackあたりが、同じような文脈で登場するんですが、それぞれ何を指しているのかよくわからなかったため、今更ながらまとめてみます。 前提 小規模にしかJavaScriptを使っていないWebサイトでは、jQueryを使ってDomイベントで色んな処理をして、Domに反映させる。というような処理が、ごちゃっとまとめて書くことが多いかと思います。ごちゃっととは、特にDomにしか情報を保持していない状態を指していて、イメージとしてはこのようなコードです。 $(function() { # イベントハンドラ $("#btn").on("click", function(){ $.ajax({ url: "api/resources", dataT

    JavaScriptのモジュール管理(CommonJSとかAMDとかBrowserifyとかwebpack) | tsuchikazu blog
  • ブラウザリンクからAndroidアプリを起動する方法。 | 燃えよKEYBOARD

    Android端末のブラウザからリンクをクリックするとアプリを起動するような仕組みを作ろうとして凄くはまったのでまとめてみました。 調べてみるとリンクのフォーマット自体諸説乱立しているようです。 以下の3種類のスキームの定義が混在して使われているらしいことがわかりました。 Patter1 <a href=“myapp://?source=blog&amp;locale=en”>Open the app</a> Pattern2 <a href=“intent://?source=ad&amp;locale=en#Intent;scheme=myapp;package=com.company.myapp;end”>Open the app</a> Pattern3 <a href=“intent://whatever/#Intent;scheme=myapp;package=com.comp

    ブラウザリンクからAndroidアプリを起動する方法。 | 燃えよKEYBOARD
  • カスタムURLスキームでアプリを起動させ、アプリが無ければストアに遷移させる - Qiita

    webページから↓を実現させてみました - アプリを起動させる - アプリがインストールされていなければストアへ遷移させたり何かしらアクションを起こさせる やりたいこととしてはこちらのようなこと http://qiita.com/oigus-k/items/03044da9a9f7f1754346 http://qiita.com/kenguy/items/9d9a8b7b6ca8b6984eb9 前提として、アプリ側にカスタムurlスキームを設定しておく必要があります。 また、ブラウザ環境ごとで挙動が異なることが多いので全てを網羅しているわけではありません。 基的なロジック iframeかlocation.hrefでアプリ起動を試みる setTimeoutで遅れてフォールバック処理をする(ストアへ遷移など) アプリやストアへ遷移したあとにブラウザに戻ってきたことを検知する カスタムur

    カスタムURLスキームでアプリを起動させ、アプリが無ければストアに遷移させる - Qiita
  • JavaScript,jQueryの爆速コーディング、デバッグ方法論の勧め~実践向け逆引き(windows,chrome向け)~ - Qiita

    JavaScript,jQueryの爆速コーディング、デバッグ方法論の勧め~実践向け逆引き(windows,chrome向け)~JavaScriptjQuery ※2017/4/21にオンロード時のデバッグ方法8を追記しました! こんにちは!エイチーム引越し侍の加藤です! みなさんJavaScript書いてますか? console.logめっちゃ使うよねーって人は目からうろこのデバッグ方法を、 ケース毎に紹介していこうと思います。(僕はconsole.log使いません) サーバーにデバッグ用のコードをアップロードすること無いので、 消さずに意図に反してリリースしてしまう危険性がないのもお勧めです。 前提知識 F12で出てくるデベロッパーツール(Elements, Console, Source, Network)の知識 Ctrl+Shift+Fで外部ソース(js,css)に対して一括検索が

    JavaScript,jQueryの爆速コーディング、デバッグ方法論の勧め~実践向け逆引き(windows,chrome向け)~ - Qiita
  • JavaScriptで継承を使わないプログラミングスタイル - JavaScript勉強会

    JavaScriptでは「継承による差分プログラミング」はモダンではない、という意見がありました。 なるほど、「継承による差分プログラミング」を使わないスタイルもあるんですね?(参考になります) JavaScriptのオブジェクト指向プログラミング OOPのアンチパターン SOLID原則 オブジェクト指向の基機能 データ構造としてのオブジェクト デメリット メリット PACアーキテクチャー マイクロサービス指向アーキテクチャー JavaScriptのオブジェクト指向プログラミング jsstudy.hatenablog.com オブジェクト指向って便利なの? - JavaScript勉強会 うへええええ継承による差分プログラミングとか現代に言わないでくれよ。しかも「JSはプロトタイプベースのOOP」を初めとして間違いが多いぞ 2017/03/27 09:42 b.hatena.ne.jp

    JavaScriptで継承を使わないプログラミングスタイル - JavaScript勉強会
  • 今時のフロントエンド開発2017 (1. 愚痴編) - Qiita

    良いものを書きたいので指摘などは大歓迎です。 その際はコメントや編集リクエストをいただければ修正します。 大きな変更が加わるときは通知すると思います。 はじめに これまでのフロントエンドの開発には多くの問題や面倒ごとを抱えています。 その解決手段としてよくビルドツールやaltJSといったワードを目にしますが,これらがどういった目的で利用されているのかについて触れながら進めていきます。 主にパッケージ管理やビルドツールを初めて見る人向けになっているので全編通すとそれなりに長いです。 動かすまでが長めになっていますが理解してしまえば当に必要な手順はさほど多くありません。 実際に開発を始めるために必要な準備はせいぜい1~2つのファイルを記述してコマンドを数回叩く程度なので,過度な抵抗感を持たずに読んでいただけたらなと思います。 登場するツールや技術は多くの問題を解決してくれますが,これらは飽く

    今時のフロントエンド開発2017 (1. 愚痴編) - Qiita
  • Lodashのファイルサイズを削減する方法 | 綺麗に死ぬITエンジニア

    JavaScriptにおける便利な関数の詰め合わせであるライブラリ「Lodash」。JavaScript(Node.js)での開発をしている人の多くは利用したことがあるでしょう。 今回はそのLodashを使う上で、ライブラリを導入後のファイルサイズを削減する方法を紹介します。 なお、今回当記事で紹介するにあたり、検証にモジュールバンドラーツール「webpack」を利用します。ですが、webpackを利用しない場合においても同様の方法でファイルサイズは削減できます。 ユースケースLodashに限らず、比較的高機能なJavaScriptライブラリは、場合によっては性能面や容量(ファイルサイズ)の面で、1機能特化のミニマルなものに比べ劣ることがあります。 例えば、そのライブラリの全ての機能のうち1つの機能しか使わなかったとしても、全ての機能分のファイルサイズを消費し、全ての機能を読み込んでしまい

  • Modern JavaScript概観、そしてElectronへ | さにあらず

    この一か月分の学習成果を整理したリポジトリを作ったので、その成果についてまとめておく。 作ったサンプルプロジェクトだけを手軽に欲しければ、このリポジトリを clone してほしい。 taichi/js-boilerplatemaster ブランチには、ミニマムな JavaScript 開発環境がサンプルコード付きで入っているfrontend ブランチには、React/Redux/webpackなウェブアプリケーション用の開発環境が入っているデフォルトブランチにしてある electron ブランチには、frontend ブランチの内容に加えてElectronでアプリケーションを開発するための環境が入っているはじめに#最近の JavaScript について#僕は仕事として JavaScript を書いている訳ではないけども、この半年くらいの間にちょっとしたツールならいくつか作った。どちらも便利

    Modern JavaScript概観、そしてElectronへ | さにあらず