並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 349件

新着順 人気順

asyncの検索結果161 - 200 件 / 349件

  • Javaのバーチャル・スレッドと並行処理

    この記事はJava Advent Calendar 2023 - Qiitaの10日目の記事です。 JavaのJDK 21でバーチャル・スレッドなるものが実装されたということで少し調べてみました。参考までに、昨年のアドベントでは、Rust Tokioの非同期処理を書いています。 背景: Javaのスレッド・モデル 背景として、Javaのスレッド・モデルは、OSスレッド(1:1のJavaVMスレッド)になります。Rustのスレッド同様に、OSレベルでのスケジューリングになります。今回説明するバーチャル・スレッドと区別するために、プラットフォーム・スレッドと呼ばれています。 本ブログでは分かりやすいようにプラットフォーム・スレッドをOSスレッドと表記します。 その後、JDK 8のCompletableFutureの導入で、Node.jsのasyncのような非同期プログラミングがサポートされまし

      Javaのバーチャル・スレッドと並行処理
    • 地図から市区町村を選択する機能をLeafletとVue.jsと国土交通省のデータを使って作った - GAミント至上主義

      3日ぐらいで勢いで作れてしまったので忘れないうちにポイントと流れをメモ。 作ったもの 日本地図クリックでその市区町村のリストを取得できるやつ。 左バーがVue, 右の地図がLeaflet + 国交省データ 動画 LeafletとVueと国土交通省のデータで作った地図で市区町村選べるやつ pic.twitter.com/9xeYj6isxP— uyamazak - 🐐 (@uyamazak) 2020年3月31日 既存の管理画面には埋め込まず、別のHTMLファイルとして作成しました。 抱えていた課題 シニアジョブでは求職者の方の通勤エリア指定を営業さんがチェックボックスで行っていました。 これが非常に面倒だし、難しいし、選択漏れがあっても気づきにくい。 「地図で選択できるようにしてほしい」という声が社内で以前からありましたが、技術的に難しかったので後回しになっていました。 HTMLで地図作

        地図から市区町村を選択する機能をLeafletとVue.jsと国土交通省のデータを使って作った - GAミント至上主義
      • 非同期処理はイベントハンドラーで書いてもいい

        初心者の自分としては迷うところだったので,備忘録を兼ねて記事を書きました. Reactコンポーネント内での非同期処理 Reactではコンポーネントを宣言的に記述します.コンポーネントはレンダリング処理に関する操作(副作用)がない純粋関数として定義することが推奨されています.しかし実際はコンポーネントのイベント処理などでデータフェッチやDOM操作などレンダリング処理以外の操作が必要となることが少なくありません. 例えばボタンを押したときにあるサーバーからデータをフェッチするコンポーネントがあるとします.データフェッチなどの非同期処理はコンポーネントのレンダリングに直接関係のある処理ではないため,これらは副作用にあたります. useEffect このような副作用の処理はuseEffect内で記述して実行することが可能です.useEffectではコンポーネントのライフサイクルとは別に,特定の変数

          非同期処理はイベントハンドラーで書いてもいい
        • EnzymeとReact Testing Libraryの違いを調べてみた

          この記事は何? 過去に少しだけEnzymeを触ったことがあり、最近Reactを触るようになったため、公式から推奨されているテストライブラリについて調べた Enzymeとは? Airbnb によって開発された React v16 までしかサポートしていない コンポーネントの内部構造や状態にフォーカスしており、コンポーネントのメソッドや状態を直接テストすることが可能 コンポーネント内のメソッドを単体でテストすることができる Vue.jsのテストライブラリ(Vue Test Utils)に近い React Testing Library Kent C. Dodds(Testing Trophyの考案者)によって開発された ユーザー視点でテストすることを重視しており、コンポーネントを操作して表示される内容をテストする E2Eに近いイメージ コンポーネント内にアクセスすることができない コードで差を

            EnzymeとReact Testing Libraryの違いを調べてみた
          • Azure Open AI Serviceを利用したTeams Chat Bot開発 – Cloud Steady | パーソルクロステクノロジー株式会社

            はじめに こんにちは。NewITソリューション部の辻です。 Microsoft Azureには、「Azure OpenAI Service」という生成AIサービスがあります。 今回はこの「Azure OpenAI Service」と、会話型ボットを作成できる「Azure Bot Service」を用いて、 Chat GPTのような生成AIと会話できるアプリを作り、Teamsで使っていきたいと思います。 Azure OpenAI Serviceとは Azure OpenAI Serviceは、マイクロソフトが提供する「Microsoft Azure」において、人口知能(AI)が利用できるサービスです。 ChatGPTでも用いられているような生成AIモデルをAPI経由で使用することができます。 利用できるAIモデルには、以下のようなものがあります。 GPT-3.5, GPT-4 自然言語を理解

            • 動画や実行ファイルもこれでOK!Amazon S3に大容量ファイルを分割してアップロードする方法 - コハム

              ​​How to Upload Large Files Efficiently with AWS S3 Multipart Upload 記事は上記記事を意訳したものです。 ※当ブログでの翻訳記事は元サイト様に許可を得て掲載しています。 ユーザーが大容量の高画質動画をアップロードするメディアストリーミングプラットフォームを運営していると想像してください。そのような大容量ファイルのアップロードは遅く、ネットワークが不安定な場合は失敗する可能性があります。 大容量ファイルの従来の単一パートアップロードは面倒で非効率的であり、タイムアウトエラーが発生したり、一部が失敗した場合にアップロードプロセス全体を再開する必要が生じたりすることがよくあります。ここで、Amazon S3のマルチパートアップロード機能が活躍し、これらの課題に対する堅牢なソリューションを提供します。 この記事では、Amazon

                動画や実行ファイルもこれでOK!Amazon S3に大容量ファイルを分割してアップロードする方法 - コハム
              • TypeScript化したReactアプリを、Next.jsへ移行してみた! - Qiita

                はじめに こんにちは!WEBエンジニア転職を目指しているK.Yです! 今回は、ReactアプリをNext.jsへ移行してみました! JavascriptとReactで簡易的なブログ作った記事もありますので、そちらもよかったらご覧ください! 前提 ルーターは、App Router CSSは、tailwindCSS バージョン react: 18.3.1, react-dom: 18.3.1, react-router-dom: 6.23.1 JavaScript ES6以降 Next.js Next.jsとは、Reactをベースにしたウェブアプリケーションフレームワークで、 サーバサイドレンダリング(SSR)と静的サイト生成(SSG)を簡単に実現するためのツールです。 これによって、WEBアプリケーションのパフォーマンスが向上し、SEO対策ができます。 Next.jsでは、ページごとにJav

                  TypeScript化したReactアプリを、Next.jsへ移行してみた! - Qiita
                • イベントループとは何なのか? - Qiita

                  皆さんはJavaScriptの「イベントループ」についてどのくらいご存知でしょうか? イベントループはJavaScriptランタイムがプログラムを実行するときの基盤となる仕組みです。他の言語やフレームワークにも類似概念がありますが(例:C#のWinForms)、重要さの度合いが異なります。 最近、社内で開催している読書会の課題図書で「イベントループ」について言及する箇所があり、、私自身この仕組みについて概要を理解できていないことに気がついたので少し調べてみました。 似通った関心をお持ちの方にとっての参考になればよいなと思っています。 なるべく簡潔にまとめたつもりですが、、、すみません、ものすごく文字だらけです。私の関心の的になったものをギュウギュウ押し込みました。 JavaScriptプログラムはシングルスレッド Webブラウザであれ、Node.jsであれ、JavaScript(JS)ラン

                    イベントループとは何なのか? - Qiita
                  • OSRMのルート検索結果をOpenStreetMapの地図上に描画する - でじたるチリクラブ

                    前回はPC上にOSRMのサーバを用意し、ルート検索を実行するまでの流れを確認した。 bannyaaa.hatenablog.jp 今回はその続きとして、OSRMのサーバから返されたルート検索結果を、Leafletを用いてOpenStreetMapの地図上に描画する。 環境 OS: Windows 11 Home: 21H2 Leaflet: 1.8.0 Chrome: 104.0.5112.81 OSRMのサーバ周りの環境は前回の記事を参照 地図の表示とルートの描画 ルート描画時に背景となる、OpenStreetMapの地図タイルを表示する仕組みを用意する。LeafletのQuick Start Guideを参考に、以下のHTMLファイルをつくる。 <!DOCTYPE html> <html lang="ja"> <head> <title>OSRM routing</title> <me

                      OSRMのルート検索結果をOpenStreetMapの地図上に描画する - でじたるチリクラブ
                    • Next.jsを使ってモバイルアプリを開発する方法

                      フロントエンドの開発領域では、Next.jsというフレームワークの人気が増しています。このフレームワークは、サーバーサイドのコードも生成できるため、特にWebアプリケーション開発に多く利用されています。 さて、そのNext.jsを使ってモバイルアプリを開発するという新しいアプローチを取り上げた記事があります。その記事は、「Build Mobile Apps with Tailwind CSS, Next.js, Ionic Framework, and Capacitor - DEV Community」というタイトルで、このリンクから読むことができます。 この記事に基づき、モバイルアプリ開発でNext.jsを利用する方法について詳しく解説します。リポジトリ(プロジェクトの原型となるソースコード集)も提供しますので、具体的にどのように進めれば良いかを理解しやすくなるでしょう。 ソースコード

                        Next.jsを使ってモバイルアプリを開発する方法
                      • AWS Amplify JavaScript v5からv6へ変更時、APIキーをエンドポイント毎に設定する方法 - Qiita

                        AWS Amplify JavaScript v5からv6へ変更時、APIキーをエンドポイント毎に設定する方法JavaScriptAWSTypeScriptamplify Amplify JavaScriptは2023年11月にv6の提供が開始され、バージョンアップによる破壊的変更が含まれています。 v5で複数のREST APIを設定する場合、それぞれのエンドポイントに対してAPIキーを設定できていたのですが、v6への変更でそのままでは設定できなくなっていたので修正方法を紹介します。 v5でのAPIキーを設定する場合、カスタムヘッダーとして記述することで設定できます。 具体的なコードは以下のようになります。(公式ドキュメントを少し修正したものになります) import { Amplify, API, Auth } from 'aws-amplify'; const config = { A

                          AWS Amplify JavaScript v5からv6へ変更時、APIキーをエンドポイント毎に設定する方法 - Qiita
                        • 【Flutter】AsyncValueを楽に扱う方法

                          RiverpodのAsyncValueを使うことで、開発者は非同期処理を簡単に管理できます。しかし、現状として開発者がAsyncValueの扱い方に悩んでしまったり、手を焼いてしまっているケースも少なくありません。 この記事では、AsyncValueの取り扱いをシンプルにする方法を紹介し、開発者がAsyncValueを使用する際に抱えてしまいがちな冗長性や複雑性を解消することを目指します。 AsyncValueを管理する共通Widgetを作る loadingとerrorの時に返すWidgetが大体同じ場合、それらをデフォルトで返すWidgetを用意して、AsyncValue.dataの時のWidgetのみを必要とする構造を持つWidgetを用意した方が楽に済みます。 他にもloadingからdataに移った時のフェードなど、状態管理と連動する細かい表示の設定も、この共通Widgetの内部に

                            【Flutter】AsyncValueを楽に扱う方法
                          • Hono x Next.js でキャッシュしないRPCクライアントを使いたい

                            こんにちは! 最近個人的に推している開発環境は Hono x Next.js です。Next.js Route Handlers の処理を Hono で構成します。 構築方法は、Hono 公式ドキュメントか、 Tsuboi 氏の Zenn 記事が参考になります。 遭遇した問題 Server Component 上で Hono RPC を使うと、ビルド時にリクエストしてしまいエラーに遭遇しました。 bunx next build ▲ Next.js 14.2.4 Creating an optimized production build ... ✓ Compiled successfully . . (省略) . ✓ Collecting page data Generating static pages (0/7) [ ]TypeError: fetch failed at node:i

                              Hono x Next.js でキャッシュしないRPCクライアントを使いたい
                            • [Output]useDeferredValueを使ってみた。

                              内容 Reactのドキュメントをざっくり見ていたときに、気になったfooksがあったので勉強がてら実装をしてみました。 環境 React TypeScript React Query useDeferredValueとは [useDeferredValue – React] useDeferredValue は、UI の一部の更新を遅延させるための React フックです。 引数に遅延させたい値をいれることができます。 初回時には、渡した初期値になるのでレンダリングが重複することはなさそうです。 基本的にsuspenseと一緒に使うものと記載があります。 またSuspenseとuseDeferredValueどちらも、React Queryなどのデータフェッチライブラリと組み合わせて使用するのが一般的とあるので、今回はReact Queryを使用して実装をしてみます。 本題(実装) 完成コ

                                [Output]useDeferredValueを使ってみた。
                              • 「Microsoft Edge」がSVG画像のコピペに対応 ~他のChromium系ブラウザーにも恩恵(窓の杜) - Yahoo!ニュース

                                米Microsoftは7月11日(現地時間)、「Microsoft Edge」が「Async Clipboard API」でSVGファイルをサポートしたと発表した。ネイティブアプリでは当たり前に用いられているSVG画像のコピー&ペーストを、Webアプリでも簡単に行えるようになる。 SVGファイルはベクター形式の画像フォーマットで、表示を拡大・縮小しても品質が劣化しないため、近年のレスポンシブデザイン(画面サイズに応じてそれに適したデザインへ切り替える手法)では欠かせないものとなっている。 しかし、これまでクリップボードに格納されたデータを取得するために用いられてきたレガシーな「DataTransfer API」は、SVG形式をビルトインでサポートしておらず、扱いが難しい。たとえばユーザーがSVGコンテンツをWebアプリへ貼り付けようとしても、一般の画像形式と同じようにはいかず、生データを解

                                  「Microsoft Edge」がSVG画像のコピペに対応 ~他のChromium系ブラウザーにも恩恵(窓の杜) - Yahoo!ニュース
                                • Workers AIを搭載したStream Generated Captionsの紹介

                                  お客様は、Streamの最新機能であるAIによるキャプション生成機能を使用することで、オンデマンド動画やライブストリーミングの録画中に、ワンクリックで簡単に動画のキャプションを生成することができるようになりました。この機能は、より良いインターネットの構築を支援するというCloudflareの使命の一環として、すべてのStreamのお客様に追加料金なしでご利用いただけます。 このソリューションはシンプルさを重視して設計されていることから、サードパーティ製の文字起こしサービスや複雑なワークフローは不要です。キャプションなどのアクセシビリティ機能がない動画の場合、特に大規模な動画ライブラリでは、手作業による文字起こしは時間がかかり、現実的ではありません。従来、音声をテキスト化して動画と一緒に配信して再生時に表示できるように、専門サービス、時には専用チームが関わっていました。倫理的義務、法令順守、

                                  • チュートリアル: .NET MAUI アプリを作成する - .NET MAUI

                                    このチュートリアル シリーズは、クロス プラットフォーム コードのみを使用する .NET Multi-platform App UI (.NET MAUI) アプリを作成する方法を示す目的で設計されています。 つまり、記述するコードは、Windows、Android、iOS、または macOS に固有のコードにはなりません。 作成するアプリはメモを取るアプリであり、ユーザーは複数のノートを作成、保存、読み込むことができます。 このチュートリアルでは、次の作業を行う方法について説明します。 .NET MAUI シェル アプリを作成します。 選択したプラットフォームでアプリを実行します。 eXtensible Application Markup Language (XAML) を使用してユーザー インターフェイスを定義し、コードで XAML 要素を操作します。 ビューを作成し、データにバイン

                                      チュートリアル: .NET MAUI アプリを作成する - .NET MAUI
                                    • yuruLight-Blog -

                                      postgres チューニングメモハードウェアの性能 PostgreSQLの設定 PostgreSQLのバージョン データベース設計 データの特性 その他の要因 結論 PostgreSQLの性能は多くの要因に依存します。適切なハードウェアの選択、最適なP […] java mockを使用してstaticクラスのモック化する方法java junitにてstaticメソッドを持つクラスをmockを使用する方法を示します。この例では、Mockitoを使用しています。 実装例 補足 この例では、MockedStatic<StaticClass& […] AWS Java V2 ECSから指定したクラスタの起動中のTaskARNの取得方法AWS SDK for Java V2を使用して、Amazon ECS(Elastic Container Service)クラスタ内で実行中のタスクを監視し、特定

                                      • レポート RubyKaigi 2024に参加してきました! - pixiv inside

                                        こんにちは、BOOTHチーム・エンジニアのkolukuです。 この度、5月15日(水)から17日(金)の3日間、沖縄県那覇市で開催されたRubyKaigi 2024にスポンサーとして参加してきました。その様子をレポートでお届けします。 RubyKaigiとは RubyKaigiとは年に1回開催されるプログラミング言語のRubyに関するカンファレンスです。Rubyはピクシブの多くのプロダクトで使われています。 rubykaigi.org 多くの登壇者がRubyコミッターであり、Rubyに関する最新技術や今後の展望について議論するという点からコミッターの祭典という見方ができます。また、国外からも多くの参加者が来訪するため国際色豊かです。 Day0 最初の驚きといえばこちら。那覇空港に降り立った瞬間にRubyKaigiのポスターが出迎えてくれました。 那覇市内のいたる所でRubyKaigiのロゴ

                                          レポート RubyKaigi 2024に参加してきました! - pixiv inside
                                        • 【TypeScript】trpcでChatGPTのようなstreaming responsesをReactで表示してみる

                                          目的 OpenAI社のChatGPTやAnthropic社のClaudeのような生成AIによるチャットサービスでは、生成AIモデルが出力したデータをストリーミングで少しずつ受け取って徐々にテキストが表示されるようなUIを採用しています。 一般的なリクエスト/レスポンス形式だとAIによる処理が全て完了するまで待つ必要があり、クライアント側では(処理内容によっては)何十秒もローディングが表示されるだけになってしまうため、ストリーミングで少しずつデータを受け取って表示することはUXとして良いですね。 今後、AIを使ったサービスが増えていくにつれ、こうしたユースケースは増えていくかもしれません。 開発観点でいうと、こうした実装はサーバーサイド側については公式のexampleなどに記載がありますが、クライアント側でstreamingのデータを受け取って表示する実装例は調べてもあまり出てきませんでした

                                            【TypeScript】trpcでChatGPTのようなstreaming responsesをReactで表示してみる
                                          • Vertex AI Search の検索ウィジェットを埋め込んだ Web アプリを構築してみた

                                            こんにちは、クラウドエース株式会社 フロントエンド・UI/UX 部の松尾です。 この記事では Vertex AI Agent Builder の機能の一つである Vertex AI Search による Retrieval-Augmented Generation(以下、RAG)システムを、簡単に Web アプリに埋め込む方法をご紹介します。 Vertex AI Search とは? Vertex AI Search は、Vertex AI Agent Builder という Google Cloud のプロダクトの一部で、 Google の生成 AI 技術を利用して簡単に検索システムを作ることができる機能です。 Vertex AI Search を使えば、組織内で取り扱うドキュメントなどのデータに基づいた質問に対して AI が回答してくれる検索システムを簡単に構築することができます。 V

                                              Vertex AI Search の検索ウィジェットを埋め込んだ Web アプリを構築してみた
                                            • Google Map GeoJSONファイルを読み込み、人口での色分けを行ってみる - Qiita

                                              はじめに 今回は、Google Map上にGeoJSON形式の町丁目ポリゴンを表示し、人口総数によって色分けを行い、色分けの凡例も作成したいと思います。 前提条件 Google Mapを表示するには、Google Maps Platform用のAPIキーが必要となります。この記事では「Google Cloudプロジェクトをセットアップする」や「APIキーを使用する」等の手順は割愛させていただきます。 町丁目ポリゴン(GeoJSON) 人口総数を属性に持つ町丁目ポリゴンについては、TerraMap APIから取得できるものを利用しました。 一部省略しておりますが、以下のようなGeoJSONファイルになります。 features[0].properties.data[0].value が人口総数の値になっています。 { "type": "FeatureCollection", "feature

                                                Google Map GeoJSONファイルを読み込み、人口での色分けを行ってみる - Qiita
                                              • 3rd Party Cookieをトップレベルサイト毎に分割して保存するCHIPSを試してみた | DevelopersIO

                                                サブドメイン パーティションキーはSame Siteの判定とおなじトップレベルサイトの eTLD + 1 の値が使われます。つまりSame Siteのトップレベルサイトに埋め込まれた Partitioned なCookieは同じクッキーになります 複数のサイトをサブドメインで展開してるサービスがあるとして、それぞれのサイトで同じクッキーになるので、サイトを跨いで同一のユーザーとしてサービスを提供できます 以下は埋め込み式のチャットサービスがあり、 cat.example のサブドメインで複数サービスを提供してるサイトに埋め込まれており、 dog.example サイトにも埋め込まれている例です 使用方法 Set-Cookie HTTPヘッダに Partitioned属性をつけます CHIPSはSecure属性をTrueにする必要があり、3rd Party Cookieとして取り扱うので、

                                                  3rd Party Cookieをトップレベルサイト毎に分割して保存するCHIPSを試してみた | DevelopersIO
                                                • AWS CloudTrail から垣間見る AWS Step Functions の挙動 - コドモン Product Team Blog

                                                  この記事は コドモン Advent Calendar 2023 6日目の記事です! こんにちは。Webエンジニアの八木です。 コドモンテックブログ初投稿&アドベントカレンダーということもあり、趣味全開の内容にしてみました。 今回の記事では、AWS Step Functionsの挙動をAPIレベルで追ってみます! AWS Step Functionsとは、様々なAWSサービスを呼び出すことのできる、サーバレスなワークフローサービスです。 他AWSサービスの呼び出し方法にはいくつか種類がありますが、各種方法が実際にどのように連携されているのか気になったため、CloudTrailを使って処理を追ってみました。 TL;DR Step Functionsが他のサービスを呼び出すには「最適化された統合」と「AWS SDK統合」の2種類がある 「最適化された統合」で同期呼び出しを行うときは、対象アクショ

                                                    AWS CloudTrail から垣間見る AWS Step Functions の挙動 - コドモン Product Team Blog
                                                  • 【Node.js】Cloud Functions for FirebaseでPuppeteerを使用する上での留意点 - 株式会社ティーエッチエス

                                                    この記事を書いた人 石田正泰 中学生の時に趣味でZ80マシン語やFortran等を始めてから、現在まで数多くのプログラミング言語を経験。ShopifyによるECサイト構築では主にカスタマイズを担当。 はじめに Google Cloudのサービスの一つであるGoogle Cloud Platform(GCP)のCloud Functions、特にFirebaseのCloud FunctionsはFirebase CLIで簡単にエミュレートしたりデプロイしたりが出来るので、API等をサクッと作る上でとても便利です。 最近、APIの無いサイトから定期的にダウンロードした最新データを利用する必要ができ、そのスクレイピングにPuppeteer(パペティア)を使用しました。Cloud FunctionsやAWS Lambda等FaaSでのPuppeteerの使用方法については他サイトに詳しく載っている

                                                      【Node.js】Cloud Functions for FirebaseでPuppeteerを使用する上での留意点 - 株式会社ティーエッチエス
                                                    • 【Typescript】覚えておきたい、fetchパターン - Qiita

                                                      はじめに フロントエンド開発するにおいて、APIを叩くなどfetchを行うことは多々あると思います。 今回は実案件で使ってfetchのパターンをいくつか紹介したいと思います。 実案件ではtypescriptを使っているので、今回はtypescriptベースで型にも気をつけて行きたいと思います。 実用例 普通にfetch APIの内容は適当なんでこんなのがあるかわからないですが、Userデータをfetchで取得する場合。 interfaceを使って最初にどんなデータが来るのかの型を定義しておきます。これはtypescript特有の操作ですね。 // 型定義 interface User { id: number; name: string; email: string; } // fetch関数 const fetchData = async (url: string, headers: H

                                                        【Typescript】覚えておきたい、fetchパターン - Qiita
                                                      • 【Flutter】アプリ起動時に生体認証をする

                                                        - import io.flutter.embedding.android.FlutterActivity + import io.flutter.embedding.android.FlutterFragmentActivity - class MainActivity: FlutterActivity() {} + class MainActivity: FlutterFragmentActivity() {} import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:local_auth/local_auth.dart'; import 'package:permission_handler/permission_handler.dart'; clas

                                                          【Flutter】アプリ起動時に生体認証をする
                                                        • クロスオリジンリソース共有(CORS)とは?+AWS ソリューションアーキテクトに求められる観点 - Qiita

                                                          sponsored by Qmonus Value Stream アプリケーション開発に注力するための工夫をシェアしよう! はじめに AWSの資格を全て取得しました。勉強している時に、良く出てくるけど、詳しくはよくわかっていなかった クロスオリジンリソース共有(CORS) について、調べてみました。まず、AWSの公式サイトに記載されている内容をおさらいし、アーキテクトに求められる観点を提示し、仕組みについて理解を深めていきたいと思います。 クロスオリジンリソース共有が重要なのはなぜですか? インターネット技術がまだ新しかった時代では、クロスサイトリクエストフォージェリ (CSRF) の問題がありました。これらの問題では、被害者のブラウザから別のアプリケーションに偽のクライアントリクエストが送信されていました。 たとえば、被害者が銀行のアプリケーションにログインしたとします。その後、だまされ

                                                            クロスオリジンリソース共有(CORS)とは?+AWS ソリューションアーキテクトに求められる観点 - Qiita
                                                          • バーコード画像を解読するWebアプリケーション - Qiita

                                                            目的 Webページ上に<img>で表示した画像に含まれたバーコードを解読し、その値を文字列として表示します。こんな感じです。 処理には、画像処理ライブラリの定番OpenCVを使います。JavaScript版なので、OpenCV.jsと呼ばれます。 + JavaScriptなので、<script src="opencv.js">で読み込むだけでWebページ上で動作させられます。HTML5やCSSでは達成できない、顔認識や機械学習など高度な画像処理を扱うWebアプリケーションの構築に利用できます。 OpenCV.jsを始めるなら、まずはOpenCV公式ドキュメントのOpenCV.js Tutorialsがおすすめです。英語はちょっと... という向きには、『OpenCV.jsで作る画像・ビデオ処理Webアプリケーション』という書籍もあります(2024年6月刊)。 注意 本記事のコードをローカル

                                                              バーコード画像を解読するWebアプリケーション - Qiita
                                                            • SwiftDataでCRUD

                                                              SwiftDataでCRUDのコード例です。 コード例を検索しても、SwiftUI(View)の中でmodelContextを宣言したりするのではなく、ViewModelやServiceから使いたいときの例があまりなかったので残しておきます。 あまり詳しく調べてはいないので、まずい書き方もあるかもしれません。 開発でデバッグしている限りでは動いてると思います。 参考文献 コード例 import SwiftUI import SwiftData @main struct SwiftDataCrudApp: App { var body: some Scene { WindowGroup { ContentView() } .modelContainer(Persistance.sharedModelContainer) } } import Foundation import SwiftDa

                                                                SwiftDataでCRUD
                                                              • React 19 で head 要素を変更しやすくなるけど注意が必要そうな箇所 - Qiita

                                                                この記事の概要 React 19 にて、retunの中でheadにまつわるタグを指定すればちゃんと適用されます。 例えばtitle要素。 ページごとにtitleを変えたいとき、これまでは react-helmet-async などを使っていたと思いますが、不要になりそうですね。 ドキュメントに書いてあること以外でも注意した方が良さそうな箇所を見つけたので記事にしました。 html ファイル内に title がある場合の挙動 以下のような HTML があったとします。 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <link rel="icon" type="image/svg+xml" href="/vite.svg" /> <meta name="viewport" content="width=devi

                                                                  React 19 で head 要素を変更しやすくなるけど注意が必要そうな箇所 - Qiita
                                                                • JavaScript: 圧縮とかPPM star(2) - Qiita

                                                                  前回に引き続きPPM starの記事となります。前回は最短の決定性文脈(SDC)を選択して符号化を開始していました。しかしこの方法は巨大連長や巨大反復の処理に莫大な時間を要するという問題があります。 そこでLocal Order Estimation(LOE)も導入します。何じゃそら? 大雑把に言うと、幾つかの値を評価して、低次数を目指すかどうか決めます。 実装編 文脈情報に記号頻度合計値sumを追加。連結listの先頭は常に最高頻度の記号を配置。これはほぼ原作に近い変更。そして幾つかproperty改名。 function Suffix(){this.root=this.point={size:0,sum:0,cs:-1}} // 木更新 function update(sa,s){ var e,f=sa.fit,p=sa.max,q=sa.med,l=sa.min,m,n,r,t,u,

                                                                    JavaScript: 圧縮とかPPM star(2) - Qiita
                                                                  • スタートアップなのにフロントエンドのテストカバレッジが90%を超えている話 | Resilire Tech Blog

                                                                    はじめに サプライチェーンリスク管理クラウドサービスResilireでエンジニアをしている奥村@showkittie です。 Resilireでは、1歳の子の育児に悪戦苦闘しながら、フロントエンド、サーバサイドを問わずプロダクトエンジニアをやっています。 ResilireはシリーズAを迎えたばかりのアーリースタートアップでありながら、フロントエンドのテストカバレッジが90%を超えており、必要なケースについてはほぼテストが網羅されています。 私は今年の4月に入社したばかりですが、すでにテストカバレッジの高さに助けられ、不具合の混入をせずに済んだことが何度もあります。 今日は、Resilireのフロントエンドのテスト戦略とカバレッジの高さの理由についてお伝えしたいと思います。 スタートアップとテスト 冒頭にもお伝えした通りResilireはアーリースタートアップです。エンジニアリングに求められ

                                                                      スタートアップなのにフロントエンドのテストカバレッジが90%を超えている話 | Resilire Tech Blog
                                                                    • 【Next.js】router.refresh() が何をしているのか理解する

                                                                      公式によると... router.refresh(): 現在のルートを更新します。サーバーに新しいリクエストを行い、データリクエストを再取得し、Server Component を再レンダリングします。クライアントは、更新された React Server Component のペイロードを、影響を受けないクライアント側の React(useState など)やブラウザの状態(スクロール位置など)を保持したままマージします。 上記内容を箇条書きでまとめると以下の通りになります。 現在のルートを更新する サーバーに新しいリクエストを行う Server Component を再レンダリングする クライアントは、サーバーから受け取った新たな RSC ペイロードを、クライアント側の React(useState など)やブラウザの状態(スクロール位置など)を保持したままマージする どういうこと? 箇

                                                                        【Next.js】router.refresh() が何をしているのか理解する
                                                                      • JavaScript: ブンポー圧縮2 - Qiita

                                                                        function growRule(c,rule,word){ for(word.len+=rule.len-1;word;word=word.n) if(word.c===c){ let n=word.n; word.c=rule.c; for(word.n=rule.n;word=rule.n;)rule=word; rule.n=n;break } delete Word[c] } {const arraycopy=(A,a,B,b,n)=>{ if(n)if(A!==B||a+n<=b)for(;n--;)B[b++]=A[a++]; else for(A=A.slice(a,a+n),a=0;n--;)B[b++]=A[a++] }, read32=(A,a)=>A[a]<<24|A[a+1]<<16|A[a+2]<<8|A[a+3], read53=(A,a)=>A[a++]*

                                                                          JavaScript: ブンポー圧縮2 - Qiita
                                                                        • 【Dart】Dart Macrosを使ってみる

                                                                          初めに 今回は Dart の Macros を使ってみたいと思います。 なお、2024年4月5日現在 Dart の Macros は Dart では実行できるものの、 Flutter では使用することができないためご注意ください。 Macros についての詳しい説明の前にXの投稿を2つ引用させて頂きます。 まずは以下の投稿をご覧ください。 この投稿では、Macros を使うとデータクラスを定義するコードを大幅に短縮できるとされています。 また、以下の投稿もご覧ください。 この投稿では、コード生成や freezed、json_serializable を使用せずにデータクラス定義が可能であるとされています。つまり、コード生成を行う build_runner の flutter pub run build_runner build --delete-conflicting-outputs コマ

                                                                            【Dart】Dart Macrosを使ってみる
                                                                          • webpackでTop-Level Awaitを使用して、一番上位でもawaitを使えるようにする方法

                                                                            webpackでTop-Level Awaitを使用して、一番上位でもawaitを使えるようにする方法 いままで非同期処理をするときにawaitを使用したい場合、async内でしか使えませんでした。 そのため、awaitを速実行したい場合はasyncの無名関数を作ってその中で実行していました。 (async() => { // ここでawaitを使用する })(); // 関数外だと、awaitは使えないしかし、Top-Level Awaitはその名前の通り、一番上位に限りawaitが使えるようになります(関数内の場合はasyncを付けていないと実行できません)。 webpackを使った環境で、このTop-Level Awaitを有効化する必要が出てきたので、方法を備忘録として残しておきます。 webpack.config.jsへの記述「webpack.config.js」ファイル内にTo

                                                                              webpackでTop-Level Awaitを使用して、一番上位でもawaitを使えるようにする方法
                                                                            • 【Flutter】SharedPreferencesの効果的な利用法:保存・取得とストリームの活用 - Qiita

                                                                              はじめに アプリの設定やデータをデバイスに保存するための方法として、SharedPreferencesというパッケージがよく利用されます。 SharedPreferencesは、アプリの起動状態やユーザーの設定情報など、簡単なデータを保存するのに非常に便利です。例えば、以下のような情報を保存するのによく使われます。 アプリの初回起動かどうかを示すbool値 ユーザーの最高得点を記録するint値 ユーザーのアカウント名を保存するString値 今回は、SharedPreferencesを効果的に使うための便利な方法を紹介していきます。 記事の対象者 • SharedPreferencesをより効果的に活用したい方 • Flutterアプリ開発におけるデータ保存の方法を学びたい方 記事を執筆時点での筆者の環境 [✓] Flutter (Channel stable, 3.22.1, on ma

                                                                                【Flutter】SharedPreferencesの効果的な利用法:保存・取得とストリームの活用 - Qiita
                                                                              • 【必見】Claude 3.5 SonnetのArtifacts内でローカルLLM(Gemini nano)を無料実行!コードも完全公開|アヴィ

                                                                                【必見】Claude 3.5 SonnetのArtifacts内でローカルLLM(Gemini nano)を無料実行!コードも完全公開 ClaudeのArtifacts内でGemini Nanoを使ってリアルタイム翻訳アプリを実行方法を解説します。コード付きです。 必要なものパソコン Claudeの会員登録(無料版でOK) Chrome Canaryのインストール(最新の機能が使える) 革命児、登場 - Claude 3.5 SonnetとArtifacts機能の衝撃安い・早い・強いの三拍子皆さん、AIの世界で今、とんでもないことが起きているんです。その名も「Claude 3.5 Sonnet」。このAIモデル、ただ者じゃありません。特に注目なのが「Artifacts」という機能なんですが、これがまた曲者。 想像してみてください。あなたがアイデアを口にすると、目の前でコードが踊り出す。ウェ

                                                                                  【必見】Claude 3.5 SonnetのArtifacts内でローカルLLM(Gemini nano)を無料実行!コードも完全公開|アヴィ
                                                                                • Next.js 15で103 EarlyHintsを使う

                                                                                  Early Hintsについて EarlyHintsを利用するとブラウザがHTMLを受け取る前に、必要なリソースのダウンロードを行うことができます。 例えばdevtoolでHTML読み込みを観察したときに「サーバーの応答を待機しています」が長い場合、ブラウザはただ待機するしかなくなります。 ですが、EarlyHintsでの読み込みを行うと、サーバーの応答を待機しながらも、必要なリソース読み込みを同時に行えます。以下フロー図の比較です。 実装方法について 概要 cloudflareのEarlyHintsサポートを利用します。 これは、Linkヘッダーを付与することで、指定したリソースのEarlyHintsを可能にします。 ref: 実際の実装 page.tsx 検証のために、下記の読み込みを比較します。 <script async={true} src="https://imamiya-ma

                                                                                    Next.js 15で103 EarlyHintsを使う