Google Sheets APIを使う – プロジェクト作成編

GoogleのスプレッドシートをAPIで操作するに当たって、まずはプロジェクトの作成までをやっていきます。
※この記事作成途中で、Cloud Consoleの画面構成変わりまくって、何度も書き直しています。
変更前に作成したプロジェクトが、修正した途端に動作しなくなったりで、大変でした。
今後も変えられると思うので、参考程度に。
Read the rest of this entry »Facebooktwitterlinkedintumblrmail

Instagramのフォロワー数をAPIで取得する

Instagramのフォロワー数取得にFacebookを使う必要が有り、両方のアカウントが必要になります。
・Facebookのアカウントが必要になります。
・Instagramのプロアカウントのみ取得可能です。プロアカウントに変更する必要が有ります。
Read the rest of this entry »Facebooktwitterlinkedintumblrmail

shopifyで注文登録されたらSlackへ通知する

前回は1日分をまとめてでしたが、今回は登録後に即Slackへ通知してみます。
Read the rest of this entry »Facebooktwitterlinkedintumblrmail

shopifyで前日の注文をSlackに通知する

そんな機会が有ったのでメモ用に。
Read the rest of this entry »Facebooktwitterlinkedintumblrmail

Firebase Genkitを試してみた

Firebase Genkit は、本番環境に対応した AI 搭載アプリの構築、デプロイ、モニタリングに役立つオープンソース フレームワークです。

今回、以下を試してみます。

  • ブラウザからFirebase Functionを呼び出し実行
  • Firebase Local Emulator Suiteを使ってローカルで開発
  • Cloud Firestore vector storeを使ってRAG(Retrieval Augmented Generation)のインデックス作成と検索を行う
  • モデルにGoogle AIのGemini ProとOpenAIのGPT-4oを使う

Read the rest of this entry »Facebooktwitterlinkedintumblrmail

iOSアプリ プライバシーマニフェスト対応について

先日iOSアプリをApp Store Connectへアップロードした際に以下のようなメールが届きました。

ITMS-91053: Missing API declaration – Your app’s code in the “アプリ名” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryUserDefaults. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code.

内容としてはApp Storeへの提出におけるプライバシー要件のアップデート(https://developer.apple.com/jp/news/?id=3d8a9yyhに関連したもので、以下のような感じです。

  • 承認される理由が必要なAPIを使用しているが、プライバシーマニフェストに理由が含まれていない
  • 今は大丈夫だが、2024年5月1日以降は新しいアプリまたはアプリの更新をアップロードする際にプライバシーマニフェストへの定義が必須になる

当然今後も継続的にアプリ更新などは行っていく予定であるため、今のうちに対応を行っておくことにしました。

行った対応

1.Xcodeでプライバシーマニフェストファイルを追加

new fileApp Privacy を選択し、Next


Targetsの必要なものにチェックを入れ、Create

2.追加したPrivacyInfo.xcprivacyにAPIの使用理由を入力

今回はメール内容にもあるように「NSPrivacyAccessedAPICategoryUserDefaults」に関して指摘されていたので、その分を入力しました。
※入力内容についてはAppleのドキュメントを参考にしています

<実際に入力した内容>

3.上記対応を行ったバージョンのアプリをApp Store Connectへアップロードして冒頭のようなメールが届くかを確認

結果

今のところ上記の対応だけでメールは届かなくなりました。
ただ、サードパーティ製のSDKにもプライバシーマニフェストが必要とのことなので、もしかすると5月1日以降アップロードした際にまた何かしらの対応が必要になってくるかもしれません。
その際は改めて対応内容などをここで紹介できればと思います。Facebooktwitterlinkedintumblrmail

postfixからGmail経由で送信する

最近何かと話題のGmailをpostfixのrelayhostに指定して、メールを送信してみます。
OSはちょっと色々と有って、CentOS6で試しました。
Read the rest of this entry »Facebooktwitterlinkedintumblrmail

バッチファイルでの曜日取得にVBScriptを使っていたのでPowerShellで置き換えたい

激震はしる!

『「VBScript」は非推奨に、将来のWindowsリリースで削除』 (https://forest.watch.impress.co.jp/docs/news/1537619.html)

な、なんだってー

Read the rest of this entry »Facebooktwitterlinkedintumblrmail

PostgreSQLのmax_connectionsとユーザごとの制限

PostgreSQLではmax_connectionsで全体の接続数を制限出来ますが、ユーザごとにも制限をする事が出来ます。
ALTER ROLE dbuser CONNECTION LIMIT 10;
-- 確認
SELECT rolconnlimit FROM pg_roles WHERE rolname = 'dbuser';
これでdbuserは10以上接続する事が出来なくなります。
制限をなくす場合は、CONNECTION LIMIT を デフォルトの -1 に戻します。
ではrolconnlimit > max_connectionsだった場合はどうなるかと言うと、max_connectionsが優先されます(設定自体は出来てしまいますが)。
なので実際は、正のrolconnlimitの合計 <= max_connections – superuser_reserved_connections で設定する必要が有りそうです。
Facebooktwitterlinkedintumblrmail

Google Domainsを使ってDANEを設定する

前回前前回MTA-STSを設定したので、今回はDANEを設定してみます。
ドメイン取得はDNSサーバを提供していて、最初からDNSSECが設定されているGoogle Domainsを使います(DNSSEC分からなくても、何もしなくて良いのは助かります)。
※提供しているDNSサーバによってはTLSAレコードを設定出来なかったりするので、他で取得する時は事前に確認が必要です。
※タイムリーな事にGoogle Domainsやめるってよ、な話が出てて、移行先でもDNSSECが最初から有効かは、分かりません。
Read the rest of this entry »Facebooktwitterlinkedintumblrmail