いやトップ5くらい知りたい そしてお気に入りに入れたい 追記 そういう癒着というか、互助会発生システムになってしまうので、ないのだと思う。 確かに言われてみればそうである 心が弱ってる時に眺めてニヤニヤしようと思ったんだけどやっぱいいや…
はじめに COUNTERWORKSバックエンドエンジニアの伊藤です。 この記事ではAPIドキュメント分割の知見を紹介します。 弊社では OpenAPI を使用したスキーマ駆動開発を採用しています。 1ファイルで管理していたところ、25000行を超える行数となり管理コストが高くなっていました。 そこで分割作業を実施したのですが、どのような方針でどう対応したかを紹介します。 1ファイルで運用するデメリット そもそもどんなデメリットが発生していたのかを記載します。 全体の構造が把握しづらく、新規参画者への認知負荷が高い 行数が多すぎるため、RubyMine など IDE やエディタのパフォーマンスが落ちる 1ファイルの内部で複数の箇所を参照しているが、それぞれCommand fで該当部分を探す必要がある。そのため、見ているコードの箇所が頻繁に飛んで情報が追いづらい 実際にやったこと 方針 チーム
米OpenAIのサム・アルトマンCEOは1月6日、Xで「非常識なこと:現在、OpenAIのサブスクリプション、Pro(ChatGPT Pro)で損失が発生している」とぼやいた。「我々の予想よりはるかに多く(の回数)使われている」という。 ChatGPT Proは、同社が2024年12月5日に発表したChatGPTの新プラン。目玉のAiモデル「o1 pro mode」の高性能っぷりが注目を集める一方、月額200ドル(1ドル150円換算で約3万円)という強気な料金設定でも話題になった。アルトマン氏のポストからは、高額なサブスクプランの契約者達が、OpenAIの想定を超える勢いで使い倒している状況がうかがえる。 フォロワーの1人から「いや、(価格設定したのだから)分かってたことでしょ」と指摘されたアルトマン氏は「いいえ、価格は私が設定しましたが、ある程度の利益が得られると考えていました」と回答。
WebAPIとはソフトウェアの一部を公開し、Webサービスとして他のソフトウェアと機能を共有できるようにしたものです。通常HTTPプロトコルを用いて、データの送受信が行われます。 よってアプリケーションに必要とされる機能を、容易に組み込むことができます。自分たちでゼロから開発することなく、既存のものを活用して新しいサービスを提供することができるのです。 本記事では無料で使えるWebAPIとその概要を紹介します。また一部の制限があるAPIについても、他サービスや有料版と比較し併せて解説します。 初めて使う場合でもスムーズに導入できるよう、日本語参考記事のリンクを貼りました。 作業効率化 Google Sheets API Googleスプレッドシートのデータの読み取りと書き込みを行います。 シートの形式を変更したり、IDで管理することが可能です。 <参照> Google Sheets API
Web APIは近年急速に利用が拡大しています。APIの呼び出しが全Webトラフィックの80%以上を占めるほど、Webサービスに欠かせない技術となっている一方で、Web APIに対するサイバー攻撃も急増しており、そのセキュリティ対策はあらゆる組織で重要な課題となっています。 本書の目的は、Web APIの基本をしっかり押さえ、脆弱性が存在しないかどうかテストする方法を示すことです。攻撃者(APIハッカー)の視点から、あらゆるAPI機能と特徴を活用するための知識を学ぶことで、これから起こり得る情報漏えいの危機を防ぐことができます。まず、WebアプリケーションやWeb API脆弱性の種類などの基礎知識を学んだのち、実際に検証用ラボを構築しながら、脆弱性の調査方法、ツール、さまざまな攻撃手法などを、実践的に解説していきます。Webアプリケーションで最も一般的なAPI形式であるREST APIのセ
はじめにOpenAPI仕様に則ってREST APIの設計をする際に、値が存在しないという状態をどのように表現するかというお話です。 undefinedとはまずはじめに、ここでundefinedと言っているのは、OpenAPIの仕様において、リクエスト/レスポンスのデータ型を定義するSchema Objectのプロパティの1つであるrequiredが指定されていない状態を指します。 OpenAPIにおけるrequiredの定義を確認してみましょう。 OpenAPIの仕様を参照すると、Schema ObjectはJSON Schemaの仕様に従うと記載されています。 The Schema Object allows the definition of input and output data types. These types can be objects, but also primit
自分のPCやサーバーに設定されたIPアドレスを確認するためのAPI、「自己IPアドレス確認API」の提供を開始いたしました。 ケンオールのアカウントがあればどなたでも無償でご利用いただけます。 使用方法は、/whoami エンドポイントにリクエストを送信するだけです。 curl -s -H "Authorization: Token $YOUR_API_KEY" \ https://api.kenall.jp/v1/whoami 以下のようなレスポンスが返ってきます。 { "remote_addr": { "type": "v4", "address": "<IPアドレス>" } } 現在はIPv4のみに対応しておりますが、IPv6にも将来対応予定です。 なぜこのAPIを提供したのか 自分のPCやサーバーに設定されたIPアドレスを確認するための無償サービスは数多く存在します。なので、今さら
フロントエンドの開発時に仮の API を使いたいってシチュエーションはわりとあると思います。 そんな時に、Mock Service Worker を使うと便利だったのでまとめます。 Mock Service Worker とは? Mock Service Worker は、ネットワークレベルで API リクエストをインターセプトして mock のデータを返すためのライブラリです。API リクエストを含む処理のテストや、開発時の mock サーバーの代替として利用出来ます。 テストでの利用については以前こちらの記事でまとめました。 今回は開発時のモック API としての利用について書きます。 開発用の API というと、JSON Serverが有名ですが、Mock Service Worker では Service Worker を使ってリクエストを返すため、別プロセスでローカルサーバーを立
僕が開発しているWebフレームワークHonoは、同じJavaScriptのフレームワーク、Expressと比べられることが多いです。どちらもやれることはほぼ同じですが、HonoのアドバンテージはファーストクラスでTypeScriptをサポートしていることです。特に「RPC」機能は他のフレームワークにはなかった「TypeScriptの型でサーバーとクライアントの仕様を共有する」ことを可能にしています。今回はそのHonoのRPCについて紹介します。 どんなものか まず、どんなものかを箇条書きで共有します。 Web APIの仕様、特にインプット・アウトプットをサーバーとクライアント間で共有するためのもの OpenAPIやgRPCを使ってやりたかったことを叶えるかもしれない サーバーとクライアントをどちらもTypeScriptで書くことが大前提である 同種のものにtRPCがあるが、Honoの場合、
chakoshiとはなんぞ NTTコミュニケーションズが発表した、テキストの安全性を判定するサービスです。 つい先日発表されたばかりのようです。 簡単に試せるプレイグラウンドだけでなく、APIも無償提供されてるみたいです⭐️ ↓こういうネチネチした日本的な暴言などに反応して、テキストが安全かどうかを返してくれます。 今回はこのAPIを使ってみたいと思います。 公式ドキュメントを読んでAPIを触る まずは公式サイトから新規登録してドキュメントを読み漁ります。 手順的には以下で準備ができそうです。 プレイグラウンドの設定からAPIキーを発行する 検知項目をいろいろ設定して、カテゴリのIDも保存する(今回はデフォルト) APIドキュメントを読んだところ... 短文のテキスト用、chat用などいくつか種類があるみたいですが、まずはテキスト用のシンプルなやつから叩きます。 早速curlで叩いてみます
はじめに 外部サービスが提供しているWebAPIを利用して、自社サービスのシステム機能を作成する事も少なくないと思います。 サーバーサイドで外部APIを叩く経験が何回かあったので、 開発後に気づいたことなどを踏まえて設計・実装・運用上で気をつけていることを書いていきます。 自社で利用しているサービスのAPIを叩く話よりはエンドユーザの(OAuth2やOpenID Connectを利用)リソースに対して操作するケースの話を多めにします。 設計面 ドキュメントを読み込む 基本的な事だと思いますが、利用サービスが提供しているAPIのリファレンスを読み込むことは重要です。 各外部サービス毎に異なる制限事項が細かい所に記載されていたりするので、ドキュメントから探す癖をつけるのがお勧めです。 RateLimitが設定されているAPIは存在するか エンドユーザの利用プランに応じて挙動や制限が行われるAP
React + Unsplash APIで画像検索アプリを作ろうReactの勉強がてら、高画質な画像を配布しているUnsplashが提供しているUnsplash APIを使って画像検索アプリを作ってみました。その復習に作成手順をまとめてみたので、これからReactを勉強しよう!と思っている方の役に立てれば幸いです! この記事は動画でも解説しています。動画派の方はぜひご覧ください! 目次Unsplash とはこんなアプリを作ってみよう1. Unsplash API の開発者登録2. Vite で React アプリのベースを作成3. タイトル部分の作成(Title.jsx)4. 検索フォームの作成(Form.jsx)5. Unsplash のデータを取得6. 検索結果の表示(Results.jsx)7. 環境変数の作成(.env)完成!白黒画像の検索版も作ってみたよUnsplash とはUn
swaggerとは 古の時代、API仕様書はwordやexcelで表現され、各所に共有されるというのが一般的でした。 ですが近年、API仕様を表現する際にはswaggerを利用するのが最も効率的で、保守性が高く、世間一般で仕様化され、見やすいというのもあり、一般化されてきたのではないのでしょうか 今回はそんなswaggerの書き方について、まずは書くために覚えておきたいポイントを解説していこうかと思います! どう書いてくか swagger editorで書く 公式がWeb上に提供しているツールを利用し、すぐにでもswaggerの執筆が可能となっています! なにをインストールする必要もなく開始1秒で利用できるので、私も重宝してます なお、ページを開くとサンプルAPI仕様がすでにある状態でのスタートとなり、記法の参考などにもなります vscodeで書く 必要なプラグインをインストールし、vsc
この記事では OpenAI が提供する Vision API (GPT-4V) を使用して、LINE に投稿した画像に反応する Bot を作成した際にやったこと・やらなかったことを書いています。 Bot の実装を細かく解説はしていないので、それを知りたい方は「ChatGPT LINE」などでググると参考になる良い記事が沢山でてくるのでそちらを参照してください! モチベーション LINE Bot は昔実装したものがありグループ LINE で身の回りのあれこれを通知する君になっていました。機能としては通知のみだったので何か反応してほしいなーと思ったのが最初のきっかけでした。冬休みで時間もあったので OpenAI 周りのプロダクトを整理するためにドキュメントを一通り見てその中から Vison API を使えば画像にも反応できる Bot にもなり面白そうなことがわかったのでガッと実装することにしま
Webhooks are the foundation of modern API development. They enable us to react to changes in our systems, an incoming text message, a successful payment, or that latest pull request no matter our stack. While webhooks are universal in concept, they are unstandardized API contracts with few organizations paying attention to their design, security controls, and overall operational experience. Webhoo
この記事について 本記事は、下記のReactQuery公式ドキュメントの内容をベースに、自分なりに噛み砕いてまとめたものになります。 ReactQuery公式ドキュメント サンプルコードの一部は公式サイトから引用しています。 前置き 【呼称について】 ReactQueryはSolidやVue、Svelteへの対応を進めており、現在の正式な名称はTanStackQueryになっています。 ReactQueryの方が耳馴染みのある方も多いため、この記事では、ReactQueryと呼ぶことにします。 【内部実装のイメージについて】 以下、「内部実装のイメージ」となっているアコーディオンの箇所は、ReactQueryの内部実装が実際にそうなっているということではなく、 「こういうふうなコードをイメージすると理解しやすそう」という意図で書いています。 基本的には読み飛ばしていただいても大丈夫な箇所で
ECサイトなど、振込先の銀行口座を登録する際、銀行情報を入力しやすくするための銀行情報APIをリリースしました。 スタンダードプラン以上で利用可能なため、すでに郵便番号API等をご利用のお客様は追加料金なしでご利用いただけます。 kenall.jp 銀行一覧APIと銀行支店一覧APIがあり、全銀コードや銀行名、支店名などの情報を以下のようなJSONで取得できます。 { "version": "2023-07-27", "data": { "bank": { "code": "0001", "name": "みずほ", "katakana": "ミズホ", "hiragana": "みずほ", "romaji": "mizuho" }, "branches": { "186": { "code": "186", "name": "品川駅前", "katakana": "シナガワエキマエ",
筒井(@ryu22e)です。今月の「Python Monthly Topics」は、Web APIのテストデータを自動生成してくれるツール「Schemathesis(スキーマセシス)」を紹介します。 Schemathesisとは何か Schemathesisは、OpenAPIまたはGraphQLで書かれたAPI仕様を元にテストデータを自動生成し、実際にそれらのテストデータを使ってAPIを呼び出すことで、仕様通りの挙動になっているか検証できるツールです。 Schemathesisを使う利点は以下のとおりです。 人間が書いたテストコードでは気付けないエッジケースを見つけられる 仕様書と実装の乖離に気づくことができる Schemathesisの使い方 では、実際にSchemathesisを使ってみましょう。Schemathesisの使い方には、主に以下の2つがあります。 pytestと組み合わせ
メール、DNS、サーバホスティング、クラウドIaaSサービスと数々のサービス立ち上げに参画。近年は過去の経験を活かしてプラットフォームエンジニアリング部門を発足。100を超えるサービス/プロジェクトをホストするプラットフォームに育て上げる。市場や技術の変化を捉え、自らをアップデートし続けることがビジネスを成功に導く秘訣と考えるストラテジスト。 もう3年も前のことになりますが、Let’s Encrypt用クライアントツールであるlegoにIIJのDNSアウトソースサービス用プラグインをコントリビュートし、ごく簡単なオペレーションでワイルドカード証明書を全自動に発行できるツールを提供していました。これが思いのほか好評で、ブログをご覧になったお客様にも利用していただいていたようです。 https://eng-blog.iij.ad.jp/archives/1896 https://eng-blo
こんにちは。2023年のQA Advent Calendarを見てfreeeのQAに興味を持ち、転職。そして本年のAdvent Calendarの内の1日を担当することになりました。決済プロダクトのQAエンジニアのsunnyです。 チームではアジャイルQAのスタイルを採用しており、要求・要件定義からユーザーストーリーを作成し、開発者とやりとりしながら仕様の理解を深めつつ、テスト分析・設計を行っています。 本記事はバックエンドQAで実践してきた、runnというツールを用いた変遷と、その先の展望についてのお話です。 この記事はfreee QA Advent Calendar 2024 - Adventarの15日目です。 runnとは runn利用の変遷 フェーズその1 基本的なAPIテストの実装 フェーズその1の感想 フェーズその2 共通テストパターンの抽出 フェーズその2の感想 フェーズそ
MSW はネットワークレベルでリクエストをインターセプトする、自動テストで便利なモックサーバーです。過去記事でも紹介したとおり、スパイ(モック関数)をネットワークレベルに忍ばせることが可能です。実際に WebAPI が呼ばれた時の Payload の検証は、Jest 組み込みのモック機能では実現できない領域です。本稿は「WebAPI リグレッションテスト」を実施するための、MSW 活用方法を解説します。記事で使用しているサンプルコードはこちら。 課題の概要 Web アプリケーションページのほとんどは「1.UI を表示し/2.入力操作し/3.WebAPI 通信し/4.通信後処理を行う」という一連処理が責務です。このようなページに書かれるテストは、WebAPI 通信前後に集中しがちです。MSW を使用すると、以下の図の様に「送信後処理」まで到達可能なため、例えば「WebAPI レスポンスが返っ
Before I go further, I want to clarify that I love GraphQL as a frontend engineer. It empowers me to create. I also think GraphQL is a great choice for larger engineering organizations. Having a GraphQL server as an API layer over different micro services allows frontend engineers to just build without dealing with the complexity. For new projects, however, I will no longer be using GraphQL. My de
OpenAPI + Redoc, Docusaurus, Mermaidで始めるスキーマ・ドキュメント駆動開発 【この本について】 この本はOpenAPIを使ってドキュメントを作成する方法を学びます。 OpenAPIを使ってドキュメントを作成することで継続的な開発を行うことができ、 OpenAPI Generatorを使ってドキュメントと実装のズレをなくすことができます。 また、Docusaurusを使ってドキュメントを作成することで、 運用ドキュメントを簡単に公開することができます。 本書では以下の内容を取り扱っています。 - Docusarusでドキュメント環境を構築する - OpenAPI + Redocでドキュメントを作成する - OpenAPI Generatorで自動生成する - Prismでモックサーバーを導入する OpenAPIを使ってみたい人、社内の設計・運用ドキュメント
はじめに 株式会社tacomsでCTOやってる井上です! tacomsは複数デリバリーサービスを1台のタブレットにまとめたり、様々なPOSレジ会社と連携してオペレーションをシームレスにする「Camel」というプロダクトを提供している会社でして、プロダクトの属性上めちゃくちゃ連携している会社数が多いのが特徴です。(様々な属性の連携パートナーを合わせるとなんとざっくり30以上!!!) また、tacomsではPublicAPIも作っているため、連携先のAPIに合わせて開発するだけでなく、連携先に使ってもらう汎用APIの開発にも取り組んでいます。 外部APIを使う側、作る側の双方を開発してきた経験から、連携開発に取り組む上でのスタンスや考慮事項をまとめてみました。少しでも皆さんのお役に立てると幸いです! 外部API連携の定義 おおよそ一般的な認識だと思いますが、外部APIを 「連携先の会社が開発し
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 以下では、2025年時点で利用可能な主な「郵便番号APIサービス」を比較し、各サービスの特徴や利用方法、料金体系などを整理します。特に、2025年5月に正式リリースされた日本郵便公式の「郵便番号・デジタルアドレスAPI」およびそのデモサイトである digital-address.app も含めています。 概要 2025年5月に、日本郵便は「郵便番号・デジタルアドレスAPI」を正式リリースし、郵便番号から最新の住所情報(漢字・カナ・ローマ字)や、新たに導入された「デジタルアドレス(7桁英数字で住所を表現)」を取得できるようになりました。こ
はじめに PostmanのAPIパフォーマンステストは2023年6月にベータリリース(*)されました。この機能により、Postmanのコレクションに登録されているAPI群に対して、手軽にクライアントから負荷をかけ、APIのパフォーマンスや性能問題などの確認ができるようになりました。PostmanでAPI開発しながら素早くサクッとAPIの性能フィードバックが得られることがこの機能の魅力です。 本記事ではその使い方、注意点・制限などについて簡単にご紹介します。 Postman APIパフォーマンステストを使ってみる 事前準備 APIパフォーマンステストは、2023年6月時点でPostmanデスクトップアプリからのみ利用可能です。まだインストールしていない方はこちらよりダウンロードしてください。 次に、機能紹介で利用するサンプルAPIを用意します。ここではPublished Postman Te
Open-Meteo is an open-source weather API and offers free access for non-commercial use. No API key required. Start using it now! Accurate Weather Forecasts for Any Location Open-Meteo partners with national weather services to bring you open data with high resolution, ranging from 1 to 11 kilometres. Our powerful APIs intelligently select the most suitable weather models for your specific location
はじめに 対象読者 TL;DR OpenAPI Specificationとは OASを導入することの何が嬉しい? 1. プロダクトごとにAPI仕様書を記述するツールやフォーマットがバラバラでスイッチングコストがかかる 2. 記述量が増えると動作が重くなる 3. API仕様変更の伝達漏れの多発 導入までの課題 1. OASの調査に時間をかけすぎた 2. OASのデメリット全てに対応策を講じようとしてしまったこと 導入して1年、開発環境は改善されたのか? おわりに はじめに ラクスフロントエンド開発2課の斉藤です。 ラクスの開発するプロダクトである楽楽明細、楽楽電子保存、楽楽請求ではOpenAPI Specification(以下OAS)を採用した開発を行っています。 今でこそOASを活用した開発を行うことができていますが、導入にあたっては様々な苦労がありました。 そこで今回は 何故OASを
はじめに openai chat completions api(以下ChatGPT API)を使っているが、コストダウンやドメインに特化したfinetuneモデルを使いたいといったニーズでlocal LLMを使いたいというニーズがあると思います。 その場合に、ChatGPT APIを利用する側のアプリケーションコードはそのままで、local LLMをサーバとしてたてて、使用するLLMだけ変えるという実現方法が考えられます。 幾つか良い実現方法があったため、現状、どのようなツールを使用して実現できるか簡単にまとめました。 ところで、偉い人に「うちもChatGPT作って」と言われた時、あなたならどうしますか? (その答えの一つを「おわりに」に書きました) 解説 ChatGPT API互換サーバを作る場合、自分でlocal LLMをラップしてAPIサーバを実装してしまうことも考えられますが、そ
OpenAPI TypeScriptConvert OpenAPI 3.0/3.1 schemas to TypeScript types and create type-safe fetching.
昔々あるところに、既存のWeb APIの実装がありました。 それなりに実装を進めた後に、天の声が言いました。「OpenAPIのドキュメントを公開したい」と。 さて、あなたならどうする?っていうニッチな問いに対する一つの答えとして。 ルーターごと乗り換える? たとえば今回でいうと、元のAPIはCloudflare Workersにデプロイされてた。 ので、たとえばhonoとかitty-routerとか、OpenAPIのドキュメント生成ができるエコシステムが整ってるルーターに乗り換えてしまうという手がある。 https://github.com/honojs/middleware/tree/main/packages/zod-openapi hono好きなあなたに https://github.com/cloudflare/itty-router-openapi/ itty-router好きな
Twitterのサードパーティアプリからの接続に1月12日(現地時間)から問題が発生している件について、米The Information(リンク先は要購読)は14日、米Twitterによる意図的な接続停止だと報じた。独自に入手したTwitterの社内Slackの書き込みに基づくとしている。 社内Slackのあるチャンネルにエンジニアの1人が「サードパーティアプリの一時停止は意図的なものだ」と投稿したという。 また、13日の朝には、ある製品マーケティング担当マネジャーが、説明の準備を始めた(started to work on comms)と投稿したという。ただ、これが社内への告知なのか公へのものなのかは不明で、いつごろ実行するのかも分からないとしている。また、サードパーティアプリの一時停止の目的についても不明という。 Twitterの公式アカウントもイーロン・マスクCEOも、本稿執筆時点で
Gmail - search threads and messages, send emails, view attachments, manage labels/drafts/filters/delegation/vacation settings, history, and watch (Pub/Sub push) Email tracking - track opens for gog gmail send --track with a small Cloudflare Worker backend Calendar - list/create/update events, detect conflicts, manage invitations, check free/busy status, team calendars, propose new times, focus/OOO
はじめに タイトルの通りです 定義を設定するだけで、CRUDのRESTWebapiを作れるシステムです 似たようなもので、FirebaseのRealtimeDatabaseやFireStoreがありますが 色々と制限が多く、バリデーションが難しいようだったので作ってみました Java(Spring Boot)とMongoDBで作りました ここで使ったシステムです エンジニア・プログラマにしか使えないSNSを作ってみた話 2020/07/20 ソースコード公開 https://github.com/HawkClaws/versatileapi フロー図 フロー詳細 WebApi定義を登録 管理者用WebApiを使用し、API定義を登録します 登録例 apiUrl:APIのURL apiSecret:認証に使用するシークレットキー jsonSchema:バリデーションに使用するJsonSche
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く