タグ

javascriptに関するt-satのブックマーク (182)

  • Explore DOM Events

    There are many categories of events including user events such as 'click' and system events such as 'DOMContentLoaded'.

    Explore DOM Events
  • JavaScript で print デバッグ時に変数名を出力する - mizdra's blog

    数列の和を求めるプログラムを作成することになり、意気揚々と以下のようなプログラムを書いたという状況を想像して下さい。 function sum(nums, acc = 0) { if (nums.length === 0) return 0; if (nums.length === 1) return nums[0]; return sum(nums.slice(1), acc + nums[0]); } const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; console.log(sum(nums)); // expected: 55 一見すると何も問題なさそうに見えるプログラムですが、実はバグがあります (皆さん分かりますか?) *1。実際に上記プログラムを実行すると 55 ではなく 10 が出力されます。 こうした場面に遭遇すると、自然と sum

    JavaScript で print デバッグ時に変数名を出力する - mizdra's blog
  • React を深く知るための入り口

    Reactに対する見方をアップデートする 国内外の優れた開発者の方による React の各論の記事は枚挙にいとまがありません。しかし、React の入門を一通り終えた方に向けの浅く広い総論はあまり見かけません。 React の公式ドキュメントのトップページに掲載されている短い3つの文章があります。この React質を表現した文章を掘り下げることが、初学者のステップアップにつながるのではないかと考え、各章に対して注釈を加えました。 React について少し深く知ることで、さらに React を好きになったという方を一人でも多く増やしたい。その思いから記事を執筆しました。 記事は React の考え方を知ることで、React に対する見方をアップデートすることを目的としています。 Reactとは何か。それはUIを構築するためのJSライブラリである React公式ドキュメントの一文 R

    React を深く知るための入り口
  • Reactを自作しよう

    この記事は Build your own React を翻訳したものです。 Reactを1から書き直していきます。 実際のReactコードのアーキテクチャに従いますが、最適化機能と必須ではない機能は今回は実装しません。 Step 1: createElement関数 Step 2: render関数 Step 3: 並列モード Step 4: ファイバー Step 5: Render Phase と Commit Phase Step 6: 差分検出 Step 7: 関数コンポーネント Step 8: Hooks Step 0 復習 最初にいくつかの基的な概念を確認しましょう。 React、JSX、およびDOM要素がどのように機能するかをすでに理解している場合は、この章はスキップしても構いません。 今回は、次のわずか3行のコードをReactアプリの例として使用します。 const ele

    Reactを自作しよう
  • Operator Lookup - Search JavaScript operators

    Friendly tutorials for developers. Focus on React, CSS, Animation, and more!

    Operator Lookup - Search JavaScript operators
  • レガシーおじさん、SPAを始めてみた。そして限界を知る

    はじめに 最近、Webの記事を見てるとReactVue.jsばかりが上がっていてJSPやERBの話をしてる人は誰もいません。jQueryの記事ももちろん見ない。 つまり、Webだけ見る限りではほとんどの人がSPAを使ってるように見えます。 私はWeb界隈には居るもののどちらかというとバックエンド寄り、もっというとそもそもWebとか関係ない領域を見る事が多いので、ちょっとキャッチアップを兼ねていくつかの個人プロダクトにVue.jsを採用してみました。 jQueryくらいで頭が止まってたので。サーバサイドもマイクロサービスでAPI化が進んでるのでフロントもそれに合った技術を選ばないとですしね。 というわけで、今回はその中で得た知見というか、従来型のサーバサイドでのWeb開発をしていた人の視点でVue.jsをキャッチアップする流れで書いていきたいと思います。 まあ最終的な結論は正直「これすごく

    レガシーおじさん、SPAを始めてみた。そして限界を知る
  • 太陽系の天体の位置

    3. 操作方法マウスで太陽系をドラッグするとカメラが太陽の周りを回るように移動して太陽系の向きが変わます。Shift キーを押しながら上下にドラッグするとカメラが太陽に接近したり遠ざかったりします。 上部のセレクタで中央に表示する天体 (デフォルトは太陽)、軌道表示の有無と滑らかさ (デフォルトは滑らか)、表示領域のサイズ (デフォルトは 800x500) を変更できます。 時計の自動更新のチェックボックスがチェックされていると時刻が自動的に更新されます。オフセットと動作間隔のセレクタで自動更新のオフセットと動作間隔を操作できます。セレクタを操作すると自動更新が ON になります。デフォルトは OFF です。 自動更新を OFF にしているとき、年、月、日、時、分、秒を直接入力できます。また、年、月、日、時、分、秒の下の+ボタンと-ボタンでそれぞれ +1 または -1 に、現在時刻ボタンで

  • Webブラウザ上で純粋なHTTPだけで単方向リアルタイム通信を可能にするHTTPのストリーミングアップロードが遂にやってくる - nwtgck / Ryo Ota

    Web標準のHTTPクライアントfetch()でストリーミングしながらアップロードできるようになる。

    Webブラウザ上で純粋なHTTPだけで単方向リアルタイム通信を可能にするHTTPのストリーミングアップロードが遂にやってくる - nwtgck / Ryo Ota
  • 0から始めるNode.jsパフォーマンスチューニング

    近年の Node.js は API のサーバとしてはもちろん、Nuxt.js や Next.js といった SSR や BFF などフロントエンドのためのバックエンド言語としての人気が高まっています。 フロントエンドエンジニアがコンテキストスイッチ少なくバックエンドの整備ができることは非常に大きな利点です。 ですが、フロントエンド(ブラウザ側)とバックエンド(サーバ側)ではパフォーマンスチューニングで見るべき点が大きく違います。 しかし Node.js アプリケーションのパフォーマンスイシューの見つけ方などがまとまっている資料は少ないです。 そこで、記事ではフロントエンドエンジニアが Node.js でパフォーマンスイシューを見つけ、改善するため自分が普段パフォーマンスチューニングを依頼されているときにみている基礎的なポイトをまとめていきます。 1. 計測ステップlink Node.js

    0から始めるNode.jsパフォーマンスチューニング
  • 岡田を切る技術 - Qiita

    これはとある回顧録 何度も諦めかけましたが、数年の歳月を経て遂に岡田を切る技術が一旦の完成へと至りました。その技術を巡る奮闘の歴史と成果について、ここに記録を残していきたいと思います。 画像時代 まずは「切る」という動作が何を指すかを明確にしておきます。 厳密な定義というよりは、切った感を得るために必要そうなふるまいとして定義します。 平面上のある領域が、任意の直線を境界として分割されること 分割された領域は物理法則に準じてふるまうこと 要するに気持ちよく岡田を切ることができれば目標は無事達成です。 物理エンジン 切った感を高めるためにはやはり「物理法則」に準じたふるまいが欲しくなります。つまりブラウザ上で動く物理エンジンが必要です。 世の中にはフルスクラッチで物理エンジンを作れる人間と作れない人間が居ると思われますが、残念ながら私は後者でした。勝ち目の薄い勝負は避け、素直に巨人の方にすが

    岡田を切る技術 - Qiita
  • 【感想】『Vue.js入門 基礎から実践アプリケーション開発まで』でしっかりVue.jsに入門【JavaScrpt】 - Rのつく財団入り口

    JSフロントエンドフレームワーク Vue.js の格入門書 ロー◎製薬の目薬V・◎ートのマーク……じゃなかったVue.jsのVのロゴもブイっと眩しく輝く格入門。480ページという大ボリュームのがっつりした骨太なです。 著者の中心となった川口和也さん(@kazu_pon)は、OSSとしてのVue.js自体の開発のコアチームでコントリビュートしてきた第一人者。僕がこの前sp.53で出てしまったテック系Podcast「しがないラジオ」の初期の頃のsp.9a/sp.9bや、同じくPodcastの「soussune」episode28でもゲスト出演されています。他のメンバーもそうそうたる顔ぶれ、Vue.jsを自社プロダクトのKARTEで活用していることで知られるPLAIDの方もおられますね。おっ、しがないラジオMeetup#2でご挨拶できた、めるさん(@c5meru)の名もありますぞ。 とい

    【感想】『Vue.js入門 基礎から実践アプリケーション開発まで』でしっかりVue.jsに入門【JavaScrpt】 - Rのつく財団入り口
  • anime.js

    Anime.js (/ˈæn.ə.meɪ/) is a lightweight JavaScript animation library with a simple, yet powerful API. It works with CSS properties, SVG, DOM attributes and JavaScript Objects. Getting started

    anime.js
  • JavaScriptの { } を理解する - Qiita

    結果はどうなったでしょうか。 自分が今使っているGoogle Chromeだとこうなりました。 結果は{a: 10}というオブジェクトです。まあ、これは当然ですね。3 + 5と入力すれば実行されて8が返ってくるのですから、{a: 10}というオブジェクトリテラルを書けば{a: 10}というオブジェクトが作られるのは当然です。 ……。 ここで、一部の人は「おいふざけんなよ」と思っているかもしれません。というのも、この例は環境によっては違う結果になるのです。具体的には、Chrome以外2のブラウザのREPL(FirefoxやEdgeなど)が該当します。あと、ts-nodeのREPLも該当するらしいです。これらの環境では、結果は{a: 10}ではなく次のようになります。 オブジェクトを作ったはずなのに結果が10とか意味不明ですね。そもそも、こんな簡単なプログラムで結果が全然違うとか、JavaSc

    JavaScriptの { } を理解する - Qiita
  • 今すぐ導入可能!JavaScriptで3Dの地球上にデータを可視化できる「Gio.js」を使ってみた! - paiza times

    どうも、まさとらん(@0310lan)です! 今回は、わずか数行のJavaScriptコードを書くだけで3Dの地球上にデータをマッピングして可視化できるライブラリをご紹介します! 初心者でも簡単に扱えるように設計されており、カスタマイズ性やインタラクティブな機能を追加するのも簡単です。 輸出入のデータ・統計情報・インバウンドデータなどはもちろんのこと、海外旅行や旅のログを作ったりするのにも大変重宝すると思います! 【 Gio.js 】 ■「Gio.js」の使い方 それでは、まず最初に「Gio.js」を利用するための準備から始めていきましょう! 導入方法としてはいくつかのオプションが用意されているので、特に手間を掛けることなく進めていけるはずです。 例えば、「npm」「yarn」を使う場合は以下のコマンドを実行するだけです! ※「npm」を使う場合 npm install giojs --s

    今すぐ導入可能!JavaScriptで3Dの地球上にデータを可視化できる「Gio.js」を使ってみた! - paiza times
  • Bookmarklet という一番身近な自動化技術 | blog.jxck.io

    Intro 「毎回やるなら bookmarklet にでもすれば?」と言ったら、後輩が「そんな便利なことできたんですね、知りませんでした」と言っていた。 そんな時代にこそ、今更だれも解説しないであろう、 bookmarklet という技術についてもう一度書いておく。 Bookmarklet 簡単に言えば、 JS を書き、それを Bookmark として登録すれば、クリックするだけで現在のページでそれが動くというものだ。 ブラウザ上で何かを自動化したいと思うなら、最も簡単に実現できる便利な技術だろう。 似たような手法ではブラウザの Extension などもあるが、 Bookmarklet の良いところは一切誰にも邪魔されないというところだ。 開発者登録も、ストアへのアップロードも、難解なドキュメントを忖度して煩雑な設定ファイルを書く必要もない。 開発者ツールで、「こんなことできないかな」と

    Bookmarklet という一番身近な自動化技術 | blog.jxck.io
    t-sat
    t-sat 2018/01/16
    twitterはfirefoxだと、(恐らく)CSPの制限でBookmarkletでいじれないんだよな。chromeだと平気なんかあ…。
  • DevTools を開いたら人類滅亡 - Qiita

    詳細は GitHub の README.md を見てね! どんな力を使ったの? devtools-detect というライブラリを利用して、 DevTools の表示/非表示の切り替え発生時に呼び出される EventListener で、 DOM のクリアと共に YouTube の人類滅亡動画をコンテンツエリアいっぱいに引き伸ばして自動再生させています。 devtools-detect とは一体…? devtools-detect は実装自体シンプルなので、興味があれば直接見てもらっても良いですが、 一番重要なのは下記条件文で DevTools の表示/非表示の切り替えを検出している点ですね。 var isLongOuterWidth = (window.outerWidth - window.innerWidth > 160); var isLongOuterHeight = (wind

    DevTools を開いたら人類滅亡 - Qiita
    t-sat
    t-sat 2018/01/15
    firefox だとサイドバーを開きっぱなしでブラウジングというのは、割とありがちなスタイルだと思われる。
  • 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`を理解する
  • イマドキのJavaScriptの書き方2018

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

    イマドキのJavaScriptの書き方2018
  • webpack時代の終わりとparcel時代のはじまり - Qiita

    設定不要のビルドツール parcelというビルドツールが空前の勢いでGitHubスターを集めており、リリース数日で5000スターを超えています。今日だけでも1000スター以上増えており、Googleなどの有名企業リポジトリ以外でこのスピードで人気がでるのは異例です。 https://github.com/parcel-bundler/parcel https://parceljs.org/ 実際に試してみたところ、これはwebpack一強時代を終わらせるレベルの使いやすさだと確信しました。 作者はAdobeのエンジニアで、その他著名エンジニアも続々と参加している様子です。 webpack疲れ webpackが出た当初、webエンジニアgulp/grunt疲れの状態だったことを覚えている方もいるかと思います。 webpackの統合された設定ファイルは、タスクランナーで逐次処理していたものを

    webpack時代の終わりとparcel時代のはじまり - Qiita
    t-sat
    t-sat 2017/12/09
    らいくあろーりんぐすとーん!
  • 「フロントエンド開発に再入門する」タスクフォースの進め方 | MEDLEY Developer Portal

    2017-11-09「フロントエンド開発に再入門する」タスクフォースの進め方こんにちは。開発部の宍戸です。 メドレーでは定期的に、テーマに沿って組織の技術的な底上げを行うための機会(タスクフォースと呼んでいます)を行っています。そのタスクフォースの1つとして先日、フロントエンド開発力のベースアップを目的としたタスクフォースを行いました。記事では、その取組みについてご紹介したいと思います。 背景メドレーには現在 20 人弱のエンジニアが在籍しており、その約半数がサーバーサイド出身者です。また普段の開発においては、一つの機能をフロントからサーバーサイドまで一貫して一人が担当するケースが多くあります。サーバーサイド出身者のフロントエンド開発のスキルセットには多少ばらつきはあるものの、普段の開発業務ではレビュー等でそれぞれサポートしつつ開発を行っています。 しかし、フロントエンドの基礎的な部分

    「フロントエンド開発に再入門する」タスクフォースの進め方 | MEDLEY Developer Portal