sango

This text briefly introduces the content in the page.
Uncategorized

無料で使える!Google Gemini APIを使って生成AIをPythonから動かす方法

はじめに 最近では、生成AIを自分のアプリケーションやシステムに組み込みたいと考える人が増えています。Googleの Gemini API を使えば、誰でも簡単に生成AIをAPIから呼び出しシステム化に活用することができます。また、Gemini APIには無料枠も用意されており、初めての方でも安心して試すことができます。 この記事では、Gemini APIの基本から、Pythonを使用した実際のコード例、応用的な使い方を紹介します。 Gemini APIとは? GeminiはGoogleが提供する大規模生成AIモデルで、テキスト生成、コード補完、画像理解など幅広い用途に対応しています。Gemini APIは、API Keyを取得するだけで、Pythonなどから簡単に呼び出すことができます。 特徴 無料枠と料金体系 Gemini APIには、無料枠(Free Tier)が用意されており、個人や小規模プロジェクトであればほとんどコストをかけずに機能を試すことができます。以下は2025年10月時点の無料枠の目安です。上限はモデル・地域・利用状況で変動する場合があるため詳細は公式ドキュメントを確認してください。 model 主な特徴 1分あたりリクエスト数(RPM) 1分あたり入力トークン数(TPM) 1日あたりリクエスト数(RPD) Gemini 2.5 Pro 高精度・汎用型。文章生成やプログラム補完に最適。 5 125,000 100 Gemini 2.5 Flash 高速処理タイプ。応答スピードを重視するアプリに。 10 250,000 250 Gemini 2.5 Flash-Lite 軽量モデル。小規模処理・チャットボットなどに適用しやすい。 15 250,000 1,000 補足:   セットアップ手順 GeminiをAPI利用する場合は、まずAPI Keyを取得し、コード上でキーを指定する必要があります。 API Keyの取得 まず、Google AI Studio にアクセスし、以下の手順でAPI Keyを取得します。 ライブラリのインストールと初期設定 以下のコードを実行して、Gemini

Uncategorized

【前編】Keycloak × Angular を使用したログイン機能付きフロントエンド環境構築

はじめに 今回の記事では、Keycloakを使ってユーザーを作成し、そのユーザー名を画面に表示できるところまでを実践していきます。 なぜ環境構築なのか? 日々の開発の中で、一番時間を取られるのは環境構築じゃないかと思います。手順書が古かったり、追加の対応が必要だったりで「手順通りにやったのにエラー!」という経験、みなさんもあるのではないでしょうか? 自分自身、環境構築には苦手意識があり、そこで今回はあえて環境構築をテーマにして苦手意識を減らしていこうと記事をまとめていこうかと思います。 ただフロントだけだと簡単すぎるかもしれないので、少し複雑さを足すためにKeycloakを組み合わせようと思います。 Keycloakってなに? Keycloakは、オープンソースの「認証・認可」を担うサービスです。ログインやユーザー管理をアプリに組み込むのではなく、Keycloakに任せることで簡単に導入できます。 例えば、社内システムで勤怠管理や経費精算ツールなど複数のサービスを使う場合、毎回ログインするのは面倒ですよね。そんな時にKeycloakを使えば「一度ログインすれば全部使える(SSO)」という仕組みが作れます。 今回の記事では細かい機能までは触れませんが、「ログイン処理をKeycloakに外注できる」ぐらいのイメージで読んでいただければと思います。 Keycloak側の設定 今回は手軽に環境を汚さないのでDockerで起動を行おうと思います。Dockerをダウンロードしていない場合は公式ダウンロードページからダウンロードをしてください。 ダウンロードが完了したらターミナルで下記を実行してください。 実行後、http://localhost:8080 へアクセスするとkeycloak の画面が表示されると思うので、Username:admin 、Password:admin でログインをしてください。※keycloak のversionは26.3.3 Realmの作成 Keycloakへログインできたら次はRealmの作成です。左側にあるメニューのManage realms→Create realmを押下後、Realm nameにdemoを入力しCreateを押下して作成完了です。 Clientsの作成 Realmの作成が完了したら次はClientsです。左側にあるメニューのClients→Create client を押下します。①のGeneral settingsはClient IDにtest-appを入力してnext②のCapability configは何も設定せずにnext③のLogin settingsはRoot URLにhttp://localhost:4200/、Valid redirect URIsにhttp://localhost:4200/*、Web originsに*を設定してSaveを押下してください。 Usersの作成 最後にUserを作成します。左側にあるメニューのUsers→Add user を押下します。Usernameにtestuserを入力してCreate作成が完了するとUser detailsが表示されるので、Credentialsタブ→Set passwordを押して任意のパスワードを設定してください。 動作確認 ここまで色々と設定や作成を行ってきましたが、そもそも「Realm」とは何なのか?とイメージが付きにくい方もいるかと思います。簡単に例えるとRealmは学校そのもので、その中で生徒(User)やクラス(Client)が管理されているイメージです。学校ごとにルールや管理者が異なるため、Keycloakに最初から用意されているmasterRealmは触らず、今回は「環境構築用の学校」を新しく設立した、という感覚で捉えると分かりやすいと思います。それでは、実際に動作確認をしてみましょう。下記をブラウザでアクセスしてみてください。※一行に繋げてアクセス ?client_id=test-app:Keycloakに登録したクライアントID&redirect_uri=http://localhost:4200/:認証後にリダイレクトするコールバックURL&response_type=code:OIDCのレスポンスタイプ&scope=openid:要求するスコープ(権限の範囲) アクセスすると作成したrealm:demoのログイン画面が表示されるので、先ほど作成したUser:testuserでログインしてみてください。 ログインが成功すると先ほど設定したhttp://localhost:4200/にリダイレクトされるはずです。 まだAngular側の設定をしていないので404になりますが、Keycloakでユーザーを作成し、そのユーザーでログインができる所まで確認できました! Angularの設定 keycloak側の設定が完了したので、連携するためにAngularプロジェクトの新規作成を行います。 Angularプロジェクトの作成 使用しているAngular CLIの情報です。 任意のフォルダ配下にプロジェクトを新規作成します。 作成したらプロジェクトに移動して起動できるか確認します。 ブラウザでhttp://localhost:4200にアクセスしてください。下記画面が表示されたら成功です。 Keycloak用のライブラリをインストール Keycloakと連携するために必要なライブラリをインストールします。

Uncategorized

Python in Excel 使ってみた

はじめに 本記事では、2024年10月に一般ユーザ向けに正式リリースされた、Excel上でPythonを実行できる機能「Python in Excel」を実際に導入して触ってみたので、導入方法や使い方をサンプルを交えながら紹介します。 Python in Excelとは 名前の通り、Excel上でPythonを実行できる機能です。セルに直接Pythonコードを記述することができ、Microsoftクラウド上で実行され、結果がワークシートに返されます。Excel操作の自動化ではなく、データ分析に重点を置いた機能です。 導入方法 導入はとても簡単です。 ・必要な設定 特にありません。Python in Excel 機能が提供されている契約プランに登録するだけで利用できます。 ・対応プラン 「Microsoft 365 Business Standard / Premium」や、「Microsoft 365 E3 / E5」などです。※2025/5 時点では「Microsoft 365 Personal」では利用不可でした。公式ホームページ(※筆者はホームページをちゃんと確認せずに「Microsoft 365 Personal」を契約してしまいました……) 使い方 ・数式タブからPython挿入 数式タブから「Pythonの挿入」を選択すると、セル内に直接コードを記述できます。 ・セルに「=PY()」記述 セルに「=PY()」と記述することで、Pythonコードを簡単に開始できます。 ・コードエディタ使用 コードエディタを使用して、より複雑なPythonコードを記述することができます。 制限 導入が簡単で、使い始めるまでのハードルが低いPython in Excel ですが、使用できる機能に制限があります。 ・ライブラリ 使用できるライブラリに制限があります。Python in Excelでは、 Anaconda※1 によって提供されている標準ライブラリのみを使用することができます。ユーザが、外部ライブラリをインストールすることはできません。 ※1 Anaconda…データサイエンスや機械学習に関する作業を効率的に行うためのPythonディストリビューション。 ・Webアクセス 外部APIや、Webサイトへのアクセスができません。インターネット経由でデータを取得するようなプログラムには不向きです。 ・戻り値 セルに記述したPythonコードの戻り値は、単純な構造に限られます。3次元配列やクラスインスタンスなどは使用できませんが、数値・文字列・DataFrame(表形式) などは使用可能です。

Uncategorized

Laravelにtymon/jwt-authでJWTトークンを導入した話

はじめに システムの内部連携のためにJWTトークンによる認証を行う必要があるとのことで、その導入をおこないました。その経緯や技術選定の際に考慮した点について共有したいと思います。 そもそもJWTトークンとは? エンジニアの方ならすでにご存じの方が多いと思います。ただ、前置きとして簡潔に概要を振り返りたいと思います。 よくあるログインの認証の仕組み JWT以外の認証だとセッションベースの認証が多いかと思います。セッションベースはユーザーがログインした場合アプリケーション側がログイン状態を覚えておき、再度サイトに訪れたときは、ログイン処理をスキップするというものです。ユーザー(ブラウザ)にはアプリケーションから発行されたセッション変数がCookieとして格納され、ユーザーがサイト訪問した際にそのCookieをアプリケーションに渡してもらうことで アプリケーションはそのユーザーがログインした状態なのかをRedisなどのミドルウェアに格納された値を参照してチェックします。 JWTは何が違うか? セッションベースと大きく異なるのは、アプリケーション側がユーザーのログイン状態を保持しないことです。どういうことか?ユーザー(ブラウザ)から渡されたCookieのトークンを検証して、問題なければ認証するというところは同じですが、保持しないという点に注目してください。まずログイン認証が行われた際アプリケーション側の秘密鍵で生成された「トークン」をユーザーに返します(CookieやHTTPヘッダに格納されるケースが多いです)。このときアプリケーションはその値をサーバー側に保持しません(ただし、ログアウトや失効管理のために保持する実装もあります)。次にユーザーが再度訪問した際は、Cookieに格納されたJWTトークンが正常のものかを検証します。具体的には、JWTトークンに含まれる署名をサーバー側の秘密鍵(または公開鍵)で検証できるため、Redisなどを参照する必要がありません。、Redisなどを参照する必要はないのです。(もちろん、各システムの実装によりますので参考程度に。) JWTトークンの構成 3つのパーツからできております。 上記要素を下記のように「.」で繋いだものがJWTトークンとなります。それぞれのパーツが各自base64エンコードされてます。 ヘッダalg: 署名のアルゴリズムtyp: トークンタイプで「JWT」固定下記jsonをbase64エンコードする 署名上記2つ(ヘッダ&ペイロード)がエンコードされた文字列({xxxx}.{xxxxx})をヘッダのアルゴリズムと秘密鍵で署名し、さらにエンコードを行います。 JWTトークンをLaravelに導入する ここまででカンの良い方なら分かると思いますが、そこまで複雑ではなく自前で実装できる範囲です。ただし、JWTはインターネット標準仕様(RFC 7519)で定義されています。この仕様を遵守できるようにするため、ライブラリ(tymon/jwt-auth)を選択しました。今回はJWTトークンの生成と検証を実装範囲として、ミドルウェアでの認証への導入までは行いません。 パッケージ導入 & 設定ファイルの生成 サンプルコード JWTトークンの生成 JWTトークンの検証 ※booleanで判定結果を返す JWTトークンの生成、復号化してのチェックなら上記のように簡潔に実装することが可能です。 まとめ 今はJWTトークンが使われることが多くなってきています。知識はあるけれど、実装したことが無いという方にとって本記事が参考になれば幸いです。自分の場合は、理解しながら進めたため実装に数日かかりました。自前で実装するもライブラリ使うのもどっちでも良いかと思いますが、意外とtymon/jwt-authで生成&検証するだけのサンプルコードがなかったので、用意してみました。またなにか発見があれば、引き続き執筆しようと思います。

Do you want to boost your business today?

This is your chance to invite visitors to contact you. Tell them you’ll be happy to answer all their questions as soon as possible.

Learn how we helped 100 top brands gain success