2025年8月15日金曜日

react nativeのエラー場所

react nativeでnavigationの書き方が悪く実行時エラーを発生させた

typescriptで出力されたエラーにはエラー原因が記述されていたが

GraphQLでデータ取得時のエラートラップロジックでエラー表示されたので

最初はGraphQLの読み込みエラーと勘違いしました

まだまだ自分の未熟を感じる

 

IISでtomcatを運用 (IISでSSLを管理したいから)

 

概要

fineReportでtomcatを使用しているがSSLで運用が決まった。

tomcatにSSL設定をしても良いがIIS経由でtomcatのSSL運用を行う 

手順・方法

ここではIIS・Tomcatともにインストール済みでそれぞれは単独で動作していることを前提として進める。

1.連携に必要なIISモジュールをセットアップする。

1.1.以下のURLにアクセスしてインストーラをダウンロードする。

https://www.iis.net/downloads/microsoft/application-request-routing 

image.png

1.2.以下のURLにアクセスしてインストーラをダウンロードする。 

https://www.iis.net/downloads/microsoft/url-rewrite 

image.png

1.3.「requestRouter_amd64.msi」をインストールする。

 インストーラをダブルクリックして進めるだけでインストールが可能。再起動も不要。

1.4.「rewrite_amd64_ja-JP.msi」をインストールする。

 インストーラをダブルクリックして進めるだけでインストールが可能。再起動も不要。

2.IISマネージャーを開き、「Application Request Routing Cache」をダブルクリックする。

image.png

3.「Server Proxy Settings」をダブルクリックする。

image.png

4.「Enable proxy」にチェックを入れて、「適用」をクリックする。

image.png

5.C:\inetpub\wwwrootに、TomcatにデプロイしているWebアプリケーションと同じ名前のフォルダを作成する。

 ここでは例として「ext」とする。
image.png

6.IISマネージャーで、画面左の「フォルダ」を選択した状態で、「URL書き換え」をクリックする。

image.png

7.「空の規則」をダブルクリックする。

image.png

8.以下のように指定して、「適用」をクリックする。

image.png
 「パターン」のところを「(.*)」にする、
 「URLの書き換え」のところを「TomcatのURL/{R:1}」にするのがポイント。

8.設定は以上となるので、あとはクライアントPCからアクセスして確認する。

 これまではhttp://ホスト名:8080/ext/・・・ でアクセスしていたところを、
 http://ホスト名/ext/・・・ でアクセスできるようになる。
IISに証明書設定をすればhttpsでアクセス出来る(コレが本命)

 

tomcatのwebアプリは  webappsフォルダがルートフォルダ、このフォルダ以下がwebアプリとなる

2025年8月13日水曜日

非同期は面倒

 react nativeでgraphqlからデータを

取得する方法が非同期

このデータを取得後に処理する流れだと

とっても面倒

非同期の方が処理は早くなるので

我儘なのですが

田舎こそテレワーク

田舎こそテレワーク

昨年11月からテレワーク

通勤ラッシュ無し、8時まで寝られる

ストレスフリーですが

たま~に会社に出社が面倒

歳のせいも有る


2025年8月6日水曜日

ペットが熱中症でお亡くなりになりました

ペットが熱中症でお亡くなりになりました

当分ペットは飼えない 

今まで部屋に行くと、小さいがキキッと鳴いてくれた。

小さいけど居ないと寂しい 

2025年8月4日月曜日

Windows11用PCは、新規ノートPCになった

 現在使用しているノートPCはリース

ノートPCが今年でリース切れになるとか

もういい歳なので、15インチ位のノートPCが良いなぁ

多分、支給されるのは13インチだと思われる(安いからね)

2025年7月30日水曜日

quo vadis?

 quo vadis?

小さい時からアトピーで体中傷だらけで自分の体は好きではなかった。

昔、交通事故に遭った、複雑骨折をして20針を縫った。

病院で苦しんでいる時、母も一緒に泣いていた。

自分の体だが、自分の体では無い、借りている体なんだという、自分の心が訴えていた。 

 

マーガレットワイズさんのあしあと 

詩集なのですが、これと似たような体験を病院の時にした。

20針を縫った箇所が痛くて2日間 、うなされなくっている時に

何かが側にいる、それは決して離れないと感じました。


神様は存在するが物質では無い、物質は有限であり永遠では無いから

もし、神様が実体化したら、みんなが取り合いをして放さない。

そのようなことが無いように心の中に存在する。

 

神様は愛であり、創造主でもあるが、人格を持っている。

人間が堕落したので、神様を感じることが難しいが、最悪の時に感じやすい

何故なら最悪の場所に神様が居るから(天では無く、戦争、飢餓など最悪)

 

人類歴史で名前を残した人物は、お金持ちではない、多くの人を愛し許した実績だと思う

イエス様、マザーテレサが良い例だと思う

レオナルド・ダヴィンチは教会に背いても地球が回っていると唱えた

自分も同じように事実を立証してみたい。

 

Let's Encrypt 無料SSLは90日有効を忘れていた

Let's Encrypt 無料SSLは90日有効を忘れていた

今日、サーバに接続出来ないと開発部隊から連絡があった。

webアプリがエラーを発行するので、サーバ川でwebアプリを実行すると

問題なく動作した。

開発サーバなので、Let's Encryptを使用したのですが

90日経過したのを忘れていました。

再度 Let's Encryptで登録してSSLをインポート

androidの仮想debug環境はSSLを使用しないけど

実機でテスト時は SSL必要なので Let's Encryptのような無料SSLはありがたい

ソフトの開発のようにテスト環境は無料にしてくれるSSLってないのかなぁ 

2025年7月28日月曜日

サーバーの指定portの確認

 サーバー設定でSSLを登録する必要がある

インフラチームに仮想OSを用意してもらい

アプリの設定はこちらになったのですがSSL登録も一緒になった。

内部ネットワークではOKでしたが

外部ネットワークでは80、443がNGでした。

サーバーのport確認をpower shellで行った

 

Test-NetConnection -ComputerName [相手のIPアドレス] -Port [確認するポート番号]

 

相手サーバ側でnetstat -a を実行すると 80,443 で listen で問題ないように見えた

power shellのコマンドで確認出来て、相手にも説明しやすかった

  

2025年7月25日金曜日

AWS DynamoDBを.NET Core(.NET9)で読み込む

AWS DynamoDBが現在 本番DBとして稼働している

上記DBのレコードを出力して次期システムのDBにデータをロードしたい

nugetから  AWSSDK.DynamoDBv2 を インストールします

サンプルソースを実行したが

AWSに接続するにはアクセスキーIDとシークレットキーが必要 

基本的なことを知らなくて、接続出来なくて右往左往しました。

実行エラーを Copilot君に読ませたら、教えてくれました

 

アクセスキーIDとシークレットキーを設定するソース

using Amazon;
using Amazon.DynamoDBv2;
using Amazon.DynamoDBv2.DataModel;
using System.Threading.Tasks;
//using AWStoSQL.Models;  テーブルをクラス化
using System.Text;
using System.IO;
using System.Reflection;

//アクセスキーIDとシークレットキーをセット
string accessKeyId = "あくせすきー";
string secretAccessKey = "しーくれっときー";

// DynamoDBクライアントを初期化
var config = new AmazonDynamoDBConfig
{
    RegionEndpoint = Amazon.RegionEndpoint.APNortheast1 // 例: us-east-1
};
var client = new AmazonDynamoDBClient(accessKeyId, secretAccessKey, config);

// DynamoDBから全件取得
var context = new DynamoDBContext(client);
var items = await context.ScanAsync<テーブルクラス>(new List<ScanCondition>()).GetRemainingAsync();

// CSV出力処理
var csvPath = "d:\\temp\\output.csv";
var properties = typeof(テーブルクラス).GetProperties(BindingFlags.Public | BindingFlags.Instance);

// ヘッダー作成
var sb = new StringBuilder();
sb.AppendLine(string.Join(",", properties.Select(p => p.Name)));

// データ行作成
foreach (var item in items)
{
    var values = properties.Select(p => {
        var value = p.GetValue(item, null);
        return value != null ? value.ToString().Replace(",", " ") : "";
    });
    sb.AppendLine(string.Join(",", values));
}

// ファイル書き込み
File.WriteAllText(csvPath, sb.ToString(), Encoding.UTF8);

Console.WriteLine($"CSVファイルを出力しました: {csvPath}");


ここからテーブルクラス

 using Amazon;
using Amazon.DynamoDBv2;
using Amazon.DynamoDBv2.DataModel;
using System.Threading.Tasks;
namespace AWStoSQL.Models;

[DynamoDBTable("AWSのテーブル名")]

internal class Z_Committee
{
        [DynamoDBHashKey("id")]
        public double id { get; set; }

        [DynamoDBRangeKey("bookId")]
        public string bookId { get; set; }

        public int user_Id { get; set; }
        public string title { get; set; }
        public string? created_at { get; set; }
        public string? updated_at { get; set; }
}


2025年7月7日月曜日

インプロセス ホスティングは AspNetCoreModule ではサポートされていません。

MVC C俺Projectを公開時にエラー発生

インプロセス ホスティングは AspNetCoreModule ではサポートされていません。 

 

上記のエラーが発生したら Web.configの設定を変更 

<system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
  </system.webServer>



modules="AspNetCoreModule" -> "AspNetCoreModuleV2"

 

2025年6月15日日曜日

「Web発行」でWebアプリケーションを発行する で発行出来なかった理由

 「Web発行」でWebアプリケーションを発行する

 Visual StudioからIISのWeb発行よりWebアプリを配布していたが

とある理由でweb siteを再構築することになり

IIS上にWeb配布設定を一旦削除した。

後日、web配布の設定を行い、配布すると配布出来ない。

ログを見ると、サーバ側の委譲とxxxを確認して下さい。 

※xxxは忘れました。

 

Visual Studioからの認証ボタンで認証はOK

配布先のフォルダ権限がNGかな? OKでした。

前の設定と同じにしているのに何故? 半日悩んで結果が設定ミス1か所 

Web展開の発行サーバに接続するためのURLを指定します

 

 

 

Web展開の発行サーバに接続するためのURLを指定します

今回はAzure上のサーバだったので、外部サーバ名を指定する必要があった

初期値では内部サーバ名が設定されているので、Visual Studioから

Web配布した時に発行サーバが内部名なので、配布出来なかったのでした。

サーバ設定は難しい(勘違いと思い込み)