サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
やる気の出し方
zenn.dev/chot
はじめに とある日のメール。 「何か100%いって従量課金始まっているなぁ…」と不思議に思い調べていたところ、VercelのProプランの新料金体系の発表が4月にあり、そこから約2ヶ月後の6月分(5/25〜6/25)から新料金体系になっていたことが分かりました。 今回の新料金体系で、「帯域幅(bandwidth)」と「機能(functions)」が細分化され、より具体的な項目に料金がかかるようになりました。 以下はVercelからのお知らせに書いてある2文です。 We're reducing pricing on Vercel fundamentals like bandwidth and functions For the majority of customers, monthly bills will remain the same or decrease 「帯域幅と機能の料金が改善
zenn.dev/apple_yagi
Background これまでVitestでコンポーネントのテストを行う時は、jsdom や happy-dom を使ってブラウザ環境を偽装していました。しかし、偽のブラウザ環境を使うことは多くの問題があり、また開発者はテスト以外でどこにも存在しない環境を作り上げるという不毛な作業が必要でした。 この問題を解決するために、Playwright や Cypress などのテストフレームワークは Component Test をサポートしています。しかし、UnitテストでPlaywrightやCypressを使うのは少々Fatであり、Reactのhooksなどのテストをすることができません。 Vitest Browser Modeを使用することで、Vitest上でComponent Testが可能となり、これらの問題を解決できます。 Installation Browser ModeのSetu
zenn.dev/kohii
ドメインイベントを扱う実装は様々な流派があり、本記事ではなるべく一般的なものを取り上げたいと思っていますが、あくまで一例です。 実装例は Kotlin を使っていますが、他の言語でも同様の実装が可能です。 ドメインイベントとは イベントとは「過去に発生した出来事」であり、ドメインイベントは「ビジネスドメイン上で発生した重要な出来事を表すメッセージ」です。 (例: チケットが割り当てられた、注文がキャンセルされた) ドメインイベントはシステム内の状態の変化(=集約の状態の変化)を表現するものであり、通常は集約がドメインイベントの発生源となります。 用途 ドメインイベントは主に次のような目的で使用されます。 1. イベントの発生を起点に、別の処理をトリガーする ドメインイベントは、システムの異なる部分間を連携させるために使用されます。 ドメイン上の要件として「...したら...する」のようなフ
zenn.dev/gemcook
はじめに 昨今、ビルドツールは様々なものが開発され、いかに高速化するか、開発者体験を上げられるかが注目されているように思います。2024年6月にState of JSが公開され、その中でBuild Toolsはwebpackが最も使用されており、次いでViteがランキングしています。 Viteの伸びがすごいですね...🔥 ビルドツールも様々ありますが、2024年4月にFarmというWeb Bandlerのv1.0がリリースされました。 気になってドキュメントサイトを覗いてみるとなんだか良さげな雰囲気を感じたので、Farmの特長と推せるポイントをまとめてみようと思います。 やること、やらないこと やること Farmの紹介 Farmの特長とおすすめポイントの紹介 やらないこと Farmの導入方法や詳細について (ドキュメントがわかりやすい) Farmとは? Farmは、webpackやVit
zenn.dev/kou_pg_0131
たまに言っちゃうので自戒も込めて。 正しくは「Google Cloud」 2 年以上前に公式からアナウンスが出ています。 Google Cloud Platform が Google Cloud に名称変更 お客様のエクスペリエンスをシンプルにし、プロダクト間の一貫性を保つために、Google Cloud Platform は Google Cloud という名称になりました。 (以下略) Google Cloud の新しくなったホームページのご紹介 | Google Cloud 公式ブログ さらに、 Google Cloud Japan の Zenn Publication の記事内でも以下のように紹介されています。 コラム: Google Cloud? Google Cloud Platform? GCP? (中略) 実は 2022 年の 6 月に、公式ブログ でブランディングが変更さ
export const tagSchema = z.object({ name: z .string({ required_error: "Name is required" }) .min(3, "Name is too short") .max(100, "Name is too long"), }) export type TagSchema = z.infer<typeof tagSchema> 一つポイントを挙げるとすると、このクライアント・サーバー間で使用するスキーマを use-tag-form.ts ファイル内で定義していない点です。 通常、状態管理やクライアントサイドのバリデーション検証を含むフォームコンポーネントはuse clientディレクティブを使用して Client Component として実装されます。同様に、そのコンポーネントで使用されるカスタムフックもクラ
zenn.dev/levtech
はじめに はじめまして!レバテック開発部でレバテックプラットフォーム開発チームに所属している塚原です。 直近に認証・認可周りの改修を予定しているため、チーム内で認証・認可の基礎からOAuth・OpenID Connectの仕組みを学ぶ勉強会を実施しました。今回はそこで学んだことのうち、認証・認可の基礎とOAuthの仕組みをまとめます。また、WebフレームワークとしてHono、JavaScriptランタイムとしてBunを使って、OAuthクライアントを実装してみます。 対象読者 認証と認可の違いってなんだっけ...?という人 Basic認証やDigest認証てなんだっけ...?という人 OAuthはライブラリ使って実装してるから仕組みよくわかっていない...という人 OAuthのクライアントの実装って何をすればいいんだっけ...?という人 認証・認可の基礎 2024/7/18 追記 こちらで
zenn.dev/melonattacker
zenn.dev/dara
VRIKの設定 初期設定 XROrigin直下にアバターのGameObjectを移動 アバターのGameObjectにVR IKコンポーネントをアタッチ Camera Offsetの下に、それぞれHead, LeftHand, RightHandのGameObjectを作成 VR IKコンポーネントのSolverの下に、先ほど作成した3つのGameObjectを設定する 動かす 一応動いたが、視点がアバターの上部にあって自分のアバターを見下ろせてしまう 右手コントローラー、左手コントローラーを動かすと、アバターのそれぞれ対応した手が動く 調整する方法はまだ詳しく調べられていない 参考 公式 http://www.root-motion.com/finalikdox/html/page16.html VRIKの調整 環境 Oculus Quest 2 Build後、USBでapkファイルをQ
zenn.dev/anko
このシリーズではこれらの関数が内部でどのように処理されるのかを調べていきます。 malloc.c を読む (malloc / free) malloc.c を読む (bins) malloc.c を読む (arena) 今回は malloc() free() の全体像を紹介します。 注意としてここでの目的は全体を俯瞰して、詳細を詰めずとも各 bins の役割を理解し、攻撃手法を理解できるようにすることです。それに合わないマルチスレッドや最適化などにおける緻密なトリックやコーナーケースなどは暗黙的に実装されていると仮定します。その詳細についてはソースコードや他の資料を参考にしていただきたいです。 ここで扱う glibc のバージョンは v2.38 です。また glibc のソースコードはブラウザ上で読むことができます。 https://elixir.bootlin.com/glibc/lat
zenn.dev/yuki127
zenn.dev/bs_kansai
タイトルは初見時の自分の気持ちでした。内容は結構あっさりしたもので、5分あれば読めると思います。 「あーなるほどね」となった方はわざわざ読む必要がない記事っぽいです。 型の互換性チェック 一言で言ってしまえばそういうことです。KとUが互いに置き換え可能かどうかを確認しています。 これがKとUのままだと分かりづらいのですが、適当な型に置き換えてみると分かりやすいです。 type Test1 = [1, 1] extends [1, 1] ? true : false; // true type Test2 = [number, number] extends [number, number] ? true : false; // true type Test3 = [string, string] extends [string, string] ? true : false; // tru
zenn.dev/yamakazoo
せっかくなのでフロントもバックも TypeScript を使おう、ということで、アレコレ考えて作った構成を共有します。何かの参考になれば幸いです。 下記の Web サービスを開発するときに使いました。 システム構成 ランタイム:Bun フレームワーク: Express ORM:Drizzle ORM インフラ:Docker 私的にはバックエンド中心で処理・出力し、そのうえでフロントエンドを使うのが好きです。 ディレクトリ・ファイル構成の例 あまり深くディレクトリを掘りたくなかったので、ルートに散在しています。 ├── assets :ビルドされたフロントエンドのファイルが入る ├── constants :定数関係 │ └── index.ts ├── controllers ;コントローラー │ ├── _Controller.ts:ルート(/)のコントローラー │ └──
zenn.dev/robustonian
はじめに どんな人向けの記事? ローカルLLMに興味のある人 zoltraakに興味のある方 LLMを用いて要件定義書を作りたい方 内容 今回は元木さんのZoltraakを使って、自然言語から要件定義書を作ってみようと思います。 ただし、リリースされてから2ヶ月以上経ったzoltraakを普通に動かすだけでは面白くないので、この記事ではローカルLLMを使った場合にどの程度の品質のアウトプットが得られるか、そもそもまともに使えるのかを検証してみたいと思います。 結論 結論から述べると、下記の通りになりました。 現状のローカルLLMだけでzoltraakを完全に動作させるのは難しそう。 要件定義書は問題なく作成できる。 その後の工程の、ディレクトリ・ファイル構成を作成するための実行可能なpythonコードを作ることができなかった。 grimoiresの記載を工夫することで、ある程度は改善できる
zenn.dev/comm_vue_nuxt
以前(まだ Nuxt 3 がベータリリースだった頃)に『Nuxt 3 の useFetch() と useAsyncData() の使い方』という記事を書きました。 その後、より多機能になり、またベストプラクティス的な使い方が分かってきたこともあり、改めて useFetch() についてまとめてみたいと思います。 はじめに ここ数年、一貫して Nuxt 3 を使用している僕ですが、主要なコンポーザブルである useFetch については当初の理解が違っていたものもありました。 少しずつ修正しながら、都度コードを書き換えてきたのですが、その過程で得られた知見を共有したいと思います。 なお、記事内で Nuxt と書いた場合は Nuxt 3 および Nuxt 4 を指します。 (現時点では Nuxt 4 はリリースされていませんが、発表されている内容から Nuxt 3 との違いを考慮しつつ記述し
zenn.dev/vim_jp
zenn.dev/mi_01_24fu
はじめに どもども、インフラ案件で奮闘中の井上弥風(いのうえみふう)です。 現在プロジェクトでELB(Elastic Load Balancing)を使用しており、その内部機能を完全に理解したいと思い、この記事を書きました。 この記事について この記事の最終的な目標は、「ELBとは何か?」を深く理解し、それを自信を持って説明できるレベルになることです。 しかし、ELBを完全に理解するためには、まず基本的なロードバランサーの概念を押さえる必要がありました。 そこで、この記事ではELBの根底にあるロードバランサーとは何かという点に焦点を当てていきます。 ELBの詳細については、この記事の後に公開予定の「ELBってなんやねん」という記事で詳しく取り上げます。 ELBに興味のある方は、ぜひそちらもご覧ください。 記事のゴール この記事を通じて、ロードバランサーがどのようにしてトラフィックの負荷分散
zenn.dev/howdy39
この記事では、LLMアプリケーション開発プラットフォームであるDifyとGoogle Apps Script(GAS)のカスタム関数を使って、スプシに記載した画像URLに写っているのがわんこかどうかをDifyを使って自動で判定してみました。 なぜDifyとGASカスタム関数の組み合わせなのか? GASのカスタム関数から直接OpenAIなどのAPIを叩くのが実装としては一番早いのですが、RAGを使いたい、複数のGASから呼び出したい、GAS以外からも呼び出したい、LLMのモデルを柔軟に変えたい、などが発生することも多いです。 そのため実際にLLMアプリケーションを作っていく際は単純にAPIを叩くだけでは解決できないことがおおく、LLMに関わる処理をどこかにまとめておき、まとめておいたものをAPI経由で呼び出すという形にするのが好ましいです。 そこで登場するのがDifyです。 Difyはチャッ
zenn.dev/myuten
Figmaは非常に優秀で、Reactのコンポーネントをよく表現できると日々感じています。 だからこそ、Reactを実装しているエンジニアとFigmaで作成しているデザイナーとで、微妙に噛み合わない…シーンが出てきます。 お互いに「あ!ここが違うのか!」ということを知っておくと、コミュニケーションが楽になるのでは?と思ったので、まとめてみます。 こんな人におすすめ Reactは実装できるが、Figmaではどんなことができるのかよく知らない Figmaでコンポーネントを作成することはできるが、どう実装されるのかよくわかっていない できるだけFigmaの設定とReactでの表現を合わせて書くようにするので、それぞれの対応表みたいな形で使ってもらえると嬉しいです。 プロパティ・Props編 Figma:プロパティ と React: props は同じものと考えてよい コンポーネントという単位で考え
zenn.dev/nishimoto
LLM関係のコンペがかなり多かったですね。 ベースラインノートブック 最近はほとんどのコンペがHuggingfaceのTrainerを使って学習が行われます(テーブルデータにおけるscikit-learnのような立ち位置です)。ChrisのNotebookは非常にシンプルにまとまっているのでぜひ参考にしてください。 分類(+RAG) 回帰、分類 固有表現抽出 NLP・精度上昇で検討すること データを増やす LLMによるデータ生成 + ラベリング(CommonLit2 1st, DAIGT 1st, LLM Sci Exam 5th, PIIDD 1st) LLMによるデータ生成は必ずしも効果があるとは限らない データ生成方法も現状はベストプラクティスはない Mistral, Mixtral系列でデータ生成がよさそうな感じはする なお、LLMがラベル付けできないタスクでは厳しい印象です TT
zenn.dev/karaage0703
LLMに面倒なことをやらせたい 面倒なことはChatGPTにやらせようという本の著者のからあげです。 書籍では、様々な面倒なことをChatGPTにやらせています。ChatGPT単体(コアの部分)は、基本的にテキスト(言葉)を生成することしかできないので、どうやって面倒なことをやらせているかというと、ChatGPTの生成したテキストで、拡張機能を操作することで、実現しています。イメージ的には以下のように、ChatGPTの手足のように拡張機能を使う感じです。拡張機能としては、色々ありますがChatGPTが生成したコードを実行できるAdvanced Data Analysis(Code Interpreter)が重要かつ代表的な機能となります。 面倒なことはChatGPTにやらせよう(講談社)より引用 この機能はChatGPT独自のものだったのですが、最近はGeminiのGoogle AI St
zenn.dev/sutefu23
ジムの会員管理システムを作った僕に「エニタイムフィットネスみたいなことがしたい」とジムを家族経営するお客さんから相談された。 「えっ!?会員管理を作ったついでにエニタイムフィットネスみたいな仕組みをやりたい!?予算は無い!?不正防止のため、入退室時の写真も撮りたい?!ログもとりたい!?」 さすが筋トレに明け暮れてるオーナーさんの要望はマッチョだと思った。 普通にやれば電子錠の仕組みや工事やらで一店舗あたり数百万から一千万掛かるような仕組みだろう。 そんな予算無いみたいだし、既存の店舗をそんな大々的に工事もできない。そもそも自分にそんな工事の知識もない。 結果Raspberrypiを使い、それを一店舗予算10万円代で実現、会員カードを他店舗と共有した24時間営業にできた。 その詳しい技術的な内訳を共有する。 (なお執筆時点では2024年だが、これ自体は5年前、2019年の仕事である。) 前提
zenn.dev/kiwichan101kg
はじめに フロントエンドもバックエンドもTypescriptで書きたい!ということで、T3 Stack(T3スタック)について調べてみました。 T3 Stackを利用したプロジェクトを作成するためのCLIツールcreate-t3-appが用意されており、簡単に雛形プロジェクトが作れるため、実際に使ってみました。 この記事は以下の内容をメインに紹介します。 create-t3-appの環境構築手順 雛形プロジェクトの解説(特にtRPCを用いたAPIの呼び出し方法について) T3 Stackとは T3 Stackとはsimplicity(簡潔さ)、modularity(モジュール性)、full-stack type safety(フルスタックの型安全)を追求した思想に焦点を当てています。 そしてそれらを実現するために以下6つの技術スタックが採用されています。 ✅ Next.js ✅ tRPC
zenn.dev/moozaru
zenn.dev/thinkingsinc
Thinkings 株式会社では、sonar ATS の開発で自動テストを導入しています。過去に CI の実行時間を大幅に削減したことで全体の実行時間は短くなりました。自動テストの速度改善は手が回っていなかったので、CI 実行時間のボトルネックになっていました。今回は自動テストの実行時間を短縮するためにどうやって分析を行ってテストコードを改善したかについて説明します。 開発環境 開発環境は次の通りです。今回はバックエンドの改善内容について説明します。 Visual Studio 2022 .NET Framework 4.6.2 C# xUnit.net 実行時間の分析方法について まずは、自動テストのボトルネックを分析する方法について説明します。前回もお話しましたが、弊社では CI/CD ツールに Jenkins を使用しています。自動テストは1日に数回実行しており、その実行結果をアップ
zenn.dev/turing_motors
チューリングのE2E自動運転チームの岩政(@colum2131)です。 最近、チーム内でPythonを使った開発はRyeとuvを使うことが多くなり、特に機械学習環境もRyeとuvで問題なく開発できるようになりました。社内でのオンボーディング資料としてRyeとuvの操作を整備しようと思い、このテックブログで紹介します。 1. Rye × uvとは? RyeはPythonの包括的なプロジェクトおよびパッケージ管理のツールです。これまでもPoetryなど管理ツールはありましたが、pyenvなどPythonのバージョン管理ツールが必要でした。Ryeは、Pythonのバージョン管理からパッケージ管理を行えて、Poetry同様にpyproject.tomlの設定ファイルを使用したプロジェクト管理も可能です。 uvは非常に高速なパッケージインストーラおよびリゾルバーで、一般的なpipおよびpip-too
zenn.dev/cybozu_frontend
こんにちは!サイボウズ株式会社フロントエンドエンジニアのdaiki(@k1tikurisu)です。 はじめに サイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。 今回は、2024/07/09のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 React & Codemod Announcement React 19への移行を支援するツール(codemod)が公開されました。例えば、次の移行作業を自動化してくれます。 Context.ProviderをContextに置き換え forwardRefの削除 useContextをuseに置き換え next-cache-toolbar Next.jsのData Cacheの中身を視覚的に見れるツールです。 Diving
zenn.dev/acntechjp
TL;DR VPC間を接続した際のレイテンシはTGW > VPC Peering TGWでVPC間を接続すると、VPC PeeringでVPC間を接続した場合と比較して、レイテンシが10倍以上!! はじめに いきなりですが、皆さんは以下のような2つのVPC間を接続する際、どの様な方法で接続するでしょうか?(オレンジ矢印部分) 前提や要件により様々な接続方法が考えられますが、AWS公式:Amazon VPC-to-Amazon VPC connectivity optionsには、VPC間を接続する際の選択肢については以下5つが挙げられています。 VPC Peering Transit Gateway(TGW) AWS PrivateLink Software VPN Software VPN-to-AWS Site-to-Site VPN AWS公式ドキュメントには選択肢として記載されてい
次のページ
このページを最初にブックマークしてみませんか?
『Zenn|エンジニアのための情報共有コミュニティ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く