2025年4月30日水曜日

android9以降のhttp通信はhttpsが必須だった

 android9以降のhttp通信はhttpsが必須だった

apkを作成してandroid実機でテストしても動作しない

はてな? エミュレーターでは動作したけど....

よくよく考えたら android9からは httpsが必須だった

.NETも iis expressの単体テストもhttpsオプションが付いていた。

世の中は httpsだった(テスト環境ではhttpで許して欲しい)

 

2025年4月25日金曜日

telerik kendoreact 実行環境って難しい

 telerik kendoreact の実行環境を作成して見た

npm audit後、npm startで実行すると色々とエラー発生

webpack と react-scriptsのバージョンが古いのが原因だった

ライブラリのバージョンって難しい

2025年4月22日火曜日

Hot Chocolateは美味しい

 データベースがSQL Server

管理プログラムをMAGICで作成、このデータをRest APIで公開するのだが

GraphQLを使って公開した

nugetには GraphQL.NETと Hot Chocolateがあった

両方とも今年に更新されているので どちらを選ぶか迷いました

Hot Chocolateの方が.NET8に対応なので こちらを選択

nugetからソリューションに追加

EF Coreと連携して SQL ServerのデータをGraphQLとして簡単に公開出来ました

SQL Server側でViewを作成後、GraphQLで公開すればClient側は

凄くシンプルになった。

 

React-AppでAzure 上のGraphQLが読めない

 現象

C#で作成した GraphQL Clientからは Azure上のGraphQLは問題なくデータ取得出来た

React-Appで作成したアプリでGraphQLをCallするとnetwork errorと表示される

 

原因

React-Appを起動する時は Http://localhost:3000

ローカル実行から他のサイト(GraphQL)をCallすると CROSでセキュリティー上NGだった

 

対応

package.jsonにproxyを追加

   "proxy": "http://azure.japaneast.cloudapp.azure.com"

GraphQLをCallしているurlwも変更

   "http://azure.japaneast.cloudapp.azure.com/graphql" -> 

// urql Clientを作成
const client = createClient({
  url: '/graphql', // Proxy経由
  exchanges: [fetchExchange],
});

fetchExchange を追加しないとリモートからデータを取得しない

 

react-appから見たら GraphQLがCROS

Web Browserの開発toolで見るとしっかりと赤字でCROSと表示されていた

CROSを知らなかったことで1日潰してしまった .....Orz



2025年4月5日土曜日

Azure Web Service + Supabase 有りでした

 Azure Web Service + Supabase 有りでした

Azure Web Serviceの無料枠がhttps以外無効だからSQliteでDBを作成する予定でしたが

SupabaseのC# ClientがRest API経由でデータを取得出来るので

ネットワーク問題を回避出来た。

JWTの認証ライブラリを作成してくれた人たちに感謝します


Supabaseの無料枠もPostgreSQLで500Mだから

容量的には1G欲しいけど、無料って考えてると500Mでも十分です

無料だと大体100Mから300M