並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 62件

新着順 人気順

asyncの検索結果1 - 40 件 / 62件

  • 真にチラつかないダークモードをついに実現したぞ。実現方法と気付きを書く | stin's Blog

    真にチラつかないダークモードをついに実現したぞ。実現方法と気付きを書く2024/07/14 14:36 nextjsreact このサイトはダークモードに対応しています。なぜならダークモードは基本的人権だからです(要出典)。 しばらく、サイトに訪問した直後ライトモードとダークモードが切り替わってチラつく現象が発生していました。これを改善したので、実装方法と気付いたことを残しておきます。 ダークモードの実装方法一般に、ダークモードの実装方法は3タイプあります。 OSによるモード設定を反映する メディアクエリー@media (prefers-color-scheme: dark)を使うと、OS側でダークモードを指定している時だけ有効になるスタイルを書くことが出来ます。 JavaScriptでも判定が必要な場合はmatchMedia("(prefers-color-scheme: dark)")

      真にチラつかないダークモードをついに実現したぞ。実現方法と気付きを書く | stin's Blog
    • Astro+WP APIでPageSpeedInsightsで簡単に100点取る

      前書き WordPressで稼働しているリニューアル案件で、Astroを使って実装を行った。 ライブラリにサイトが完全に依存するデメリットもあるものの、 Astroを使用した理由としては、コンポーネント指向による保守性拡張性の観点からと、サイトの最適化の観点から採用した。 結果普通のレンタルサーバーでPageSpeedInsightsでほぼ100点満点。 SPの点数 PCの点数 使用感と感想 正直これまでのタスクランナーやモジュールバンドラーなどを使ったHTML開発は若干レガシー化している感があった。 そんな中、まさに現時点でのWeb開発ベストプラクティスを詰め込み、ほぼ何も考えずに最適化されたサイトを実装できる非常にすぐれたライブラリだと感じる。 また、これまでPageSpeedInsigthsの点数を上げようと思ったら、構築後、PageSpeedInsightsの助言に一つ一つ従いなが

        Astro+WP APIでPageSpeedInsightsで簡単に100点取る
      • Pythonのデコレータってどう実装するん?ってことでフレームワーク的な実装を試してみた - Qiita

        はじめに 最近はあまり触れていないが、PythonでDiscordのBOTを作成しようとすると、discord.pyやPycordのようなライブラリを使うのが一般的と思う。 その中でよく使われる構文の中に@bot.commandのような構文を目にすることだろう。 これはデコレータと呼ばれる構文なのだが、私は中身の構造は関数型引数を実装した関数のような感じなんだろうなと予想はしながらも、なんとなしで利用していた。 そんなわけで、調べていきながら便利な使い方なんかを探してみる。 import discord from discord.ext import commands intents = discord.Intents.default() intents.members = True intents.message_content = True bot = commands.Bot( co

          Pythonのデコレータってどう実装するん?ってことでフレームワーク的な実装を試してみた - Qiita
        • ローカルLLMでGraphRAGを実装して「クリスマスキャロル」を分析してみた - Sun wood AI labs.2

          「クリスマスキャロル」の真のテーマは何だったのか?ローカル環境で構築した最強の質問応答AIで、その謎に迫ります! 最近、ChatGPTをはじめとする大規模言語モデル(LLM)が注目を集めていますが、LLMは大量のテキストデータから学習するため、特定の分野の質問に対しては、的確な回答を返すことが難しい場合があります。 そこで今回は、GraphRAGと呼ばれる技術を使って、LLMが「クリスマスキャロル」の内容をより深く理解し、高度な質問に答えられるようにする方法を紹介します。そして、実際にGraphRAGを使って「クリスマスキャロル」を分析し、その結果を考察します。 実験の時間短縮のため「クリスマスキャロル」のデータセットを大幅に減らして実験を行っています。 GraphRAGとは? GraphRAGは、Microsoft Researchが開発した、LLMの知識ベースを強化するためのオープンソ

            ローカルLLMでGraphRAGを実装して「クリスマスキャロル」を分析してみた - Sun wood AI labs.2
          • URLコピーボタンと吹き出しをNext.jsで実装する - Qiita

            はじめに こんにちは。HRBrainでオウンドメディア・ランディングページの開発を担当している渡邉です。 この記事では、Next.jsプロジェクトにURLコピーボタンを実装し、さらにユーザー体験を向上させるために吹き出し(ツールチップ)を追加する方法を紹介します。 吹き出し(ツールチップ)について ボタンをクリックした際に表示される吹き出しを「ツールチップ」と呼んでいます。 一般的には、ボタンなどの要素にホバーやクリックした時に出現する脚注や説明を指すそうです。 import React, { useState } from 'react'; import { useRouter } from 'next/router'; const CopyUrlButton = () => { // ツールチップの表示・非表示を制御するstate const [displayTooltip, setD

              URLコピーボタンと吹き出しをNext.jsで実装する - Qiita
            • Introducing Quartz: A Deterministic Time Testing Library for Go

              Today we are introducing Quartz, a mocking library in Go for testing code that depends on time. By mocking out calls that query or depend on the real time, we can write unit tests that are repeatable, deterministic, and execute as quickly as the CPU allows. This is, in itself, not a new idea. In building Quartz, we took some inspiration from: github.com/benbjohnson/clock Tailscale's tstest.Clock g

                Introducing Quartz: A Deterministic Time Testing Library for Go
              • Moving from express to fastify, pt 1

                Express became the default for new JavaScript projects and has stayed there. In a typical week, express is downloaded from NPM 30 million times. It’s a roaring success in every way. A need for types Express is an expressive framework: like a classic Ruby or JavaScript framework, it lets you color outside the lines using loosely defined objects and types. Query string parameters in express become f

                  Moving from express to fastify, pt 1
                • Valibot: 超軽量&型安全なスキーマバリデーションライブラリ | 豆蔵デベロッパーサイト

                  JavaScript、とりわけTypeScriptプロジェクトでデータのバリデーションを行う際、ZodやYup等のライブラリがよく使われています。 今回は、最近これらの代替として注目を集めているValibotというライブラリを紹介します。 Valibotとは? # Valibotは構造化データを検証するためのスキーマライブラリです。 公式ドキュメントではその特徴を以下のように説明しています。 Fully type safe with static type inference Small bundle size starting at less than 600 bytes Validate everything from strings to complex objects Open source and fully tested with 100 % coverage Many tra

                    Valibot: 超軽量&型安全なスキーマバリデーションライブラリ | 豆蔵デベロッパーサイト
                  • Reading and writing Node.js streams

                    Working with large datasets in Node.js applications can be a double-edged sword. The ability to handle massive amounts of data is extremely handy, but can also lead to performance bottlenecks and memory exhaustion. Traditionally, developers tackled this challenge by reading the entire dataset into memory at once. This approach, while intuitive for smaller datasets, becomes inefficient and resource

                      Reading and writing Node.js streams
                    • Claude 3.5 Sonnet の Artifacts 機能とは?使い方を分かりやすく解説! - Qiita

                      はじめに Claude 3.5 Sonnet が先月公開されました。 Claude 3.5 Sonnetは、Anthropic社が開発した最新の大規模言語モデルです。前バージョンと比較して、大幅な性能向上が見られます。 注目なのはArtifactsという機能です。LLMが生成したコードを右側の実行環境でプレビューしつつ、対話形式で修正を依頼することができます。従来のチャットベースのやり取りに加え、より視覚的で直感的な開発体験を提供します。 今回はこのArtifacts機能を使った例をご紹介します。 アプリのフロントを作成し、プレビューしながら修正する Reactで作成されたコードをpreviewしつつ修正できます。 上記のように指示を出すと、Claude 3.5 Sonnetはリアルタイムにコードを生成し、右側のプレビューエリアに反映してくれます。 一発では狙い通り完成しませんが、プレビュ

                        Claude 3.5 Sonnet の Artifacts 機能とは?使い方を分かりやすく解説! - Qiita
                      • Next.js + TypeScript + Vercelで作るサーバーレスWebアプリ開発

                        はじめに ルーカス数の計算を行う簡単なサーバーレスWebアプリを作りましたので紹介します。 フロント側でUIより数値入力します。バック側でルーカス数の計算を行い、計算結果と計算時間をフロントに返すというAjax通信を使った簡単なアプリを NEXT.js(言語TypeScript)で作成します。完成したらVercelにDeployします。 技術スタック Next.js インストール方法 インストール時に言語TypeScriptを指定しておき、フロント側でtsxファイルとして、バック側でtsファイルとしてTypeScriptを使用します。 tsxファイルは、TypeScriptとReactを組み合わせて使用するためのファイル形式です。 AJAX Async/Awaitを使ったAjax通信をセットします。async/awaitは、JavaScriptで非同期処理をより簡潔かつに書くための構文です

                          Next.js + TypeScript + Vercelで作るサーバーレスWebアプリ開発
                        • The Overengineered Resume with Zola, JSON Resume, Weasyprint, and Nix / David Reed

                          Maintaining a resume is not the most interesting use of time. Naturally, when I needed to bring my own up to date, I decided to spend a great deal more time on it and overengineer the process. I wanted a bunch of things that didn't necessarily fit together that well: A split between content and presentation, so that I could maintain my resume data separately from how it's rendered and swap out dif

                          • 2024-07-12: .NET and .NET Framework July 2024 updates, .NET 9 Preview 6, Dark Mode on NuGet.org - WeekRef.NET

                            2024-07-12: .NET and .NET Framework July 2024 updates, .NET 9 Preview 6, Dark Mode on NuGet.org トピックス .NET and .NET Framework July 2024 servicing releases updates - .NET Blog https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-july-2024-servicing-updates/ .NET 6 と .NET 8、.NET Framework の2024年7月のアップデートがリリースされた。 このリリースではいくつかのセキュリティー問題の修正が含まれている。 CVE-2024-30105: System.Text.Json の JsonS

                            • 19 Microservices Patterns for System Design Interviews

                              Disclosure: This post includes affiliate links; I may receive compensation if you purchase products or services from the different links provided in this article. image_credit - ByteByteGo Hello friends, if you are preparing for system design interviews then it make sense to to prepare for Microservices design patterns as well, not just to do well on interviews or make your architecture more robus

                                19 Microservices Patterns for System Design Interviews
                              • microCMS + AstroのJamstack構成でキャッシュを活用し、ビルド時間を90%以上短縮した方法

                                microCMS + AstroのJamstack構成でキャッシュを活用し、ビルド時間を90%以上短縮した方法 はじめまして、株式会社メンバーズ メンバーズルーツカンパニーの岸本です。 普段はフロントエンドエンジニアとして、主にmicroCMSとAstroを使用したJamstack構成の開発を行っています。 メンバーズルーツカンパニーでは、今までにmicroCMSとAstroを利用したJamstack環境での開発を複数行ってきました。 今回はその中で直面した、ビルド時間に関する課題とその解決方法として、キャッシュ処理を用いたビルド時間の短縮方法をご紹介いたします。 背景と課題記事詳細ページのビルドに時間がかかることに気づくJamstack構成のウェブサイトを構築するにあたってネックになるのがビルド時間です。事前に全ページをビルドする必要があるため、ビルドには相応の時間がかかります。 弊社の

                                  microCMS + AstroのJamstack構成でキャッシュを活用し、ビルド時間を90%以上短縮した方法
                                • 【JavaScript】sleep/wait する方法 – webfrontend.ninja

                                  記事タイトルの通り、JavaScript という非同期な世界で sleep する方法を考えてみます。もちろん、寝たいわけではなくて、待たせたいわけですよ。なので、wait させたい、とも言えますね。 旧来より JavaScript の世界で指定秒数だけ待たせたい場合は setTimeout() を使ってきました。しかし非同期の処理をシーケンシャルに実行しなければならないシーンが増えた近年では、setTimeout() のコールバック関数方式ではコードの見通しが悪く、できる限り使いたくないというのが本音です。なのでここでは Promise や async/await を使う前提で考えてみましょう。

                                    【JavaScript】sleep/wait する方法 – webfrontend.ninja
                                  • JavaScriptのforeachでawaitが使えない理由と解決方法 | Web(ウェブ)の便利屋ララパルーザ

                                    現代のWeb開発の舞台裏では、JavaScriptが中心的な役割を果たしています。特に非同期処理は、効率的なWebアプリケーションやサーバーサイドのスクリプトを作成するための不可欠な要素となっています。しかし、非同期処理はその特性上、初学者や経験者でさえも誤解や混乱を招くことが少なくありません。 この記事では、JavaScriptの非同期処理の中でも特に「forEach」ループを中心に、非同期処理の基本的なメカニズムや実装方法を明らかにします。`forEach`と非同期処理の組み合わせは、一見シンプルに思えますが、予期しない振る舞いやバグの原因となる場面も少なくありません。 はじめに JavaScriptにおける非同期処理は、現代のフロントエンドおよびバックエンド開発において中心的な役割を果たしています。その中心にあるのは、`async/await`と`forEach`ループの組み合わせで

                                    • WordPress 6.6 “ドーシー”

                                      以下は WordPress.org 公式ブログの記事「WordPress 6.6 “Dorsey”」の翻訳です。 誤字脱字誤訳などありましたらフォーラムまでお知らせください。 WordPress 6.6 「ドーシー」をご紹介します。「ドーシー」は、アメリカの伝説的なビッグバンドのリーダー、トミー・ドーシー (Tommy Dorsey) にちなんで名付けられました。滑らかな音色のトロンボーンと作曲で有名なドーシーの音楽は、エモーショナルな深みと瑞々しい活気に満ちたエネルギーで聴衆を魅了しました。 ドーシーのビッグバンドサウンドの深いブラスノートに心をスイングし、歌い、揺れながら、WordPress 6.6の新機能と拡張された機能を探索していきましょう。 こんにちは、6.6 ! WordPress 6.6は、より良いウェブの約束を果たすため、サイト構築体験にスタイルや繊細さ、創造的な可能性のス

                                        WordPress 6.6 “ドーシー”
                                      • Stripeで定期課金(サブスクリプション)の料金表を、GUIで簡単に作成してサイトに埋め込む方法 - Qiita

                                        新しくサービスを立ち上げた際、開発・運用コストがかさみやすいポイントの1つが「料金表」です。 「Stripeなどの決済サービスに登録した料金情報を利用して実装する」か、「個別にCMSへデータを打ち込んで作成する」かetc... データを利用する場合は、APIレスポンスとデザインのつなぎこみやシステムの保守にコストが発生します。 そして個別にデータを入力した場合、価格改訂やプラン追加の設定・反映漏れによるトラブルが起きるリスクが生じます。 Stripeでは、シンプルな料金表を、専用のコードスニペットを埋め込むだけで実装・管理できる機能を提供しています。 Stripeの料金表機能 Stripeの提供するリダイレクト型決済機能のCheckoutと連携した、料金表をGUIで作ることができます。 見た目のカスタマイズや掲載する料金の追加・変更・削除がダッシュボードから行えますので、サイトやwebアプ

                                          Stripeで定期課金(サブスクリプション)の料金表を、GUIで簡単に作成してサイトに埋め込む方法 - Qiita
                                        • Astro v4のi18nで言語別のRSSフィードを配信する - OITA: Oika's Information Technological Activities

                                          唐突なAstro話。 Astroのv4からi18n(国際化)機能が標準利用できるようになりました。 docs.astro.build ただ、この場合に @astrojs/rss で言語別にフィードを配信しようと思ったらどうやるのかわからず苦戦したのでメモ。 簡単に、Astroの多言語化について 詳細は先のリンク先に書いているとおりだが、Astroで言語別にURLを分ける場合のやり方を簡単に。 Astroのconfig設定 astro.config.mjs の defineConfig() に下記を追加 i18n: { defaultLocale: 'ja', locales: ['ja', 'en', 'zh'], routing: { prefixDefaultLocale: true } } ここではデフォルト言語も他の言語と同じパス構成にするために、 prefixDefaultLoc

                                            Astro v4のi18nで言語別のRSSフィードを配信する - OITA: Oika's Information Technological Activities
                                          • クラウドの錬金術:Docker&Kubernetesが拓く次世代アプリの世界

                                            クラウドネイティブアプリケーションが、ビジネスの常識を覆しています。DockerとKubernetesという現代の錬金術で、開発者たちは驚くべき成果を生み出しています。この記事では、これらの技術がいかに企業を変革し、成功に導いているかを探ります。最新のAWS活用法から、業界のパイオニアたちの秘策まで、クラウドネイティブの世界をご案内します。 この記事のPOINT DockerとKubernetesの基本概念と活用方法 AWSを用いたクラウドネイティブアプリケーションの構築手順 マイクロサービスアーキテクチャとサーバーレスコンピューティングの利点 実際の企業におけるクラウドネイティブ技術の成功事例と導入戦略 クラウドネイティブの革命:Docker・Kubernetesで実現する次世代アプリケーション クラウドネイティブアプリケーション開発は、DockerとKubernetesを活用し、効率的

                                              クラウドの錬金術:Docker&Kubernetesが拓く次世代アプリの世界
                                            • ヘッドレスCMSの理解とNILTO×Reactで動かすところまで

                                              こんな人にみてほしい 👀 ヘッドレス CMS ってなんか聞いたことあるけどよくわからない、触ったことない NILTO って聞いたことあるけど触ったことない ヘッドレス CMS(今回は NILTO)と React で実際に手を動かして学んでみたい はじめに 今回の記事は、NILTO 公式サイトの内容が 8 割くらい入っています。 最初は丁寧にまとめられている公式サイトの内容を存分に使い、最後だけ軽く React 実装をします。 そのため、ある程度ドキュメントを読んだ経験がある人は最初から公式サイトを見るほうが理解が早いかもしれませんということを事前に伝えさせていただきます。 NILTO 公式サイト: https://www.nilto.com/ja ヘッドレス CMS とは ヘッドレス CMS は、コンテンツ管理システム(CMS)の一種で、フロントエンドのプレゼンテーション層(「ヘッド」)

                                                ヘッドレスCMSの理解とNILTO×Reactで動かすところまで
                                              • #03 PyCon US 2024 Day 3とスプリント ―CPythonのさまざまな進化、JIT、バイトコード最適化、フリースレッディング | gihyo.jp

                                                PyCon US 2024参加レポート #03PyCon US 2024 Day 3とスプリント ―CPythonのさまざまな進化⁠⁠、JIT⁠⁠、バイトコード最適化⁠⁠、フリースレッディング PyCon US 2024レポートの3回目は、カンファレンス3日目とスプリントの様子をお伝えします。カンファレンス3日目はCPythonのコア実装についてのトークを中心に聴きました。またクロージングでは驚きの表彰がありました。スプリントでは1日開発を行って、筆者のPyCon USが終了しました。 カンファレンス3日目 Day 3ライトニングトーク 動画:Lightning Talks - May 19, 8pm - YouTube カンファレンス3日目のライトニングトークは朝にのみ行われます。ここで、毎年恒例のPyCon、Pythonイベント紹介のライトニングトークがあります。これは世界各国のPyC

                                                  #03 PyCon US 2024 Day 3とスプリント ―CPythonのさまざまな進化、JIT、バイトコード最適化、フリースレッディング | gihyo.jp
                                                • WordPress 6.6 Majer Release

                                                  より良いウェブの約束を果たすため、サイト構築体験にスタイルや繊細さ、創造的な可能性のスイートをお届け。 このバージョンでは、より多くのことをより簡単に行えるよう、強化したツールが手元に配置され、裏側ではこれまでにないパワーが提供されます。サイト全体で美しく、一貫性のあるデザイン要素を作成するための多くの方法、サイトエディターでのクイックページプレビューのための新しいレイアウト、プラグインの自動更新に失敗した場合の自動ロールバックの安全性、その他多くのハイライトがあります。 ハイライト ブロックテーマにさらなるデザインオプション Color palettes & font sets カラーやフォントのセットを作成して、1つのテーマでデザインの組み合わせを増やすことができます。デザインの可能性を広げ、サイトの幅広いスタイルガイドラインの中で視覚的な多様性を可能にします。 サイトエディタで新ペー

                                                    WordPress 6.6 Majer Release
                                                  • JavaScript: 圧縮とかLPAQ5 - Qiita

                                                    圧縮業界で高い圧縮率を誇るPAQ系列の軽量版LPAQ5の紹介。文脈混合法により圧縮しまくっていきます。 やぶからぼうに実装 本家の方はmacro乱舞でやばいです。性能的にはLPAQ1より少し良いかもしれません。 {const TOLIMIT1=159,TOLIMIT2=175,SQUARD=2,calcprevfail=new Uint16Array(256),SQ=new Uint16Array(4096), sqInit=d=>{ if(d>2046)return 4095; if(d<-2046)return 0; return 0|4096/(1+Math.exp(-d/256)) }, //Stretch S1=new Int16Array(4096),S2=new Int32Array(4096),D=new Int16Array(1024).map((a,b)=>16384/

                                                      JavaScript: 圧縮とかLPAQ5 - Qiita
                                                    • Passing argument of non-sendable type '(any URLSessionTaskDelegate)?'

                                                      Swift6 対応をしてると URLSession を使うたびに警告がでるんですけども。 🤔 Passing argument of non-sendable type '(any URLSessionTaskDelegate)?' outside of main actor-isolated context may introduce data races とりあえず Swift6 対応として警告を消す記述を探す。 手っ取り早いのは以下だけども、対応記述はいろいろありそう。 extension URLSession { func dataEx(url: URL) async -> (Data, URLResponse) { try! await data(from: url) } }

                                                        Passing argument of non-sendable type '(any URLSessionTaskDelegate)?'
                                                      • JavaScript: 圧縮とかPPM star - Qiita

                                                        今回の圧縮法解説もどきは、PPM starを紹介します(以後PPM*と表記)。基本的なPPMは探す記号列の長さ(文脈の次数)の最大値を設定して処理しますが、PPM*ではほぼ無制限です。 つまりその時点で存在する最長の文脈から探索処理を開始するのです。そのため、より高い精度で記号の予測が行えると考えられます。 しかし次数がどこまでも伸びる分、空間消費量が激しくなりそうな、ヤバげな気配を感じます。速度的にも不安にならざるを得ません。 実装編 そんなPPM*をどのように実装するかと言うと、context trieや接尾辞木のようものを使います。 文脈の次数はShortest Deterministic Context(SDC)により選択します。 通常は、最長一致文脈から符号化を行いますが、最長一致文脈が決定性文脈(予測される記号が1種類だけ)であり、かつ低次の文脈においても決定性文脈が存在する場

                                                          JavaScript: 圧縮とかPPM star - Qiita
                                                        • Bot FrameworkのPython SDKを使ってAzure OpenAI Serviceを利用したBotアプリを作ってみました。 - CCCMKホールディングス TECH LABの Tech Blog

                                                          こんにちは、CCCMKホールディングス TECH LABの三浦です。 この前いつも乗り換えをするだけの駅で降りて駅の周りを歩いてみました。のんびり出来そうな公園や、色々なものが売っている商店街などがあって、こんないいところがあったんだと、なんだか得をした気持ちになりました。ゴールデンウィークも始まったので、他にもいつも通り過ぎるだけの駅で降りて、探索してみたいなと思います。 さて、今回MicrosoftのBot開発用のSDK"Bot Framework"のPythonのSDKを使ってAzure OpenAI ServiceのChatGPTと会話が出来るBotアプリケーションの作り方について調べて実際に動かしてみました。Bot Frameworkで作成したアプリケーションはAzure AI Bot Serviceで動かすことでMicrosoft Teamsからアクセス出来るようになるので活用

                                                            Bot FrameworkのPython SDKを使ってAzure OpenAI Serviceを利用したBotアプリを作ってみました。 - CCCMKホールディングス TECH LABの Tech Blog
                                                          • 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のバーチャル・スレッドと並行処理
                                                            • JavaScript: 圧縮とか文脈混合法とか二次記号推定 - Qiita

                                                              圧縮の時間です。byte単位の文脈混合法に二次記号推定(Secondary Symbol Estimation)を組み合わせていきます。 原理 PPMに似ています。文脈木を構築し、設定した次数までの文脈に現れる各記号の頻度を足し合わせます(条件によってその倍率を変えます)。 そして最高頻度の記号が符号化したい記号と一致するかどうか、1 bit算術符号化。不一致なら記号頻度と合計頻度を調整して、追加の算術符号化。いわゆるSSE。 計算量が莫大なので非常に低速。はっきり言って使い物にならない程度に便利な役立たずです。 実装編 // for context tree function Leaf(s,a){this.s=s,this.n=a<<1|1} Leaf.prototype={c:1,e:0,o:0}; //model table const CNUM=256,SCALE=1<<22,MX

                                                                JavaScript: 圧縮とか文脈混合法とか二次記号推定 - Qiita
                                                              • 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の違いを調べてみた
                                                                • 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
                                                                  • 「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!ニュース
                                                                    • [Output]useDeferredValueを使ってみた。

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

                                                                        [Output]useDeferredValueを使ってみた。
                                                                      • チュートリアル: .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
                                                                        • 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
                                                                            • Nuxt3で@sentry/vueを使うとエラー発生時に500エラーが表示される時がある - Yappli Tech Blog

                                                                              フロントエンドエンジニアのこん(@k0n_karin)です!今回はNuxt3でSentryを扱ったときに遭遇した事象について投稿します。 ※NuxtとSentryそのものの説明は割愛します。 ※本記事執筆時点のバージョンは以下のとおりです。 nuxt: 3.12.2 @sentry/vue: 8.13.0 解決策 先に解決策です。事象の解説も見たい方は次の章以降を参考にしてください。 Nuxt3で@sentry/vueを使う際、エラー発生時に500エラーの画面を表示したくない場合は、Sentry.init()の前にapp.config.errorHandlerに任意の関数を代入しましょう。 (エラーハンドリングが不要ならundefinedでも可) // plugins/sentry.ts import * as Sentry from '@sentry/vue' export defaul

                                                                                Nuxt3で@sentry/vueを使うとエラー発生時に500エラーが表示される時がある - Yappli Tech Blog
                                                                              • AWS Step Functionsでランダムアルファベットに基づくLambda関数の実行 - Qiita

                                                                                AWS Step Functionsは、分散システムの調整や状態管理を簡単にするための強力なツールです。今回は、Step Functionsを使って、ランダムなアルファベットを生成し、その結果に基づいて異なるLambda関数を実行する方法をご紹介します。このプロセスを通じて、StepFunction の基礎の基礎を学びます。 具体的には、まずランダムなアルファベット「A」、「B」、「C」を生成するLambda関数を呼び出し、その結果に基づいて「A_Process」、「B_Process」、「C_Process」のいずれかのプロセスを実行します。それぞれのプロセスは別々のLambda関数で処理され、最終的に結果を出力するLambda関数が呼び出されます。この一連の流れをStep Functionsでどのように実装するかを詳しく解説します。 Step Function の構成 完成時の Ste

                                                                                  AWS Step Functionsでランダムアルファベットに基づくLambda関数の実行 - Qiita
                                                                                • Unity用ネットワークライブラリSynicSugar Vol.2 - Qiita

                                                                                  SynicSugar SynicSugarというネットワークライブラリを作って1年以上経ちました。Epic online servicesをリレーとマッチングサーバーに使ったUnity用のライブラリです。 特徴 無料 CCU制限なし フルメッシュのp2p ボイスチャット対応(最大16人) PC(LinuxはVC非対応)、モバイル、CSに対応しておりクロスプラットフォーム マッチメイクやホストマイグレーション、復活機能をライブラリ側でフルサポート 以下でSynicSugarの特色についての紹介をします。 サンプルについては3つほど用意してあるので、それを参考にしてください。機能を一通り見たいならChatというサンプルが全て詰め込んであってわかりやすいと思います。3D風のゲームになる予定のTank、初期に動作確認用に作ったReadHeartというターン制対戦ゲームの三つです。 ドキュメントにR

                                                                                    Unity用ネットワークライブラリSynicSugar Vol.2 - Qiita