並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 19722件

新着順 人気順

catchの検索結果161 - 200 件 / 19722件

  • SPA + SSR + PWA の作り方とセキュリティについて - hiroppy's site

    <script nonce="xxxxx" id="initial-data" type="text/plain" data-json="${preloadedState}" ></script> このpreloadedStateはエスケープ処理が必要なので注意してください。 クライアント側の読み込み方 const initialData = JSON.parse( document.getElementById("initial-data")!.getAttribute("data-json")!, ); const { store } = configureStore(initialData); https://github.com/hiroppy/ssr-sample/blob/master/src/client/index.tsx#L21-L22 useEffect SSR では、

      SPA + SSR + PWA の作り方とセキュリティについて - hiroppy's site
    • Vuex + DDD のアーキテクチャを考える - Techtouch Developers Blog

      フロントエンドエンジニアの国定です。 この記事では、TypeScript + Vue.js で開発しているフロントエンドに今年からドメイン駆動設計(DDD)を取り入れ始め、ひとまず設計が落ち着いてきたのでその経緯とアーキテクチャについて解説します。 課題 アーキテクチャ Domain Service Store(Vuex) UI(Vue.js) 軽量DDDに陥らないために まとめ 課題 Vuex(Store)の責務は、エラー判定などのドメインロジック・データの永続化・API の呼び出しなど、State 管理のほかにも多岐にわたっています。UI の改善や機能追加など変化の多いフロントエンドでは開発が進むにつれ Vue + Vuex のあちこちに同じ処理が散在してしまいます。 テックタッチでもメンテナンスを繰り返す度にコードの複雑さが増し、機能追加や修正に時間がかかるようになってきました。去年

        Vuex + DDD のアーキテクチャを考える - Techtouch Developers Blog
      • CircleCI や GitHub Actions の cron を祝日だけ停止させたい

        先日の ua-parse-js のハイジャックの件 を受けて、業務の中で毎日動かしている On-premise Renovate の cron を土日祝に停止させたいという話が上がった。 業務の合間に書く時間がちょっと捻出できそうになかったこと、加えて汎用的なコードということもあり、プライベートでも使えそうだったので一般化した範囲でコードを書いてしまって、業務で社内用に調整する形で決着させたので、せっかくなので共有しておく。 社内が基本的に CircleCI なので特化したものと、一般的に使えるものでバリエーションごとに2つのパターンを用意した。 祝日に停止させるアプローチ ひとまず今回は内製の Bot の運用のため、以下のような特徴があった。 土日の設定自体は cron で曜日指定ができるため祝日にフォーカスして良い 厳密性を重視しない ミッションクリティカルな領域の話ではない 以上を考

          CircleCI や GitHub Actions の cron を祝日だけ停止させたい
        • オープンソースで話題のBaaS「Supabase」を使ってみた | DevelopersIO

          その他詳細の料金プランページはこちら 今回はホビー用途となっているFreeプランを使います。無料でプロジェクトを2つ作ることができますが、APIを1週間未使用の場合はデータベースが一時停止となるようで再開する場合はダッシュボードから起動し直す必要があるようです。 サービスへの登録 では、早速Supabaseのサービスに登録を行っていきます。 Supabase.io Supabase.ioへの登録はGitHubアカウントを利用するようです。 「New Project」から新規プロジェクトを作成します。 プロジェクト名とデータベースのパスワード、リージョンを指定します。今回は「Tokyo」リージョンを選択しました。 「Create new project」を押下後、数分待つとプロジェクトが作成されます。 完了後に画面に表示されるProject API keyとURLを後ほど利用するのでメモして

            オープンソースで話題のBaaS「Supabase」を使ってみた | DevelopersIO
          • Polyfill supply chain attack hits 100K+ sites

            by Sansec Forensics Team Published in Threat Research − June 25, 2024 The new Chinese owner of the popular Polyfill JS project injects malware into more than 100 thousand sites. Update June 28th: We are flagging more domains that have been used by the same actor to spread malware since at least June 2023: bootcdn.net, bootcss.com, staticfile.net, staticfile.org, unionadjs.com, xhsbpza.com, union.m

              Polyfill supply chain attack hits 100K+ sites
            • Next.jsに「できるだけ」依存しないReactアプリケーションの構成

              TL;DR 本記事で紹介するのは、Redux や React Router を使った React アプリケーション構築時のベストプラクティスを Next.js に適用した考え方です。 Next.js を外部モジュールと考え、Container/Presentation の Container を Adapter 層と見なす考え方 next/router などの Next.js の組み込みモジュール、Store、SWR(React Query) は Container(Pages) 層で利用する Storybook でコンポーネントを表示する際、Next.js 等のモックをできるだけ作らない 但し、Template 層以下の next/link や next/image への依存は制御できない なお本記事では、Next.js の依存層、Pages 層とTemplate 層という言葉は以下のこ

                Next.jsに「できるだけ」依存しないReactアプリケーションの構成
              • next.js + vercel + firebase authentication で JWT の検証を行う + Graphql

                今個人で作ってるアプリの 認証 + Graphql の部分を抜き出して GitHub に公開した。 mizchi/next-boilerplate-20200727 next.js + vercel + firebase は (パーツを良く選べば) 最高 next.js はルーティングを持つページを作るには最高で、サーバー、静的サイト、JAM スタック、AMP と必要に応じて選択できる。React ベースならこれ一択。 認証サーバーの実装は毎度疲れるし、Firebase Athunetication はこの点においては OAuth Secret を置くだけ + Custom Provider も作れるので、最高。 それと比べて firestore は、ちょっと前に firestore べったりでアプリを試作したことがあったのだが、型がないためにかなり扱いづらく、また読み書きの速度が遅くパフ

                  next.js + vercel + firebase authentication で JWT の検証を行う + Graphql
                • gojqのパーサーを書き直しました - プログラムモグモグ

                  jqはJSONを絞り込むツールですが、実はれっきとしたプログラミング言語です。 算術演算子、論理演算子、分岐構文、try・catch、そして関数定義があり、ループは再帰関数で実装します。 単に .foo とか .[0] とかでJSONを辿るだけのツールだと思われている方は、builtin関数の定義を見ていただくと良いかと思います。 selectやmapのように、よく使われる関数でさえ内部実装になっていない (Cで書かれていない) のは面白いですね。 jqのクエリを思ったように書けないという経験から、jqをより深く知るためにGo言語で再実装したのがgojqです。 去年の4月から開発を始め、8月にブログ記事を書きました。 jqのほぼすべての機能を実装しており、pure Goで書かれているのでGo言語のツールに簡単に組み込むことができます。 この記事公開以降も開発を続けています。 --arg,

                    gojqのパーサーを書き直しました - プログラムモグモグ
                  • Docker Desktop for Linuxを開発中とDocker社が表明。有料化の発表が好評だったとして機能強化など加速

                    Docker Desktop for Linuxを開発中とDocker社が表明。有料化の発表が好評だったとして機能強化など加速 Docker社は、Docker DesktopのLinux版となる「Docker Desktop for Linux」の開発を進めていることを明らかにしました。 Did you catch our latest news? Based on the overwhelming support we received, we are accelerating delivery of new features including Docker Desktop for Linux, Docker Compose v2 and more -->​ ​https://t.co/2g9KupocpE #Docker #Developers #containers #Linux

                      Docker Desktop for Linuxを開発中とDocker社が表明。有料化の発表が好評だったとして機能強化など加速
                    • 例外を初めて実装した言語 - from scratch

                      リクルートアドベントカレンダーの20日目の記事です。 adventar.org 最初にこの疑問を思ったのは、今も忘れない R-ISUCON 2021 というリクルートの社内ISUCONの運営で炎上していた時の話です。 ちなみに R-ISUCON 2021 は劇的な結果で終わっているので、興味のある方は見てみてください。 blog.recruit.co.jp R-ISUCON 2021 では、 Node.js (TypeScript), Go, Java の3パターンの実装が出てくることが通例になっていまして、今回は Java の実装から Node.js, Go に適用していた時に一緒に実装していたメンバーからの疑問が『例外には色々な議論があるけれど、「例外を初めて実装した言語」ってどういう気持ちで実装したんだろう』という話が挙げられたので、そのネタを持ってきました。 ちなみにここで指してい

                        例外を初めて実装した言語 - from scratch
                      • ユーザー体験を向上!Yahoo!ニュースにおけるCore Web Vitals対応事例

                        ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Yahoo!ニュースを担当しているエンジニアの喜楽です。 2020年5月、GoogleよりWebでのユーザー体験を指標化したCore Web Vitalsが発表されました。本記事では、Yahoo!ニュースにおけるCore Web Vitals指標改善の取り組みとその効果についてご紹介します。 Core Web Vitalsとは Webページを閲覧しているときに、コンテンツの表示が遅かったり、スクロールやクリックなどの反応が悪い、レイアウトが読込中に変更され、クリックしたい要素の位置がずれてしまうなどといった経験はないでしょうか。これらはユーザー体験を低下させる一因となります。Core Web Vitalsは上記のような

                          ユーザー体験を向上!Yahoo!ニュースにおけるCore Web Vitals対応事例
                        • サーバーレス LAMP スタック – Part 3: Webサーバーの置き換え | Amazon Web Services

                          Amazon Web Services ブログ サーバーレス LAMP スタック – Part 3: Webサーバーの置き換え 本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート2:リレーショナルデータベース パート4:サーバーレス Laravel アプリの構築 パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ この投稿では、Web サーバーを使用せずにサーバーレス PHP アプリケーションを構築する方法を学びます。 この投稿の後半で、bref および Serverle

                            サーバーレス LAMP スタック – Part 3: Webサーバーの置き換え | Amazon Web Services
                          • Feedly + ChatGPTで、毎朝 自分専用のポッドキャストを自動生成する仕組みを作った|鈴木慎吾 / TSUMIKI INC.

                            毎朝、デザイン系の英語記事を10件ほどおすすめしてくれるSlackボットです。このボットは現在も問題なく稼働し続けていますが、毎朝のニュースは文字で読むよりも音声として聞いたほうが負担が少なく続けられそうです。 そこで、このSlackボットを拡張して、毎朝デザインニュースのポッドキャストを自動生成する仕組みを作ることにしました。 成果物はじめに成果物について。完成したポッドキャストは毎朝SpotifyとApple Podcastで配信しています。 おおまかな処理の流れ開発前に想定した処理の流れは以下の通りです。 毎朝ポッドキャストが自動で配信される理想的なフロー自分はコンテンツ制作者ではなく、あくまでリスナーというスタンスを取りたいため、ワークフローに自分が介在しない完全自動化が理想です。 ところが、Sound Cloud APIの利用に必要なアプリケーション登録の受付が現在停止しているこ

                              Feedly + ChatGPTで、毎朝 自分専用のポッドキャストを自動生成する仕組みを作った|鈴木慎吾 / TSUMIKI INC.
                            • AWS Amplifyを無理して使わなくてもいいケースについて挙げてみる - Sweet Escape

                              AWS AmplifyといえばAWSが提供しているフロントエンド開発者向けのライブラリやツールセットです。今回はそんなAWS Amplifyについてです。 はじめに おさらい AWS Amplifyはフロントエンド開発者にとっての銀の弾なのか 無理して使わなくてもいいケース バックエンド側のライフサイクルや開発部隊が分かれてる場合 AWSのリソースに直接アクセスしない場合 認証・認可の手段としてCognito使わない場合 Server Side Rendering(SSR)の場合 AWS WAF使いたい場合 Amplify CLIに対応していないバックエンドを利用したい場合 AWS Amplifyがおすすめのケース まとめ はじめに この投稿は2020年10月22の21時から開催予定のイベント(ライブストリーミング)で話す内容です。 serverless-newworld.connpass

                                AWS Amplifyを無理して使わなくてもいいケースについて挙げてみる - Sweet Escape
                              • Next.jsでSSRを限界まで簡単に実現する

                                1.getInitialPropsの終焉 1.1. Next.jsではgetInitialPropsのSSRが終わったことにされている Next.jsの9.3以降、getStaticPropsやgetServerSidePropsが登場し、現在ではgetInitialPropsを使ったSSRが終焉を迎えたかのような風潮となっています。しかしgetStaticPropsとgetServerSidePropsは、実際の所で大きな欠点を抱えています。 getStaticPropsはSSG前提で使うなら全く問題ありません。しかし、ある程度の更新頻度をもつシステムやリアルタイムな編集機能と相性が悪いです。ISRで使う場合も有効期限後の一回目で古いデータが表示される仕様があるので、タイミングが悪いと、せっかっく訪れた人に古いデータを渡してしまうことがあります。使いどころによっては強力ですが、用途は限定

                                  Next.jsでSSRを限界まで簡単に実現する
                                • ScrapboxでVJするためのChrome拡張を作った - hitode909の日記

                                  1月のKyoto.JSの休憩時間にMIDIコントローラとWeb MIDI APIでVJできるとよさそうって話になったので買ってみて、ちょっとずつ触ってみた。過去に作ったツールをMIDI対応する、とか、MIDIの入力に応じて絵を出す、という使いみちに加えて、既存のページにコードを差し込んでエフェクトをかけるのを作ってみた。 Scrapboxにエフェクトをかける Scrapboxのプロジェクトのトップページには四角いカードが並んでいるので、これをパーティクルとみなして毎フレーム見た目を書き換えると愉快なビジュアルを出せると考えた。 MIDIコントローラで操作するために、動きのパターンを座標、大きさ、色、背景、ページ全体の変形、などチャンネルがいくつかに整理して、縦フェーダーでエフェクトの種類がかわり、各チャンネルに対応するつまみでエフェクトの掛かり具合が変わるようにした。 こういう構造があって

                                    ScrapboxでVJするためのChrome拡張を作った - hitode909の日記
                                  • 米ローリング・ストーン誌 「史上最も偉大なアルバム TOP500」の新ヴァージョン公開 - amass

                                    米ローリング・ストーン誌は「史上最も偉大なアルバム TOP500」の新ヴァージョンを公開。同誌は2003年に同リストを発表。その後、2012年に改訂版を発表しています。今回、300人を超えるアーティスト、プロデューサー、評論家、音楽業界の著名人が参加して新しいリストを編集しています。500枚のうち154枚のアルバムは、2003年または2012年のリストに含まれていなかった完全に新しい追加です ■Rolling Stone Top 50 Albums of All Time (2020): 1 | Marvin Gaye | What's Going On | 1971 2 | The Beach Boys | Pet Sounds | 1966 3 | Joni Mitchell | Blue | 1971 4 | Stevie Wonder | Songs in the Key of L

                                      米ローリング・ストーン誌 「史上最も偉大なアルバム TOP500」の新ヴァージョン公開 - amass
                                    • REALKYOTO – CULTURAL SEARCH ENGINE » 疫病の年の手紙 浅田 彰

                                      グローバル化の行き着く先で、温暖化に代表される地球環境問題もいよいよ発火点に来ている、エボラ出血熱やトリ・インフルエンザ H5N1 などによるパンデミックの可能性も考慮しておかねばならない…。 頭ではわかっていたつもりだったし、折りにふれて話もしてきましたが、実際に新型コロナウイルス SARS-CoV-2 による COVID-19 パンデミックが起こってみると、あらためて身体的に危機を痛感するこの頃です。 2019年12月から後に Covid-19 と呼ばれることになる肺炎の流行が伝えられていた武漢が2020年1月23日に封鎖されたと報じられたとき、パンデミックは不可避だと覚悟しました。遅まきながら(というか、最初、医師たちの警告を封殺しておきながら)中国政府がそこまで危機感をもったほどのエピデミック。しかし、いかに共産党独裁国家とはいえ人口一千万人規模の都市を完全に封鎖することなどできる

                                      • Why Twitter Didn’t Go Down: From a Real Twitter SRE

                                        Twitter supposedly lost around 80% of its work force. What ever the real number is, there are whole teams with out engineers on it now. Yet, the website goes on and the tweets keep coming. This left a lot wondering what exactly was going on with all those engineers and made it seem like it was all just bloat. I’d like to explain my little corner of Twitter (though it wasn’t so little) and some of

                                          Why Twitter Didn’t Go Down: From a Real Twitter SRE
                                        • 【忙しい人のための】Next.js公式チュートリアルを完走してきたので記事1本で振り返る【ギュッと凝縮】 | DevelopersIO

                                          本記事はNext.jsのチュートリアルが大きく変わったためリンク切れを起こしています。 技術メモのため記事としては残しますが、リンク切れにご留意ください。 また機会があれば新チュートリアルで記事を書こうと思いますm(_ _)m こんちには。 データアナリティクス事業本部 インテグレーション部 機械学習チームの中村です。 今回は以下のNext.jsのチュートリアルをほぼ一通り(SEOのところ以外)実施しましたので、ポイントを記事化しました。 https://nextjs.org/learn/foundations/about-nextjs" チュートリアル自体は、以下のような内容が分かるものとなっています。 CRA(create-react-app)のみ使用しているとイメージしづらい、素のHTML + JavaScriptとReactの関係のイメージが分かる Reactがフレームワークではな

                                            【忙しい人のための】Next.js公式チュートリアルを完走してきたので記事1本で振り返る【ギュッと凝縮】 | DevelopersIO
                                          • Announcing New Tools for Building with Generative AI on AWS | Amazon Web Services

                                            AWS Machine Learning Blog Announcing New Tools for Building with Generative AI on AWS The seeds of a machine learning (ML) paradigm shift have existed for decades, but with the ready availability of scalable compute capacity, a massive proliferation of data, and the rapid advancement of ML technologies, customers across industries are transforming their businesses. Just recently, generative AI app

                                              Announcing New Tools for Building with Generative AI on AWS | Amazon Web Services
                                            • Rust concepts I wish I learned earlier

                                              This past month, I have been enthralled by the Rust programming language given its unique edge for writing memory-safe, modern programs. Over the years, several languages have emerged as the most preferred by engineers to write resilient, backend software. The tides have shifted from Java/C++ into Go and Rust, which combine decades of programming language theory to build tools that are effective i

                                                Rust concepts I wish I learned earlier
                                              • Structured Logging with slog - The Go Programming Language

                                                Jonathan Amsterdam 22 August 2023 The new log/slog package in Go 1.21 brings structured logging to the standard library. Structured logs use key-value pairs so they can be parsed, filtered, searched, and analyzed quickly and reliably. For servers, logging is an important way for developers to observe the detailed behavior of the system, and often the first place they go to debug it. Logs therefore

                                                  Structured Logging with slog - The Go Programming Language
                                                • GitHub Actionsのローカル実行ツール「act」を使う事でCI/CDコンフィグとローカルでのタスクランナーを1つにする | DevelopersIO

                                                  GitHub Actionsのローカル実行ツール「act」を使う事でCI/CDコンフィグとローカルでのタスクランナーを1つにする actというローカル端末でのタスクランナーとしても使える、GitHub Actionsのローカル実行ツールを紹介します。 合わせて私のCI/CDのローカル実行ツールが必要だと思う理由、タスクランナーに対して感じている課題を紹介します。 はじめに おはようございます、加藤です。CI/CDツールとしてGitHub Actionsが2019年11月にリリースされてから一気に広まり、私もファーストチョイスとしてGitHub Actionsを検討・提案する機会が最近増えてきました。 先日、下記のTweetでactというGitHub Actionsのローカル実行ツールがあり、タスクランナーとしても使えるという事を知りとても興味を持ったのでブログにまとめました。 Actってい

                                                    GitHub Actionsのローカル実行ツール「act」を使う事でCI/CDコンフィグとローカルでのタスクランナーを1つにする | DevelopersIO
                                                  • Laravel+PostgreSQL+Vue.jsでSPA開発【チュートリアル】 - OPTiM TECH BLOG

                                                    はじめに 皆様こんにちは。OPTiM新卒1年目エンジニアの青木です。 前回は早押しボタンなんかを作っていました。 tech-blog.optim.co.jp 今回は、PHP フレームワークの Laravel を、PostgreSQL と Vue.js と組み合わせて作成する TODO アプリを通して紹介します。 このフレームワークらはこちらの記事でも密かに利用しています。 tech-blog.optim.co.jp OPTiMではあまり利用されていませんが、一部のアプリケーションで実利用されている箇所もございます。 PHPは昔のイメージからかなり避けられていていますが...今のPHPとそのフレームワークはすごく発展していてとても使いやすいので是非使っていただきたい!という気持ちがあります。 ですが、現状はあまり利用していただけなくて個人的には悲しい気持ちでいっぱいです。 そんなPHPですが

                                                      Laravel+PostgreSQL+Vue.jsでSPA開発【チュートリアル】 - OPTiM TECH BLOG
                                                    • 決済システムのマイクロサービス化に伴うデータ移行について | メルカリエンジニアリング

                                                      この記事は、 Mercari Bold Challenge Monthの16日目の記事です。 こんにちは。株式会社メルペイのPayment Platform teamに所属している @ogataka50 です。 メルペイではマイクロサービスアーキテクチャで決済システムを開発、運用をしています。 メルペイはNFC決済・QR/バーコード決済・ネット決済を提供しています。それらに加えて、メルカリ内決済のコンビニ/ATM払い、キャリア決済、クレジットカード決済等も提供しています。 メルペイの決済システムはメルカリの決済システムをマイクロサービスとして切り出されたのが始まりになっています。 メルペイはアプリとしては2019年2月13日にサービスリリースしましたが、システム的にはその少し前からメルカリ内の決済機能をマイクロサービス化するため先にリリースされていました。 今回はメルペイリリース前に行われ

                                                        決済システムのマイクロサービス化に伴うデータ移行について | メルカリエンジニアリング
                                                      • Nuxt + Firebaseで読書感想文を書けるWebアプリを開発しました - Qiita

                                                        こんなサービスを作りました 『みんなの感想文』というWebアプリをリリースしました! 『みんなの感想文』 インターネット上で読書感想文を書けるサービスをリリースしました! 紙とペンがなくても感想文を書ける、そしてアーカイブとして残す世界を実現したくて作りました。400文字か200文字の原稿用紙で書くことができるので、みんなも書いてみてください📖https://t.co/DkCThMPpPl — フジワラユウタ@みんなの感想文 (@Fujiyama_Yuta) October 9, 2019 この記事について 今月から個人でサービスを開発・運営をしている人たちの組織「運営者ギルド」のOrganizationの一員として所属することになりました。 所属してから初めてのサービスローンチなので、忘れないうちに作った開発技術などを備忘録として残しておきます。合わせて個人開発の運用にかかっている費用

                                                          Nuxt + Firebaseで読書感想文を書けるWebアプリを開発しました - Qiita
                                                        • 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
                                                          • 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.
                                                            • React v18.0 – React

                                                              For React Native users, React 18 will ship in React Native with the New React Native Architecture. For more information, see the React Conf keynote here. What is Concurrent React? The most important addition in React 18 is something we hope you never have to think about: concurrency. We think this is largely true for application developers, though the story may be a bit more complicated for librar

                                                                React v18.0 – React
                                                              • Leaving Google

                                                                Last Friday was my last day at Google. Of course, when you leave Google you have to write some kind of letter or rant. Seriously it's a rule: they won't remove your neural implant until you hit publish. Jokes aside, this is more of a memoir than a polemic. Of course I have opinions, but now's not the time. This is more about reflecting on the last seven years of my life, thinking about what was im

                                                                  Leaving Google
                                                                • ノンデザイナーズ・Wantedly デザインシステム完全理解ペーパー | Wantedly Engineer Blog

                                                                  Wantedly では新卒含む新入社員向けに研修を毎年実施しています。これは「新入社員向け」といいつつ既存の社員も自由に参加できるものです。今年はこの研修のフォーマットを借りて、Wantedly のプロダクト開発を支える重要な概念のひとつである「Wantedly の UI デザインシステム」についての研修を、ソフトウェアエンジニアの @izumin5210 (筆者) とプロダクトデザイナーの @NishaMe で実施しました。 デザインの構造を正しく捉えることは、UI の実装を専門にしているかどうかを問わず、正しい実装 - 開発生産性が高く、ユーザにとっても使いやすい実装 - のための重要なポイントです。よってこの研修は「広義のフロントエンドエンジニア」、業務中に UI を実装することがある全てのエンジニアを対象としました。 Web フロントエンドエンジニアモバイルエンジニア専門ではないが

                                                                    ノンデザイナーズ・Wantedly デザインシステム完全理解ペーパー | Wantedly Engineer Blog
                                                                  • QRコードとApps Scriptで社内業務を楽しくデジタル化 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

                                                                    開発部門(基盤本部)でエンジニアの育成を担当している高玉です。 BIGLOBEではスタッフ部門とエンジニアが協力して、社内業務を改善しています。試行錯誤を繰り返しながら何とか成功させた例として、QRコード、GoogleフォームとApps Scriptを活用して、備品の補充を簡単に依頼できる仕組みをご紹介します。Google Workspaceを利用している会社や学校ならすぐに取り込める仕組みですので、ぜひご活用ください。 新人エンジニアのスキルアップを狙ってはじめたこの取り組みですが、数々の失敗もありました。そこから得られたノウハウや、Apps Scriptを使いこなすための細かいテクニックまでご紹介していきます。 QRコードを使った備品の補充依頼 失敗からの学び 機能を絞ってとりあえずリリース 要求者との会話のキャッチボールを大切に 業務改善で仕事を楽しく Google Workspac

                                                                      QRコードとApps Scriptで社内業務を楽しくデジタル化 - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
                                                                    • State of JavaScript 2022

                                                                      After years of relative stability, many are now beginning to question the status quo. New front-end frameworks like Solid and Qwik are suggesting that React might not have all the answers after all, and on the server Astro, Remix and Next.js (among others) are making us reconsider how much code we really need to ship to the client. We'll need all the data we can get if we want to make sense of all

                                                                        State of JavaScript 2022
                                                                      • fetch の中断と Back/Forward Cache からの復元で発生する奇妙な現象について - mizdra's blog

                                                                        TL;DR あるリソースの fetch 中にページ遷移すると、一部ブラウザでは fetch が中断される 中断されると、TypeError が throw される ページ遷移時は、ブラウザによって遷移前のページの実行が"停止"され、"捨てられる"ので、通常 throw された後のことは考えなくて良い しかし、そのページが Back/Forward Cache から復元されうるなら、話は別 ブラウザバックすると、エラーが throw された後からページが再開される!!! そして発生する、奇妙な現象の数々... はじまりは、あるサービスの不具合報告 ある日、「Webサービスから外部サービスにページ遷移した後、ブラウザバックで戻ると、エラー画面が表示される」という不具合が報告された。どうも Webサービスの ErrorBoundary で何かしらのエラーが catch され、それによってエラー画

                                                                          fetch の中断と Back/Forward Cache からの復元で発生する奇妙な現象について - mizdra's blog
                                                                        • 異動先の開発チームに高速で適応する技術 - SMARTCAMP Engineer Blog

                                                                          こんにちは!スマートキャンプでWebアプリケーションエンジニアとして働いている中川です。 さて、唐突ですがみなさんは別の開発チームに異動した経験はありますか? いくつかプロダクトを抱えていたり受託開発をしている会社では割とよくある現象なので、少なくない数の方が経験されたことがあるかなと思います。 と、この書き出しで察しの良い方はお気づきかと思いますが、かくいう自分もこの度チームを異動して、6月からBOXIL開発チームで働いています。 今回の記事では、自分が新しいチームに参加することになったときにどういうキャッチアップを行っているかについてご紹介していこうと思います! また、今回の記事で前提としているのは異動のシーンですが、転職でも通ずるような内容は多いと思っています。 キャッチアップする目的を考える なにをキャッチアップしていくか考える プロダクトに慣れる ビジネスモデルを知る 使われてい

                                                                            異動先の開発チームに高速で適応する技術 - SMARTCAMP Engineer Blog
                                                                          • 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
                                                                            • PWA(Progressive Web Apps)対応サイトの作り方・実装方法まとめ・入門 - AWS上で学習したPWA導入例とLighthouse Report Viewerの使い方 - NRIネットコムBlog

                                                                              小西秀和です。 現在、AWSの静的ウェブサイトホスティングで入門するAWS Amplify(Console、CLI) - 概要編などAWSのサーバーレスな静的ウェブサイトホスティングをテーマにしたブログ記事を執筆しています。 今回もAWSは関係しますが、フロントエンドに近い話題で、最近動向が本格的になってきたと感じているPWA(Progressive Web Apps)について私が自主的に学習した内容を記事にしてみました。 私の場合はAmazon S3、Amazon CloudFront、AWS Certificate Manager、Amazon Route53を使用した静的ウェブサイトに最小限のコンテンツをデプロイしてPWAの実装について学習しました。 また、Lighthouse Report ViewerというPWAなどの品質テストができるツールを使用して、PWAの基準に合格し、Pe

                                                                                PWA(Progressive Web Apps)対応サイトの作り方・実装方法まとめ・入門 - AWS上で学習したPWA導入例とLighthouse Report Viewerの使い方 - NRIネットコムBlog
                                                                              • #MeTooムーブメントの火付け役が暴露した、巨大メディアNBCの驚きの陰謀

                                                                                <ハリウッド大物プロデューサーの性暴力を取材していたローナン・ファローに圧力をかけたのは、驚くことに最初に取材を割り振ってきたNBCだった> 2017年10月は、男性が支配する業界で働いてきたアメリカ人女性にとって、歴史に残る大きな転機となった。 最初は10月5日にニューヨーク・タイムズ紙に掲載された告発記事だった。アカデミー賞受賞作や大ヒット作を数多く産み出してきたハリウッドの大物プロデューサーであるハービー・ワインスティーンが、過去30年に女優や従業員に対して「性暴力」や「セクシャルハラスメント」を行ってきたというものだ。 5日後の10月10日、ローナン・ファローがニューヨーカー誌にさらに踏み込んだ記事を載せた。ワインスティーンが13人に性暴力をふるい、3人をレイプしたという内容だ。ニューヨーク・タイムズの5日の記事には「レイプ」という表現はなかったが、ここでははっきりと「レイプ」とい

                                                                                  #MeTooムーブメントの火付け役が暴露した、巨大メディアNBCの驚きの陰謀
                                                                                • 私がthrowを使わない理由

                                                                                  この記事について JavaScriptではthrow文という文を使うことで例外を投げることができます。 このthrow文ですが、私はレビューなどで例外を投げないでくださいというコメントをするのですがその理由とどのようにコードを変更すればよいのか、ということを書いておこうと思いました。 前提条件 この記事の内容は下記の条件を前提として書き進めていきます。 TypeScriptを採用していること フロントエンド開発の場合 Node.jsを利用したサーバーサイドのコードやCLIツールの開発、各種ライブラリの開発については本記事の対象に含まれないことをご了承下さい。 結論 先に結論から書いておくとTypeScriptを利用している場合例外はカスタムエラーを返却するか、Result型を利用するのがよいと思っています。 次の章からサンプルコードを用いながらthrow文を使った実例と、代替え案について記

                                                                                    私がthrowを使わない理由