並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 759件

新着順 人気順

awaitの検索結果161 - 200 件 / 759件

  • VanJS で素のDOM操作をリファクタしてみた

    VanJSを試してみたら開発体験が良かったので紹介します。 🍦 VanJSとは? VanJSは、数ヶ月前にメジャーバージョンがリリースされた比較的新しいReactive UIフレームワークです。軽量、非依存、トランスパイル不要、シンプルなAPIという特徴があります。 gzip圧縮後で0.9kbと非常に軽量で、バンドルサイズの肥大化を気にすることなく手軽に導入できます。 他のUIフレームワークと比較しても圧倒的に軽量 UIもJSXを使わず、関数ベースのAPIで宣言的に構築できます。 VanJSの開発秘話はとても考えさせられるものだったので、機会があればぜひ読んでみてください。 🛠️ リファクタリング対象 Sky Follower BridgeというX(Twitter)のFollower一覧からBlueskyのユーザーを検索するChrome拡張を個人開発しています。今回はその拡張機能のco

      VanJS で素のDOM操作をリファクタしてみた
    • VS Code Extensions and WebAssembly

      It is important to note that the component model does not support low-level (C-style) pointers. As such, you cannot pass object graphs or recursive data structures. In this respect, it shares the same limitations as JSON. To minimize data copying, the component model introduces the concept of resources, which we will explore in more detail in a forthcoming section of this blog post. The jco projec

        VS Code Extensions and WebAssembly
      • Prettier 3.0: Hello, ECMAScript Modules! · Prettier

        We are excited to announce the release of the new version of Prettier! We have made the migration to using ECMAScript Modules for all our source code. This change has significantly improved the development experience for the Prettier team. Please rest assured that when using Prettier as a library, you can still use it as CommonJS as well. This update comes with several breaking changes. One notabl

          Prettier 3.0: Hello, ECMAScript Modules! · Prettier
        • 技術ブログをNuxt + Netlify + Contentfulから、はてなブログ for DevBlogに移行しました - もふもふ技術部

          こんにちは。出口です。 タイトルにある通り、技術ブログをはてなブログに移行しました。 この記事では、なぜ移行することになったのか、どうやって移行したのか、移行で苦労したところなどをまとめておきたいと思います。 もし脱セルフホストブログ、脱Contentfulや、はてなブログへの移行をお考えであれば参考になるのではないかと思います。 なぜ移行したのか Nuxt 3への移行が大変すぎる Contentfulへの不満が募ってきた 当初の計画 改めて移行を考える 移行について 記事移行 インポート機能を使ってWXRを取り込む場合 AtomPubを使ったパターンの場合 サブディレクトリオプション Netfilyのリバースプロキシ設定 robots.txtを設置 NetlifyのPrerenderingオプション設定 検証ツールで1つだけ検証失敗する まとめ なぜ移行したのか まずそもそもなぜ移行した

            技術ブログをNuxt + Netlify + Contentfulから、はてなブログ for DevBlogに移行しました - もふもふ技術部
          • 社内で使う npm パッケージの作成に Deno を採用した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

            こんにちわ。フロントエンドエキスパートチームの@nus3_です。 最近、社内用の npm パッケージを作る必要があり、そのパッケージは依存が少なく、実装もシンプルだったので、npm パッケージの作成には Deno と dnt を採用しました。 dnt とは dnt は Deno で実装したモジュールを CJS、ESM に対応した npm パッケージに変換してくれるビルドツールです。 使い方も簡単で、次のように dnt が提供するbuild関数にエントリーポイントや出力先などの必要な情報を渡すだけです。 import { build } from "https://deno.land/x/dnt@0.38.1/mod.ts"; await build({ entryPoints: ["./mod/index.ts"], // Denoで実装したモジュールのエントリーポイント outDir:

              社内で使う npm パッケージの作成に Deno を採用した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
            • 次世代Rx「R3」解説 - Qiita

              今回の内容 C#向けの新しいReactiveExtensions(Rx)ライブラリ「R3」について、従来のRxとの変更点を紹介します。 R3について リポジトリ R3 開発元はUniTaskやMagicOnionなどを公開しているCysharp社であり、メインの開発者はUniRxの作者でもあるneuecc氏です。 どんなライブラリか 「R3」はReactiveExtensions(Rx)を現代に合わせてより洗練した形に再定義/再実装した、C#用のライブラリです。 というのも、Rxは10年以上前に登場した概念であり、当時はまだ非同期処理に対するベストプラクティスが模索されていたタイミングでした。 そのためRxは「LINQをEventにも適用できる」という側面も持ちつつ「非同期処理にも用いることができる」という2つの側面をもった、少しややこしいライブラリとして登場しました。 そして2024年現

                次世代Rx「R3」解説 - Qiita
              • 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に!古参フロントエンドが消失しないために知っておくこと
                • typescript-eslintで新しい構文をサポートする

                  新しい構文がやってくる ご存知の通り、JavaScript の標準仕様である ECMAScript では毎年新しい記法や構文が提案され、採択されています。もちろん JavaScript のスーパーセットである TypeScript もその例外ではありません。 TypeScript では基本的に ECMAScript Proposal の Stage3 になった仕様から順次サポートするという方針があります。最近であれば v5.0 に入った Decorators や v5.2 で導入される using Declarations(Explicit Resource Management)などが該当します。 ここまでのことは普段 TypeScript を利用している方であれば知っている方も多いでしょう。しかし実際に TypeScript で新しい構文がサポートされた後、typescript-esl

                    typescript-eslintで新しい構文をサポートする
                  • iOS画像非同期取得 - クックパッド開発者ブログ

                    こんにちは、モバイル基盤のヴァンサン(@vincentisambart)です。 半年くらい前に、iOSクックパッドアプリで画像非同期取得を自作することになりました。導入してから何ヶ月も問題なく動いているので、どう動いているのか紹介しようと思います。でもその前に自作することになった経緯を説明しましょう。 自作経緯 長年画像非同期取得に既存のライブラリを使っていましたが、昨年ライブラリの不具合で画像の取得が稀に失敗していたバグがいくつかありました。バグが修正されて、その数ヶ月後にまた似た問題。 この状態が好ましくなかったので、以下の選択肢のどれかにしようと議論しました。 使っているライブラリのメンテナンスにもっと直接参加する コードが古くメンテナンスしやすくなさそうでした。 使っているライブラリのバージョンを固定する 自動的に更新をやめても、バグ修正や最新のOSの対応のために定期的に更新した方

                      iOS画像非同期取得 - クックパッド開発者ブログ
                    • フロントエンドのLinterやCIを改善した話

                      この記事は 株式会社エス・エム・エス Advent Calendar 2023 の21日目の記事です。 介護事業者向けの経営支援サービス「カイポケ」のリニューアルプロジェクトでフロントエンド開発をしている @hush_in です。 今年の4月にエス・エム・エスに入社しました。 入社してからフロントエンドのLinterやCIを改善した話をします。 忙しい人向けまとめ ESLint の recommended 系 extends を追加 全般 eslint:recommended plugin:import/recommended TypeScript plugin:@typescript-eslint/recommended-type-checked plugin:@typescript-eslint/stylistic-type-checked plugin:import/typescri

                        フロントエンドのLinterやCIを改善した話
                      • Server Actions の同時実行制御と画面の状態更新

                        2024 年 5 月現在だと Next.js のドキュメントには明示的な記載がないが、「同時に実行可能な Server Action は常に1つだけ」という件について。 実は自分もこれをちゃんと認識しておらず、先日会社の先輩に教わって初めて知ったので、試したことなどを書き残しておく。 Next.js の場合、App Router (Router Reducer) によって、Server Action の実行が直列化 (キューイング) されるようになっている。 このキューイングの挙動を考慮すると、以下のような呼び出し方は危ういコードとなる。 "use client"; import { useState } from "react"; import { increment } from "./actions"; export default function Page() { const [

                          Server Actions の同時実行制御と画面の状態更新
                        • AWS Amplify が効果を発揮する Next.js の 5 つの機能 | Amazon Web Services

                          Amazon Web Services ブログ AWS Amplify が効果を発揮する Next.js の 5 つの機能 Next.js は、React アプリのサーバーサイドレンダリングと静的サイト生成を可能にする、人気の React フレームワークです。フロントエンドの Web およびモバイル開発者が AWS 上で迅速かつ容易にフルスタックアプリケーションを構築できるようにする目的で構築されたツールおよび機能のセットである AWS Amplify と組み合わせると、開発者は本当に強力なアプリを構築することができます。 本記事では AWS Amplify が効果を発揮する Next.js の 5 つの機能を紹介します。 1. データフェッチと API Next.js は静的サイト生成(SSG)、サーバーサイドレンダリング(SSR)、クライアントサイドレンダリング(CSR)、インクリメン

                            AWS Amplify が効果を発揮する Next.js の 5 つの機能 | Amazon Web Services
                          • simple-gitを使ってみたら便利だった | DevelopersIO

                            simple-git を使って、TypeScript による自動化事例を記事に致しましたが、TypeScript による cli のフレームワークを主に説明していたり、方向性が微妙なポストだなぁと反省…。 こんにちは、高崎@アノテーション です。 はじめに 我々が行っている作業におきまして、手動でファイルを更新することや環境を整備することは少なくありません。 以前から手を抜いて少ない工数で効率よく、かつ人為的ミスを削減することを生き甲斐としておりまして、手動でファイル操作をするものがあれば、以前ですと Linux のターミナル上で作業していたこともあり bash シェルで自動化を行う方法はないか、を常に考えていました。 ファイルの変化を見る場合はgitを使ってローカルでリポジトリを組んでみたり、結果の文字列を捏ねて諸々処理する時には、シェルを実装するに当たって欠かすことのできないawkやs

                              simple-gitを使ってみたら便利だった | DevelopersIO
                            • Next.js Server Actions の裏側を理解したくて動きとコードを追う

                              Next.js Server Actions Next.js 13.4 で、新機能として Server Actions[1] が追加され、バックエンド側のコードをあたかもクライアントから直接呼び出せるかのようにコードを書くことができるようになりました。 リリースブログに掲載されていた Server Actions のコードを見てみましょう。 // app/post/[id]/page.tsx (Server Component) import kv from "./kv"; export default function Page({ params }) { async function increment() { "use server"; await kv.incr(`post:id:${params.id}`); } return ( <form action={increment}

                                Next.js Server Actions の裏側を理解したくて動きとコードを追う
                              • グループ読書が少し便利になるアプリ「ぐるどく」の技術構成

                                グループみんなで EPUB ファイルの本文にコメントができるリーダーアプリ「ぐるどく」を作りました。iPhone/iPad/Apple Silicon Mac に対応しておりますので、下記リンクよりお試しください。 経緯や想いの話は別途 note に記事を公開しているので、気になる方はこちらも合わせてご覧ください。 これは何ができるの? 「ぐるどく」でできることはシンプルです。 EPUB 形式の本が読める 本文にグループメンバーそれぞれがコメントが書けて、それを確認できる その他ブックリーダーに必要な機能がそれなりに使える Kindle にもメモ機能があると思いますが、あれをグループで使えるようにしたイメージを持ってもらうのがわかりやすいでしょう。 技術構成 私が考えた条件は下記でした。 縦スクロールではなく Kindle のように横にページを捲るように読めること モバイルだけではなく P

                                  グループ読書が少し便利になるアプリ「ぐるどく」の技術構成
                                • Kubernetesクラスタの可観測性の隙間を埋めるeBPF - LIFULL Creators Blog

                                  KEELチームの相原です。 今回はeBPFを利用してKubernetesクラスタの可観測性の隙間を埋めている話です。 前回のエントリではLLMにうつつを抜かしていたので本業(?)の話をしようと思います。 www.lifull.blog LIFULLの可観測性の現在地 eBPFとは 可観測性の隙間 NAT Loopback eBPFを実行するには BPF CO-RE libbpf-rsを利用したNAT Loopbackの検知 1. (ユーザ空間) コマンドライン引数として受け取ったDNSをTTLごとに名前解決してIPアドレスを取得する 2. (ユーザ空間) IPアドレスに変化がある度にカーネル空間で動くBPFプログラムにそのIPアドレスのリストを渡す 3. (カーネル空間) Kprobesで tcp_v4_connect/tcp_v6_connect にフックを仕込む 4. (カーネル空間)

                                    Kubernetesクラスタの可観測性の隙間を埋めるeBPF - LIFULL Creators Blog
                                  • Gmailに届かないCloudflare経由の独自ドメインメールを調べてみた | DevelopersIO

                                    Cloudflare Email Routingを利用して、独自ドメインのメールアドレスを Gmail(@gmail)に転送している環境で、メール転送のエラー率上昇を確認。 その原因について、調査する機会がありましたので紹介させて頂きます。 転送設定 Cloudflare Email Routingを利用したメール転送を利用していました。 Enable Email Routing Gmailへのメール転送は、カスタムアドレスを設定して実施していました。 ログ確認 アクティビティログより、エラー詳細の確認を試みました。 Email Routing analytics エラー応答は421。 以下の2パターンの拒否理由が確認できました。 レピュテーション不足(4.7.0) Unknown error: transient error (421): 4.7.0 [104.30.8.180 19]

                                      Gmailに届かないCloudflare経由の独自ドメインメールを調べてみた | DevelopersIO
                                    • GitHub ActionsでPRを自動生成するチュートリアル - spacelyのブログ

                                      株式会社スペースリーのRailsエンジニアの海老原です。 スペースリーが提供するサービスの反映は、CSチームでテストを実施してから本番環境にリリースする業務フローになっております。各featureブランチごとに、テストを実施できるように、プルリクエストに動作確認の手順を記載し、動作確認をCSに依頼するという流れです。今回は、ラベルごとにPRの記載内容を書き分けて、自動でプルリクエストを作成できるようにする設定を、GitHub Actionsを使って行いましたので、コードを交えて紹介したいと思います。 以下のようなプルリクエストをGitHub Actionsから自動で作成できます。赤枠が自動で埋められる部分です。 1. ローカルデバッグ環境構築 まずは、作業の準備として必要なツール類のインストールを行ってローカルの開発環境を整えて行きます。 4章のインテグレーションテストで利用することになり

                                        GitHub ActionsでPRを自動生成するチュートリアル - spacelyのブログ
                                      • Cloudflare WorkersのJS RPCを理解する

                                        前置き 4月の第1週に行われたCloudflare Developer Week 2024でAIやデータベース関係のアップデートの影に隠れ、WorkersをつくってるKenton氏のブログが2つ投下されました。 そして「JS RPC」という機能が追加されました。 これが一見地味なんですが、非常に楽しい未来を想像できるので、書いてみます。というか以前chimameさんが書いた記事でだいぶ理解できるのですが、もう少し噛み砕いて書いてみます。 Bindings Cloudflareにはいくつもプロダクトがあります。ストレージのR2、データベースD1、KVストアのKVなどです。そしてそれらに繋ぐ方法が「Bindings」という方法です。このBindingsで繋げられるものはたくさんあります。 AI Analytics Engine Browser Rendering D1 Environment

                                          Cloudflare WorkersのJS RPCを理解する
                                        • zod-to-openapiで、既存のAPI実装にOpenAPIドキュメントを後付けする | Memory ice cubes

                                          昔々あるところに、既存のWeb APIの実装がありました。 それなりに実装を進めた後に、天の声が言いました。「OpenAPIのドキュメントを公開したい」と。 さて、あなたならどうする?っていうニッチな問いに対する一つの答えとして。 ルーターごと乗り換える? たとえば今回でいうと、元のAPIはCloudflare Workersにデプロイされてた。 ので、たとえばhonoとかitty-routerとか、OpenAPIのドキュメント生成ができるエコシステムが整ってるルーターに乗り換えてしまうという手がある。 https://github.com/honojs/middleware/tree/main/packages/zod-openapi hono好きなあなたに https://github.com/cloudflare/itty-router-openapi/ itty-router好きな

                                            zod-to-openapiで、既存のAPI実装にOpenAPIドキュメントを後付けする | Memory ice cubes
                                          • LangGraph を用いた LLM エージェント、Plan-and-Execute Agents の実装解説 - Algomatic Tech Blog

                                            はじめに こんにちは。Algomatic LLM STUDIO 機械学習エンジニアの宮脇(@catshun_)です。 Wang+’23 - A Survey on Large Language Model Based Autonomous Agents ChatGPT が発表されてからおよそ 1 年が経ち、AutoGPT, BabyAGI, HuggingGPT, Generative Agents, ChatDev, Mind2Web, Voyager, MetaGPT, Self-Recovery Prompting, OpenCodeInterpreter, AutoAgents などなど、大規模言語モデル (LLM) の抱負な知識および高度な推論能力を活用した LLM エージェント (AIエージェント) が発表されています。 直近ではコード生成からデバッグ、デプロイまで自律的に行う

                                              LangGraph を用いた LLM エージェント、Plan-and-Execute Agents の実装解説 - Algomatic Tech Blog
                                            • OpenAI Function Calling を Zod + TypeScript で型安全に扱う - Qiita

                                              概要 OpenAI の Chat Completions API に Function Calling と呼ばれる新しい機能が追加されました。これを使うと、JSON Schema で指定した型に従う JSON 文字列を GPT が返してくれます。(ただし 100% valid な JSON が返る保証は無い) 特にライブラリに頼らずに Function Calling を利用しようとすると、 JSON Schema を書く OpenAI API にリクエスト 返ってきた JSON 文字列をパースして検証する というステップが必要になって面倒ですが、Zod のスキーマさえ書けば 1, 3 の手間を省きつつ型安全に実装することができます。 目指す姿 import { z } from "zod"; // 手動でコードを書くのは関数の名前、説明文、Zod スキーマの部分だけ const func

                                                OpenAI Function Calling を Zod + TypeScript で型安全に扱う - Qiita
                                              • バックエンドエンジニアやめませんか?【KiZooNa.js】 - Qiita

                                                バックエンドなくてもフロントで完結するライブラリ作りました。サンプルでTodoアプリにしました See the Pen KiZooNa.js TODOs by John Doe (@04) on CodePen. ソースコード 使用方法 使い方はLaravelのクエリビルダーとまったく一緒です。Laravelのpluck()やcount()やinsertGetId()など全部使えます! <html> <body> <script src="https://github30.github.io/KiZooNa.js/KiZooNa.js"></script> <script type=module> const db = new DB({ url: 'http://localhost/sql-injection.php', dsn: 'mysql:host=127.0.0.1;dbname=

                                                  バックエンドエンジニアやめませんか?【KiZooNa.js】 - Qiita
                                                • Patterns for Reactivity with Modern Vanilla JavaScript

                                                  Patterns for Reactivity with Modern Vanilla JavaScript August 21, 2023 “Reactivity” is how systems react to changes in data. There are many types of reactivity, but for this article, reactivity is when data changes, you do things. Reactivity Patterns are Core to Web Development We handle a lot with JavaScript in websites and web apps since the browser is an entirely asynchronous environment. We mu

                                                    Patterns for Reactivity with Modern Vanilla JavaScript
                                                  • TypeScript でメソッドチェーンしたら推論される引数が増えていくやつ - エムスリーテックブログ

                                                    こんにちは、エムスリーエンジニアリンググループ Unit5 (Consumer) チームの園田です。 今回は大きな実装ではなく、TypeScript のちょっとしたテクニックを Next の API ルートを題材に書いてみます。 想定読者は TypeScript 初心者の方です。TypeScript 強者の方はどうぞ温かい目で見てください。 はじめに モチベーション 実装のポイント 試行錯誤 関数で何度も囲む形式 引数指定 + オーバーロード 実際に辿った実装手順 最終的なコード Class 構文での実装 まとめ We are hiring はじめに まずは何を作ったのかご覧ください。 NextApiHandler の Factory できた メソッドチェーンで引数が増えてくやつ hono の zValidator を意識したけど、ハンドラの引数として Zod を渡すのではなくメソッドチェ

                                                      TypeScript でメソッドチェーンしたら推論される引数が増えていくやつ - エムスリーテックブログ
                                                    • 新たなJavaScript RPCライブラリをCloudflareがオープンソースで提供 ー Web開発・マイクロサービス開発を進化させる可能性も

                                                      4月6日、CloudflareはCloudflare WorkersにJavaScriptネイティブのRPC(Remote Procedure Call)システムを追加した。 4月6日、CloudflareはCloudflare WorkersにJavaScriptネイティブのRPC(Remote Procedure Call)システムを追加した。 この新機能により、クライアント・サーバー間はもちろん、Worker間の通信も、ほぼボイラープレートなしでシームレスに行えるようになる。 ※RPC(Remote Procedure Call)とは、異なるコンピュータシステム間、または同一システム内の異なるプロセス間で、あたかもローカルのプロシージャ(関数やメソッド)呼び出しのように通信を行う手法。この手法を用いることで、開発者はネットワークの詳細を意識することなく、簡単にシステム間でデータを交換

                                                        新たなJavaScript RPCライブラリをCloudflareがオープンソースで提供 ー Web開発・マイクロサービス開発を進化させる可能性も
                                                      • 「JS体操」のすゝめ 〜その①〜 - KAYAC engineers' blog

                                                        このエントリは【カヤック】面白法人グループ Advent Calendar 2023 の24日目の記事です。 こんにちは!意匠部のおばらです。 面白法人カヤックでは日々、様々な社内勉強会が開催されています。本記事では JS 好きな社内のエンジニア向けに私が企画&主催している「JS体操」についてご紹介します。 記事の最後にはみなさんも挑戦できるように最新の「JS体操」を紹介しています。ぜひ挑戦してみてください。 1.「JS体操」とは? 2.「JS体操」の掟 3.「JS体操」のメニュー 3.1. 何らかのロジックを解く 3.2. コードゴルフで文字数を競う 4.「JS体操」の流れ 4.1. 出題方法 4.2. 解答方法 4.3. 実際の様子 5.「JS体操」の過去問の紹介 5.1. 第一回 5.2. 第二回 5.3. 第三回 5.4. 第八回 5.5. 第十一回 5.6. 第十四回 5.7.

                                                          「JS体操」のすゝめ 〜その①〜 - KAYAC engineers' blog
                                                        • OpenAI APIの新機能をNode.jsから使ってみる | DevelopersIO

                                                          はじめに 吉川@広島です。 OpenAIの新機能が盛り上がっていますね! OpenAI DevDayで発表された様々な機能について、公式ドキュメントを見ながら少しだけ詳細を確認してみた | DevelopersIO いまのところ弊社記事はPythonコードが多い印象がありますので、いくつかの新規機能についてNode.js組である自分もサンプルコードを上げてみます。 環境 node v18.14.2 typescript 5.0.2 openai 4.16.1 [共通] OpenAIクライアントの初期化 openai パッケージをインストールします。 npm i openai クライアントを初期化します。 const openAi = new OpenAI({ apiKey: "xxxxxxxxxxxxxxxxxxxxxx", }); DALL·E 3 API [アップデート]DALL·E

                                                            OpenAI APIの新機能をNode.jsから使ってみる | DevelopersIO
                                                          • マイクロサービス構成における NestJS での gRPC クライアントの運用戦略 - ドワンゴ教育サービス開発者ブログ

                                                            はじめに はじめまして、バックエンドセクションの yukimochi です。 現在、N予備校ではバックエンドのアプリケーションの移行計画が進んでいます。 その一環で、一部のマイクロサービス間通信についても REST API + OpenAPI の現状から gRPC へと移行することになりました。 私の参画しているプロジェクトである教材入稿ツールでは TypeScript + NestJS を採用しており、結合している他マイクロサービスとの通信でgRPCを利用する際の gRPC クライアントと、そのスキーマ定義を担う proto の運用戦略、実現方法について記します。 proto ファイルと型定義パッケージの取り回しについて考える スキーマ定義である proto をどこに保存するか スキーマ定義である proto をどこに保存しておくかは、 proto のバージョン管理の観点で重要です。今回

                                                              マイクロサービス構成における NestJS での gRPC クライアントの運用戦略 - ドワンゴ教育サービス開発者ブログ
                                                            • Build and Publish 2023

                                                              Previous slideNext slideToggle fullscreenOpen presenter view Build and Publish 2023 @mizchi | Plaid, Inc. jsconf.jp 2023 今日もツールチェインに消耗してますか? https://2022.stateofjs.com/en-US/libraries 今日のテーマ 今日話すこと 現代のビルドツールチェインの進化と目的 エコシステムに振り回されないようになろう! 今日話さないこと 個別のツール/ライブラリの使い方 フロントエンドの話? NO. 最近のサーバーサイドJSとバンドラは一体化している サイズ制限のある CDN Edge Worker も最適化が必要 About Me JSのビルドとは何か Transpile AltJS(TS,JSX)や CSS Modules の変換

                                                              • TypeScriptの変更点まとめ ──新しい演算子・トップレベルawait・usingについて

                                                                本連載の趣旨 本連載は、TypeScriptのアップデートを紹介する連載です。 TypeScriptは、その登場以来、順当にバージョンアップを重ね、現在(原稿執筆時点)5.2が最新となっています。各バージョンアップでは、性能改善に関するアップデートが主なものもあれば、大きな機能追加が施されたものもあります。 本連載では、これらのアップデートの内容のうち、バージョン3から5.2までに施されたものを整理し、テーマごとに紹介していきます。具体的には、以下のテーマを予定しています。 タプルに関するアップデート 型システムに関するアップデート 型の絞り込みに関するアップデート クラス構文に関するアップデート デコレータに関するアップデート 第1回目である今回は、上記テーマに含まれていないもので重要なアップデートを取り上げます。これらは、ひとつのテーマで連載1回分の内容にはならないものを、詰め合わせセ

                                                                  TypeScriptの変更点まとめ ──新しい演算子・トップレベルawait・usingについて
                                                                • zeno.zsh を活用して Node.js パッケージマネージャの違いを吸収する - エムスリーテックブログ

                                                                  永山です。 神話の時代、天を衝く巨塔を築こうとした高慢な人類の Node.js パッケージマネージャは様々に引き裂かれたと言われています。 現代においてよく使用されているものだけでも npm, Yarn, pnpm などがあり、エムスリー社内でもプロジェクトによってどのパッケージマネージャが採用されているかはバラバラです。 それぞれのパッケージマネージャは異なるコマンドラインインタフェース (npm / yarn / pnpm) によって操作する必要があるため、作業するプロジェクトによって適切なコマンドを呼び分けなければなりません。めんどくさ。 本記事では Zsh プラグインである zeno.zsh を用いてこれらパッケージマネージャの差異を吸収することで快適な開発体験を実現する方法、およびその過程で模索した zeno.zsh の設定ファイルの TypeScript 化の試みについて紹介し

                                                                    zeno.zsh を活用して Node.js パッケージマネージャの違いを吸収する - エムスリーテックブログ
                                                                  • Node.js v21 の主な変更点 - 別にしんどくないブログ

                                                                    2023年10月17日にリリースされたNode.js v21の主な変更点を紹介します。 この記事を書いている時点ではv21.4.0が最新版ですので、v21.0.0からv21.4.0までの変更点で注目の機能をまとめています。 nodejs.org fetchとWebStreamsが安定版へ WebSocketの実験的な実装 navigator.language/languages の追加 V8 11.8 による新しい JavaScript の機能 ESM をデフォルト化するフラグ 実行ファイルがESMなのか自動判定する実験的機能 import.meta.dirname/filename の追加 テストランナーがglobでのテストファイル指定に対応 警告(Warning)を無効化するフラグの追加 その他の変更点 まとめ 参考記事 fetchとWebStreamsが安定版へ github.com

                                                                      Node.js v21 の主な変更点 - 別にしんどくないブログ
                                                                    • ZLogger v2の新ストラクチャードロギング体験 - hadashiA

                                                                      ゆで卵を食べるときは塩をかけるのと同じように、サーバを書くときはストラクチャードロギングをするのが当たり前といった状況になった昨今。世界のロガーたちはキー/バリュー形式の構造化データを出力すべく、その用途に特化したインターフェイスを獲得するに至っている。 一方、プログラミング言語やフレームワークによってはこの辺のサポートはけっこうまちまちで、人によってストラクチャードロギングに対しての理解度やロガーへの要求水準はけっこう違っているようである。 私がサーバを書く仕事を始めた頃なんかは、使っていたウェッブフレームワークワークはさも当然のように人間にとって読みやすく整形された文字列をログに吐いた。ほかにオプションはなかった。「ふーん。そんなもんかな」と思いながら、ログを上から下に読んでいたが、しかしこれは一件のログレコードが改行されまくっていたので、キーワードでgrepするだけで当然のようにぶっ

                                                                        ZLogger v2の新ストラクチャードロギング体験 - hadashiA
                                                                      • 【検証してみた】株式会社ゆめみは、Organization対抗戦で不正をしているのか? - Qiita

                                                                        今年も盛り上がっている Qiita Engineer Festa! Qiita Engineer Festa 2023、大いに盛り上がっていますね・・・! 特に、Organization対抗戦・・・! いろんな企業さんが、必死になって沢山の記事を書いています。 現在のランキングはこちら Organization対抗戦: 総合いいね賞ランキング ※7月21日 12:35時点のランキングです。 なんと、弊社(株式会社ゆめみ)も2位につけています。 ただ、気になったことが・・・ ワイ「なんか、ワイが記事を書くと・・・」 ワイ「いつも、同僚たちが沢山いいねをくれる・・・」 ワイ「そのおかげで、いつもデイリートレンドに載ることができてる・・・」 ワイ「これって、ちょっとズルくないか?」 ワイ「組織票ってやつとちゃうか・・・?」 調べてみた デイリートレンドの30記事を対象に「同僚からのいいね1が何%

                                                                          【検証してみた】株式会社ゆめみは、Organization対抗戦で不正をしているのか? - Qiita
                                                                        • Introducing Amazon CloudFront KeyValueStore: A low-latency datastore for CloudFront Functions | Amazon Web Services

                                                                          AWS News Blog Introducing Amazon CloudFront KeyValueStore: A low-latency datastore for CloudFront Functions Amazon CloudFront allows you to securely deliver static and dynamic content with low latency and high transfer speeds. With CloudFront Functions, you can perform latency-sensitive customizations for millions of requests per second. For example, you can use CloudFront Functions to modify head

                                                                            Introducing Amazon CloudFront KeyValueStore: A low-latency datastore for CloudFront Functions | Amazon Web Services
                                                                          • React Labs: What We've Been Working On – February 2024 – React

                                                                            In React Labs posts, we write about projects in active research and development. We’ve made significant progress since our last update, and we’d like to share our progress. React Conf 2024 is scheduled for May 15–16 in Henderson, Nevada! If you’re interested in attending React Conf in person, you can sign up for the ticket lottery until February 28th. For more info on tickets, free streaming, spon

                                                                              React Labs: What We've Been Working On – February 2024 – React
                                                                            • プロンプトからREST APIを作るサービス『Hanabi.REST』の技術構成

                                                                              Hanabi.REST AIにHonoJSのバックエンドを書かせて遊ぶ、Hanabi.RESTというサービスを一般公開します。それに際して、この記事では、Hanabiの紹介と簡単に技術スタックを解説していきます。 皆さんは、AIがプロンプトからUIを生成する、V0というサービスをご存じですか?僕はあれを見たときに、ある妄想が膨らみました。 「V0のAPI版があれば、プロンプトからWebアプリケーションを作れるやん!!」と。 当初はハッカソン用の小プロジェクトとして始めましたが、想定以上に面白い結果が得られたため、開発を継続することにしました。技術的な制約、様々な黒魔術による不安定な挙動、LLMの劣化など、数多くの壁を乗り越えながら、約半年をかけてようやくリリースに至りました!! 次のリンクから実際にAIが生成したTwitter風のAPIを試すことが出来ます! また、会員登録すれば誰でもAP

                                                                                プロンプトからREST APIを作るサービス『Hanabi.REST』の技術構成
                                                                              • .NET 8 の ASP.NET Core Blazor 新機能オーバービュー

                                                                                はじめに .NET 8 が先日リリースされて .NET Conf 2023 のセッション動画も YouTube の dotnet チャンネルに投降されています。 .NET Conf 2023 のプレイリストで全て確認できるので興味があるやつだけでも見てみると楽しいのでお勧めです。 今回は、その動画の中の Full stack web UI with Blazor in .NET 8 | .NET Conf 2023 の内容を解説する形で記事を書いていこうと思います。後半の認証や CRUD のページを自動生成してくれる機能については別途余裕があれば書こうと思います。また、記事内の図の多くは、この動画内のものから引用しています。 細かい新機能は色々ありますが、大体の大枠はこのセッションに詰まっているのでとても勉強になります。 Blazor Blazor ですが、ASP.NET Core に完全

                                                                                  .NET 8 の ASP.NET Core Blazor 新機能オーバービュー
                                                                                • Learning Async Rust With Entirely Too Many Web Servers

                                                                                  I've found that one of the best ways to understand a new concept is to start from the very beginning. Start from a place where it doesn't exist yet and recreate it yourself, learning in the process not just how it works, but why it was designed the way it was. This isn't a practical guide to async, but hopefully some of the background knowledge it covers will help you think about asynchronous prob

                                                                                    Learning Async Rust With Entirely Too Many Web Servers