並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 1081件

新着順 人気順

constの検索結果321 - 360 件 / 1081件

  • Reactにおける再利用とテストを容易にする疎結合なUIを目指す3つのTips

    はじめに コード上での問題を正確に認識しておかなければ、問題を繰り返すのです。Reactを使用したプロジェクトに参画したり、OSSプロジェクトのソースコードを散見すると複雑な仕様に立ち向かったUIに出会うことがあるでしょう。 複雑な仕様に立ち向かったUIは以下の特徴があると考えています。 bundle size が肥大している 保守や維持の管理が高い 他開発者にこのUIは何をやっているのか、質問をしなければならない。 質問の回答を聞いてもそのUIが実行していることが多様で理解しづらい。 再利用性が低い そのUIを利用するために満たさなければならない条件が多く、新しく似ているUIを実装することになる。 複雑なAPI 片手の指の数では溢れる props の数が存在している ユースケースを満たすために、既存の機能を使えば実装ができるのか、判断がしづらい 上記のようなUIを見かけた場合、どのような

      Reactにおける再利用とテストを容易にする疎結合なUIを目指す3つのTips
    • The SoundCloud Client in React + Redux

      Follow on FacebookIn the beginning of 2016 it was time for me to deep dive into the ReactJs world. I read tons of articles about React and its environment, especially Redux, so far. Several of my colleagues used it in side projects and on a theoretical level I could participate in the discussions. In my company we relied heavily on Angular 1 at this point. Since we are using it in a quite large co

        The SoundCloud Client in React + Redux
      • 「後付の型システム」の活用についてFlowtypeとReduxから考える - Qiita

        FlowtypeやTypeScriptは静的解析によって事前に型違反を検知することができる。JavaScriptは動的型付けの言語であり、本来はランタイムにしか型が出現しない。 FlowtypeとTypeScript、ともに「それ自身がランタイムではない」というのが特徴であり、一種のLintツールだと言うことができる。ランタイムではないがゆえに、嘘の事前条件を与えることでそれらを騙すことができるし、自らに有利な制約を追加できるという柔軟性を持つ。 JavaScriptの現実においての型 例を出そう。 type MyUtil = { foo(v: string): number; }; const util: MyUtil = new HogeUtil(); util.foo(1) //=> type error HogeUtil は何かしらのユーティリティ関数の詰め合わせだが、fooにしか

          「後付の型システム」の活用についてFlowtypeとReduxから考える - Qiita
        • JavaScript にイミュータブルな配列操作メソッドを導入するプロポーザルについて

          この記事では、現在 Stage 1 のプロポーザル Change Array by copy について解説する。 プロポーザルの詳細については、https://github.com/tc39/proposal-change-array-by-copy を参照してほしい。 また、ここで紹介した仕様に関しては今後更新されていく可能性がある。 概要 Change Array by copy は、簡単にいえばイミュータブルな配列操作メソッドを導入するプロポーザルである。 JavaScript の配列には多くのインスタンスメソッドがあり、それらを使って配列を操作できる。 配列のインスタンスメソッドには、ミュータブルなもの、つまりもとの配列を変更することによって配列を操作するタイプのものがいくつかある。 たとえば、Array.prototype.push や Array.prototype.pop、A

            JavaScript にイミュータブルな配列操作メソッドを導入するプロポーザルについて
          • An Overview of JavaScript Testing in 2020

            (Updated on: 21.11.2021) This guide is intended to catch you up with the most important reasoning, terms, tools, and approaches to JavaScript testing for the year 2022. It combines information from the best articles recently released (they are referenced at the bottom) and adds from my own experience. It’s a little long but whoever reads and understands this guide, can safely assume they know the

              An Overview of JavaScript Testing in 2020
            • Rails アプリケーションの不安定なテストを撲滅したい 〜system spec のデバッグ方法とテストを不安定にさせる要因〜

              Rails アプリケーションの開発において、自分の変更に関係のないテストのせいで CI がコケるとストレスですよね?真っ先に直したくなりますよね?不安定なテストを直すのは大変な労力が要ると思ってませんか?実は、たいていのケースは簡単に再現確認ができるし、不安定になる要因もだいたい決まっているし、ログやスクリーンショットを見れば原因も簡単に特定できるんです! そんなわけで、日頃不安定なテストを潰している身として知見みたいなものをまとめてみました。 今回利用した環境は次のとおりです。 rails 6.0.0 capybara 3.29.0 selenium-webdriver 3.142.4 rspec-rails 3.8.2 Google Chrome 77.0.3865.75 (headless で使用) ChromeDriver 77.0.3865.40 (f484704e052e0b5

                Rails アプリケーションの不安定なテストを撲滅したい 〜system spec のデバッグ方法とテストを不安定にさせる要因〜
              • 僕が JavaScript 開発をするときの ESLint の設定ファイルの基本形 - BattleProgrammerShibata

                eslint.org 目下のところ JSHint と JSLint 戦争は ESLint という第三勢力の登場によって僕の中でめでたく終結したので最近の JS 開発の際には ESLint を使っている。で、以下の .eslintrc (プロジェクト単位に作れる ESLint の設定ファイル)が僕の場合の基本形。欲しくなったルールをなんか秘伝のタレ的に下に下に継ぎ足してるので、特に定義の順序には拘ってない。 { "rules": { // 定数式による条件を警告 "no-constant-condition": 1, // 情報が不十分な JSDoc を警告 "valid-jsdoc": [2, { "requireReturn": false }], // console メソッドを注意 "no-console": 1, // alert メソッドを許可 "no-alert": 0, //

                  僕が JavaScript 開発をするときの ESLint の設定ファイルの基本形 - BattleProgrammerShibata
                • WebAssemblyのゲームをアセンブリ直書きで作る - ABAの日誌

                  左右矢印キーでスタートして移動、降ってくる岩を避けて下さい。 wasm-game-by-hand コードは以下。 game.wat ブラウザ上のアセンブリ言語ことWebAssemblyがChromeやFirefoxで動くようになってきたので何か作ろうと思った。普通はUnityとかRustとかのWebAssemblyを出力できるエンジンや言語を使って生成するのだが、せっかくだから直に書いてみた。 WebAssemblyはS式で書ける(wast形式)。 Understanding WebAssembly text format WebAssemblyはスタックマシンなので、2つの値を足す場合、それら値をスタックに順に積んでAddを呼び出す、というふうに書く。 get_local $p get_local $p i32.add でも引数が先に来て後に命令がくるのはあまり直感的な感じはしない。なの

                    WebAssemblyのゲームをアセンブリ直書きで作る - ABAの日誌
                  • Playwrightも知らないで開発してる君たちへ - Qiita

                    重要なのはここで、 pw.webkit.launch() とするか pw.chromium.launch() とするかで 起動するブラウザが変わるだけです。 デバイスの設定も簡単 pw.devices に主な端末のviewport, UAの情報がまとめられています。 デバイスのリスト: https://github.com/microsoft/playwright/blob/master/src/deviceDescriptors.ts const pw = require('playwright'); // iPhone11のデバイス情報を取得 const iPhone11 = pw.devices['iPhone 11 Pro']; (async () => { const browser = await pw.webkit.launch(); const context = awai

                      Playwrightも知らないで開発してる君たちへ - Qiita
                    • 綺麗なReactコンポーネント設計でモノリシックなコンポーネントを爆殺する - Qiita

                      まずはじめに Reactはユーザインターフェース構築のためのJavaScriptライブラリです。 React は、インタラクティブなユーザインターフェイスの作成にともなう苦痛を取り除きます。アプリケーションの各状態に対応するシンプルな View を設計するだけで、React はデータの変更を検知し、関連するコンポーネントだけを効率的に更新、描画します。 - React公式より Reactのプロジェクトである程度規模が大きくなっていくと問題になっていくのは きちんと設計しないとビジネスロジック、コンポーネントのステート、表示 これらが入り混じって数百行の巨大なコンポーネント(モノリシックなコンポーネント)ができてしまう場合があることです。 確かにReactはユーザインタラクティブなViewの作成には強力な力を発揮しますが、 綺麗なコンポーネント設計に関しては利用者に委ねられています。 (Re

                        綺麗なReactコンポーネント設計でモノリシックなコンポーネントを爆殺する - Qiita
                      • 変更に強いコンポーネント設計の方針と規約(Webフロントエンド) - Sansan Tech Blog

                        技術本部 データ戦略部 Newsグループの木田です。 最近、初めて自作キーボードに挑戦しました。ちょうど2枚目のモニターも買ったので、モニター2台と自作キーボードで快適に記事を書いています。 予めお断りしておきますが、この記事は元々、社内向けに設計方針や規約・ツールなどについて共有するために書いたものでした。最近、他チームの参考資料として役立ったこともあり、社外向けに手を加えて公開する運びとなりました。 はじめに 機構改革・人事異動情報(β) とは ⚛️ Atomic Design に従う ⚛️ Atomic Design とは ⚛️ Molecules と Organisms の分け方 ⚛️ コンポーネントの設計方法 📝 規約 📝 Component と Container を分ける 📝 データの繋ぎ込みは Organisms 以上で行う 💡 Tips 💡 Atoms はタグ本

                          変更に強いコンポーネント設計の方針と規約(Webフロントエンド) - Sansan Tech Blog
                        • Node.js v16 の主な変更点 - 別にしんどくないブログ

                          2021/04/20にリリースされたNode.js v16の主な変更点を紹介します。 nodejs.org M1 MacでもNode.jsが使えるようになります V8 v9.0 Atomics.waitAsync RegExp match indices Timers Promises APIが安定版になりました fs.rmdirのrecursiveオプションがDeprecatedになりました Node.js v15の機能がLTSとして使えるようになる 最後に 参考記事 変更履歴 M1 MacでもNode.jsが使えるようになります Node.js v16.0.0は、Apple Silicon、いわゆるM1チップと呼ばれるAppleの新しいチップに対応したNode.jsの実行ファイルが公式で配布される最初のバージョンになります。 v15.xでもソースコードからのビルドでM1 MacでもNo

                            Node.js v16 の主な変更点 - 別にしんどくないブログ
                          • Promise.allSettled と Promise.any | blog.jxck.io

                            Intro Promise.allSettled() と Promise.any() の仕様策定が進んでいる。 両者は近いレイヤの仕様では有るが、作業の進捗には差がある。 Promise.allSettled は Stage 4 であり、 Chrome や Safari TP には実装もされている Promise.any は Stage 2 であり、実装はまだない ここでは、これらがあると何が嬉しいのかを Promise.all(), Promise.race() の特徴を踏まえて解説する。 Promise.all()/race() Promise.all(), Promise.race() は、いずれも複数の Promise をまとめて処理する Utility Method のようなものである。 all は全ての Promise が Resolve したら Resolve し、 race

                              Promise.allSettled と Promise.any | blog.jxck.io
                            • typelessというReact向け状態管理ライブラリがめっちゃいい - Qiita

                              typelessというreactの状態管理ライブラリが非常に良いので紹介します 2019/10/24: 入門記事 書きました What is typeless? react+typescriptで使う前提のreduxラッパーライブラリ。reduxが抱える以下のような課題を解決する 異常に多いボイラープレートコード 重複した型注釈 大量の依存ライブラリ 欠如したコーディングガイドライン これらの課題を踏まえて以下のコンセプトでデザインしている TypeScriptフレンドリー 実用に耐えうる機能を全て内包する 容易なモジュール追加 多くのユースケースに対する解決策をデフォルトで提供 *参考: https://typeless.js.org/introduction/motivation reduxの抱える課題について ドキュメントのmotivationの項で書かれていることは多くの人が課題を

                                typelessというReact向け状態管理ライブラリがめっちゃいい - Qiita
                              • https://github.com/airbnb/javascript/tree/master/react

                                  https://github.com/airbnb/javascript/tree/master/react
                                • あなたはどこまで潜れるか?TypeScriptの世界にディープ・ダイブ!

                                  こんにちは、編集長の白石です。 この記事は、9月24日に開催されたHTML5 Conference 2017に登壇したエキスパートに、お話されたセッションのトピックを中心に語っていただこうとういものです。セッションの内容をより深く理解する手助けになるだけでなく、本記事単体でも面白く読んでいただけることを目指しています。 今回お話を伺ったのは、株式会社サイバーエージェントの青野健利さんです。 青野さんのセッション「Deep dive into TypeScript」に関するスライド資料は、こちらで公開されています。 なお本稿のサンプルコードは、ほとんどが上記スライドから引用したものになります(一部説明を簡略化するため、青野さんの許可を得て筆者が書き換えた部分もあります)。 筆者からのお詫び: 今回のインタビュー、および対象セッションは大変内容が濃く、記事にすると長大になりすぎる&スライド資料

                                    あなたはどこまで潜れるか?TypeScriptの世界にディープ・ダイブ!
                                  • データフェッチはuseEffectの出番じゃないなら、結局何を使えばいいんだ

                                    ショートアンサー React 18 からのフックである、useSyncExternalStore を使えばいいようです。 ※ useEffect がまったくだめだというわけではありません。 ※ クライアントサイドレンダリングのみを考えています。サーバーサイドレンダリングを考慮すると違った答えになるかもしれません。 サンプルコード 次のような useData フックを作ってみます。 JSON API の GET レスポンスを返すシンプルなものです。 実験をしやすいように、リクエスト URL を変えるボタンを置いてあります。 import { useEffect, useState } from "react" export function SearchResults() { const [id, setID] = useState(1) const todo = useData(`http

                                      データフェッチはuseEffectの出番じゃないなら、結局何を使えばいいんだ
                                    • GitHub - facebook/lexical: Lexical is an extensible text editor framework that provides excellent reliability, accessibility and performance.

                                      import {$getRoot, $getSelection} from 'lexical'; import {useEffect} from 'react'; import {LexicalComposer} from '@lexical/react/LexicalComposer'; import {PlainTextPlugin} from '@lexical/react/LexicalPlainTextPlugin'; import {ContentEditable} from '@lexical/react/LexicalContentEditable'; import {HistoryPlugin} from '@lexical/react/LexicalHistoryPlugin'; import {OnChangePlugin} from '@lexical/react/

                                        GitHub - facebook/lexical: Lexical is an extensible text editor framework that provides excellent reliability, accessibility and performance.
                                      • フロントエンド x RTC界隈の最近とこれから - console.lealog();

                                        フロントエンドエンジニアからみる、この界隈で今どんなIssueが話題になってるのかと、この先どういう動きがありそうかについて。 そこまで自分に先見の明があるとも思ってないけど、アウトプットしておかないと忘れてしまいそうなので・・。 ちなみにここでいうフロントエンドは、いわゆるブラウザとかJavaScriptのAPIのことです。 プロトコル的な側面はそこまで詳しくないのであまり触れません。 WebRTC 1.0 GitHub - w3c/webrtc-pc: WebRTC 1.0 API まず、RTCといえばズバリのWebRTCから。 昨年末にWDからCRへ格上げということで、もうAPIが激変したりはしない・・はず。 実際のところ、ここ半年くらい大きな対応した覚えがないです。(WebRTCそのものを実装してる人は、地味にいろいろ対応してると思うけど) ガワのAPIという観点でいうと、最近はも

                                          フロントエンド x RTC界隈の最近とこれから - console.lealog();
                                        • Webpackerを導入してから外すまでをふりかえる - 弥生開発者ブログ

                                          こんにちは、@mugi_unoです。 MisocaでjQuery製のフロントエンドコードを書き換え続けていた結果、技術書典6に参加することになりました。現在必死で書いております。 farewell_webpacker さて、先日とあるブランチがmasterにマージされ、リリースされました。 farewell : ごきげんよう!、さらば! farewellの意味・使い方・読み方 | Weblio英和辞書 farewell_webpacker です。 長い間フロントエンドのビルドにはRailsのGemであるWebpackerを使ってきましたが、現在は完全に依存を外しており、純粋なwebpackビルドを行う形に書き換えました。 正直なところ、フロントエンド界隈からは否定的な意見を聞くことも多いWebpackerですが、実際にある程度の期間プロダクションで利用してみて、良いところも辛いところも両方

                                            Webpackerを導入してから外すまでをふりかえる - 弥生開発者ブログ
                                          • JavaScriptでvarが非推奨な理由を整理してみた - Qiita

                                            はじめに 未経験からNode.jsの現場に配属された2019年新卒エンジニアが、学習の振り返りとしてJavaScriptの基礎の基礎をまとめます。 今回は、JavaScriptの変数宣言についてあらためて整理し、なぜ近年のJavaScriptではvarの使用が推奨されていないのかをまとめたいと思います。 こういう人に読んでもらいたい JavaScriptを勉強したてで、ひとまず変数にはvarを使ってる人 letやconstを使っているけど、改めて訊かれると理由を上手く説明できない人 JavaScriptにおける変数宣言をおさらい 本題に入る前に、まずJavaScriptの宣言に関する基本的な挙動を整理します。 宣言の種類は? 2019/12月現在、JavaScriptの変数宣言キーワードにはvar, let, constの3つがある。 元々はvarしかなかったところに、ECMAScript

                                              JavaScriptでvarが非推奨な理由を整理してみた - Qiita
                                            • オフスクリーンキャンバスを使ったJSのマルチスレッド描画 – スムーズなユーザー操作実現の切り札 - ICS MEDIA

                                              OffscreenCanvas(オフスクリーンキャンバス)はWeb Workers(ウェブワーカー)を使用してWorkerスレッドで描画処理を行える機能です。負荷の高い描画処理をWorkerスレッドに移動することで、メインスレッドの負担が軽くなり、余裕ができます。これによりメインスレッドでスムーズなユーザー操作を実現できるようになり、ユーザー体験の向上が期待できます。本記事ではOffscreenCanvasについて機能と使い方を解説します。 ▲ OffscreenCanvasを使用したデモ。OffscreenCanvasを使用すると、Canvasへの描画負荷が高い場合でもスムーズなユーザー操作とCSSアニメーションの再生を実現できる JavaScriptでマルチスレッドに処理を実行できるWeb Workers OffscreenCanvasの説明の前に、まずはWeb Workersについて

                                                オフスクリーンキャンバスを使ったJSのマルチスレッド描画 – スムーズなユーザー操作実現の切り札 - ICS MEDIA
                                              • 自社運営のWebアプリをPWA化した際にハマった話(OAuthなど) - APC 技術ブログ

                                                はじめに 先進サービス開発事業部の高橋です。主にフロントエンド開発を担当しています。今回は私たちの部署で運営しているソーシャルRSSサービス「NEIGHBORS」をPWA化した際にやったことを書いていこうと思います。 NEIGHBORS | ひとりの興味をみんなの知識に とはいえ、比較的短期間で実装するという目標を掲げていたということもあり、プッシュ通知みたいなすごくネイティブっぽい機能は実装しておらず、キャッシュコントロールやホームに追加してアプリっぽく振る舞うといった比較的簡易な形で落ち着かせています。なので、この記事ではPWAの実装自体について詳しく記載していくというよりは、それまで動いていた機能がPWAというかServiceWorkerを使うことでうまく動かなくなった点に重きを置いています。 PWAとは PWA(Progressive Web App)とは、ざっくりいうと、Webア

                                                  自社運営のWebアプリをPWA化した際にハマった話(OAuthなど) - APC 技術ブログ
                                                • 2022年の最新標準!Vue 3の新しい開発体験に触れよう - ICS MEDIA

                                                  2021年のVue.jsは新しいVue 3のコアが安定し、開発環境からライブラリやコードの書き方まで、新しい発表の多い一年でした。ICSではすでに複数のプロジェクトでVue 3やVite等の新しいフレームワーク・ツールを使用していますが、まだまだ様子見という方も多いでしょう。 変化の大きいVue 3の周辺ですが、2021年11月のVueConf Toronto 2021(セッション動画)でようやく次の定番と言える構成がアナウンスされました。この記事では、Vite・cteate-vue・<script setup>・Piniaといった新しい推薦構成を紹介し、Vue 2時代から何が良くなるのかを比較します。 新しい構成は何が良くなる? メリットを確認 新しい構成ではプロジェクトを作成する際のコマンドラインツールからVS Codeの機能拡張やコードの書き方まで、さまざまな部分が変わっています。個

                                                    2022年の最新標準!Vue 3の新しい開発体験に触れよう - ICS MEDIA
                                                  • top-level awaitがどのようにES Modulesに影響するのか完全に理解する - Qiita

                                                    先日、TypeScript 3.8 RCが公開されました。TypeScript 3.8はクラスのprivateフィールド(#nameみたいなやつ)を始めとして、ECMAScriptの新機能のサポートがいくつか追加されています。この記事で取り扱うtop-level awaitもその一つです。 この記事ではtop-level awaitに焦点を当てて、その意味や使い方について余すところなく解説します。top-level awaitは一見単純な機能に見えますが、実はモジュール (ES Modules) と深い関係があり、そこがtop-level awaitの特に難しい点です。そこで、この記事ではECMAScriptのモジュールについても詳しく解説します。この記事を読んでtop-level awaitを完全に理解して備えましょう。 ※ この記事は3分の1くらい読むと「まとめ」があり、残りはおまけで

                                                      top-level awaitがどのようにES Modulesに影響するのか完全に理解する - Qiita
                                                    • React Conf 2018のKeynoteで発表されたHooks、Concurrent Reactのまとめ - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                      フロントエンドエキスパートチームの@koba04です。 10/25,26の2日間、ネバダで開催されたReact Conf 2018に参加して来ました。 今回は、気になっている人も多いKeynoteで発表されたHooksとConcurrent Reactについて紹介したいと思います。 今回紹介された内容は、2014年後半くらいからReactを見てきた中でも、最も大きな変更であると言えます。 React Conf 2018 React Conf 2018のストラップ カンファレンスのトーク自体はすでにYouTubeで公開されているので、全トーク観ることが出来ます。 https://www.youtube.com/playlist?list=PLPxbbTqCLbGE5AihOSExAa4wUM-P42EIJ Hooks Hooksは、GitHub上でも一切公開されておらず、React Conf

                                                        React Conf 2018のKeynoteで発表されたHooks、Concurrent Reactのまとめ - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                      • https://support.microsoft.com/ja-jp/help/216528

                                                        すべて Microsoft 製品 Microsoft 365 Office Windows Surface Xbox セール サポート ソフトウェア Windows アプリ OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画とテレビ番組 法人向け Microsoft Azure Microsoft Dynamics 365 Microsoft 365 Microsoft Industry データ プラットフォーム Power Platform 法人向けを購入する Developer & IT .NET Visual Studio

                                                        • Chrome(Canary) の Native File System API で ローカルファイルの読み書きをする - mizchi's blog

                                                          ブラウザ上でローカルファイルの読み書きができる Native File System API が ChromeCanary で実装された。 前々から欲しかった機能なので、自分が作ってる markdown preview ツールに実装してみた。 Intent to ship https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/noan0cgEBGQ/t8DuK8_hDwAJ 仕様 http://wicg.github.io/native-file-system/ 動かすとこんな感じ https://mdbuf.netlify.com/ で Meta+O/Meta+S のキーバインドを振ってる。 有効化 https://www.google.com/intl/ja/chrome/canary/ をダウンロード chrom

                                                            Chrome(Canary) の Native File System API で ローカルファイルの読み書きをする - mizchi's blog
                                                          • eslint-plugin-import-accessではじめるディレクトリ単位カプセル化

                                                            こんにちは。この記事は筆者が製作した ESLint 向けプラグイン eslint-plugin-import-accessを紹介する記事です。 このプラグインにより TypeScript プログラムに擬似的なpackage-private exportの概念が生まれます。JSDoc で@packageとアノテートされたexport宣言は、そのファイルが属するディレクトリの外からインポートすることができなくなります。 従来、TypeScript で可能なカプセル化の最大の単位は「ファイル」であり、ファイルからエクスポートしない変数はそのファイル(モジュール)の中に閉じている一方で、一旦エクスポートしたものはプロジェクトのどこからでもインポート可能になります。これでは不都合な場合がありました。 最近の具体的な例としてはRecoilが挙げられます。筆者の以前の記事では、Atom や Select

                                                              eslint-plugin-import-accessではじめるディレクトリ単位カプセル化
                                                            • ES6時代のコーディングスタイルを考える - Qiita

                                                              ここではコーディングスタイルを考える上で、ES6(ECMAScript2015)の以下の特徴に注目して考察するものです。 変数宣言は、constを基本とする クラス宣言文や関数宣言文はブロックスコープ 文字列では、テンプレートリテラルを活用する ジェネレータのために、複数の構文が拡張された また、以下の基準を採用していることを特に触れておきます。 ES5コードの混在、ES5時代のスタイルとの互換性は取らない ES6 modulesが存在しない状況で適用可能なスタイルを取る 視認性を犠牲にコーディング時のミスの影響を隠蔽するスタイル(ヨーダ記法など)は取らない 局所視認性より、全体視認性での高さを重視する 微妙に違うものを区別しやすいスタイルにする 同じものは同じスタイルを取る 一覧しやすくコンパクトに書ける方を採用する 変数宣言は、constを基本とする ES6では再代入を認めないcons

                                                                ES6時代のコーディングスタイルを考える - Qiita
                                                              • Web Audio APIの闇 - Qiita

                                                                HTML5でゲームやリッチなコンテンツを作る上で欠かせない「Web Audio API」 しかしコイツがなかなか・・・モバイルでの特殊実装やメモリ使用量まわりで色々と闇を抱えていて・・・ ということで闇を見つけ次第、検証結果や対処方法など記録を残していきます。 iOS SafariはBGMなどの自動再生ができない iOS Safariは以下ようなコードでサウンドの自動再生ができない const AudioContext = window.AudioContext || window.webkitAudioContext; const ctx = new AudioContext(); const request = new XMLHttpRequest(); const url = 'https://zprodev.github.io/web-audio-test/assets/Campf

                                                                  Web Audio APIの闇 - Qiita
                                                                • Node.js v10の変更点まとめ - hiroppy's site

                                                                  リリース日は 4/24(UTC)の予定です。 この記事では、バックポート含め v9 から入ったものを上げていこうかなと思います。 なので、Node10 の CHANGELOG からの拡張だと考えてください。 10.0.0 Proposal by jasnell · Pull Request #19091 · nodejs/node This is nearly ready: 1st RC Build will be cut afternoon (pacific time) of April 19th 2nd RC Build ... 注目すべき変更 Assert 差分をわかりやすくするために assert.strict が追加されました promise 用に assert.rejects と assert.doesNotReject が追加されました Console ブラウザ同様に con

                                                                    Node.js v10の変更点まとめ - hiroppy's site
                                                                  • 次のリリースであるBabel7の主な変更点まとめ - 技術探し

                                                                    Babel7がリリースされるまでは更新されます。 注意: 量が多いので、BabelのInternal, Bug Fix, DocumentsとBabylonについては書きません。 また6.xへバックポートされたものも入っていますので注意してください。 もし、間違えや質問があれば、 @about_hiroppy までどうぞ;) Index Notable Changes Details of Changes In Progress Links Milestone Babel 7 Beta Milestone · GitHub Wiki Babel 7 · babel/babel Wiki · GitHub Releases Releases · babel/babel · GitHub Revision History of This Article 2017/09/04(first) Ba

                                                                      次のリリースであるBabel7の主な変更点まとめ - 技術探し
                                                                    • 【翻訳】Date and Times in JavaScript - from scratch

                                                                      この記事は littledan から依頼を受けて、翻訳しています。広く Date and Times の JS プロポーザルについて意見がほしいとのことです。 意見は以下の場所にポストできます。 docs.google.com 原文: blogs.igalia.com tl;dr: Temporal のプロポーザルについてフィードバックを求めています。 Polyfill を試したら、サーベイの回答を送ってください、ただしまだ本番環境では使わないでもらいたいです。 JavaScript の Date クラスは壊れています、しかし Breaking the Web を起こさずに修正する方法はありません。風のうわさでは、 Date クラスは 10 日で作られた JS Engine のhackに含まれたもので、 java.util.Date に基づいたものと言われています。しかも java.uti

                                                                        【翻訳】Date and Times in JavaScript - from scratch
                                                                      • Googleスプレッドシートと自然言語処理AI「GPT-3」を組み合わせてデータ作成を効率化

                                                                        2022年末に登場、一躍テクノロジー業界の話題を席巻したAIチャットボット「ChatGPT」 自然な文章で情報を提供するこの「ChatGPT」に対して、ビジネス、ブログ、プログラミング、など、様々な場での活用が期待されています。 OpenAIが開発、サービスを提供してるこの「ChatGPT」のベースとなっている技術が、同じくOpenAIが開発した、自然言語処理AI「GPT-3」です。 膨大なテキストデータを使った機械学習によって、生み出される「GPT-3」の文章は、人間が書いた物と判別できない程 そして、機械学習の訓練によって得た知識を元にして、質問に対し即座に答えを返してくれるので、知りたい事が有る度に、一々”ググる”必要も無い。 そこで一考、「GPT-3」とGoogleスプレッドシートを組み合わせたら、作業効率を向上できるんじゃないか。 本記事では、自然言語処理AI「GPT-3」をGo

                                                                          Googleスプレッドシートと自然言語処理AI「GPT-3」を組み合わせてデータ作成を効率化
                                                                        • 型付き ⊄ 型なし - soutaroブログ

                                                                          最近、TypeScriptについて考えることが多い。SideCIでWebフロントエンドの開発に使いはじめたこともあるし、Steepの開発をしていて「TypeScriptだとどうなるんだっけ??」などと言いながら試してみることもある。 TypeScriptは型付きのJavaScriptである。構文はほとんど同じで、使えるライブラリもかなり近い。JavaScriptへの変換はかなり自明で、ランタイムは全く同じ。性能の差はない。Webpackやnpmを初めとするツール群もかなり共通しているし、アプリケーションも似たようなもん。書いている気分には、ほとんど差がない。つまり、TypeScriptとJavaScriptでプログラミングしているときに、なにか違いを感じるとすれば、それは(ほとんど)型付きの言語と型なしの言語の差と考えて良い。 RubyとJavaを比較するのとは、全然話が違う。構文も意味も

                                                                            型付き ⊄ 型なし - soutaroブログ
                                                                          • Node.jsでフォルダ内の全HTMLをキャプチャし画像化 - Qiita

                                                                            画像化するコード 画像化するにはphantomjsを利用します。メインの実行ファイルと、画像生成プロセスの2つコードを用意するのがポイントです。 main.js : メインの実行ファイル 非同期処理になるので、Promiseとか使っています。 // 定数宣言 (必要に応じて書き換えてください) const TARGET_FOLDER = './samples'; // キャプチャーしたいHTMLのフォルダー const OUTPUT_FOLDER = './imgs'; // 保存先のフォルダー const VIEWPORT_W = '1024'; // viewportの横幅(幅:単位px) const VIEWPORT_H = '768'; // viewportの高さ(幅:単位px) const IGNORE_LIST = ['.DS_Store', 'Thumbs.db', '.i

                                                                              Node.jsでフォルダ内の全HTMLをキャプチャし画像化 - Qiita
                                                                            • Next.js + esa.io + VercelでJAMStackな爆速ブログを構築する - パンダのプログラミングブログ

                                                                              追記: 本記事がesa.ioの公式Twitterに取り上げられました! esaに書いた記事をNext.jsで公開する Next.jsのバージョン9.3から、ビルド時に外部ソースからデータを取得するgetStaticPropsというAPIが公開されました。 ブログは静的なコンテンツです。ブログの内容はユーザーに応じて動的に変わるということはありません。そして、getStaticPropsは静的なページを構築するために最適なAPIです。 そこで、esaにmarkdownで書いた記事をNext.jsで表示するサイトを構築しました。 実際にサイトにアクセスして記事を開いてみてください。爆速で遷移するのが体験できます。Lighthouseの成績もバツグンです。(blog-starterをベースに利用したため、コンテンツはそのレポジトリの内容を踏襲しています) デモサイトのコードはGitHubにアップ

                                                                                Next.js + esa.io + VercelでJAMStackな爆速ブログを構築する - パンダのプログラミングブログ
                                                                              • 4KBのJavaScriptだけで動く可愛いアクションゲームを作ったのでソースと解説 - Qiita

                                                                                年イチでちょっとしたブラウザゲームを作ってます(→ 去年)。今年はそこそこ遊べる可愛いアクションゲームを4KB以内で作ってみました。 🎉宣伝させてください! 🐱今年も無事、猫の日ゲームができました!https://t.co/XnDD8AXx4k 今年は可愛さはそのまま、限界までコードを削って4KBにおさめました。PCの方はソース表示して見てみてね pic.twitter.com/j0QqH6iSSn — ゆき (@yuneco) February 20, 2022 作ったもの:ブラウザで動く4KBのゆるかわアクション URL: https://yuneco.github.io/mezashi-4kb/ ソース: https://github.com/yuneco/mezashi-4kb つまりどういう...コト? index.htmlという名前のファイルを作って下のコードをコピペする

                                                                                  4KBのJavaScriptだけで動く可愛いアクションゲームを作ったのでソースと解説 - Qiita
                                                                                • 画面キャプチャを仮想カメラとして扱えるようにするChrome拡張を作ってみる

                                                                                  この記事について 先日、@catnoseさんがカメラ映像の代わりに絵文字(Emoji)を配信するためのサービスを公開されました。凄く完成度が高くて良いサービスだと思ったので、さっそく使ってみたのですが、仮想カメラとして使用するためには OBS Studio が必要でした。[1] サービスを使うには全然申し分無いのですが、「 もっと簡単にできたらなぁ~ 」と思ってしまうのが私の悪い所で、すぐさまブラウザのみでどうにかできないかと調べてみると、色々な制約はありますが、Chrome 拡張を使うことで OBS Studio を使わずとも仮想カメラを使用できることが分かりました。 実装も簡単にできるので、 今回は Google Meet で、画面キャプチャを仮想カメラとして表示する Chrome 拡張を作って行こうと思います 💪 今回作るモノについて 今回この記事で作る Chrome 拡張は、上記

                                                                                    画面キャプチャを仮想カメラとして扱えるようにするChrome拡張を作ってみる