タグ

APIに関するYassLabのブックマーク (35)

  • GitHub - gbaptista/gemini-ai: A Ruby Gem for interacting with Gemini through Vertex AI, Generative Language API, or AI Studio, Google's generative AI services.

    require 'gemini-ai' # With an API key client = Gemini.new( credentials: { service: 'generative-language-api', api_key: ENV['GOOGLE_API_KEY'] }, options: { model: 'gemini-pro', server_sent_events: true } ) # With a Service Account Credentials File client = Gemini.new( credentials: { service: 'vertex-ai-api', file_path: 'google-credentials.json', region: 'us-east4' }, options: { model: 'gemini-pro',

    GitHub - gbaptista/gemini-ai: A Ruby Gem for interacting with Gemini through Vertex AI, Generative Language API, or AI Studio, Google's generative AI services.
    YassLab
    YassLab 2025/07/14
    “A Ruby Gem for interacting with Gemini through Vertex AI, Generative Language API, or AI Studio, Google's generative AI services.”
  • Goで作られたシステムをRuby on Railsに移植しています - STORES Product Blog

    STORES でエンジニアをしている片桐です。 STORES では店舗運営に関するさまざまなプロダクトを提供しています。これらのプロダクトは元々別の会社で運営されてきた完全に異なるプロダクト群で、アカウント体系から全く異なるシステムになっていました。近年はこれらのシステムを格的に統合する取り組みを進めてきており、その中で統合のためにいくつかのシステムが新たに作成されてきました。 ある程度統合が進み、うまくいったところ・いかなかったところが見えてきた中で、これまでに作ったシステムの技術選定・システムの役割に対する課題感が見えてきました。 現在弊社ではこの課題を解決していくプロジェクトを進めています。その中の1つで、Goで作られたシステムをRuby on Railsで作られたシステムに移植する作業を行なっているので、今回はそれについて紹介させていただきます。 移植元のシステムの課題 今回別シ

    Goで作られたシステムをRuby on Railsに移植しています - STORES Product Blog
    YassLab
    YassLab 2025/06/28
    "移植元のシステムの課題: 高パフォーマンス・省メモリであることのメリットを享受できていない / 一般的なweb applicationにおいては極端な高負荷にならない限り言語の遅さがボトルネックになるケースはあまり見られない"
  • RubyKaigi 2025: Ivo Keynote良すぎた by osyoyu #rubykaigi - inSmartBank

    こんにちは、osyoyuです。RubyKaigi 2025に行ってきました。 Day 2 Keynote "Performance Bugs and Low-Level Ruby Observability APIs" はプロファイラおたくの自分にとって実に心躍るセッションでした。地上最強のRubyプロファイラである ddtrace (Datadog) を作っているIvoが話してくれる!!!! Keynote Speakerが公開された瞬間の高まりをよく覚えています。当日ももちろんド最前で見てました。 最前すぎて右下が見切れてました 余談ですが、私の作っているプロファイラ “Pf2” も発表中でたびたび触れられて超うれしくなっていました。良すぎる。 ということで、人のフンドシで相撲を取るようで少々恐縮ですが、稿ではひとりのプロファイラおたく & ddtraceファンとして、Ivo Key

    RubyKaigi 2025: Ivo Keynote良すぎた by osyoyu #rubykaigi - inSmartBank
    YassLab
    YassLab 2025/04/25
    "なにがスゴイのか? (私見) - 自分の知る限り、VM型の言語でRubyほど充実した観測用API群を提供している処理系はそう多くありません(JVMぐらいでしょうか) - 「観測」のためのAPIは、処理系の実装詳細を暴き出すことが本質"
  • OWASP Top 10 API Security Risks – 2023 - OWASP API Security Top 10

    APIs tend to expose endpoints that handle object identifiers, creating a wide attack surface of Object Level Access Control issues. Object level authorization checks should be considered in every function that accesses a data source using an ID from the user. Authentication mechanisms are often implemented incorrectly, allowing attackers to compromise authentication tokens or to exploit implementa

    YassLab
    YassLab 2024/12/12
    "Broken Object Level Authorization - APIs tend to expose endpoints that handle object identifiers, creating a wide attack surface of Object Level Access Control issues. Object level authorization checks should be considered in every function that accesses a data source using an ID from the user.”
  • 令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io

    Intro CSRF という古の攻撃がある。この攻撃を「古(いにしえ)」のものにすることができたプラットフォームの進化の背景を、「Cookie が SameSite Lax by Default になったからだ」という解説を見ることがある。 確かに、現実的にそれによって攻撃の成立は難しくなり、救われているサービスもある。しかし、それはプラットフォームが用意した対策の質から言うと、解釈が少しずれていると言えるだろう。 今回は、「CSRF がどうして成立していたのか」を振り返ることで、当にプラットフォームに足りていなかったものと、それを補っていった経緯、当にすべき対策は何であるかを解説していく。 結果として見えてくるのは、今サービスを実装する上での「ベース」(not ベスト)となるプラクティスだと筆者は考えている。 CSRF 成立の条件 例えば、攻撃者が用意した attack.examp

    令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io
    YassLab
    YassLab 2024/10/26
    “今回は、「CSRF がどうして成立していたのか」を振り返ることで、本当にプラットフォームに足りていなかったものと、それを補っていった経緯、本当にすべき対策は何であるかを解説していく。”
  • Rails APIモードでDevise Token Authがうまく動かない!?解決までの道のり - Qiita

    最近RailsAPIを作ろうと思って、Rails APIモードとDevise Token Authを使ってみたんですが、思わぬところでつまづいてしまいました。今回は、その問題を解決するまでの過程を、私なりにまとめてみました。 最初の状況 まず、こんな感じでプロジェクトを始めました: rails new my_api --apiAPIモードのRailsプロジェクトを作成 Gemfileにgem 'devise_token_auth'を追加 bundle install を実行 Devise Token Authの設定を行う ここまではスムーズに進んだんですが、rails s でサーバーを立ち上げて、routesを確認しようとブラウザから http://localhost:3000/rails/info/routes にアクセスしたら

    Rails APIモードでDevise Token Authがうまく動かない!?解決までの道のり - Qiita
    YassLab
    YassLab 2024/07/15
    “参考にしたサイト: Rails Guides: APIモードについて”
  • railsはapiガイドを見るのが一番良いかも

    けっこうガイドにも書かれているやん ガイドの方がわかりやすいから先にこっちを見て、足りなかったらapiドキュメント読むのが良さそう

    railsはapiガイドを見るのが一番良いかも
    YassLab
    YassLab 2024/06/05
    “けっこうガイドにも書かれているやん https://railsguides.jp/active_record_querying.html#条件 ガイドの方がわかりやすいから先にこっちを見て、足りなかったらapiドキュメント読むのが良さそう”
  • https://x.com/koichik/status/1796778428240416769

    YassLab
    YassLab 2024/06/01
    “GitHubにShopifyという2大Public GraphQL APIに関わってきたMarc-André Giroux氏でさえGraphQLはPublic APIで使うべきではないと考えてるのか…… むしろそれらに関わってきたからこそ、なのかな”
  • スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog

    こんにちは。SREのkyontanです。Rubyが大好きなのでRubyの話をします。ちなみにリクルートはRubyKaigi 2024へGold Sponsorとして協賛しています! *1。ぜひ沖縄でお会いしましょう。 これはあるアプリケーションのメモリ消費量を示すグラフなのですが、まさかgemを入れ替えるだけでこんなに嬉しい変化が見られるとは思っていませんでした。今日はそんなgemの話をします。 話は遡って2023年4月のある日、インターネットを眺めていたところ、ShopifyがpitchforkというOSSを公開したという情報が目に留まりました。 調べてみると、どうやら著名なRackサーバー実装の1つであるunicornの派生版であり、メモリ使用量の削減に特化しているらしいのです。 github.com これはスタディサプリ小中高のあのリソースドカいマイクロサービス第一位である api

    スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog
    YassLab
    YassLab 2024/04/02
    "松本で行われたRubyKaigi 2023に参加した際にはAfter Partyでbyroot氏とも対面で会話し、多分そのワークロードだとうまく動くと思う、みたいな会話 / 先は長そうだ……と思いつつpitchforkにissueを立ててみると、なんと40分で解決"
  • RESTful APIの記述標準化を目指す「Open API Initiative」をマイクロソフト、Google、IBMらが立ち上げ。Swaggerをベースに

    RESTful APIの記述標準化を目指す「Open API Initiative」をマイクロソフト、Google、IBMらが立ち上げ。Swaggerをベースに 10年以上前、XMLの登場に続いてXMLベースのAPIを記述する標準フォーマット「WSDL」が提唱されました。 WSDLにはAPIの仕様がマシンリーダブルな形で記述されており、APIを呼び出すためのプロトコルやデータフォーマットをあらかじめ知ることができます。WSDLを利用することで、APIをコールするためのコードを自動生成することが可能でした。 しかしXMLベースのAPIは期待されたほど普及せず、現在ではよりシンプルなRESTful APIが事実上の標準となっています。 そしてRESTful APIのためのWSDLとも言うべき、RESTful APIのインターフェイスを記述するための標準フォーマットを推進する団体「Open AP

    RESTful APIの記述標準化を目指す「Open API Initiative」をマイクロソフト、Google、IBMらが立ち上げ。Swaggerをベースに
    YassLab
    YassLab 2024/01/15
    "RESTful APIのインターフェイスを記述するための標準フォーマットを推進する団体「Open API Initiative」が、The Linux Foundationの協力のもとでMicrosoft、Google、IBM、Intuit、PayPal、3Scale、Apigee、Capital One、Restlet、SmartBearらによって結成"
  • YouTube Embedded Players and Player Parameters  |  YouTube IFrame Player API  |  Google for Developers

    Stay organized with collections Save and categorize content based on your preferences. Overview This document explains how to embed a YouTube player in your application and also defines the parameters that are available in the YouTube embedded player. By appending parameters to the IFrame URL, you can customize the playback experience in your application. For example, you can automatically play vi

    YassLab
    YassLab 2023/12/30
    “アプリケーションに YouTube プレーヤーを埋め込む方法と YouTube 埋め込みプレーヤーで使用できるパラメータの定義を紹介 / IFrame URL にパラメータを追加すると、アプリケーション内での再生方法をカスタマイズできます”
  • X(Twitter)にバッキバキに打ちのめされて始まった2023年が終わりそうなので今年をいろいろ総括する話|Togetter(トゥギャッター )

    みなさん、こんにちは。Togetterを運営するトゥギャッター社の代表のyositosiです。2023年も年末で仕事納めということで、今年を振り返るコンテンツを残しておこうと思います。主にXとネットメディアを取り巻く話題を中心にお届けします。 1月:サードパーティー製Twitterクライアントの一斉締め出しTwitterが他のSNSに比べて、圧倒的に優れていた点に、機能の大部分をAPIという形で解放して、多くの開発者が優れた関連アプリを作れたことにあると思います。特に、その初期においては、ガラケーやスマホ向けのアプリはTwitterオリジナルではなく、第三者が作ったアプリで支えられていました。 その後、公式のアプリとして買収されたものもありましたが、引き続き多くの非公式アプリが、ユーザのTwitter体験をそれぞれに最適化していたのは間違いないと思います。 とはいえ、体の機能追加とともに

    X(Twitter)にバッキバキに打ちのめされて始まった2023年が終わりそうなので今年をいろいろ総括する話|Togetter(トゥギャッター )
    YassLab
    YassLab 2023/12/29
    "その他のメディアを見ても、その広告枠の数や貼り方を見れば以前に比べて厳しい経営にあるであろうことは手に取るようにわかります。ネットワーク広告の事業者や広告に依存している企業の決算を見ても惨憺たる状況"
  • Gyazo

    OverviewThe Gyazo API can be used in a wide array of apps to upload new images, show a Gyazo user’s images, and more. It provides a RESTful API for HTTP requests and returns a response in JSON. This should be familiar to anyone who has used major APIs before such as Amazon S3 and Twitter. Sample$ curl -i https://upload.gyazo.com/api/upload -F "access_token=YOUR_ACCESS_TOKEN" \ -F "imagedata=@/home

    YassLab
    YassLab 2023/12/28
    “GyazoAPIではHTTPリクエストによるRESTfulなAPIを提供し、JSON形式のレスポンスを返すので、TwitterやAmazonS3などのAPIを触ったことがある方なら馴染みのある形式ですぐにお使い頂けます!”
  • 【Rails】(メモ)React + Rails(API)でよく考えずに skip_before_action :verify_authenticity_token するのは危なそう - my_back_pages

    React + Rails(API)構成でのアプリ開発について学習している中で、下のようなコードと出会いました。 # app/controllers/application_controller.rb class ApplicationController < ActionController::Base include DeviseTokenAuth::Concerns::SetUserByToken skip_before_action :verify_authenticity_token end RailsのCSRF攻撃対策 Railsは、CSRF攻撃対策のためのトークンを生成し、セッションで_csrf_tokenというキーでユーザーに保持させる。 デフォルトでは、rails newで自動生成されるビューであるapplication.html.erb上のメタタグ<%= csrf_me

    【Rails】(メモ)React + Rails(API)でよく考えずに skip_before_action :verify_authenticity_token するのは危なそう - my_back_pages
    YassLab
    YassLab 2023/12/06
    “トークンを自動生成するビューがないのであれば、「トークンを生成してクライアント側に渡す -> 受け取ったクライアントは以後そのトークンをリクエストにのっける」という仕組みを自前で作る必要がある”
  • CoderDojoとOSS: 子どもたちの未来を形作るための小さな一歩|高玉 広和

    CoderDojo Advent Calendar 2023 2日目の記事です。 2023年をふりかえってみて、一番ワクワクした体験を共有します。 大人にも学びがあるCoderDojoCoderDojoは非営利のプログラミングクラブです。CoderDojoを略して道場、道場に集まる子どもたちをニンジャ、サポートする大人たちをメンターと呼びます。私はプログラミング教育に興味があり、2023年6月にメンターとしてはじめて参加しました。 メンターの役割はプログラミングを教えることではありません。メンターの役割と心得はCoderDojo吉祥寺のメンターをする人へにまとまっています。コンピューターはガチャガチャいじっても意外に壊れません。ニンジャが試行錯誤を繰り返すうちに、自分なりの解決策を見つけることもあります。自分の工夫で動かすことができた!という貴重な成功体験を、横から奪ってはいけません。私は

    CoderDojoとOSS: 子どもたちの未来を形作るための小さな一歩|高玉 広和
    YassLab
    YassLab 2023/12/02
    "自分のためにCoderDojoを楽しもうと思い自分のためにカレンダーを作りました / その楽しみを他の人にも / 結果的にCoderDojo JapanのイベントAPIを進歩 / こうした小さな貢献の積み重ねが世界を良くしているのだと信じています"
  • Use Cases, Tutorials, & Documentation

    <g> <g> <defs> <rect id="SVGID_1_" x="-468" y="-1360" width="1440" height="3027" /> </defs> <clippath id="SVGID_2_"> <use xlink:href="#SVGID_1_" style="overflow:visible;" /> </clippath> </g> </g> <rect x="-468" y="-1360" class="st0" width="1440" height="3027" style="fill:rgb(0,0,0,0);stroke-width:3;stroke:rgb(0,0,0)" /> <path d="M13.4,12l5.8-5.8c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0L12,10.6L6.2

    Use Cases, Tutorials, & Documentation
    YassLab
    YassLab 2023/10/30
    "Find the right access for you / Free - For write-only use cases and testing the X API / Rate limited access to v2 posting and media upload endpoints / 1,500 posts per month - posting limit at the app level / 1 app / Login with X / Basic - $100/month - 10,000 posts per month - read-limit rate cap"
  • GitHub - sferik/x-ruby: A Ruby interface to the X API.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - sferik/x-ruby: A Ruby interface to the X API.
    YassLab
    YassLab 2023/10/30
    "This library is a rewrite of the Twitter Ruby library. Over 16 years of development, that library ballooned to over 3,000 lines of code ... / the benefits of more code must be weighted against the benefits of less: Less code is easier to maintain. Less code means fewer bugs. Less code runs faster."
  • RESTful APIのURI設計(エンドポイント設計) - Qiita

    HTTPメソッドとURI HTTPメソッドとエンドポイントは切っても切れない関係にある。URIがリソースを表すものだとすると、HTTPメソッドは操作(何をするか)を表すものである。1つのURIのエンドポイントに異なるメソッドでアクセスすることで、情報を取得するだけでなく情報を変更したり、削除したり等のさまざまな操作を行うようにすることで、リソースとそれをどう扱うかをきちんと分離して扱うことができる。これはHTTPメソッドの来の考え方に合致しており、Web APIではこの考え方に沿って設計を行うことが主流となっている。各HTTPメソッドについては以下を参照。 リソース指向アーキテクチャの統一インターフェース URI設計 リソースにアクセスするためのURI設計の注意点 1.複数形の名詞を利用する 基的にリソースは「集合」を表すものであるため、複数形の方が適切である。また、HTTPのURIは

    RESTful APIのURI設計(エンドポイント設計) - Qiita
    YassLab
    YassLab 2023/08/25
    "ただ、URI中のドメイン名はハイフンは許可されているがアンダースコアは使えないため、迷ったらドメイン名と同じルールでURI全体を統一するためハイフンでつなげるのが望ましい / users/profileのように区切る方が望ましい"
  • OpenAI APIをRubyアプリケーションに統合する(翻訳)|TechRacho by BPS株式会社

    概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Integrate OpenAI API in Ruby applications | Saeloun Blog 原文公開日: 2023/05/22 原著者: Gowsik Vivekanandan サイト: Saeloun Blog OpenAI APIの情報は移り変わりが早いのでご注意ください。最新の情報については以下などの公式情報をご覧ください。 参考: Guides | OpenAI Help Center 参考: GPT best practices - OpenAI API なお、サンプルコードにあるOpenAI APIの出力結果の日語訳には、OpenAI APIによる機械翻訳の出力結果を使っています。 🔗 ChatGPTについて ChatGPTは、OpenAIが開発した人工知能AI)チャットボットであり、人間

    OpenAI APIをRubyアプリケーションに統合する(翻訳)|TechRacho by BPS株式会社
    YassLab
    YassLab 2023/07/31
    "回答をストリーミングする / streamパラメータには、生成される回答のチャンクのストリームを出力するprocを渡せます。これで、gistのガイドに沿ってRailsアプリ内でChatGPTのようなメッセージのストリーミングを設定できる"
  • ChatGPTのCode Interpreterはどこまでできるのか

    この記事は2023/07/09時点での内容になります。今後のChatGPTのアップデートによってこの記事での検証結果は変化する可能性があります。 先日(2023/07/07)、OpenAIの公式Twitterアカウントから以下のアナウンスがあった。 そこで自分のアカウントの設定画面を見てみると、どうもすでにCode Interpreterがすでに利用できるようだったので、何ができて何が出来ないのか遊んでみた。 ChatGPTのCode Interpreterとは そもそもこのCode Interpreterは何ができるのか、さきほどのツイートには以下のように書かれている。 It lets ChatGPT run code, optionally with access to files you've uploaded. You can ask ChatGPT to analyze data

    ChatGPTのCode Interpreterはどこまでできるのか
    YassLab
    YassLab 2023/07/14
    “Code Interpreterは外部のネットワークから隔離されたサンドボックス環境 / そのため、以下のような処理が必要なPythonのソースコードは実行出来ない / pip installなど外部ライブラリのインストール / Web APIを呼び出す”