並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 482件

新着順 人気順

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

  • WebAssembly の GC Proposal とは何か / どこに向かおうとしてるのか

    最初に これは WebAssembly に GC が導入されるから紹介、という記事ではない。どちらかというと、WebAssembly GC の採用がどれだけ遠く、また GC がのればどんな言語でも wasm のコンパイルサイズが減って軽量になる、という夢を見ている人に、現実を見てもらうための記事になる。 WebAssembly GC Proposal (Team)は、それを実現するパーツを分割して仕様策定を進めていて、実際に GC が動き出すまでには数年かかるだろうし、自分の感覚的に、将来的に GC が採用されるかは五分五分といったところ。 ただ、 GC Proposal から派生した仕様郡は GC が採用されなかったとしても有意義なものばかりなので、本記事ではそれを紹介したい。 基本的にここを参照 Excuse 自分は低レベルプログラミングの経験が浅く、WebAssembly のために関

      WebAssembly の GC Proposal とは何か / どこに向かおうとしてるのか
    • SWR v2 をリリースしました

      メンテナとして関わっていた SWR v2 がリリースされましたので紹介したいと思います。 各機能の細かい紹介については、リリースブログを確認してください。日本語翻訳も行ったので日本語で読むこともできます。 https://swr.vercel.app/ja/blog/swr-v2 ここでは、ざっくりと補足を書きたいと思います。 Mutation 周り useSWRMutation 一番わかりやすいのは、新しい useSWRMutation という Hook が追加されたことです。swr/mutation から import できます。 import useSWRMutation from 'swr/mutation' async function sendRequest(url, { arg }) { return fetch(url, { method: 'POST', body: JS

      • Web VitalsとJavaScript Errorの可視化

        こんにちは、@watilde です。Amplifyの開発者体験体験の向上をすべく、ツイートのウォッチやGitHubでの反応などしています。もう去年のことですが、最近はcliの改善としてcreate-react-appのようにinitの実行時にREADMEの生成を行うPRなど作ったりしてます。参考: aws-amplify/amplify-cli#5808 この記事は英語で書いた Improve UX by observability in front-end with Amplify and QuickSight を自分で日本語に意訳してみたものです。Node学園 35時限目 オンライントライアル でも同様の内容を発表予定です。 JavaScriptのエラー例 JavaScriptは100%動いているのか 私達の作るWebアプリ・Webサイトが様々なデバイスで100%動作しているかは、実態

          Web VitalsとJavaScript Errorの可視化
        • TypeScript 5.8で条件付き戻り値型に対するナローイングができるようになりそう(特定の制約を満たす場合) - Mitsuyuki.Shiiba

          数日前にTypeScript 5.7 RCがアナウンスされてリリースが楽しみだなー!ってところなんだけど、そのさらに数日前に、ウォッチしていたこのPR↓がマージされてTypeScript 5.8.0のマイルストーンに入った。わー! これが今日のお話。TypeScript 5.8.0でConditional return type narrowingが入りそう。楽しみ! Conditional return type narrowing? 直訳すると「条件付き戻り値型の絞り込み」かな。引数の型によって戻り値の型が変わる関数を定義したいときに、例えばこんな風に書きたくなる。 declare const record: Record<string, string[]>; declare const array: string[]; function getObject<T extends str

            TypeScript 5.8で条件付き戻り値型に対するナローイングができるようになりそう(特定の制約を満たす場合) - Mitsuyuki.Shiiba
          • CI 環境でのユニットテストの実行時間を2倍速くした話 (Jest + Mongo DB + Circle CI) - ミツモア Tech blog

            こんにちは。ミツモアでテックリードしております白柳(@yanaemon) です。 ミツモアのプロダクトは TypeScript で、クライアントサイドの React とサーバサイドの Node.js で書かれており、ユニットテストは Jest + Mongo DB + Circle CI を利用しています。 しかし、プロダクトが大きくなるにつれて、全ユニットテストを実行するのに 10 分程度かかり、開発効率が悪くなっていました。 今回は、それを 2 倍以上速度改善した取り組みについて紹介します。 実施したこと いきなりですが、具体的に実施したことと、改善結果になります。 実施内容 改善結果 1. ファイル分割をし、並列度をあげる これ単体では速度改善は期待できない 2. テスト対象を修正されたファイルのみにする x1 ~ x10 速度 UP ※ただし最終的にはやめました 3. DB 生成な

              CI 環境でのユニットテストの実行時間を2倍速くした話 (Jest + Mongo DB + Circle CI) - ミツモア Tech blog
            • [msw, Jest, Node.js] mswを利用してHTTP境界のテストを書く

              JestでHTTPリクエストをインターセプトしてモックを返すのに利用したMock Service Worker(msw)の紹介をしたいと思います。環境はNodeです。 テスト対象の実装 http://example.com/examples からデータを取得する、という想定の実装です。 import fetch from 'isomorphic-unfetch'; export class GetExampleError extends Error {} export async function getExamples(): Promise<string> { const result = await fetch('http://example.com/examples'); if (!result.ok) { throw new GetExampleError('Received ge

                [msw, Jest, Node.js] mswを利用してHTTP境界のテストを書く
              • Web Bluetooth API と Bluetooth MIDI を使って子供向けの音符学習アプリを作る - エムスリーテックブログ

                エムスリー エンジニアリングGの岩本です。 会社ではiOS開発からサーバサイドの開発を担当していますが、家でDIY・IoT・スマホアプリなどを作るパパエンジニアやっています。 最近小学生になった娘がピアノに興味を持ち始めました。といっても習い事にするまでの興味はないようですが、楽しそうに猫ふんじゃったを弾いています。ところがドレミの音符もわかっていません。今回は子供に音符を教えるためといって買ったワイヤレスMIDIアダプター MD-BT01を使って、Chromeと通信してかんたんな音符を学習する子供向けのアプリを作ってみました。 なお、エムスリーテックブログのものづくり系の記事が増えてきたのでこちらもよろしければ参照ください。 Bluetoothを使った筋トレ用デバイスを作ろう - エムスリーテックブログ ROSでSLAMラジコンをつくった - エムスリーテックブログ FireTV sti

                  Web Bluetooth API と Bluetooth MIDI を使って子供向けの音符学習アプリを作る - エムスリーテックブログ
                • 『SpreadSheet』が使える人のための『ChatGPT』仕事術『=GPT関数』(神田敏晶) - エキスパート - Yahoo!ニュース

                  KNNポール神田です! 昨年、2022年11月30日にデビューした非営利法人『OpenAI(サム・アルトマンCEO)』のAIチャットサービスの『ChatGPT』が話題になっている…とよく言われるようになった…。 出典:GoogleTrends …とはいえ、どのくらいかといえば『ガーシー議員』と比較するとまだまだ大したことはない…。現在は話題の落ち着いた『ガーシー』を抜いた程度というのが現状だ。 知っている人と知らない人の差が大きいサービスとも言える。 出典:GoogleTrend それでも、日夜、いや、毎秒ごとに、進化しつづける、ChatGPTだが、Chromeのプラグインとしての活用は検索をしながら、GPTにも確認ができるようになった。 ■『ChatGPT for Google』という機能拡張が便利! 出典:Chromeウェブストア GoogleのChromeなどにこのプラグインを入れる

                    『SpreadSheet』が使える人のための『ChatGPT』仕事術『=GPT関数』(神田敏晶) - エキスパート - Yahoo!ニュース
                  • ReactのRefとRefForwardingを一気に学び直した

                    動機 業務でstyled-componentsを触る機会がありました。 styled-componentsは自分の周りではあまり良い噂を聞いていなかったため、少し調べたところこんな記事がHitしました。 記事の内容としては 様々な基礎概念を隠蔽しすぎている 使うことのメリットデメリットや、隠蔽されている部分の理解をしたチームでないと使わないほうが良い という内容です。 なので、しっかりと順を追って復習しました。 環境 viteで作成したReact18のTypeScriptプロジェクトで実施。 Reactの利用は関数型コンポーネントを前提としています。 Refを軽くおさらい 公式Docを見ていただくのが一番正確です。 公式では 一般的な React のデータフローでは、props が、親コンポーネントがその子要素とやりとりする唯一の方法です。子要素を変更するには、新しい props でそれを

                      ReactのRefとRefForwardingを一気に学び直した
                    • 10万件のSelectBoxが作りたい

                      10秒で概要 10万件のデータをサジェストするAutocompleteなSelectBoxを作りたい。 しかし、1万件を超えたあたりから通常のAutocompleteではレンダリングに時間がかかる。 以下の方針が有る。 react-windowによるレンダリング以外の範囲の仮想化 フロントエンドではデータを保持せず、入力値に応じてSearchのAPIコールを実施する Reactのレンダリングによる課題 Reactのレンダリングは、大まかに以下のフローで行われます。 Triggering a render 新規画面への描画時、またDOM要素の差分を検出したことをTriggerがとして、レンダリングが発生します。 Committing to the DOM 描画要素に違いがあるDOM要素のみ、DOMノードを変更します。 Autocompleteで表示するデータである<li>要素についても当然D

                        10万件のSelectBoxが作りたい
                      • Prerenderingを使った表示速度の改善 〜速く、一貫性のあるWebを目指して〜 | CyberAgent Developers Blog

                        すでに知られているように、Webページの表示速度は重要です。利用者はいつでもどこでも素早くページが表示されて欲しいと思うでしょう。Core Web Vitalsの指標でも表されているように、表示速度は一時的に速いだけでなく、安定していることが求められます。 本記事では、安定した表示速度を実現する手段の一つとして考えられるPrerenderingをオリジン・トライアルで試してみた結果をご紹介します。 Prerenderingとは Prerendering実装前に注意すること Quicklinkを使ったPrerenderingの実装 Prerenderingのヒット率を計算する Prerenderingの結果 Prerenderingとは Prerenderingは次に表示されると思われるページを事前にレンダリングします。レンダリングが完了している場合には、利用者がそのページに遷移するリンクを

                          Prerenderingを使った表示速度の改善 〜速く、一貫性のあるWebを目指して〜 | CyberAgent Developers Blog
                        • fetch() upload streaming は WebSocket の代替になるのか。Fetch を使ってカメラから取得した映像をストリーミングで送信する - 別にしんどくないブログ

                          Fetch Upload Streaming が Chrome 85 から Origin Trial で使えるようになりました。 何ができるかというと ReadableStream を fetch() の body に渡すことができるようになります。 getUserMedia でカメラから取得した映像をブラウザからストリーミング送信したいときに使えそうと考えたので、今回試してみました。 blog.chromium.org TL;DR fetch() で Stream のデータを送れるようになった WebSocket を使わずに映像などのデータをストリーミング送信できる 以下のコードがこの記事の内容 https://github.com/shisama/sample-streaming-video-with-fetch/blob/master/public/script.js Readabl

                            fetch() upload streaming は WebSocket の代替になるのか。Fetch を使ってカメラから取得した映像をストリーミングで送信する - 別にしんどくないブログ
                          • JavaScriptのディープコピー速さ比較 〜7つの手法/ライブラリを比べてみた〜 - Qiita

                            この投稿では、JavaScript(Node.js)でディープコピーするにあたって使えるコードスニペットやライブラリの処理速度を比較した結果をお見せします。 比較対象 JSON.stringify/JSON.parse Nodeビルトインモジュールv8のserialize/deserialize lodashのcloneDeep deepcopy - deep copy data clone - offers foolproof deep cloning of objects, arrays, numbers, strings, maps, sets, promises, etc. in JavaScript. clone-deep - Recursively (deep) clone JavaScript native types, like Object, Array, RegExp,

                              JavaScriptのディープコピー速さ比較 〜7つの手法/ライブラリを比べてみた〜 - Qiita
                            • コンテナイメージのバージョン管理を自動化したい! - Uzabase for Engineers

                              皆様はじめまして! NewsPicks SREチームの中川です。 本日はコンテナイメージのバージョン管理についての記事をお届けします。 概要 実装 ビルド デプロイ Pros Cons おわりに 概要 NewsPicksではECSやKubernetesに代表されるコンテナサービスを使用しておりますが、コンテナのデザインパターンとしてサイドカーパターンを採用しているサービスがあります。 詳しい説明は省きますが、サイドカーはメインアプリケーション用コンテナを補助するコンテナです。 これらのサービスをデプロイするとき、サイドカー毎に使用するDockerfileを ImageTag で指定していました。 実際には latest で固定するか、特定のImageTagを設定ファイルに書き込んで運用していました。 こうした運用方法の場合、Dockerfileを変更するときは事前にイメージを登録しておく必

                                コンテナイメージのバージョン管理を自動化したい! - Uzabase for Engineers
                              • Working With TypeScript: A Practical Guide for Developers

                                TypeScriptWorking With TypeScript: A Practical Guide for DevelopersTypeScript Practical Introduction What is TypeScriptTypeScript is a popular JavaScript superset created by Microsoft that brings a type system on top of all the flexibility and dynamic programming capabilities of JavaScript. The language has been built as an open-source project, licensed under the Apache License 2.0, has a very act

                                  Working With TypeScript: A Practical Guide for Developers
                                • Next.jsで動的にXMLサイトマップを生成する

                                  2021年1月現在、Next.jsでXMLサイトマップを生成するライブラリとしてはnextjs-sitemap-generatorが最も人気のようです。 nextjs-sitemap-generatorのドキュメントを軽く読む限り、Next.jsのCustom Serverを使用してビルド時にサイトマップを生成する仕組みのようなので、以下のようなケースでの使用には最適とは言えません。 Custom Serverは触りたくない コンテンツ追加のタイミングでビルドが走らないユーザー投稿型のサイトでも、サイトマップを一定間隔で更新したい 個人的に色々と試してみたところ、思った以上に簡単にXMLサイトマップを動的に作ることができたので、その方法を共有します。 Next.js + TypeScriptで動的にXML Sitemapを生成する 以下のような方針で実装します。 sitemap.xmlをN

                                    Next.jsで動的にXMLサイトマップを生成する
                                  • Node.js の import.meta.resolve について

                                    先日 import.meta について調査して人に話す機会があり HTML(Web) と Node.js の各ホストの import.meta がどのようなオブジェクトを返すのかを調査していた。そのときは、「HTML でも Node.js でも import.meta.url だけが生えていて〜〜」という話をしてしまった。 後になって知ったのだが、Node.js には import.meta.url 以外にも import.meta.resolve というプロパティが実装されている。 この記事では Node.js に実装されている import.meta.resolve について解説する。 なお、import.meta.url はまだ Stability 1 の API なので、今後仕様が変わる可能性があることに注意してほしい。 import.meta について まず import.met

                                      Node.js の import.meta.resolve について
                                    • a11yとテストを同時に改善する話

                                      これまで、a11y 改善・テスト拡充にあたり「どのように改善すべきか?どのように書くべきか?」という点がハードルだと感じていました。Chrome で a11y tree を確認するには、dev tools の隅の隅をつつく必要があり、あまり体験の良いものではなく、気に入ったエクステンションもありませんでした。 Testing Library は「誰もがアクセスできるクエリー」を優先的に使用することを推奨していますが、アプリケーションがはじめから a11y に考慮された作りになっているとは限りません。これらの背景から「data-testid」のような、テスト向け属性に頼るワークアラウンドで乗り切ることも少なくありませんでした。 Full page accessibility tree 今年 1 月にリリースされたChrome98 の新機能として「Full page accessibility

                                        a11yとテストを同時に改善する話
                                      • html-rewriter-wasmでHTMLをパースする - console.lealog();

                                        HTMLファイルをパースして、 特定の文字列を抜き出したり 特定の属性を書き換えたものを書き出したり ってことをやりたい時、今までは`cheerio`を使うことが個人的には多かった。 GitHub - cheeriojs/cheerio: Fast, flexible, and lean implementation of core jQuery designed specifically for the server. 懐かしい`jQuery`的な記法で操作できる・・とはいえ、もはや`jQuery`のことぜんぜん覚えてなくて、生DOMのAPIばっか使っちゃったり。 かといって、`cheerio`が内部で使ってるHTMLのASTパーサーである`parse5`や`htmlparser2`をそのまま使うのは、ローレベルすぎて乗り気じゃなかったり。 というところで、なんか代用できるものはないかな

                                          html-rewriter-wasmでHTMLをパースする - console.lealog();
                                        • Next.jsのIncremental Static RegenerationをVercel以外でやってみる - Sweet Escape

                                          本記事はNext.js Advent Calendar 2020の9日目です。 tl;dr Vercel以外でもIncremental Static Regenerationは可能 試した範囲ではフルに機能するのはコンテナで動かした場合のみ AWSのサーバーレスで動かすのは現時点で絶望的 はじめに 早速ですが、みなさん、次世代のStatic Site Generation(SSG)と言っても過言ではないIncremental Static Regeneration(ISR)はご存知でしょうか。 一応知らない人のためにすごく簡単に説明をすると、『リクエストに対して静的にビルドされたページを返しつつ、有効期限が過ぎたら非同期で静的ページの再生成をSSRで行う』っていうものです。Cache Controlにおけるstale-while-revalidateと同じような考え方が適用されたものとも言

                                            Next.jsのIncremental Static RegenerationをVercel以外でやってみる - Sweet Escape
                                          • はじめてのCloudflare D1アプリ

                                            D1はローカルで動く 5月にClouflare D1が発表されました。ヤバいらしいです。 まだベータすら出てません。PrivateなEarly Accessがありますが、僕はもらってません。でも早く触ってみたい!じゃないっすか。で、よく見てみると、Cloudflare Workersのローカル実行環境のMiniflareにはD1をエミュレートするブランチがもうすでにあるのです。 また、Cloudfalre Workersの公式CLIであるWranglerはそのMiniflareをローカル向けに内包しています。そしてWranglerにもD1に対応させたブランチがあります。ちょっと前まで動かなかったけど、最近動くようになりました。 ってことは、D1はベータすら出てないけど、ローカルでは動くということで、はじめてのD1アプリを作ってみました。 Internal 作る前にMiniflareとWra

                                              はじめてのCloudflare D1アプリ
                                            • Next.js と React-admin を使って簡単な管理画面を作成するチュートリアルをやってみた | DevelopersIO

                                              Next.js 初心者が React-admin を使って管理画面作成に挑戦しています。今回は React-admin 公式ドキュメントにある、Next.js Integration のチュートリアルをやってみました。 はじめに こんにちは、筧(@TakaakiKakei)です。 最近、Next.js と React-admin を使って管理画面作成に挑戦しています。 今回は、React-admin の公式ドキュメントで用意されている、Next.js Integration のチュートリアルをやってみたので、その内容についてご紹介します。 React-admin - My First Project Tutorial 前提 予め、今回の出てくるキーワードについて概要をおさらいしましょう。 Next.js とは Next.js by Vercel - The React Framework

                                                Next.js と React-admin を使って簡単な管理画面を作成するチュートリアルをやってみた | DevelopersIO
                                              • 大規模 Closure Tools プロジェクトに Prettier を導入するまでの道のり - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                こんにちは、フロントエンドエキスパートチームの鈴木(@__sosukesuzuki)です。 弊社のサービスである kintone では、コードのフォーマットを ESLint のみで行っているためプロジェクト内でコーディングスタイルを統一しきれていないという問題を抱えていました。 そこで opinionated なコードフォーマッター Prettier を導入し、コードベース全体でコーディングスタイルを統一するための支援をフロントエンドエキスパートチームで行いました。 2011 年にローンチされた kintone では、フロントエンドの大部分が Closure Tools を使って開発されています。Closure Tools は型の指定方法やクラスの定義方法などに独自システムを採用しており、現在の JavaScript のエコシステムや仕様と一部乖離しています。そのため、Prettier 本

                                                  大規模 Closure Tools プロジェクトに Prettier を導入するまでの道のり - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                • GitHub - 5alidz/tiny-schema-validator: JSON schema validator

                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                    GitHub - 5alidz/tiny-schema-validator: JSON schema validator
                                                  • Node.js で最近変わりそうな Permission Policy について - from scratch

                                                    さてさて、 25日目の Node.js アドベントカレンダーです。もう年の瀬ですね。振り返りシーズンなんで色々書きたかったんですが、ネタを見つけているうちにこの日になってしまいました。 Permission Policy とは Node.js に新しく Permission を提供しようという試みです。元々 Node.js では同じプロセス内で動いてしまえば どんなモジュールであろうと同じ権限で色々できますね。外部ネットワークにアクセスしたり、ファイルを読み書きしたり。 プロセスに元から許可されている権限は全てできてしまいます。これが今まででは普通でしたが、今後はもしかしたら変わるかも?という話です。 権限に関して制限をかけて、拒否させることが可能です。 以下のような要領で拒絶させることができるようになります。 $ node --policy-deny=net 上のオプションでプロセス内の

                                                      Node.js で最近変わりそうな Permission Policy について - from scratch
                                                    • TypeScriptの不要なexportを自動で削除するOSS「ts-remove-unused」を開発しました

                                                      こんにちは。メディアカンパニーに所属する鴻巣和司 (@kazushikonosu) です。普段はLINEスキマニのフロントエンドの開発をしています。業務をきっかけに、TypeScriptの不要なデッドコードを自動で削除するツール ts-remove-unused を開発し、GitHub上でOSSとして公開しました。本稿では、ts-remove-unusedが解決しようとしている問題や直近で行った大規模な変更について紹介します。 exportしていることで気づきにくい不要なコード TypeScriptを使っている場合、tsconfig.json の compilerOptions.noUnusedLocals を有効にすることで、ファイル内で参照がない不要な変数などの定義をTypeScriptコンパイラの実行時に検知することが可能です。また、ESLintなどの静的解析ツールを使い適切にルール

                                                        TypeScriptの不要なexportを自動で削除するOSS「ts-remove-unused」を開発しました
                                                      • JSのデザインパターンライブラリを試作した話と、それをJSRにアップロードしたら無茶苦茶簡単で感動した話

                                                        デザインパターンライブラリを作った JSRの話だけ読みたい人は読み飛ばしてもOKです。 JavaScriptのtry-catchはC++の影響を受けており、以下の特徴があります。 (A) throwは大域脱出的である。 (B) try-catchはブロック内の全ての例外副作用に対して一括で作用する。 (C) try-catchは文であり、値を返せない。 (D) TypeScriptにおいて、例外型は明示されない。 このうち (B), (C), (D) の問題を解決するため、RustのResultや類似のパラダイムをJSに輸入する試みがしばしば行われています。しかしこの解決手段にはいくつかの問題があり、 (E) rethrowの専用構文がないためボイラープレートが増える。 (F) 出力ストリームに対するwriteなど、戻り値を持たない副作用関数に対するエラーハンドリングが抜け落ちないようにL

                                                          JSのデザインパターンライブラリを試作した話と、それをJSRにアップロードしたら無茶苦茶簡単で感動した話
                                                        • AWS CDKにECSを高速でデプロイするhotswap deployments機能が追加されました

                                                          はじめに おはようございます、加藤です。先日、こちらの記事で紹介しましたが、AWS CDKは本来Cloud Formationテンプレートを生成してデプロイを行いますが、Lambda関数をデプロイする際にCloud Formationを使用せずにAWS SDKを使うことで高速にデプロイする機能が登場しました。この機能はhotswap deploymentと呼ばれます。 昨日、v1.128.0がリリースされ、hotswap deploymentにECSサービスが対応しました。また、気づいていませんでしたがStep Functionsも対応していました。 デプロイ速度 具体的にどれぐらい早くなるのか、ecs-patternsのApplicationLoadBalancedFargateServiceを使った構成で試してみました。使用したDockerfileとアプリケーションは下記のとおりです。

                                                            AWS CDKにECSを高速でデプロイするhotswap deployments機能が追加されました
                                                          • Sorting colors in JavaScript

                                                            Sorting colors in JavaScriptJune 22, 2021How to sort colors in JavaScript? Let me tell you a story first. In the project I'm working on right now we used to have 134 colors in use! WTF?! you say. Once I discovered that I thought I'm going to show that to my colleagues, and we will address the problem. Unfortunately, I'm a very visual person (so to say) and I couldn't stand the very random order of

                                                              Sorting colors in JavaScript
                                                            • ReactとCSSで一定時間表示される通知をやるときの色々な方法 - Qiita

                                                              フロントエンド、というよりUI一般では、ユーザーの操作に対してまったく無反応なのは良くありません。ユーザーが意味のある操作をしたならば、何らかのフィードバックを返すべきです。 例えば、何かをユーザーのクリップボードにコピーするボタンというのはありがちですが、クリップボードに何かを書き込んでもそれだけだと目に見える変化がないので、追加で「コピーしました」のような通知を出すというのはよくあるパターンです。 ここでは、そのような通知が、ちょっとフェードインしながら表示され、一定時間後にフェードアウトしながら消えていくという要件を想定することにしましょう。 transitionを使う基本的な実装 まずはReactの部分をざっくりお見せします。 import { useState } from "react"; import "./styles.css"; export default functi

                                                                ReactとCSSで一定時間表示される通知をやるときの色々な方法 - Qiita
                                                              • TexTraの翻訳 APIをJavaScriptだけで取得する - Qiita

                                                                async function handle(e) { name = "extra"; key = "5b37d68901799f71e8937f26add0fafd06309732b"; secret = "71d1b17cfdc7e26e6232a9a750c038d2"; text = e.target.value; const oauth = OAuth({ consumer: { key, secret }, signature_method: "HMAC-SHA1", hash_function(base_string, key) { return CryptoJS.HmacSHA1(base_string, key).toString(CryptoJS.enc.Base64); } }); const options = { url: "https://mt-auto-minh

                                                                  TexTraの翻訳 APIをJavaScriptだけで取得する - Qiita
                                                                • React Conf 2021 個人的まとめ

                                                                  React Confとは これ 追記:YouTubeにアーカイブがそれぞれ上がってたので貼っておきます! YouTubeのvideoIDが不正です 注意 まとめたのはKeyNoteと React 18 for app Developerのとこだけです あとReact Nativeのところは端折ってます。 面白そうなのがあればまた追記して行きます。 はじめに ReactのAPIはプログラミングではなく、「design principles」(設計原則)に根差している。 だから、最近のデザインツールがReactのコードを吐き出したりするのも不思議じゃない。 Reactを使えばデザイナーと同じ言葉でプログラマーが会話をできるということだ。 真のUXとは開発体験を犠牲にせずとも済むものののはずだ。 React Suspense React Suspenseがやりたいこと 「ネットワークを介したデー

                                                                    React Conf 2021 個人的まとめ
                                                                  • Server Actions が Next.js 14 からStableに!古参フロントエンドが消失しないために知っておくこと

                                                                    思い出します2年前・・・ VTeacher所属のSatokoです。 フロントエンドエンジニアとバックエンドエンジニアを兼任しています。 定番なテクノロジーと少しだけGeekなテクノロジーを組み合わせた選定が好みです🤤 Next.js Conf 、朝まで大忙しでしたね。 (ねむい・・・) Server Actions の一般的な誤解 まず最初に、SNSで話題になっている Server Actions に関する一般的な誤解についてです。 (1) 生のSQLが書かれているというアンチパターン?🤔 一部のサンプルコードでは、生のSQLを直書きしているところがあります。 しかし、以前のプレゼンテーションでも述べられているように、 React Server Component や Server Actions で、この書き方を推奨しているわけではありません。 あくまで「こんなこともできるようになっ

                                                                      Server Actions が Next.js 14 からStableに!古参フロントエンドが消失しないために知っておくこと
                                                                    • React18のTransitionの動作確認

                                                                      React18のTransitionの動作確認をした。 useTransitionを使った例を用意し、React18のAPIを使わず同様の体験を提供すると、どのようになるかを確認する。また、startTransitionやuseDeferredValueでも同じことができるか確認する。 先に結論 Reactの18の新機能を使わずとも似たような表現はできるが体験は提供できない。即応性に大きな差がでる。また、useTransitionではisPendingが用意されているががstartTransitionやuseDeferredValueでもisPendingを実装できることも確認できた。 startTransitionが柔軟で表現力が高く、isPendingが不要ならstartTransitionで表記が単純にになるとも言えるし、isPendingを保持する必要があるためhookにする必要が

                                                                        React18のTransitionの動作確認
                                                                      • Network FirewallとNAT Gatewayを使えば、VPCエンドポイントは不要なのか検証してみた | DevelopersIO

                                                                        Network FirewallとNAT Gatewayを使えば、VPCエンドポイントは不要なのか検証してみた VPCエンドポイントっている? こんにちは、のんピ です。 前回のこちらの記事を書いた後、ふと疑問が湧いてきました。 それは、Network FirewallとNAT Gatewayの環境にはVPCエンドポイントって必要??という疑問です。 VPCエンドポイントの利用シーンとしては、以下があると考えています。 プライベートサブネットにあるリソースからAWSのリソースにインターネットを経由せず、セキュアにアクセスしたい Direct Connectを経由してオンプレ環境からセキュアにAWSのリソースにアクセスしたい VPCエンドポイントポリシーを使って、サービスへのアクセスを制限をしたい この利用シーンの中でも特にVPCエンドポイントを利用する理由になるのが、 1. プライベートサ

                                                                          Network FirewallとNAT Gatewayを使えば、VPCエンドポイントは不要なのか検証してみた | DevelopersIO
                                                                        • Vuex ストアに TypeScript の型を付ける(2020年12月版) - STORES Product Blog

                                                                          業務委託で STORES の開発をしている @inouetakuya です。 下記の記事(2020/09/14)にあるように、STORES では TypeScript の導入を進めています。 プロダクトに途中から TypeScript を導入した話 - STORES Tech Blog 現状、新規に記述するコードについては TypeScript で書いていっているのですが、既存のコードではまだ JavaScript のままになっているものも残っています。 今回の記事ではそれらの既存のコードのうち、Vuex ストアに関するコードをどのように TypeScript で書き換えていったかをお伝えしたいと思います。 環境 対象とした環境は下記のとおりです。 TypeScript v3.9.7 NuxtJS v2.14.5 Vue.js v2.6.12 Vuex v3.5.1 Vuex Type H

                                                                            Vuex ストアに TypeScript の型を付ける(2020年12月版) - STORES Product Blog
                                                                          • シンタックスハイライトをライブラリなしで簡単に!Custom Highlight APIの魅力 - コハム

                                                                            Syntax Highlighting code snippets with Prism and the Custom Highlight API 記事は上記記事を意訳したものです。 ※当ブログでの翻訳記事は元サイト様に許可を得て掲載しています。 ウェブ上の構文ハイライトの一般的な仕組みは、すべてのトークンを要素で囲み、適切なクラスを割り当て、CSSを使って色付けすることです。 CSS Custom Highlight APIのおかげで、DOMツリーにを散りばめてカラー情報を追加するステップを省略できます。 Custom Highlight APIの基礎 ブラウザサポート 静的コードスニペットの構文ハイライト 仕組み ステップ1:セットアップ ステップ2:コードのトークン化 ステップ3:トークンとハイライトの関連付け Custom Highlight APIの欠点 制限されたスタイリングオ

                                                                              シンタックスハイライトをライブラリなしで簡単に!Custom Highlight APIの魅力 - コハム
                                                                            • 型付けを頑張る React Hook Form

                                                                              はじめに React Hook Form は Controlled component と比べると利便性は高いですが、代償として型安全性をある程度放棄しています。この記事では React Hook Form を使いながらも型安全性を可能な限り高めるための解決策を紹介しています。 この記事で扱わないこと フォームライブラリを使うことの是非 React Hook Form の基本的な使い方 本題から逸れるコンポーネント設計の話 解決したいこと 次のような TextInput コンポーネント、NumberInput コンポーネントと、それらを使う Form コンポーネントについて考えます。 type TextInputProps = { name: string; }; const TextInput: React.VFC<TextInputProps> = ({ name }) => { co

                                                                                型付けを頑張る React Hook Form
                                                                              • React Query を使っていて気になった SWR とのいくつかの違い | DevelopersIO

                                                                                MAD 事業部の高橋ゆうきです。 REST API である場合、プライベートでは SWR を使うことが多いのですが、昨年から案件では React Query を使っているのでいくつかの違いを感じることがありました。ここでは React Query のドキュメントにある表 から気になった違いをいくつかピックアップしてみます。 比較 Query Key Change Detection React Query - Deep Compare (Stable Serialization) SWR - Shallow Compare Deep Compare (Stable Serialization) 2021 年 2 月 20 日現在上記のように記載されていますが、SWR も 1.1.0 以降は ドキュメントにも記載されているように、stable serialization となっています。 Q

                                                                                  React Query を使っていて気になった SWR とのいくつかの違い | DevelopersIO
                                                                                • サーバーレスアプリケーション向けのAWS CDK、Serverless Stackを触ってみました | DevelopersIO

                                                                                  先日Serverless StackというAWSでサーバーレスアプリケーションを簡単に構築できるフレームワークの存在を同僚に教えて貰いました。どうやらAWS CDKをラップして実装しているらしく興味をもったのでさっそく触ってみました。 はじめに おはようございます、加藤です。先日Serverless StackというAWSでサーバーレスアプリケーションを簡単に構築できるフレームワークの存在を同僚に教えて貰いました。どうやらAWS CDKをラップして実装しているらしく興味をもったのでさっそく触ってみました。 概要 公式サイト: https://serverless-stack.com/ Serverless StackはAWSで簡単にサーバーレスアプリを構築するためのフレームワークです。 GitHubのスター数の変化を見てみると2021年1月から注目を浴びたようです。 AWS CDKをベース

                                                                                    サーバーレスアプリケーション向けのAWS CDK、Serverless Stackを触ってみました | DevelopersIO