並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 54件

新着順 人気順

JavaScriptの検索結果1 - 40 件 / 54件

  • Next.jsの考え方

    Next.js App Routerにおける設計やベストプラクティスを、筆者なりにまとめました。

      Next.jsの考え方
    • 技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL

      技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL はじめに 新たに書きました。 MySQLを使っても会社は潰れない 久々に記事を書いたのでどうぞお手柔らかに... 私が過去2年間で行った技術選定の成功と失敗を振り返り、その学びを共有したいと思います。 文才無いので淡々と箇条書きでいきます Twitterエンジニア垢作りました。エンジニアのお友達がいません。 @uncode_jp 注意 意見を押し付けるものではありません。ただ建設的な議論は大事だと思う。 自分の意見は明確に、歯切れのよい表現を意識している。人それぞれだよねみたいな感じに逃げたくない。技術選定に結論はある(過激)。 ただし技術選定にはコンテキストがあり、例えばプロダクトのフェーズや組織の事情によって当然結論は変わる可能性がある。 OSSの開発者さん達は偉大ですごい。あ

        技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL
      • 【AWS】 代表的なクラウドデザインパターン紹介

        はじめに AWSの豊富なサービス群を活用することで、高可用性かつ高スケール性を実現するシステムを構築することが可能です。 しかし、クラウドサービスの特性を最大限に活かすためには、適切なデザインパターンを理解し、実践することが重要です。そこで今回は、AWSを利用して「高可用性」かつ「高スケール性」を実現するための代表的なクラウドデザインパターンを紹介します。 1. EC2インスタンスを利用した動的コンテンツの配信 動的コンテンツとは? 動的コンテンツとは、ユーザーのリクエストに応じて生成されるコンテンツのことを指します。たとえば、ユーザーのログイン状況や入力内容に基づいて異なるページを表示するようなケースです。 AWSサービスの簡単な解説 Amazon EC2 (Elastic Compute Cloud): スケーラブルなコンピューティングリソースを提供するサービスです。必要に応じて、イン

          【AWS】 代表的なクラウドデザインパターン紹介
        • ITがつまらんとか言ってるのは老害だけ | さにあらず

          最近は、ITが面白いだとかつまらんだとか言って盛り上がってるけども、面白いってのは、どういうことか、ちょっと考えてみようか。 知識と学習#一つ目は、学習するに足るだけの知識体系がそこにあるかどうか。 知らない事を知る、出来なかったことが出来るようになる快感ってのは、何度経験しても最高なんであって、一人でも多くの人にこの体験をして欲しい。素晴らしいことに、ソフトウェア技術だけに範囲を絞ってもまだ理解できてない事は大量にあるし、増え続けてる。 生成AIがアシスタントしてくれるけど、ちょいちょい嘘をついてくるってのが、また熱いよね。AIが言ってる事だけを真に受けちゃダメで自分でちゃんと試さないといけない。そして、インターネット上に無い情報について、やつらは手も足もでない。 最近は新しい技術が出てこないなんて言ってる連中もいるようだが、現実の社会課題を解決し、それを付加価値として提供できて初めて新

            ITがつまらんとか言ってるのは老害だけ | さにあらず
          • 独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルを「Udemy夏のビッグセール」で学ぶ! - はてなニュース

            Webで新規サービスを立ち上げる際に、UIからインフラ周りまで一人で面倒を見られるエンジニアは、少人数のスタートアップでなくとも非常に頼れる存在です。どんな課題に直面しても技術力で乗り越える、そんなスキルフルなエンジニアに憧れる方も多いでしょう。 この記事では、フロントエンドのプログラミング(JavaScript周辺)からサーバーサイド、インフラ、さらに開発手法まで、Web開発で必要になるさまざまなレイヤーのフルスタックなスキルの現在地と、関連するUdemyの講座を紹介します。 株式会社ヘンリーでVPoEを務める松木雅幸(@songmu)さんの執筆です。 フルスタックエンジニアに必要なスキル さまざまな講座でまとめて学習してみよう Udemyでは夏のビッグセールを開催中! ※この記事は、株式会社ベネッセコーポレーションによるタイアップ広告です。記事末に、はてなブックマークした方にAmazo

              独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルを「Udemy夏のビッグセール」で学ぶ! - はてなニュース
            • 【完全版】これ1本でReactの基本がマスターできる!初心者チュートリアル! - Qiita

              はじめに Reactの人気はどんどん加速しています。これからフレームワークを学ぶならReactを選ぶのは賢い選択でしょう こんにちは、Watanabe Jin(@Sicut_study)です。 今回はReactをこれから学んでいこうと思っている方に向けて、初心者チュートリアルを作成しました。 このチュートリアルではReactを書く上で欠かせないことを紹介しています。 実際にアプリを作りながらReactの機能について学ぶことによってより深く理解することが可能です。 このチュートリアルを最後までやったら、次に自分で習ったことを活かして簡単なTODOアプリなどを作れば基本がしっかり身につくようになっています。 またこのチュートリアルではJavaScriptではなくTypeScriptを採用しています。 モダンな会社ではTypeScriptが採用されることが多いはずだなので、少しでも慣れていただけ

                【完全版】これ1本でReactの基本がマスターできる!初心者チュートリアル! - Qiita
              • 音を鳴らす

                JavaScriptで音を鳴らすことができます。ご自分の耳が何Hzまで聞こえるか試してみてください(23000Hzまで聞こえたというかたがおられたので24000Hzまでに増やしてみました)。 1000 Hz Stop 4000 Hz 8000 Hz 10000 Hz 11000 Hz 12000 Hz 13000 Hz 14000 Hz 15000 Hz 16000 Hz 17000 Hz 18000 Hz 19000 Hz 20000 Hz 21000 Hz 22000 Hz 23000 Hz 24000 Hz 仕組みはソースを見てください。ほぼChatGPT 4oに書いてもらいました。最初はボタンの数が少なかったこともあってChatGPTはボタン一つ一つに id を付けていたのですが、ボタンの数が増えると厄介なので、this を使ってくださいと指示したら、こうなりました。

                • 初心者がプログラミングを学ぶときに最も効果的な方法は「写経」だと思う|shi3z

                  プログラミングの勉強方法で最も効果がない方法は「写経」です。コードを記憶しても無駄です。実際のプログラミングでは記憶にないコードを作り出さなければいけないからです 「写経」はタイピング速度の向上やキーワードを覚える効果はあるかもしれませんが、肝心のプログラミングには役に立ちません — Koichi Nakashima (@ko1nksm) September 3, 2024 こういうエントリを見かけたので。 僕は1990年代からプログラミングを人に教える仕事をしています。最初は中学の時に技術家庭科の授業を先生から任されて同級生にプログラミングを教えることから始まりました。その後、色々な方法を試しましたが、結論としてプログラミング初心者は写経した方が結局は上達が速いと今は考えています。 それが特に強く感じられたのは2015年頃から色々な人にAI関連のプログラミングを教え始めた頃です。 AI関

                    初心者がプログラミングを学ぶときに最も効果的な方法は「写経」だと思う|shi3z
                  • すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる

                    あなたがさっきまで読んでいた技術的に役立つ記事は、10年後も使えるでしょうか?ほとんどの場合でいいえ はじめに 短期的に効果的な手法や知識は、ソフトウェア開発の分野において、急速に価値を失う傾向があります。この現象は、私たちが何を重点的に学ぶべきかを示唆しています。最も重要なのは、第一に基本的な原理・原則、そして第二に方法論です。特定の状況にのみ適用可能な知識や即座に結果を出すテクニックは、長期的には有用性を失う可能性が高いです。これは、技術や手法が時間とともに進化し、変化していくためです。 learning.oreilly.com 「API Design Patterns」は、このような考え方を体現した書籍です。しかも480 ページもあります。本書は単なる手法の列挙ではなく、Web APIデザインの根幹をなす原則と哲学を探求しています。著者のJJ Geewax氏は、APIを「コンピュータ

                      すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる
                    • もしもいま、Rustをイチから学び直すとしたら? Rust入門書著者・matsu7874さんに聞く学習ロードマップ - Findy Engineer Lab

                      めまぐるしく変化するテックの世界。技術を身に着けるうえで学ぶべきポイントや学習環境なども年々変わっています。 そこで「もしもいまの環境で、テックのことをイチから学び直すことになったら、自分はどんな風に勉強したいか」というIFストーリーを通じて、技術との向き合い方を考え直してみる企画「テック転生」。 今回は『Rust実践プログラミング入門』共著者の松本健太郎(@matsu7874)さんに“自分だったらこう進めたい、Rustの学習ロードマップ”をご寄稿いただきました。 無理なく2ヶ月でWeb開発をRustで始めるロードマップ 株式会社estieでソフトウェアエンジニアをしているmatsu7874です。2024年8月の今、イチからRustを学び直すロードマップ(あるいはリソースガイド)を考えてみました。仕事の合間にやっていくとして数週間、長くとも2ヶ月くらいでRustで開発している会社に入っても

                        もしもいま、Rustをイチから学び直すとしたら? Rust入門書著者・matsu7874さんに聞く学習ロードマップ - Findy Engineer Lab
                      • 「AI生成キャラクター」はいまどのレベルまで進んでいるのか?バンダイナムコ研究所が語るAIテキスト生成の光と影【CEDEC 2024】

                        頼展韜氏プロフィール 會田翔氏プロフィール バンダイナムコ研究所は、バンダイナムコエンターテインメントと協力して配信AIキャラクタープロジェクトを実施しており、「ゴー・ラウンド・ゲーム(ごらんげ)」という企画を進行している。その裏側で、あるいはゲームテキスト素材生成ツールを作る際において、どのようにAIテキスト生成を利用していたか解説が行われた。 ゲーム開発環境においてもAI生成は当たり前に 近年、LLMは目まぐるしい発展をしており、さまざまな領域を含む問題で構成されるベンチマーク「MMLU」において、人間の専門家を超えるスコアを達成しているという。 しかもこれは商用モデルのみならず、MetaのLlamaをはじめとするオープンモデルも性能差が縮まってきているという。ゆえに、ゲーム開発においても応用が効くわけだ。 ゲーム内のテキスト生成という分野においては、 『ダンジョンズ&ドラゴンズ』のゲ

                          「AI生成キャラクター」はいまどのレベルまで進んでいるのか?バンダイナムコ研究所が語るAIテキスト生成の光と影【CEDEC 2024】
                        • 顧客の要望から要件定義、システム生成まで自動化する「Babel」 OSSの「Zoltraak」がコア

                          AIと量子コンピューティングの研究開発を行なうKandaQuantumは、2024年8月31日、顧客の要望内容を元に自動的に要件定義を生成し、さらに自律的にシステムを構築する要件定義システム生成AI「Babel(バベル)」をリリースした。 Babelは一行の要望から要望一覧、要件定義まで一気通貫で記載する。「要件定義プログラミング」により、自然言語からコードへの直接変換を実現。顧客の要望やビジョンを入力するだけで、Babelが詳細な要件定義のYAMLファイルを自動生成する。その上で生成された要件定義に基づき、Babelが独自にシステムを設計、開発。技術的な詳細を指定することなく、望む機能やふるまいを記述するだけでシステムが構築される。

                            顧客の要望から要件定義、システム生成まで自動化する「Babel」 OSSの「Zoltraak」がコア
                          • 技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL

                            技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL 技術選定に失敗はない 技術選定に失敗はありません。 仮説を立て、検証し、結果の分析からNext Actionを考える。検証の結果がどうであれ、それは過程に過ぎません。 机上の空論だけで全てを理解できるほど、我々人間は賢くないのです。(注意: これは人類全体を誹謗中傷する意味ではありません。) この記事では、この2年間で行った技術選定の成功例をその理由と共に紹介していこうと思います。 申し訳遅れましたが、私、YadaYadaKonnanYadaといいます。私は今回初めて記事を書いたので、どうぞお手柔らかに。 Twitterエンジニア垢作りました。エンジニアのお友達がいません。 @uncode_jp 前提 技術選定に結論はありません。組織毎に前提が違うのだから当然のことです。みんな違っ

                              技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL
                            • デザイナーにもお勧め! CSSもThree.jsもタイムライン編集を可能にするTheatre.jsが凄い - ICS MEDIA

                              デザイナーにもお勧め! CSSもThree.jsもタイムライン編集を可能にするTheatre.jsが凄い ウェブサイトの演出を作る上でアニメーションの実装は欠かせません。一般的には、CSSアニメーションやJavaScriptのライブラリ(GSAPジーサップなど)を用いてコードベースで動きをつけることが多いと思います。ですが、完全にコードだけでアニメーションを調整するのは大変だと思ったことはないでしょうか? 一度実装したことがある方は共感いただけるかもしれませんが、少し直そうにもコードに戻って調整し、反映されたブラウザ画面を確認して、もう一度コードを直して…と往復していると結構大変です。また、アニメーションさせるプロパティや要素が複数ある場合には、コードを解読する難易度も上がります。 本記事ではそんな悩みを解決できる、GUIからアニメーションを調整できるライブラリ「Theatre.jsシアタ

                                デザイナーにもお勧め! CSSもThree.jsもタイムライン編集を可能にするTheatre.jsが凄い - ICS MEDIA
                              • Web技術を駆使してユーザーの画面を「録画」する

                                Bundle Side Optimization in Future JavaScript - JSConf JP 2021

                                  Web技術を駆使してユーザーの画面を「録画」する
                                • 個人開発でもADR (アーキテクチャデシジョンレコード)を書くことの利点 - laiso

                                  起業なのか請負開発か趣味のプロジェクト(ペットプロジェクト)かによって状況は異なりますが「私のチームの開発者は私1人だけです」という個人開発においても、ADRは有効なツールとなりえます。 ADRとは何か? ADR(アーキテクチャデシジョンレコード)は、ソフトウェアアーキテクチャにおける重要な設計判断とその根拠、影響、関係する検討事項などを記録した文書です。 一見、現代的な響きですが、その実態はシステム設計ドキュメントの一部です。 "ADR"で検索すると真っ先にヒットするアーキテクチャの入門書『Design It! ―プログラマーのためのアーキテクティング入門』では、ADRは「アーキテクチャ手法に対する開発者寄りのアプローチ」と説明されており、アーキテクトと開発者自身がアーキテクチャに関する意思決定を記録し、共有するための手法として位置づけられています。 アーキテクチャデシジョンレコード(A

                                    個人開発でもADR (アーキテクチャデシジョンレコード)を書くことの利点 - laiso
                                  • 新しいチームでTypeScriptに素早くキャッチアップするためにやったこと - KAKEHASHI Tech Blog

                                    カケハシのプラットフォームチームでソフトウェアエンジニアをしているすてにゃん (id:stefafafan) です。今回は、私が TypeScript をメイン言語として採用しているチームに参加した際、言語や周辺技術のキャッチアップを行った方法について紹介します。 この記事は秋の技術特集 2024の 3 記事目です。 この記事の想定読者 私が元々持っていたスキルセット 認知負荷の増加 TypeScript 学習のためにやったこと 学習の進め方 テックリードとの 1on1 の中で壁打ちや相談 ペアプログラミング 輪読会 もくもく会 学習コンテンツ O'Reilly Online Learning を使った学習 TypeScript Deep Dive プロを目指す人のための TypeScript 入門 安全なコードの書き方から高度な型の使い方まで type-challenges 公式ドキュメ

                                      新しいチームでTypeScriptに素早くキャッチアップするためにやったこと - KAKEHASHI Tech Blog
                                    • Functional TypeScript

                                      オープンデベロッパーズカンファレンス(ODC)2024 での発表資料

                                        Functional TypeScript
                                      • WebAssemblyとしてPostgreSQLをビルドした「PGlite」公開。Node.jsやブラウザ上でPostgreSQLを実行、DBの永続化も可能

                                        PostgreSQLのソースコードをWebAssemblyバイナリとしてビルドしたことで、Node.jsなどのJavaScriptランタイムやWebブラウザ上で(ほぼ)フル機能のPostgreSQLを実行可能にした「PGlite」が公開されました。 PGliteはPostgreSQLのCのソースをEmscriptenでコンパイル PostgreSQLはオープンソースの代表的なリレーショナルデータベースであり、C言語で開発されています。 PGliteはこのPostgreSQLのCのソースコードのビルドにEmscriptenコンパイラを使用してWebAssemblyバイナリとして出力、JavaScript/TypeScriptからライブラリとして呼び出せるようにしたものです。 ただしEmscriptenでコンパイルされたプログラムは新しいプロセスをフォークできないため、PGliteはPostg

                                          WebAssemblyとしてPostgreSQLをビルドした「PGlite」公開。Node.jsやブラウザ上でPostgreSQLを実行、DBの永続化も可能
                                        • あなたのパフォーマンスを倍にする Frontend Ops の傭兵はいかがですか

                                          あなたのパフォーマンスを倍にする Frontend Ops はいかがですか.md あなたのプロジェクトに Frontend Ops を。 [経営者の方へ] ウェブサイトが遅くなっていませんか?機能追加が遅くなっていませんか? 私 @mizchi は Node.js とフロントエンドのエキスパートです。もし私を知らなければ、御社のフロントエンド担当に mizchi とは誰か聞いてみてください。それが一番早いと思います。 Frontend Ops の専門家として御社のプロダクトの改善にご協力します。 Frontend Ops は、ウェブサイトのロード時間を改善したり、開発者の基盤に手を入れることで一日に何度機能を追加できるかという指標に貢献するロールです。その結果としてUXを改善し、ビジネスを前進させます。 成果報酬で、費用はざっくり 100万円*達成率 となります。(詳細は後述) 弁護士作成

                                            あなたのパフォーマンスを倍にする Frontend Ops の傭兵はいかがですか
                                          • JavaScriptで実現するFLIPアニメーションの原理と基礎 - ICS MEDIA

                                            アニメーション実装のテクニックのひとつにFLIPと呼ばれるものがあります。FLIPアニメーションは2つの状態をなめらかにつなげるテクニックで、とくに移動や拡大といった動きに有効です。FLIPアニメーションを用いると、次のようなアニメーションを実装できます。 本記事では、ライブラリに依存しないFLIPアニメーションの原理を理解し、実装する方法を紹介します。 FLIPアニメーションとは FLIPとは、First, Last, Invert, Playをまとめた造語です。これらはFLIPアニメーションの手順を説明したものになります。 First:アニメーションを開始するときの状態 Last:アニメーション終了時の状態 Invert:変化量を計算し、Lastの状態に適用してFirstの状態を復元します Play:Invert量を徐々に減らしてLastの状態に近づけていきます FLIPのおもしろい点

                                              JavaScriptで実現するFLIPアニメーションの原理と基礎 - ICS MEDIA
                                            • 21社の監視・オブザーバビリティ アーキテクチャ特集 - Findy Tools

                                              デジタル時代の企業にとって、システムの安定稼働と迅速な問題解決は、競争力を維持するための重要な要素です。21社にご寄稿頂いた「Amazon CloudWatch」「Datadog」「Grafana」「New Relic」「Prometheus」「Sentry」「Splunk」の各ツールレビュー記事を参照・抜粋し、それぞれの企業がどのようにシステムの健全性を確保し、未来の課題に備えているのかをアーキテクチャを通してご紹介します。 ※ツール名・ご寄稿企業名共にアルファベット順で掲載しております Amazon CloudWatchAWS CloudWatchは、AWSのクラウドリソースとアプリケーションの監視と管理を行うためのサービスです。メトリックス、ログ、イベントなどを収集、追跡し、可視化することで、システム全体の状態を把握し、問題の早期発見と解決をサポートします。 ▼Amazon Clou

                                                21社の監視・オブザーバビリティ アーキテクチャ特集 - Findy Tools
                                              • Bitwardenの実装から学ぶE2EE

                                                この文章はなに? 本文章は、パスワードマネージャーであるBitwardenが公開しているソースコードを読み、そこでE2EE(End-to-end encryption)がどのように実装されているかについて、私が理解した内容をまとめたものです。 「E2EEをぼんやり理解してるが、どのように実装されているのかはわからない」という方を主な対象としています。 E2EEに対する私個人の課題感として、インターネット等から得られる説明が比較的抽象的であり、実装レベルでの理解が難しいというものがあります。 そこで私自身、そして同じ課題感を持つ方に向けて、E2EEを実践しているアプリケーションの1つであるBitwardenを参考に、それがどのように実装されているのかを詳細に理解すべく、本文章にまとめることとしました。 なお対象アプリケーションとしてBitwardenを選んだのは、私自身がユーザーであること、

                                                  Bitwardenの実装から学ぶE2EE
                                                • role 属性とは、aria-* 属性とは、WAI-ARIA とは、いったい何なのか、いつ使うべきなのか - Qiita

                                                  role 属性とは、aria-* 属性とは、WAI-ARIA とは、いったい何なのか、いつ使うべきなのかHTMLアクセシビリティWAI-ARIA 最近、いくつかの場面でWebアクセシビリティについて、コーディングに関する技術的な説明をする機会がありました。そのなかで、そもそもWAI-ARIAというものが、どういう立ち位置のものなのかがわかりづらい状態にあるということに気付きました。その結果として、WAI-ARIAの活用を含めたWebアクセシビリティ向上に取り組むことへのネガティブな印象が生まれてしまったり、理解が足りないままWAI-ARIAの属性を使うことでかえって問題が発生しやすくなってしまったりしている現状があるのではないかと思うようになりました。 そこでこの記事では、なるべくわかりやすい形で、WAI-ARIAそのものや、その中で登場する role 属性や、名前に aria- のプレフ

                                                    role 属性とは、aria-* 属性とは、WAI-ARIA とは、いったい何なのか、いつ使うべきなのか - Qiita
                                                  • Web標準のバックエンドアプリのテスト

                                                    ここで言う「Web標準のバックエンドアプリ」とはCloudflare Workers、Deno、BunなどのWeb標準をサポートするランタイム上で動くWebアプリです。もしくは、Node.jsでもWeb標準のAPIをサポートしているので、これから紹介するアプリとテストコード自体はNode.js上も動きます。 これらのテストを書く、実行するのは実にシンプルで、拍子抜けしてしまうほどです。ですが、現在、20,000行あるHonoのテストコードは、これらのやり方と全く同じ方法を取っています。注目すべき点は、実際のサーバーを立ち上げることがなく、抽象化されたリクエストとレスポンスのやり取りを試験するだけで、品質が保たれる点です。Honoのテストでは、ランタイムによっては一部実サーバーを立ち上げますが、コアの20,000行ではサーバーを立ち上げていません。この抽象化はPythonのWSGI、Ruby

                                                      Web標準のバックエンドアプリのテスト
                                                    • Cloudflare Workers 入門【はじめからそうやって教えてくれればいいのに!】

                                                      はじめに この記事の内容は、以下の動画でも解説しています。アニメーションでわかりやすくなっているので、ぜひ見てみてください。他にも Web に関する解説動画を投稿しているので、気になる人はチャンネル登録よろしくお願いします! Cloudflare Workers とは? Cloudflare Workers とは、一言で言うと、Cloudflare のエッジで動くサーバーレスの JavaScript 実行環境のことです。 ...と言っても、これだけだとよくわからないですよね。だから、今回は初めて触る人でもわかるように、順序だててわかりやすく解説していきます。 Cloudflare Workers 理解するための道のり Cloudflare Workers を理解するためには以下の3つのキーワードを理解することが重要です。 CDN エッジコンピューティング JavaScript 実行環境 こ

                                                        Cloudflare Workers 入門【はじめからそうやって教えてくれればいいのに!】
                                                      • ユーザー体験重視のSPAアーキテクチャ改 - laiso

                                                        JavaScriptフレームワークを取り巻く状況は、常に変化を続けています。近年では、サーバーサイドレンダリング(SSR)とクライアントサイドレンダリング(CSR)のバランスは、重要な検討事項です。 ChatGPTのRemix採用 2024年9月、ChatGPTがNext.jsからRemixに移行したことが明らかになりました。この出来事は、Remixの母体であるReact Router系のコミュニティで大きな話題となり、移行の理由について様々な憶測を呼びました。 JavaScriptエキスパートのWes Bos氏(学習動画教材とかを作っている人)は、ChatGPTのフロントエンドのソースコードを分析し、OpenAIがRemixを採用した理由について独自の考察を展開しました。 www.youtube.com 緊急で動画を回すWes Bos氏 Wes Bos氏の分析によると、ChatGPTのア

                                                          ユーザー体験重視のSPAアーキテクチャ改 - laiso
                                                        • WebKitのコミッターになった

                                                          WebKitのcommitterになった。僕はAppleやIgaliaやSonyの従業員ではなく、完全に趣味である。 I'm officially a WebKit (@webkit) committer! Thank you to the JSC reviewers who have been reviewing my patches. — sosuke (@__sosukesuzuki) August 18, 2024 WebKitの開発者のステータスのポリシーは https://webkit.org/commit-and-review-policy/ を参照してほしい。Committerよりも強い権限を持つreviewerという人たちもいる。人のパッチを正式に承認したり拒否したりすることはreviewerにしか出来ない。 2024年2月からパッチを投げ始めて、6月の半ばくらいにcom

                                                            WebKitのコミッターになった
                                                          • 「絶対にdisabled属性を避けて、aria-disabled属性を使わなければならない」わけではありません - Qiita

                                                            「絶対にdisabled属性を避けて、aria-disabled属性を使わなければならない」わけではありませんHTMLアクセシビリティWAI-ARIA 最近、「アクセシビリティを向上させたいなら、HTMLの disabled 属性ではなく、aria-disabled 属性を使うべき」という主張を見かけますが、本当にそうなのでしょうか? disabled属性を使っていても、スクリーンリーダーで要素を知覚できる そのような主張をしている人、それを受け止めた人の中には「 disabled 属性を使った要素はスクリーンリーダで読めなくなる」と誤解している人が少なからず存在するように思われます。しかしこれは正しい理解ではありません。 たしかに、disabled属性を付加している button 要素や input 要素、 select 要素、 textarea 要素は、Tabキーによるフォーカスはでき

                                                              「絶対にdisabled属性を避けて、aria-disabled属性を使わなければならない」わけではありません - Qiita
                                                            • JavaScript|importの書き方が多いのでまとめてみた - Qiita

                                                              はじめに エンジニアのみなさま、日々の学習本当にお疲れ様です! また本記事まで足を運んでいただき本当に感謝です。 記事は約3分程度で読めるので最後まで読んでもらえると幸いです。 さっと見たい人向け importの書き方パターン 説明

                                                                JavaScript|importの書き方が多いのでまとめてみた - Qiita
                                                              • ジャイアントパンダに注意 - Next.js のビルド改善 (株式会社GiXo様)

                                                                最近になって Frontend Ops の傭兵として活動を始めました。 Frontend Ops 実践のモデルケースとして、 株式会社GiXo様で Next.js 仕事に取り組ませいただきました。今回、その内容を公開する許可を頂けたので、事例として公開させていただきます。 依頼主 株式会社GiXo様 以下、敬称略 相談内容 フロントエンド関連のリポジトリで、Next.js のビルドが遅くなってしまった。 重いことに起因して Vercel CI で OOM で確率的に落ちるようになった。CIが信用できなくなり、とりあえず再ビルドするクセがついてしまって、生産性が落ちている。 モノレポ内にとくに重いアプリケーションが一つあり、これを調査・解決してほしい。 仮ゴール: VercelCI 上のビルド時間を半分OOM が発生しないようにしたい 調査フェーズ リポジトリの閲覧権を頂き、プロジェクト構成

                                                                  ジャイアントパンダに注意 - Next.js のビルド改善 (株式会社GiXo様)
                                                                • Node.jsで型安全な環境変数を扱うスニペット

                                                                  Node.js で型安全な環境変数を扱うスニペットを作りました。 next devのようなアプリケーションの起動、Playwright でのテストなどコマンドごとに渡したい環境変数のセットが異なるケースがあります。 この場合に環境変数をまとめたものを定義して、それをコマンドごとに読み込むセットを変えたいことがあります。 次のようにベタ書きしてもいいのですが、渡したい環境変数が増えると管理が大変になります。 NEXT_PUBLIC_LOCALHOST_URL=http://localhost:3000 NEXT_PUBLIC_API_URL=http://localhost:3001 NEXT_PUBLIC_IS_TEST_MODE=false FOO="bar" next dev そのため、.envのような環境変数をまとめたファイルを使いたくなります。 Node.js は--env-fil

                                                                    Node.jsで型安全な環境変数を扱うスニペット
                                                                  • Next.js(App router)における開発しやすいディレクトリ構成の例 - TechDoctor開発者Blog

                                                                    初めまして、テックドクターでフロントエンド開発を担当している大瀧です。 ディレクトリ構成はコードの可読性やスケーラビリティに関わる重要な要素であると思っています。 しかし、フロントエンドのディレクトリ構成はベストプラクティスが確立されておらず、わりと悩むポイントです。 そこで今回は、Next.jsのApp routerにおいて、弊社で採用しているディレクトリ構成を共有します。この記事がディレクトリ構成に悩む開発者の助けになれば幸いです。 ディレクトリ構成の自由度が高すぎる問題 さきほど「フロントエンドのディレクトリ構成はベストプラクティスが確立されていない」と書きましたが、特にApp routerのディレクトリ構成については、公式ドキュメントで以下のように記載されています。 There is no "right" or "wrong" way when it comes to organi

                                                                      Next.js(App router)における開発しやすいディレクトリ構成の例 - TechDoctor開発者Blog
                                                                    • ウェブエンジニアでもWasmを使いたい! アフタートーク

                                                                      フロントエンドカンファレンス北海道 2024にて「ウェブエンジニアでもWasmを使いたい!」というタイトルで20分のトークを行いました. 当日のトークでは,WebAssemblyの特徴に触れつつ,特殊な用途[1]以外でWebAssemblyをどのように活用できそうか,実際にAssemblyScriptのコードを例に紹介しました. AssemblyScriptはTypeScriptをWebAssemblyにコンパイルできる言語として紹介しましたが,より正確にはTypeScriptと同じ構文を持つ言語をWebAssemblyにコンパイルする言語という方が正しいかもしれません. これはTypeScriptにはない構文などをAssemblyScriptでサポートしているという話ではなく,TypeScriptの型推論などの言語機能を活用してAssemblyScriptのコードを書くことができるように

                                                                        ウェブエンジニアでもWasmを使いたい! アフタートーク
                                                                      • URLシェアを支える技術 lz-string

                                                                        WebアプリでURLシェアを実装する際に、URLにすべての情報を持たせてしまいたい場合があります。そのとき、情報をそのままクエリ文字列に渡してしまうとURLの文字数制限に引っかかってしまうかもしれません(厳密にはURLに上限はないようですが、現実はいつもブラウザ実装依存)。 そんなときURLセーフな文字列形式で圧縮してくれるライブラリがあります。lz-sringです。 変換の例 ライブラリで compressToEncodedURIComponent というAPIが提供されているのでこれを使用します。標準のencodeURIComponentでURLセーフな文字列に変換した場合とサイズ比較をしてみましょう。 import lzstring from "lz-string"; const rawData = "Lorem ipsum dolor sit amet, consectetur a

                                                                          URLシェアを支える技術 lz-string
                                                                        • 弊社のフロントエンドのテストについて、考え方・方針・やっていることなど全部紹介します(2024年版)

                                                                          はじめに この記事について こんにちは、zomysan(ぞみ) です。今回は私の所属するソーシャルPLUSのフロントエンドチームがどのようなことを考えてテストを作っているのかを紹介します。 フロントエンドのテスト手法については素晴らしい本や記事がすでにたくさん存在しますが、限られたリソースの中で、実務としてどうテストをこなしているのか、という具体的な事例として楽しんでいただければ幸いです。 テスト運用における課題や改善点も率直に紹介しますので、「うちではこうやって解決しているよ」といったご意見があればぜひコメント欄で教えてください! 対象読者 フロントエンドのテスト運用に悩んでいる方 フロントエンドのテストってどういうものなのか興味がある方 ソーシャルPLUSに入社したフロントエンドメンバー この記事に書いていないこと すべてのチームにとっての最適解は提示していません 弊チームにとっても折

                                                                            弊社のフロントエンドのテストについて、考え方・方針・やっていることなど全部紹介します(2024年版)
                                                                          • 弊社最強のVBA使いの方が15年前からほぼメンテ無しで動いてるシステムのドキュメントを残してないとかで詰められてた→非IT 企業あるある…

                                                                            泥臭IT担当者F @IT_craftmanship 前時代的体質大手メーカーで働く生技-DX横断社員。 DX系はPython/VBA/Tableau/RPA/WebでJavascript 生産技術系はIoT/Fusion360あたりをつぶやきます。 無能な管理職の食い散らし方と討伐計画についてつぶやく下克上アカウントです。 泥臭IT担当者F @IT_craftmanship 弊社最強のVBA使いの方が15年前からほぼメンテ無しで動いてるシステムのドキュメントを残してないとかで詰められてて流石に部長らに向かって「保守運用のためにちゃんと工数取ったのか?内製だからって効果の刈り取りに目が眩んで展開に必死でやりっぱなしになっただけなら担当の責任違うぞ」 泥臭IT担当者F @IT_craftmanship やっとくべきことをやってなかった、これで担当が詰められるならそれはやれと指示されて工数貰って

                                                                              弊社最強のVBA使いの方が15年前からほぼメンテ無しで動いてるシステムのドキュメントを残してないとかで詰められてた→非IT 企業あるある…
                                                                            • メモ帳でコーディングしていた話 - Qiita

                                                                              はじめに ひとこと アクセスしていただきありがとうございます。 タイトルの通りの、メモ帳でコーディングしていた話です。 タメになるかどうかは分かりません。 目的 メモ帳でコーディングしていたことで得られた知見を共有すること() 検証済みの環境 Windows11 Home x64 メモ帳 ご注意 この記事の情報は 2024/08/26現在 のものです 1.前書き 筆者は高校に入学したと同時に、部活でプログラミングを始めました。 HTMLとCSSを一通り学習し、一人で簡単なウェブページをつくれるようになりました。 そして自然とウェブページに機能を実装したいと思うようになり、JavaScriptの学習を始めました。 (今もですが)ここまで独学だったこともあり、一度、挫折しながらも百人一首を4択から選んで覚えるウェブアプリをつくり、高校で公開しました。 その後も学習を続け、高校2年生の夏ごろに全

                                                                                メモ帳でコーディングしていた話 - Qiita
                                                                              • 次世代のブラウザテスト自動化プロトコルWeb Driver BiDi

                                                                                Seleniumの独自実装が元となって2018年にはW3C勧告として標準化されました。[1] 言葉の使い方が非常にややこしいのですが、ここでいうW3CのWebDriverはChrome Driver, geckodriverといった具体的な実装ではなく、ブラウザを自動化するためのAPIとプロトコルを規定したものを指しています。 Selenium4を例にとるとWebDriver型のツールは次の流れで動作しています。 Driverに対してクライアントから自動化コマンドを送る Driverが実際のブラウザ操作に変換し、ブラウザを自動操作 Architecture of Selenium WebDriver この方式はW3Cの標準が存在しクロスブラウザ対応が容易な点でメリットがあります。一方で仕組み上flakyになりやすかったり、websocketを使った実装に比べて低速であるというデメリットがあ

                                                                                  次世代のブラウザテスト自動化プロトコルWeb Driver BiDi
                                                                                • Playwrightでライブプレビューツールを実装する - ベースマキナ エンジニアブログ

                                                                                  こんにちは、yebis0942です。 先日、@basemachina/bm-view-previewというツールをnpmで公開しました。ベースマキナのビュー機能のソースコードをローカル環境で編集しながら、Next.jsのnpm run devのようにライブプレビューで動作を確認できるツールです。 ライブプレビューはPlaywrightによってコントロールされたChromiumで表示しています。PlaywrightをE2Eテストや自動化以外の用途で使うのは珍しい事例かと思いますので、その背景と実装の裏側についてご紹介します。 ビュー機能とは ローカル環境で開発したい bm-view-previewの内部構成 ライブラリとしてのPlaywright ブラウザを人の手で操作できるようにする ウィンドウを表示する ウィンドウのリサイズに対応する ダイアログを自動で閉じない できなかったこと アプリ

                                                                                    Playwrightでライブプレビューツールを実装する - ベースマキナ エンジニアブログ