Zed Editorが優秀です。
Sakura Editorと秀丸と同じくらい 軽い
サクサク動作すると作業が 捗れば良いのですが
頭の中はシングルタスクで処理ギャップが発生しています。
Visual Studio 2026でAI機能でTabを許せば半自動コーディング
定型処理はAIは強いのを確認した今日でした。
Zed Editorが優秀です。
Sakura Editorと秀丸と同じくらい 軽い
サクサク動作すると作業が 捗れば良いのですが
頭の中はシングルタスクで処理ギャップが発生しています。
Visual Studio 2026でAI機能でTabを許せば半自動コーディング
定型処理はAIは強いのを確認した今日でした。
PCのM2.SSDがご臨終
1年前にもM2.SSDが壊れた
熱処理対策が悪かったのか?それとも寿命 5年使ったから?
2020年からテレワークが始まって 5年目 PCも5年くらいで買い替えが必要?
React NativeのAndroidのBuildを行ったら30分かかった
流石に新しいPCが欲しくなりました。
今はメモリが高いので、安くなった時に考えます。
NetSuiteの送信でRestSharpを使用しました。
最初、NetSuiteの接続が分からなかった。
相手から指定されていたのを見逃していました。
OAuth1.0とMHAC-SHA256の仕様
OAuth1.0の場合、SHA1が標準らしく、NetSuiteの送信しても
901のエラーが発生して送信出来なかった。
RestSharp version 108以降は SHA256に対応したそうで
明示的に指定すれば NetSuiteの送信出来ました。
ソースは以下
var authenticator = OAuth1Authenticator.ForProtectedResource(
consumerKey,
consumerSecret,
accessToken,
accessTokenSecret,
OAuthSignatureMethod.HmacSha256
);
authenticator.Realm = realm;
var options = new RestClientOptions(apiurl) {
Authenticator = authenticator
};
using (var client = new RestClient(options)) {
....
}
OAuthSignatureMethod.HmacSha256
SHA256を指定すればOKでした。
この設定が分からなくて、1日右往左往しました。
Gemini, Grok, CoPilot どれも指摘しなかった。
Githubの変更履歴から情報を取得しました。
ちなみに OAuth1.0 + SHA256に対応しているライブラリは
RestSharpのVersion108以降 又は Chilkat コチラは有料でした。
OAuth1.0を使用するなら OAuth2.0を採用するので OAuth1.0+SHA256の
採用案件は今後ないかなぁ。
巷でいう dbMAGICは昔からMultiPlatform
最近、ReactNativeで Android用と iOS用アプリを作成したが
One Source MultiPlatformが如何に管理が楽になることが実感出来た。
でも、Android, iOSのアプリの場合、不特定多数になるから
ライセンス料がネックになる。
Android、iOSで國愛アプリに場合はサーバライセンスだけとかじゃないと
それと画面周りのUIが乏しいから、新規アプリは難しいと感じました。
OSSでdbMAGICのような MultiPlatformって、無いんだよな
理想は Genexusのような、One Source MultiPlatformを
dbMAGICのone sourceから MultiPlatformにソース変換
各PlatformのProjectを作成してくれると嬉しい
Microsoftの.Net MAUI 、 JetBrainの KMP など、各Platform用Projectを
作成する開発ツールは存在する
昔は Windows , Mac, Linux のDeskTopが主流だったが
現在は DeskTopは Webでカバー
Androidと iOS用 アプリでMultiPlatform
昔、富士通関連でTOYOTAのシステムをBiz Browserで構築していたけど
Biz Browserの開発環境が理想的 One Source Run Anywhere
この先、One Source Run Anywhereが実装出来ないと生き残れないような感じ
GraphQLのquery
query query名 {
テーブル名 (
where: {
項目名: { eq: 値 }
}
) {
取得項目
}
}
whereのオペレーション
| eq | 指定した値と一致する(=) |
| ne | 指定した値と一致しない(!=) |
| gt | 指定した値より大きい(>) |
| ge | 指定した値以上(>=) |
| lt | 指定した値より小さい(<) |
| le | 指定した値以下(<=) |
| between | 指定した1つ目の値よりも大きく、2つめの値よりも小さい |
| contains | 指定した値が含まれる |
| notContains | 指定した値が含まれない |
| beginsWith | 指定した値で先頭一致 |
| and | すべての条件を満たす |
| or | いずれかの条件を満たす |
| not | 指定した条件を満たさない |
React Nativeを初めてtest fightにuploadしてみた
昔、MAGIC リッチをアプリにした時、xcodeおよびapp store connectなど UIが
コロコロ変わって大変だったイメージが抜けなかった。
今回、AWS+DynomoDB から Azure+SQL Severに移行
管理画面もPHPからMAGICリッチで乗り換えた。
MAGICリッチの場合、テーブル表示すれば、ほとんどノーコードで楽でした
version4以降、テーブルの項目毎にsort、filter機能が付いているので
オプションを有効するだけなので、ノーコードの機能を有効活用出来ました。
前のアプリはDynamoDBはIndexedテーブルなので、レスポンスを稼ぐため
リレーションをしないで表示用テーブルからデータ表示を行っていたらしい
マスタを修正しても表示用テーブルを更新していないからデータ不整合が発生して
不便だったらしいです。
久しぶりにJavaScript、しかも非同期処理に慣れていなくて、苦労しました
MAGICはSQLは同期なので、結果を予想しやすい。
非同期の場合、サブルーチン事に終了フラグを設置して、全ての終了フラグが完了?を判定してサブルーチン事に切り分けしました。
IOSのエミュレータではFast-Imageで画像が取得出来ないからエラー出力していたので
ビルドしてもエラーが表示されるか? びくびくしなからuploadしたら問題無しでした。
作業記録を記述します。
iOSアプリのtest Fightでテストする方法
Xcodeでテストするprojectを開いた後、menu barのproduct -> Archiveでbuild
注意点は infoタブでbuildするversion設定を行うこと
build正常終了後、archive画面からdistributeボタンでApp store connectにuploadされる
upload後、アプリに暗号を使用しているか?の回答に未使用と回答後、テストが可能
テストは登録者のみ限定出来る、相手はtest fightをインストールしてテスト召喚されたメールのurlから実行可能
AWS S3のデータをWinSCPでDownloadする
新しいサイトから転送プロトコルを Amazon S3を選択します
AWS SDKで使用するアクセスキーとシークレットキーを入力
react nativeでnavigationの書き方が悪く実行時エラーを発生させた
typescriptで出力されたエラーにはエラー原因が記述されていたが
GraphQLでデータ取得時のエラートラップロジックでエラー表示されたので
最初はGraphQLの読み込みエラーと勘違いしました
まだまだ自分の未熟を感じる
fineReportでtomcatを使用しているがSSLで運用が決まった。
tomcatにSSL設定をしても良いがIIS経由でtomcatのSSL運用を行う
ここではIIS・Tomcatともにインストール済みでそれぞれは単独で動作していることを前提として進める。
インストーラをダブルクリックして進めるだけでインストールが可能。再起動も不要。
インストーラをダブルクリックして進めるだけでインストールが可能。再起動も不要。

「パターン」のところを「(.*)」にする、
「URLの書き換え」のところを「TomcatのURL/{R:1}」にするのがポイント。
これまではhttp://ホスト名:8080/ext/・・・ でアクセスしていたところを、
http://ホスト名/ext/・・・ でアクセスできるようになる。
IISに証明書設定をすればhttpsでアクセス出来る(コレが本命)
tomcatのwebアプリは webappsフォルダがルートフォルダ、このフォルダ以下がwebアプリとなる
現在使用しているノートPCはリース
ノートPCが今年でリース切れになるとか
もういい歳なので、15インチ位のノートPCが良いなぁ
多分、支給されるのは13インチだと思われる(安いからね)
quo vadis?
小さい時からアトピーで体中傷だらけで自分の体は好きではなかった。
昔、交通事故に遭った、複雑骨折をして20針を縫った。
病院で苦しんでいる時、母も一緒に泣いていた。
自分の体だが、自分の体では無い、借りている体なんだという、自分の心が訴えていた。
マーガレットワイズさんのあしあと
詩集なのですが、これと似たような体験を病院の時にした。
20針を縫った箇所が痛くて2日間 、うなされなくっている時に
何かが側にいる、それは決して離れないと感じました。
神様は存在するが物質では無い、物質は有限であり永遠では無いから
もし、神様が実体化したら、みんなが取り合いをして放さない。
そのようなことが無いように心の中に存在する。
神様は愛であり、創造主でもあるが、人格を持っている。
人間が堕落したので、神様を感じることが難しいが、最悪の時に感じやすい
何故なら最悪の場所に神様が居るから(天では無く、戦争、飢餓など最悪)
人類歴史で名前を残した人物は、お金持ちではない、多くの人を愛し許した実績だと思う
イエス様、マザーテレサが良い例だと思う
レオナルド・ダヴィンチは教会に背いても地球が回っていると唱えた
自分も同じように事実を立証してみたい。
Let's Encrypt 無料SSLは90日有効を忘れていた
今日、サーバに接続出来ないと開発部隊から連絡があった。
webアプリがエラーを発行するので、サーバ川でwebアプリを実行すると
問題なく動作した。
開発サーバなので、Let's Encryptを使用したのですが
90日経過したのを忘れていました。
再度 Let's Encryptで登録してSSLをインポート
androidの仮想debug環境はSSLを使用しないけど
実機でテスト時は SSL必要なので Let's Encryptのような無料SSLはありがたい
ソフトの開発のようにテスト環境は無料にしてくれるSSLってないのかなぁ
サーバー設定でSSLを登録する必要がある
インフラチームに仮想OSを用意してもらい
アプリの設定はこちらになったのですがSSL登録も一緒になった。
内部ネットワークではOKでしたが
外部ネットワークでは80、443がNGでした。
サーバーのport確認をpower shellで行った
Test-NetConnection -ComputerName [相手のIPアドレス] -Port [確認するポート番号]
相手サーバ側でnetstat -a を実行すると 80,443 で listen で問題ないように見えた
power shellのコマンドで確認出来て、相手にも説明しやすかった
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; }
}
MVC の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"
「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配布した時に発行サーバが内部名なので、配布出来なかったのでした。
サーバ設定は難しい(勘違いと思い込み)