2025年5月26日月曜日

せせらぎの里 町田市自然休暇村

 せせらぎの里 町田市自然休暇村

長野県佐久郡川上村に有る

町田市民ならキャビンで1泊1800円のリーズナブル

本館に大浴場があり、朝6時から夜21時まで入れる

浴場に薬石があり、ラジウム鉱石らしく、増冨温泉 に近い効果があるかもと

張り紙がありましたが、十分効果は有ると思います。

お湯は優しいし、入湯後はポカポカでした。

増冨温泉より、こちらの方が良い(増冨温泉のお湯が温いのです)

上川村は水道が無いので、山の水を浄水しているので

水がとてもおいしいです。

キャビンはwifiと電波が届かないので、デジタルデトックスにもなります。

朝からお風呂に入れるので十分贅沢させてもらいました。

2025年5月13日火曜日

react-native 難しい

 React-nativeが難しい

現行version が 0.76.2

最新が0.79.2

2つ以上version違いなので、最新にUPしたいが

react-fast-imageが 0.79で非推奨になっていた

画面回りのコンポーネントが新しいversionで非推奨は辛い

OSSだから仕方がない

無料で公開してくれているんだから、こちらでコンポーネントを合わせるしか無い

 

telework用テーブル

 telework用テーブルが昨日届いたので組み立てしました。

今までは娘の学習机で作業

学習机が幅90cm奥行60cm

今回購入した机が幅120cm奥行60cmで1万円

40cm広くなったので、2画面を考えたが

じじぃなので、4Kモニタにすると字が小さくて読めない問題が発覚

55インチでも文字倍率200% 文字はOKだったけど

開発画面のアイコンが小さくて見れなかった

27インチ2560x1440位の文字サイズじゃないと無理

 

2025年5月9日金曜日

SQL Serverのテーブル or ビューの定義から C#のデータアクセス用classを作成 revision2

 SQL Serverのテーブル or ビューの定義から C#のデータアクセス用classを作成 revision2

T-SQLのREAL項目を追加

 

 SELECT 'public ' +
      CASE
      WHEN UPPER(DATA_TYPE) IN ('INT')      THEN 'int'
      WHEN UPPER(DATA_TYPE) IN ('SMALLINT') THEN 'short'
      WHEN UPPER(DATA_TYPE) IN ('FLOAT')    THEN 'double'
      WHEN UPPER(DATA_TYPE) IN ('REAL')     THEN 'float'
      WHEN UPPER(DATA_TYPE) IN ('TINYINT')  THEN 'sbyte'
      WHEN UPPER(DATA_TYPE) IN ('BIT')      THEN 'bool'
      WHEN UPPER(DATA_TYPE) IN ('DATE','DATETIME')  THEN 'DateTime'
      WHEN UPPER(DATA_TYPE) IN ('CHAR','NCHAR','VARCHAR','NVARCHAR','TEXT','NTEXT') THEN 'string'
      ELSE 'xx' END +
      CASE WHEN IS_NULLABLE = 'NO' THEN ' ' ELSE '?' END +
      COLUMN_NAME +
      ' { get; set; }'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName
ORDER BY ORDINAL_POSITION


最後に CHAR(13)があって、余分な改行を削除しました

2025年5月7日水曜日

React-Nativeの単体テスト Expo GOが素晴らしい

React-Nativeの単体テスト Expo GO

npx expo start で実行する

今まで npx expo run:android でapkを作成後、実機にapkファイルをコピーして

テストを行っていた

buildするまで30分、イライラしていたら

npx expo startでmetro起動後、expo goが起動して1分足らずで単体テスト

無知、知らないって損をする、IT業界は一生勉強と感じました。

でも、50歳過ぎの勉強は面倒です、覚えられないよ

 

これをオープンソースで公開してメンテしている

Expo GOの環境を作った人たちに感謝します。


2025年5月3日土曜日

FireBaseでReact-Appを動作、SupaBaseの無料枠でWebアプリを稼働

 FireBaseでReact-Appを動作、SupaBaseの無料枠でWebアプリを稼働

副職でReact-Nativeをする必要に迫られてReactを勉強する為

FireBase Hostingの無料枠+ SupaBaseの無料枠でReact-Appを稼働させてみた

FireBaseのHostingにUPするには、TypeScriptからJavaScriptにbuild後

buildしたフォルダをfirebaseにupすることでした。

 

単体テストでnpm startを実行する時間が1分位だったのが

bun を使用したら20秒位に、これでトライ&チェック が楽になった。

 

MicrosoftもGoでtypescriptのコンパイルを作成

最初からコンバイル言語で作成したら良くね?(d言語とか)密に思っている

 

現在のが有る程度作成出来たらgithubで公開する予定です。

2025年5月1日木曜日

SQL Serverのテーブル or ビューの定義から C#のデータアクセス用classを作成

 T-SQLで作成

 

--ここからC#用classを作成
DECLARE @TableName VARCHAR(30)

SET @TableName = 'dummytable'

SELECT 'public ' +
      CASE
      WHEN UPPER(DATA_TYPE) IN ('INT')      THEN 'int'
      WHEN UPPER(DATA_TYPE) IN ('SMALLINT') THEN 'short'
      WHEN UPPER(DATA_TYPE) IN ('FLOAT')    THEN 'double'
      WHEN UPPER(DATA_TYPE) IN ('TINYINT')  THEN 'sbyte'
      WHEN UPPER(DATA_TYPE) IN ('BIT')      THEN 'bool'
      WHEN UPPER(DATA_TYPE) IN ('DATE','DATETIME')  THEN 'DateTime'
      WHEN UPPER(DATA_TYPE) IN ('CHAR','NCHAR','VARCHAR','NVARCHAR','TEXT','NTEXT') THEN 'string'
      ELSE 'xx' END +
      CASE WHEN IS_NULLABLE = 'NO' THEN ' ' ELSE '?' END +
      COLUMN_NAME +
      ' { get; set; }' + CHAR(13)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName
ORDER BY ORDINAL_POSITION
 

100近い項目の変換が面倒になった

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

2025年3月28日金曜日

Azure Web Serviceのネットワーク

 Azure Web ServiceのfreeプランでWebアプリを公開したが

仮想ネットワークを構築しないとfirewallが使えないことが判明

databaseが使えないwebアプリって、意味ないよ、とほほ

local database SQLiteが使えるからコレでしばらく運用してみる。 


皆考えていることは一緒、サーバ管理無く、Webアプリを動作する

AWSにも同じサービスがあった

Azure Web Serviceを作成する時に他のサービス接続を選択出来る

この時に 選択出来るのが Azureのdatabase service

他のdatabaseサービスは使わせてもらえない

 

2025年3月26日水曜日

supabaseを評価中

アプリ開発で開発後の運用を考えるとAWSの環境は理想的

アプリサービス、DBサービス、ストレージサービス

上記3つがあればOSの管理が不要

月に1度のWindows updateなんて運用も不要

OSSで固めたsupabaseはDBがpostgreSQL RDBなので

MAGICとも相性が良い

azureでsqlサービスを使用するだけで月5万 は、コストが高い

supabaseは月$25 約4000円 これだけの違いなら

評価して速度に問題無しなら有りだと思う

 

2025年3月13日木曜日

react native

 今度のアプリはreact nativeで作成する予定

JavaScriptが読めないからdotNet MAUIにしようとしたんだけど

既存ソースを使いたいからとなったらしい。

画面回りはwebの方が分かりやすい

back ground をd言語で記述したら怒られるかなぁ~

native compileでwebサービスを作成出来るフレームワークが知りたい。

typeScriptのwebサービスも考えたけど、コンバイル時間がjava並みだったので

対象外にしたい。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

映画 子宮に沈める

映画 子宮に沈める 本当にあった児童虐待をテーマにした話

子供が見たいといって一緒に見ていたのですが、演技と分かっているが

小さい子供の泣き声を聞いて続きが見れなかった。

昔の映画 誰も知らない 児童虐待つながりで思い出しました。


2025年3月11日火曜日

MAGIC XPA 4.10

 MAGIC XPA 4.10

installerには MAGIC XPA 4P

install folderは MAGIC XPA 4.10  正直 Web Clientで version5にしても良くね?

Web Client用がNodeを使用しているからなのか?

nodeのmoduleが必要、 nodeのmoduleのディスク容量がデカい

 SmartUXのデザイナーのEXEだけで300Mbyte

ひと昔なら フレームangular は有りでしたが

現在は react native 各OS毎にUIを作成するのが面倒

iOSなら SwiftとSwiftUI, Androidなら Kotlin, AndroidUI  WindowsはWPF

Client側のUIがOne Sourceになるだけでも楽になる(楽をしたいです)


2025年2月27日木曜日

sound bar

 去年 denonのsound barを購入

entry modelでもtvの音と違い過ぎて

感動しました。

今日 サブウーファーを追加したら

幸せになりました。

妻が音が良くなったと

夫婦で沼にハマりました

 

2025年2月6日木曜日

MAGIC XPA 4.7 Mobile App font設定

 MAGIC XPA 4.7 Mobile App font設定

開発時はfont定義は一つなのですが

テスト用MAGIC RIAサーバ上にAndroid, iOSのフォルダが作成されて

font定義が定義出来るようだ

magic.iniで指定しているfont定義を変更しても iOS側のfontが変更されなかった

もしかしてと思い、iOSのfont定義を変更したら変更された

運用的には嬉しい仕様、androidとiOSのfontをどうしようか?

思っていたから

iOSには SF-Pro Text

Androidには Noto Sans JPを使用することになった

 

2025年2月3日月曜日

MAUI Error XAGJS7009: System.InvalidOperationException

MAUI build後

 Error XAGJS7009: System.InvalidOperationExceptionが表示される

 

対応

obj、binフォルダのファイルを全て削除後、re-buildを実行


 

2025年1月27日月曜日

.NET MAUI NET9でTabbedPageが使用可能 AppShellでTabbar記述が変更

 .NET MAUI NET9でTabbedPageが使用可能

今まではAppShellでTabbar記述

AppShell不要、TabbedPageで記述するようになった

App -> AppShell -> MainPageが

App -> MainPage に変更 

MaiPageに TabbedPageの記述を行う


.NET MAUI 画像ファイル名に ハイフンは禁止 BuildがNGになる

 .NET MAUI 画像ファイル名に ハイフンは禁止

ハイフン  -> _(アンダースコア) じゃないとbuild NG

コンバイルはOKだけど、Build時にエラー表示なので、最初原因が分からなかった。