サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
zenn.dev/yumefuku
はじめに 今回はGoogle社の「Gemma 2 2B」に対してQLoRAでのファインチューニングを試しました。 試した経緯としては以下になります。 Gemma 2 2Bを使ってみたら驚くほど性能が高かった(同クラスのパラメータを持つモデルと比較した場合) ↓ パラメータが小さいので自宅のPCでもファインチューニング(QLoRA)できそう ↓ すでに公開されている「ずんだもん」や「つくよみちゃん」に変えるためのデータセットで学習して会話してみよう となりました。 今回、QLoRAで作成したアダプターをマージするところまで一通り行えたため、マージしたモデルで会話するところまでを手順として記載しています。 ファインチューニング(Instructionトレーニング)について 今回行うのはInstructionトレーニングです。 Instructionトレーニングとは特定の指示(Instructi
zenn.dev/voluntas
概要 Cloudflare の利用を徐々に減らし、Akamai Connected Cloud へ移行しているのでそれを記録していくことにする。 移行理由 ただのアンマッチで。自分のサービス選定ミス。 自社の商用サービスが期待するレベルのサポートを得るには、Cloudflare エンタープライズプランが必須な事をわかっておらず、費用面でアンマッチになった。 サポートが必要になった状況 サポートは WebSocket を利用するため、 年 2400 ドルのビジネスプランを契約。 Cloudflare LB で WebSocket が突然切断される問題 問題の報告から 6 ヶ月以上経過しても、連絡も無く問題も継続して発生 8 ヶ月目にやっと返信があったが、5 ヶ月前に修正されているとだけ連絡を貰う Cloudflare Status - Billing issues relating to s
zenn.dev/yusukebe
生成AIをよりよくする手法の一つにRAG = Retrieval-Augmented Generationがあります。これは単純な仕組みから作ることができて、効果的で面白いです。そして、Cloudflare Workersを中心としたCloudflareスタックで実現できます。やってみると、Cloudflareを使ったアプリケーション作成に必要なエッセンスをいくつも体験できることが分かりました。そこ今回は、シンプルなRAGアプリを作りつつ、Cloudflareスタックを学んでみましょう。 リポジトリ 今回扱うコードや関連する例は以下のリポジトリでみれます。 CloudflareスタックでRAGを作るとは? RAGの実装方法を説明します。いくつかありますが、簡単な方法にします。 LLMと会話をするにはsystem、userというロールで以下のようなパラメータを渡します。 app.get('/
zenn.dev/tzkoba
2024年8月6日、翔泳社さんより「マルチクラウドデータベースの教科書 クラウドロックインを乗り越えるデータベースの構築ノウハウ」が発売になりました。 ぜひ、皆さんに手に取って欲しい本ではありますが、、、購入をためらう人が居たとしても気持ちは分かります。 「マルチクラウドとか全然イメージできないし。」 「うちはAWS(Azure/Google Cloud)って決まってるから、マルチクラウドじゃないし」 「そもそもデータベース、そんなに得意じゃないし。」 ですよね、でもそんな方々にも伝えられることがあるんじゃないかと思って、 そもそもマルチクラウドなデータベースとは、どんな構成を指すのか そのマルチクラウドなデータベースは、利用者にどんな価値を提供するのか (※あとがきより一部抜粋) という所を基礎から説明できるように、共著者3人で頭を悩ませながら執筆を続けてきました。 ということで、今回は
zenn.dev/coconala
こんにちは。 株式会社ココナラでバックエンド開発に従事するRKと申します。 みなさまはシステムのバージョンアップ対応をした経験はありますでしょうか? システムの安定稼働に配慮して一定期間で実施している場合もあれば、利用しているライブラリや開発言語そのものの End Of Life(以降、EOL) によってバージョンアップを余儀なくされて実施した場合もあるでしょう。 どちらにせよ、ユーザーの皆様に安心してシステムをご利用いただくためにも、バージョンアップ対応はとても大事な作業の1つとなります。 弊社ココナラでも、もう少しでEOLを迎える/迎えた開発言語や環境を持つシステムは存在します。 本記事では、ココナラのとあるシステムのバージョンアップ作業対応を実施した際の私自身のふりかえり内容を記載します。 本当にこの記事を過去の自分に送って読ませたい。 なお、弊社ではすでにバージョンアップに関連する
zenn.dev/castingone_dev
はじめに 今回は、コードレビュー観点表を作った話について少し書かせていただきます。 社内ではGitHubを用いてコードレビューを行っていて、バックエンドの開発においては、コーディングガイドラインも策定しています。 しかし開発において、ガイドラインに書かれている事項が全てではないため、コードレビューを行う際のポイントが自分の中で綺麗に整理しきれていませんでした。 また、ガイドラインの重要なポイントを十分に把握できず、効果的なコードレビューができていない現状がありました。これを改善するために、コードレビューの観点表を作成したことで、コードレビューの質が上がった話についてお話ししようと思います。 問題となっていたこと 一貫性がないレビュー 毎回レビューを行う際に、自分の中のレビューポイントが明確に決まっていなかったため、的確にレビューができていないこと レビューにかかる時間が長い 自分の中でのレ
zenn.dev/s3works
ACM会員特典のO'Reilly Online Learning読み放題サブスクが今夏に復活しました。以前から利用したいと思っていて、このたび会員登録したので手順を記録しておきます。 ACM Professional Membershipの年会費$99に、ACM Skills Bundle Add-On のオプション$75を付けて、年間$174でO'Reillyの電子書籍やビデオ教材を制限なく利用できます。ACM経由ではなく、O'Reillyに直接申し込むと年間$499もかかります。ここのところの円安もあり、この差額はかなり大きいと思います。 ここで、ACMと協力協定を取り交わしている学会の会員であれば、年会費の相互割引制度が利用できます。ACM Professional Membership の年会費に20%($20)のディスカウントが適用されて$79になります。日本だと情報処理学会が対
zenn.dev/mizchi
WebAssembly First な言語として自分が注目してる Moonbit 言語、過去に記事を書いてからしばらく経ったんですが、色々と大きな変更がありました。というわけで、新しい言語機能や構文を紹介してきます。 https://www.moonbitlang.com/weekly-updates/ の 4/15 ~ 8/22 を見ています。 日本だと実際に使ってる人がまだいないと思われるので、実用のための変更というより、変更された点を見ることで進化の方向性を掴んでおこう、という趣旨で読むといいでしょう。 配列リテラルがデフォルトでミュータブルに 自分が触ってから最も大きな変更です。(これでほとんどの既存のコードが動かなくなりました) ミュータブルな@vec.Vec[T] が Array[T] にリネームされ、型を省略した際の let x = [] の配列リテラルはイミュータブルな L
zenn.dev/sora_kumo
React の SSR にフレームワークの機能は必要ない React で SSR を行う際、フレームワークの機能を使わずに React の標準機能だけで実現する方法を紹介します。Next.js でも同じ方法が有効なので、これを使えば Remix への依存が本当の意味で最小になります。 Remix での一般的な方法だと SSR を行う場合、routes 直下のファイルで実装した loader 関数を使ってデータを作成し、各コンポーネント内の useLoaderData データを受け取ります。この方法だと、ページの頭でどんなデータを取得するかを決めなければならず、コンポーネントの状態に合わせて柔軟にデータを用意することが困難です。 実はそんな方法を使わずとも React には、コンポーネント側でデータを取得する機能が用意されています。もちろん React の利点を殺す ServerCompon
zenn.dev/cybozu_frontend
こんにちは teppeis です。普段は開発本部長をやってますが、ブログフェスに駆り出されました! 本日は Node v22.3.0 に続いて v20.16.0 にもバックポートされた process.getBuiltinModule(id) について解説します。 問題: 同期的な条件付き require を ESM 化できない Node v22 にて、フラグ付きで CJS (CommonJS Modules) から ESM を require できるようになりました。いわゆる require(esm) です。これにより、今までは互換性の懸念で ESM 化を足踏みしていた著名ライブラリも ESM 化を試みる動きが出てきました。 TypeScript もその一つで、TypeScript チームは TypeScript 自体を ESM 化しようと試みました。しかしながら、今回の主題である条件付
zenn.dev/comm_vue_nuxt
はじめに TL;DR CLI 開発で UnJS の unbuild、citty、consola、giget、pkg-types、jiti を使ってみたらめっちゃ便利だった。 本記事の内容と対象読者 本記事は、Vue.js v-tokyo Meetup #21にて筆者が LT 登壇した内容を記事化したものです。 筆者が最近取り組んでいた CLI 開発において UnJS を導入したところ、非常に便利と感じたため発表することとなりました。発表資料はGitHub Pages に上げています。 本記事では CLI 開発に便利な UnJS のライブラリをいくつか紹介し、どのように使ったのかの解説もします。UnJS に興味があり、どんなライブラリをどのように使うのか気になっている人を対象にしています。 前提知識として Node.js/TypeScript の基礎的な理解があると読みやすいでしょう。 検証
zenn.dev/izm
これは何 Unity(そしてC#)を触ったことがない人が、とりあえずキャッチアップするための順番だてた学習ルートです。 これを順番にこなすと、最低限の(ゲームの楽しさの部分以外の)ことを知ることができます。 メンターをつけて想定時間40h以内で実施すると良いのかなと思いました。 // もっと楽しさを重視した講座とかもあると思うので、無味乾燥なこれでごめん… こんな感じのiOSやAndroid、あるいは他の技術領域の文章も読んでみたいなと思いました。(誰か書いて!) お作法を学ぶ編 Unity+VScode(あるいはRiderでもいいけど)をインストールできる プロジェクトを作る MonoBehaviourのスクリプトを作る(Hello.cs) Debug.Log() をStart()に書ける このときVScodeとかでDeb…くらい書いたらtabで補完されることを確認しましょう DotNe
zenn.dev/team_zenn
はじめに Zennチームの吉川(dyoshikawa)です。 2024年6月頃より、Zennにいわゆるスパム投稿が急増したため、LLM(生成AI)を活用してのスパム投稿自動検出の仕組みを構築しました。 目的の性質上、あまり詳細については開示できないのですが、技術的な知見の共有のため、そして可能な限りコミュニティへ運営チームの取り組みをオープンにしたいという思いがあり本件の概要を紹介したいと思います。 課題 2024年6月頃より、Zennにスパム投稿が急増しました。それに伴いユーザの違反報告が増加したことで我々Zennの運営メンバーも事態を認識することになりました。 スパム投稿が読者の目に触れることが定常化することは避けたいですし、その都度違反報告をしてくださるユーザの負担も大きなものだろうという思いがあり、対策を進めることになりました。 解決策 この状況に対して、ある程度自動でスパム投稿を
zenn.dev/knowledgesense
株式会社ナレッジセンスは、生成AIやRAGを使ったプロダクトを、エンタープライズ向けに開発提供しているスタートアップです。本記事では、RAGの性能を高めるための「REAPER」という手法について、ざっくり理解します。 この記事は何 この記事は、RAGを活用したAIエージェントの回答速度を10倍速くする「REAPER」の論文[1]について、日本語で簡単にまとめたものです。 今回も「そもそもRAGとは?」については、知っている前提で進みます。確認する場合は以下の記事もご参考下さい。 本題 ざっくりサマリー REAPER は、ユーザーからの複雑な質問に対して、高速で回答できるようにするためのRAGの手法です。Amazonの研究者らによって2024年7月に提案されました。AmazonのようなECサイトのチャットボットでは、まさに、REAPERのようなRAG手法が大活躍します。「複雑な質問がくる上に
zenn.dev/gen_shun
こんにちは!ゲンシュンです。 Looker解約することになり、LookerStudioへの移行対応をした話を書きます! 背景 Lookerはプロダクト部ビジネス部も満遍なく利用しきっていますが、円安関連でコスト高騰してキツイな〜という状況でもありました。解約意思決定が自分に伝達されたのが6月下旬、移行対応に即アサインされ、そこから諸々準備し、8月頭でのLookerStudio利用開始までわずか1ヶ月という短期決戦プロジェクト開幕です。 各部門の業務フローにゴリゴリ組み込まれているぐらい利用浸透してて、DWH↔Lookerの設計周りもかなりいい感じに出来てて、こんなに愛した俺達のLookerがコスト理由だけで移行せざるを得ないのは、ぶっっっっちゃけモヤモヤが大きかったです。が、やりきればうんびゃくまん以上の凄まじいコスト改善が出来るので、これは凄い事業インパクトだ!やり切るしか無い!やろう!
zenn.dev/dalance
はじめに 2024/07/25 にリリースされた Rust 1.80.0 にて Rust by Example の日本語版が公式に公開されました。画面右上にある地球儀のアイコンから日本語を選択可能になっています。 この取り組みを始めたのは2023年の10月頃だったのですが、さまざまなレビュー待ちやRustにおけるドキュメント公開フローをよく分かっていなかったことによる失敗もあり、最終的には1年近くかかってしまいました。 Rustはコンパイラの開発などかなり良くドキュメント化されている(Rust Compiler Development Guide)のですが、ドキュメントの管理についてはほとんど資料がなく、Zulip で聞かないと分からないようなこともありました。 この記事ではこの1年でやってきたことを時系列で書いていきます。Rustのドキュメントに貢献したい人には参考になる部分があるかもし
こんにちは。ぶっちーです。 普段は kintone というプロダクトの新機能開発を行っており、最近は、フロントエンドの技術刷新に取り組んでいます。 この技術刷新では、Closure Tools から React への置き換えを行っています。詳しくは、以下の記事をご覧ください。 刷新をする中で、React を書いていくうちに React の設計、特に React Hooks に対する考え方が難しいと感じました。 そこで、React Hooks について学習し、気付いた点があったのでこの記事にまとめます。 命令的 UI と宣言的 UI 技術刷新前の Closure Tools は、class 構文を使用したオブジェクト指向をベースとして、命令的 UI を構築しています。 刷新をする中で、最終的にどのような UI を構築するのかを把握する必要があります。このときに、コードベースから理解をしようと
zenn.dev/pharmax
前回の記事でLLMアプリケーションの評価について基礎から運用まで丁寧に解説いたしました。 この記事では、評価方法の一部であるLLM-as-a-Judgeについて詳しく解説したいと思います。 LLMアプリケーションの評価といえば、LLM-as-a-Judgeだというように結びつける方もいらっしゃいますが、必ずしもそうではありません。 というのも、LLMアプリケーションの評価には、LLM以外で評価するLLM-as-a-Judge以外にもいろんな方法や観点があるからです。 評価方法や指標について多くの論点が、LLMアプリケーションに限らず、機械学習アプリケーション全般に共通しています。 この10年ぐらいで、機械学習アプリケーションの評価についてはかなりの議論がなされてきており、ある程度成熟してきました。 一方、LLMでLLMの出力を評価するLLM-as-a-Judgeについては、GPT-3.5や
zenn.dev/ficilcom
Next.js の App Router を 1 年間使用した経験をもとに僕なりの知見と後悔したことを共有しようと思います。 データフェッチング戦略(知見) App Router では RSC 内でのフェッチのため分離しづらいです。なおかつ、以前より柔軟にサーバー側の処理を書けるため、より多くのコードが集まり肥大化しやすいです。 したがって Pages Router と比較して以下のような違いがあります。 Pages Router(SSR) App Router(RSC によるフェッチ) この違いにより、App Router ではデータフェッチのロジックを自身で抽象化する必要性が高まっています。 ベンチャーでは Next.js にすべてのロジックをもたせて、スピード感のある開発をしたい場合があります。それがメインのプロダクトの場合、将来的には肥大化を解消するために API サーバーを実装す
AWS については利用していないのでよくわからない。あくまで Erlang/OTP で書かれたミドルウェアのリプレイス事例として感想を雑に書く。ちなみに、現地で発表を聞いている。 一般的な感想 自分のような AWS 素人が見てもわかりやすいシンプルなシステムになっていた HTTP/2 を利用した独自プロトコルでの双方向通信が気になる TCP/IP を利用した大量の常時接続は本当に大変だとおもう カーネルパラメーターチューニング! 少ないリソースで、たくさんの接続を担う ゴールが素晴らしい デプロイの自動化を GitHub Actions でやってるのやっぱりいい 負荷試験にて1億台の接続を維持した状態で挙動が問題ないことを確認 最高 Graviton ベースの Fargate の活用 Go であれば arm64 向けバイナリがサクッと生成されるのは良い Erlang/OTP から Go へ
zenn.dev/kakakakakku
📕 この Zenn Book について LocalStack はローカル環境や CI 環境で実行できる AWS エミュレーターです。この Zenn Book は、LocalStack に実践的に入門するワークショップです。LocalStack の基礎から LocalStack を使った AWS アプリケーション開発(Python コード実行・pytest 単体テスト実行)まで体験できます。 🚀 環境構築不要 ワークショップでは GitHub Codespaces を使うため、ラップトップ上に環境構築をする必要がなく、ブラウザですぐに試せます。 ⭐️ 登場する AWS サービス(順不同) ・Amazon SQS ・Amazon S3 ・AWS CloudFormation ・AWS SAM ・AWS Lambda ・Amazon CloudWatch Logs ・Amazon API G
最近、SQL アンチパターンという本を読んでいたら、MySQL、 PostgreSQL、SQLite などのデータベースでも拡張機能を利用することで全文検索を実装できることを知りました。[1] SQLite で構築されている Cloudflare D1 についても調べてみたところ、制限はあるものの全文検索の拡張機能が使えるということがわかりました。 Export is not supported for virtual tables, including databases with virtual tables. D1 supports virtual tables for full-text search using SQLite’s FTS5 module. 今回は個人ブログの全文検索 API を D1 を利用して実装してみたので、その方法について書きたいと思います。 作成した AP
こんにちは。PharmaXの上野です。 今回はLLMアプリケーションを評価する上で知っておくべき評価の基本をきちんと整理したいと思います。 これまで何度かLLMアプリケーションの評価について語ってきました。 運用についても記事や発表の形でシェアを行ってきました。 ですが、まだまだ「評価とはなにか?」という基本的なところで躓いてしまっている方も多い印象なので、今回は前提から丁寧に評価の全体像をまとめていきたいと思います。 LLMアプリケーションを運用している方の参考になれば嬉しいです! なぜLLMアプリケーションを評価する必要があるのか LLMをアプリケーションに組み込んでいると、LLMの出力を評価する必要が出てきます。 LLMの「出力は確率的である(毎回異なる)」ためです。 また、LLMの出力はハルシネーションを含む可能性がありますし、間違いではないにしてもサービス提供者の意図とは違った出
zenn.dev/riita10069
私は自動車業界に関わり、自動運転に関する研究に関わっており、その中で非常に興味深い Survey 論文を見かけました。 こちらは、「データ中心の自動運転技術」にフォーカスして、歴史的な流れから自動運転の手法について様々な角度からピックアップしている論文です。しかし、こちらの論文だけを読んでいると、派生する論文なども読む必要があり、前提知識が求められてしまったので、自動運転関連の近年の取り組みに関する論文について特に私が着目しているものを中心に要約していきます。翻訳や解釈の正確さを保証するものではありませんので、適宜原文と照らし合わせてご確認いただければと思います。 また、内容はさまざまな論文から引用しており、都度引用論文を明記しております。私個人の解釈については私の意見であることも文章中に明記しております。 Introduction 現在、自動運転アルゴリズムの性能には限界があり、限界を克
zenn.dev/gmomedia
SRE NEXTに行ってきました SRE NEXT 2024に参加してきました!資料のまとめ集です。 メルカリさん、ランチごちそうさまです🍞 SRE NEXT 2024タイムスケジュール ※ユーザ名は敬称略です。 Day1 工学としてのSRE再訪 @yuuk1t 登壇者紹介リンク: https://x.com/yuuk1t/status/1819631327219798137 ※08/05 13:40ころまでリンクに誤りがありました。失礼いたしました。 DevSecOpsの内回りと外回りで考える持続可能なセキュリティ対策 @yamaguchi_tk 登壇者紹介リンク: https://x.com/yamaguchi_tk/status/1820376622715002885 組織的なインシデント対応を目指して〜成熟度評価と改善のステップ〜 @nari_ex 登壇者紹介リンク: https
zenn.dev/youliangdao
はじめに 最近社内のフロントエンドチームでコーディング規約を作っているのですが、 「React のイベントハンドラの命名って結局どうすりゃいいん?」 って話で盛り上がりましたので、そのときの内容について少し書いていきたいと思います。 公式ドキュメントにはどのように書かれているのか...? まずとにもかくにも公式ドキュメントです。 イベントハンドラの命名については何度か言及されており、読んだことがある方も多いのではないでしょうか? たとえば、「イベントへの応答」には次のように書かれています。 慣習的に、イベントハンドラは handle の後ろにイベントの名称をつなげた名前にすることが一般的です。onClick={handleClick}、onMouseEnter={handleMouseEnter} などがよく見られます。 ... 慣習として、イベントハンドラのプロップは on で始まり、次
zenn.dev/moozaru
Webアプリケーションの開発にかかせないエラー画面ですが、Next.jsでは簡単かつ柔軟に対応することができます。今回はそんなNext.jsのエラー画面表示の解説をします。また、ムーザルちゃんねるのYouTubeに解説した動画の公開もしています。動画ではより詳細に、記事では内容をすぐ把握できるよう簡易にしています。 Next.jsのエラーハンドリング挙動 Next.jsでは予期せぬエラー(例外)が発生したら自動でキャッチしてくれます。具体的に言うと、 error.tsx というエラーコンポーネントを配置すると、自動でそのコンポーネントがレンダリングされます。 例外があると、error.tsxが表示される ネストしたエラー表示 error.tsx はどこの階層にも配置することができます。そして複数 error.tsx がある場合、エラーが発生したページコンポーネントからディレクトリの上方向に
zenn.dev/uhyo
TypeScriptのコードでは、export {}; という記述を見かけることがあります。これはECMAScriptの構文ではあるものの、これが使われる背景にはTypeScript特有の事情があります。この記事では、export {}; がなぜ使われるのか、どのような効果があるのかを解説します。 export {}; とは この構文は、exportというキーワードから分かるように、モジュールに関連する構文です。 一般に、export { ... };という構文は、既存の変数をモジュールからエクスポートするために使われます。例えば、次のようなコードが考えられます。 const foo = 42; const bar = "hello"; const banana = "banana"; export { foo, bar as hello, banana as "🍌", }; 変数をエク
zenn.dev/aya1357
はじめに Learn Next.jsで検索機能を復習したので、その振り返り記事を記載していきます。 今回実装する検索機能について ユーザーがクライアントで食べ物を検索すると、URL パラメータが更新され、サーバー上でデータを取得、新しいデータを使用してサーバー上でテーブルが再レンダリングされる流れで検索機能を実装していきます。 URL 検索パラメータを使用する利点 ブックマークおよび共有可能なURL: 検索パラメータをURLに含めることにより、ユーザーがそのURLをブックマークしたり、他のユーザーと簡単に共有したりすることができます。これにより、特定の検索結果やフィルター設定を簡単に再現できるようになります。 サーバー側レンダリングと初期ロードの最適化: URLパラメータをサーバー側で処理することで、初期ページロード時にクライアントに対して完全にレンダリングされたページを提供することができ
次のページ
このページを最初にブックマークしてみませんか?
『Zenn|エンジニアのための情報共有コミュニティ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く