この記事について Google Map APIを使ったクラスやモジュールのテストをかけるようになりましょう。今回は@googlemaps/jest-mocksを使ってテストを書きましょう。Maps JavaScript API のテストが容易になるらしい。 先に結論を3つ Google Mapをモックしてくれるモジュールに@googlemaps/jest-mocksというものがある 使い方はinitializeメソッドを呼び出し、Google Map APIを用いたテストデータを作成、実行するだけ MarkerやPolygonなどのGoogle Mapオブジェクト、クリックやドラッグイベント時の挙動もテストすることが可能 @googlemaps/jest-mocksとは Google Mapをモックしてくれるモジュールです。本来ならば、テストを実行するたびにgoogle map apiを実
はじめに 今回の記事は、以下の過去記事3つを元に、APIと、TypeScriptを同じコンテナで動かすための備忘録です。 過去記事 ディレクトリ構成 以下のような構成にしていきます。 📁 your-project ├── 📁 api │ ├── Dockerfile │ └── ... ├── 📁 web │ ├── Dockerfile │ └── ... └── docker-compose.yml 手順 ディレクトリを作る 以下のようにフォルダを作ります。 以下の記事を元に、APIを作る なお、今回は、apiというフォルダに入るようにします。 Dockerfileも、この記事を参考にします。 以下の記事を参考に、Reactでプロジェクトを作ります。 以下の記事を参考に、APIに接続できるようにします。 この時点で、Dockerfileが2つ、docker-compose.yml
Claudeの新バージョン3.5 Sonnetが登場 直近の生成AI界隈で話題になっている、Claude3.5 Sonnet、一部ではOpen AIのChat GPT-4oを越えている言う意見もちらほら見られます。 3.5 Sonnetになり、たしかにこれまで見劣りしていた回答生成速度はGPT-4o並みになりました。 回答精度は、ちょっとまだ見切れていませんが、良くなっているのでしょう。 新機能「Artifacts」 さて、速度や精度の話しもさることながら、新機能「Artifacts」が大変注目されています。 この機能ですが、「アウトプット」と「会話」とを分けて生成する機能となります。 「アウトプット」には、生成したコードのプレビュー(ただしバックエンド処理は実行されなさそう)や、デザイン、ドキュメントが表示されます。 これまでのChat GPTやGeminiだと全てチャットウインドウで完
Tone.jsをベースにブラウザでのライブコーディングを可能にするlive tone、使えなくもないという感じにまではできそうなのでコード編集要素を標準の textarea から高機能なコードエディタに変えることにしました。代表的なコード編集用コンポーネントと言えばCodeMirror、Ace、Monaco Editorあたりかと思いますが、今回は機能とサイズのバランスからAceを採用。React用のラッパーライブラリReact-Aceを使うことで textarea からの置き換えも次を調整するだけで済みました。 onchange イベントハンドラの引数が標準と異なるので対応する 幅と高さを width height 両プロパティで与える これだけで済めばよかったのですがそうは問屋が卸さず、単体テストが失敗する状態に。Testing Libraryのuser-eventを使った次のコードが
ベンチマークソフトはPCのパフォーマンスを測定する際に必要となるソフトウェアです。ベンチマークソフトには、「Cinebench」や「CrystalMark Retro」など、数多くの種類が存在していますが、CPUとGPUの性能をチェックする際のベンチマークソフトとして定番化しているのが、スクウェアエニックスが提供している「FINAL FANTASY XV WINDOWS EDITION ベンチマーク」です。 FINAL FANTASY XV WINDOWS EDITION Benchmark | SQUARE ENIX http://benchmark.finalfantasyxv.com/jp/ 「FINAL FANTASY XV WINDOWS EDITION ベンチマーク」をインストールするには、まず上記のリンクをクリックしてダウンロードページにアクセスし、画面下部の「Version
はじめに 昨今の生成AIの目まぐるしい速さの成長には、驚かされてばかりです。 5月13日にOpenAI社が発表した「ChatGPT 4o」、そして6月20日にAnthropic社が「Claude 3.5 Sonnet」、これらをはじめとする生成AIは驚くべき自然言語処理能力を持ち、様々なプログラミングタスクを効率化するツールとして重宝されており、コードの自動生成や補完、バグ修正、リファクタリングなど、多岐にわたる機能を提供することで、エンジニアの生産性を劇的に向上させてくれます。 エンジニアにとって、コーディングしてくれる生成AIは「お金を産んでくれる相棒」になりつつあると考えています。 かくいう私も、日頃から生成AIにはお世話になっており、コードを書くときはセカンドモニターに常に表示させているほど愛用させていただいており、生成AIに稼いでもらっている1人と言えます。 そんな私は最近、ステ
Active Directory (AD)とは Active Directory (AD)は、Microsoftが開発したディレクトリサービスで、ネットワーク上のリソースを効率的に管理するためのツールです。ユーザーアカウント、コンピュータ、プリンター、ファイル共有などを一元的に管理することができます。以下に、ADの基本的な概念、機能、利点、主要なADサービス、およびFSMOロール、レプリケーション、UPN、ADゴミ箱機能、正常性確認ツールについて解説します。 【Active Directoryの基本概念】 1. ドメイン ADの基本単位であり、ネットワーク上のすべてのリソースを論理的にグループ化します。ドメイン内のすべてのオブジェクトは共通のデータベースで管理されます。 2. ツリーとフォレスト 複数のドメインが階層的に構成されるとツリーとなり、複数のツリーが連携してフォレストを形成します
2023年3月2日の記事を編集して再掲載しています。 もう折りたたみ椅子には戻れない。 最近は春らしく暖かい日があり、そろそろピクニックやキャンプなどアウトドアにもってこいの季節になりつつあります。 今年はもうちょっとグレードアップして、外でゆったりカウチに座ってみませんか? 外なのにカウチ!? Coleman(コールマン)の「エアカウチ ダブル(グレージュ)」は、空気で膨らむふたり掛けのカウチ。難燃素材でカバーされ、座り心地は体が沈み込み過ぎず適度な反発性で快適とのこと。 四隅はペグ用のループがあるので強風の日でも飛ばされませんし、空気を抜けば付属のキャリーバックに入れて持ち運べます。 ここに腰掛ければ、まるで家にいるかのような感覚でアウトドアが楽しめますね。 Video: コールマン ジャパン 公式/YouTubeカウチでもっとリラックス自然の中で優雅な気分に浸るもよし、ノートPCを抱
一つの記事で始めたSOLID原則の探求を続け、今回は2番目の原則であるオープン/クローズドの原則について説明します。 この概念は、1988年にバートランド・メイヤーが彼の著書「オブジェクト指向入門」で表現したように、多くの著者によってオブジェクト指向プログラミングの最も重要な原則の一つと考えられています。 モジュール(クラスや関数など)が「拡張には開かれているが、修正には閉じている」べきだと述べています。 つまり、新しい機能を追加する際には、既存のコードを変更せずに済むように設計することが重要です。これにより、既存の機能に影響を与えずにシステムを拡張することができます。 例えば、あるクラスに新しい機能を追加したい場合、そのクラスを直接変更するのではなく、継承やインターフェースを使って新しいクラスを作成することで、元のクラスを変更せずに機能を拡張することができます。 この原則の概念自体は素晴
はじめに 先日、JavaScriptでファイルアップロード処理を実装していたところ、ファイル名が以下のように表示されてしまいました。 元のファイル名は「アップロードしたファイル.csv」だったのですが、濁点、半濁点が一文字として扱われている状態です。今回はこちらをJavaScript(TypeScript)で解消する方法をまとめました。 前提条件 ・Mac OSのPCを使っている ・アップロードしたファイルはuploadedFileで保持している 解消方法 uploadedFile.name.normalize('NFC'); // 使用例 const fileName = uploadedFile.name.normalize('NFC'); if (fileName.includes('アップロード')) { return; } 原因 Mac OSではファイル名を「NFD(Normal
useEffecttとは useEffectは、Reactのフックの一つで、関数コンポーネントにおいて副作用を扱うために使用するhook。副作用とは、コンポーネントのレンダリングに直接関係しないが、実行する必要がある処理のことを指す。例えば、データのフェッチ、DOMの操作、など。 関数の実行タイミングをReactのレンダリング後まで遅らせるhookといえます。 記述方法 第二引数の依存配列によって次のように動作に差が出ます。 [ ](空配列) ぺージを開いた時(初回レンダリング)だけ処理を行う [ 特定の state 名] 特定のstateが変わった時だけ処理を行う(再レンダリング) 何も記載しない コンポーネントがレンダリングされるたびに副作用関数が実行される。 無限ループの温床になるため実際には、第2引数を省略するケースはほとんどないそうです。 使った場合の挙動 useEffectを使
「PHPカンファレンス福岡2024」の登壇資料です。 https://phpcon.fukuoka.jp/2024/ # スライド掲載資料 https://speakerdeck.com/kassy1127/qiang-i-enziniatodong-kuzhong-de-xin-zu-1nian-mu-wei-jing-yan-purodakutomaneziyagahe-ninao-mi-dokonizi-fen-nojia-zhi-wojian-chu-sitaka https://speakerdeck.com/blue_goheimochi/phpcon-odawara2024 https://speakerdeck.com/soudai/grow-one-day-each-day # 参考資料 https://speakerdeck.com/soudai/developer-l
「開発組織全員が自ら学んで成長していく組織づくり」という内容で、Senior Engineering Managerの上原が、Lancers Agent様との2024/06/19のイベント(https://peatix.com/event/3959065/view )で発表させて頂いた資料となります。 ネクストビートに入って4年間での、Engineering Managegerとしての試行錯誤の言語化しています。 概要としては以下となります。 - 個人のマインドセットの大切さ - FBループと、自己認識と他者認識を合わせることの重要性 - FBループとしての、1on1で演じる役割や、関係性の大事さ - 1on1でよく使うEMの道具箱のご紹介 - 組織として学んでいくことの仕組み化の事例のお話
目的 現在reactの学習をしているのですが、 cursorでreact/typescriptのデバック環境の構築にかなり手間取ってしまったため 自分用の証跡になります。 方法 ①ts-nodeでCLI実行 本項とは直接関係ないですが、 とりあえずコマンドベースでサクッと動作確認したい時のために ②Reactのデバック実行(Google Chrome) create-react-appでReactのテンプレートを作成し、 cursor上でブレークポイントを使用してデバック実行ができるようにします。 どちらも試してはいないですがvscodeでも可能だと思います。 前提条件 本手順の前提としてcursor(vscode)、node.js、Google Chromeはインストールしておいてください。 実施準備 reactAppプロジェクトを作成し、作業ツリーに移動します。
Next.js の 4 種類のキャッシュについて、下記公式ドキュメントを参照しながら、疑問を解消していきます。 Request Memoization Request Memoization 機能要約(公式ドキュメント参照) Request Memoization は React の機能であり、Next.js の機能ではありません。 他のキャッシュ機構とどのように相互作用するかを示すために、Next.js のドキュメントのみ含まれています。 メモ化は、フェッチリクエストの GET メソッドにのみ適用されます。 メモ化は、React コンポーネントツリーのレンダリングが終了するまで、サーバーリクエストの有効期間を持続します。 疑問点 🤔 : 同じリクエストを投げることが無い気がするが、どのような場面で有効か Next.js の Request Memoization は、同じリクエストが複
PFNは,「現実世界を計算可能にする」をVisionとして,膨大な計算量を必要とするシミュレーションや深層学習などの計算ワークロードを実行するためのオンプレML基盤を持っています. この取り組みについて、「使いやすい環境」、「リソースの効率的かつフェアな利用」、「信頼性・運用省力化」の観点から紹介します。 本イベント「オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜」では、オンプレミスの Kubernetes クラスタ上に構築された機械学習基盤を持つ PFN とヤフーのエンジニアが自社での取り組みについて語り尽くします! イベントサイト: https://ml-kubernetes.connpass.com/event/239859/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く