Presentation slides: タワーズ・クエスト、バルテス、Postman 共催セミナー - 開発失敗につながる偏ったテストしてませんか? プロが教える本当に考えるべきテストバ…
あなたがさっきまで読んでいた技術的に役立つ記事は、10年後も使えるでしょうか?ほとんどの場合でいいえ はじめに 短期的に効果的な手法や知識は、ソフトウェア開発の分野において、急速に価値を失う傾向があります。この現象は、私たちが何を重点的に学ぶべきかを示唆しています。最も重要なのは、第一に基本的な原理・原則、そして第二に方法論です。特定の状況にのみ適用可能な知識や即座に結果を出すテクニックは、長期的には有用性を失う可能性が高いです。これは、技術や手法が時間とともに進化し、変化していくためです。 learning.oreilly.com 「API Design Patterns」は、このような考え方を体現した書籍です。しかも480 ページもあります。本書は単なる手法の列挙ではなく、Web APIデザインの根幹をなす原則と哲学を探求しています。著者のJJ Geewax氏は、APIを「コンピュータ
Hanabi.REST AIにHonoJSのバックエンドを書かせて遊ぶ、Hanabi.RESTというサービスを一般公開します。それに際して、この記事では、Hanabiの紹介と簡単に技術スタックを解説していきます。 皆さんは、AIがプロンプトからUIを生成する、V0というサービスをご存じですか?僕はあれを見たときに、ある妄想が膨らみました。 「V0のAPI版があれば、プロンプトからWebアプリケーションを作れるやん!!」と。 当初はハッカソン用の小プロジェクトとして始めましたが、想定以上に面白い結果が得られたため、開発を継続することにしました。技術的な制約、様々な黒魔術による不安定な挙動、LLMの劣化など、数多くの壁を乗り越えながら、約半年をかけてようやくリリースに至りました!! 次のリンクから実際にAIが生成したTwitter風のAPIを試すことが出来ます! また、会員登録すれば誰でもAP
jp-postal-code-api https://github.com/ttskch/jp-postal-code-api 日本の郵便番号から住所のデータを取得できるWeb APIです。 GitHub Pagesを使用して静的なJSONファイルとして配信している ため、可用性が高いのが特徴です。また、オープンソースなのでクライアントワークでも安心してご使用いただけます。もしリポジトリの永続性や GitHub Pagesの利用制限 が心配な場合は、ご自由にフォークしてご利用ください。 日本郵便によって公開されているデータ を元に住所データのJSONファイルを生成して配信しています。JSONファイルには日本語表記・カナ表記・英語表記の住所データが含まれています。ただし、以下の注意事項があります。 大口事業所個別番号の住所データは以下のように出力されます(元データ の内容がそうであるため)
はじめに こんにちは、ZOZOTOWN開発本部アプリバックエンドブロックの髙井です。 私達のチームでは、レガシーとなっているZOZOTOWNアプリ用API(以下、レガシーAPIと呼ぶ)のリプレイスに2023年から着手しています。リプレイス対象となるレガシーAPIは規模が大きいので、フェーズで区切り、段階的にリプレイスを進めています。区切られた各フェーズは、フェーズ1、フェーズ2といった形で呼び分けており、フェーズごとにリプレイス対象とするエンドポイントを設定しています。一方で、事業案件や他マイクロサービスのリプレイスが並行して行われるため、フェーズごとにリプレイス計画を柔軟に調整してきました。 本記事ではレガシーAPIのリプレイスについて、フェーズ3までを担当者が背景と課題を踏まえつつ紹介していきます。 目次 はじめに 目次 背景 フェーズ1 課題 1. リプレイス先APIの開発が初めて
Intro CSRF という古の攻撃がある。この攻撃を「古(いにしえ)」のものにすることができたプラットフォームの進化の背景を、「Cookie が SameSite Lax by Default になったからだ」という解説を見ることがある。 確かに、現実的にそれによって攻撃の成立は難しくなり、救われているサービスもある。しかし、それはプラットフォームが用意した対策の本質から言うと、解釈が少しずれていると言えるだろう。 今回は、「CSRF がどうして成立していたのか」を振り返ることで、本当にプラットフォームに足りていなかったものと、それを補っていった経緯、本当にすべき対策は何であるかを解説していく。 結果として見えてくるのは、今サービスを実装する上での「ベース」(not ベスト)となるプラクティスだと筆者は考えている。 CSRF 成立の条件 例えば、攻撃者が用意した attack.examp
普段何気に使っているPostman。最近まで「手軽にGUIで疎通を試せて、設定を共有できてべんり〜」くらいで使っていました。 けどふと「実はもっと便利な機能があるのでは?」と思って調べてみたところ、色々出てきたのでせっかくなのでシェアしたいと思います。 たまたまですがちょうど10選! 地味に便利な機能10選 VSCode拡張 PostmanにはVSCode拡張機能があります。 インストールするだけで、VSCodeのサイドバーから利用可能です。 日本語設定 日本人なので日本語で使いたい。 右上の歯車→Settingsから以下の通り選択することで日本語化が可能です。 変数の定義 複数のAPIで同じ値を使いたい場合があるとします。例えばテスト用のユーザーIDなどです。 Postmanではそんな値をAPIファイルに逐一ハードコードする必要はなく、変数に保存することが可能です。 Postman Ec
はじめに こんにちは。データサイエンスチームYAMALEXのSsk1029Takashiです。 最近はOpenAIに日本支社が出来て、日本語対応が加速するというニュースにわくわくしています。 今回はそんなOpenAIから発表されたBatch APIという機能が便利、かつお得な機能だったのでどのように使えるのか試してみます。 Introducing the Batch API: save costs and get higher rate limits on async tasks (such as summarization, translation, and image classification). Just upload a file of bulk requests, receive results within 24 hours, and get 50% off API pri
はじめに 対象とする読者について 本記事の対象者としては以下のような人を想定しています。 C#でこれからWin32APIを使ってみたい。 C言語のことがあまりよく分かっていない。 今までは適当に使っていたので一度きちんと理解したい。 自分が同じような状況であったため、一から調べて整理してみました。自分が理解した順番や内容で記載することで、また、具体的な使用例によってできることの広さや動作を感じ取ってもらうことで、理解の助けになればと思っています。 但し、分かっている人からすると冗長な説明になっている部分や好ましくない内容、正確性に欠ける内容などもあると思います。実際に使用する場合はその点にご留意願います。 Win32APIについて Windows API - Wikipedia Microsoft Windowsのシステムコール用APIのこと。特に32ビットプロセッサで動作するWindow
はじめに Rust と フレームワーク axum を使って、API サーバーを実装してみました。 対象読者 Rust で API サーバーを実装したい人 Rust で DDD を実装したい人 説明しないこと Rust の基本的な文法 DDD の基本的な考え方 使用クレートの使い方 依存の方向 今回の作成する、アーキテクチャの依存関係は、上記のようになります。 上記の依存関係を頭の片隅に置いて、記事を読み進めていただけると、理解が深まると思います。 インフラストラクチャレイヤーは、アプリケーションレイヤーと依存しないことが重要です。 いざ、実装 仕様を決める 今回は、大学が、サークルを管理するシステムを作ることにしました。 メンバーを追加できる 4 年生は、追加できない メンバーを削除できる オーナーは削除できない 4 年生は、卒業する サークルは最低 3 人以上でないと、活動できない サー
はじめに COUNTERWORKSバックエンドエンジニアの伊藤です。 この記事ではAPIドキュメント分割の知見を紹介します。 弊社では OpenAPI を使用したスキーマ駆動開発を採用しています。 1ファイルで管理していたところ、25000行を超える行数となり管理コストが高くなっていました。 そこで分割作業を実施したのですが、どのような方針でどう対応したかを紹介します。 1ファイルで運用するデメリット そもそもどんなデメリットが発生していたのかを記載します。 全体の構造が把握しづらく、新規参画者への認知負荷が高い 行数が多すぎるため、RubyMine など IDE やエディタのパフォーマンスが落ちる 1ファイルの内部で複数の箇所を参照しているが、それぞれCommand fで該当部分を探す必要がある。そのため、見ているコードの箇所が頻繁に飛んで情報が追いづらい 実際にやったこと 方針 チーム
TL;DR エラーハンドリングを行う目的 エラーハンドリングが適切に行われているとどう嬉しいか 1. エラーの発生原因が分かる 2. レスポンスステータスを型安全に出し分けることが可能になる どうエラーハンドリングを行うのか 実装方法 エラー型の定義で気を付けるべきポイント なぜanyhowを利用しないのか エラーハンドリングを行う上で持っている課題感 Drawer Growth グループ バックエンドエンジニアの中野です。今回は、私が所属するチームで gRPC API を開発する際に実践している Rust でのエラーハンドリングについて紹介していきます。 TL;DR エラーの発生原因がわかるようにエラー型を定義することが大切。 anyhow は使わずに自前のエラー型を定義して利用する。 エラーハンドリングを行う目的 そもそもなぜエラーハンドリングを行う必要があるのでしょうか。私が所属する
スーパーマリオメーカー2は2019年6月28日にNintendo Switch向けに発売されたゲームで、全世界で842万本を売り上げるほどの大ヒットを記録しました。Nintendo Switch Onlineを利用することで世界中のユーザーに向けてコースを投稿したり、投稿されたコースを遊んだりすることが可能ですが、そうした通信に用いられるAPIは全て解析済みであることが明らかになっています。 Mario Maker 2 API https://tgrcode.com/posts/mario_maker_2_api Mario Maker 2 Datasets https://tgrcode.com/posts/mario_maker_2_datasets 任天堂はマリオカート8やスプラトゥーン2などWii U以降のゲームの多くでゲームとサーバーとの通信にNEXと呼ばれるプロトコルを使用して
コンテンツデリバリーネットワーク(CDN)サービスを基盤に、各種のクラウド型セキュリティサービスを手掛けるアカマイ・テクノロジーズでWebセキュリティの動向を追う中西一博氏が、非常に発見が難しくなっているWeb攻撃の実態と手口を暴き、その対策について解説する。 以前の連載:迷惑bot事件簿 アプリのマイクロサービス化とAPIの関係 世界中のWeb通信を中継しているAkamai Technologies (以下 Akamai)が取り扱う通信の8割以上は、すでにAPIの通信が占めている。 APIを利用するスマートフォンやブラウザアプリが普及の後押しをしているのは間違いないが、近年ではサーバ側のマイクロサービス化(あるシステムを小規模なシステムを組み合わせて開発する手法)の影響も大きい。 日本も同様だ。商用のWebアプリケーション開発者に話を聞くと「いま開発中のWebアプリやスマホアプリのサーバ
フィーチャーフラグAPIの標準化を目指す「OpenFeature」がCloud Native Computing Foundationのインキュベーティングプロジェクトに昇格 KubernetesやContainerdなどクラウドネイティブ関連ソフトウェアの開発をホストするなど、クラウドネイティブの普及や推進のための団体「Cloud Native Computing Foundation」(CNCF)は、フィーチャーフラグAPIの標準化を目指す「OpenFeature」がこれまでのサンドボックスプロジェクトから、新たにインキュベーティングプロジェクトに昇格したことを発表しました。 The CNCF TOC has voted to accept OpenFeature as a CNCF incubating project! Congratulations @OpenFeature ht
昔々あるところに、既存の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好きな
法律や政省令等のデータを提供する法令API の高度化の一環で、法令APIの機能拡張のプロトタイプ(法令APIプロトタイプ)を開発しました。 開発した法令APIプロトタイプについて、法令データを利用される方のご意見を募り、また新規サービスの創出を促進すべく、2023年10月24日(火)から2023年11月30日(木)までの期間で法令APIプロトタイプ公開テストを実施しました。当期間内で、法令APIプロトタイプの環境・具体的な仕様・サンプルコードを公開しました。 今回の取組を通して、法令APIプロトタイプの使い勝手やニーズ等、貴重なご意見を頂きました。ご意見については改善への参考にさせていただくとともに、今後も、法令API機能拡張等の検討を継続していきます。 公開テスト期間2023年10月24日(火)から2023年11月30日(木)まで ※終了しました 法令APIプロトタイプの概要公開テスト期
アプリケーション開発でマイクロサービスが用いられる際、APIで接続・統合する場合がほとんどですが、APIだけで成り立つようなマイクロサービスにおけるAPI設計の方法はあまり深掘りされてきませんでした。 本書では堅牢で運用・保守に適したマイクロサービスAPIを設計・実装するためのテクニックを解説しており、REST APIとGraphQL APIの両方を取り上げてどのように設計すればよいのかを説明しています。 例はPythonが使われていますが、どの言語でも機能する原則とパターンに従っているので、Python以外の言語を利用している方でも心配ありません。マイクロサービスAPIの構築手法に自信がない方や、どうすればよりよい構築ができるのかを知りたい方におすすめです。 目次 Part 1 マイクロサービスAPIの概要 第1章:マイクロサービスAPIとは何か 第2章:基本的なAPIの実装 第3章:マ
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": "シナガワエキマエ",
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く