【SQL Server】1~500までの連番のレコードを生成する

使う機会があるか分かりませんが、テストで大量のユニークなレコードが欲しい場合とかに役に立つかも…

with allNumber as (
	/*1~500までの連番のレコード生成*/
	select 1 as no
	union all
	select no + 1
	from allNumber
	where  no < 500
)

select
  no
from allNumber

/*再帰の上限がデフォルトで100までなので、上限無し(=0)に変更*/
OPTION ( MAXRECURSION 0 )

 

 

【Windows】パソコンの起動日時を取得する

コマンドプロンプトにて「systeminfo」を入力してEnterキーを押下する。

プロセッサ情報を読み込んでいます… などがしばらく表示されるので終わるまで待つ。

完了後、「システム起動時間: 2021/11/17, 18:46:02」というように表示される。

これ以外に以下のような情報も取得できる(一例)

  • ホスト名
  • OS名
  • OSバージョン
  • 最初のインストール日付
  • プロセッサ
  • BIOSバージョン

【SQL Server】ビット演算(AND,OR)を行う

/*
 1111111100000000 FF00(16進数)
 1110101011011011 60123(10進数)
--------------------------------------
 1110101000000000 59904(10進数) AND演算結果
 1111111111011011 65499(10進数) OR演算結果
 */
select
	CAST(0xFF00 as int) & 60123 as [AND演算],
	CAST(0xFF00 as int) | 60123 as [OR演算]

&(AND)と|(OR)の記号を利用する。

上記の例では、見やすいように16進数で記載する例も併せて載せている

 

【C#】XMLの予約語をエスケープする&元に戻す

エスケープする際には

System.Security.SecurityElement.Escape("<aaa>");

を利用する。

エスケープされた文字列を元に戻すには

System.Net.WebUtility.HtmlDecode("&lt;aaa&gt;");

を利用する。

違うクラスなので不安になるが、少なくともエスケープが必要な次の4つの文字

< > ” ‘ 

で問題なくデコードされた。

 

【curl】パラメータをPOSTして、その結果をファイル出力する

コマンド

curl -o output.txt -w "ステータスコード:%%{http_code}\r\n" -X POST -F "param1=aaaa" -F "param2=bbbb" http://localhost/hoge

コマンド実行結果

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6691  100  6333  100   358   6333    358  0:00:01 --:--:--  0:00:01 30552
ステータスコード:200

あと、-oで指定したファイルがカレントディレクトリに出力される。

 

補足

  • 「-w “ステータスコード:%%{http_code}\r\n”」は記載しなくても大丈夫です。省略すると、実行結果の「ステータスコード:200」の部分は表示されない。
  • 実行結果のCurrentSpeedなどの情報が不要であれば「-s」を付ければ、非表示になる。

【Android Studio】ApkProvisionException: Error loading build artifacts from:~エラーが発生する

事象

作成したアプリを起動させようと、再生ボタン(Run ‘app’)をクリックしても、すぐに再生ボタンのマークに戻ってしまう。

コンソール出力を見ると、以下のように記載されていた。

Unable to determine application id: com.android.tools.idea.run.ApkProvisionException: Error loading build artifacts from: C:\temp\xxxxx\app\build\outputs\apk\debug\output-metadata.json

原因不明のため、Android StudioのメニューのFile→Invalidate Caches / Restartをクリック。以下のメッセージが表示されるので「Invalidate and Restart」をクリック。※Android Studioが再起動されます!

再起動後、普通にアプリが起動するようになった。

Eclipseの時もクリーンを使うタイミングが何度かあったので、こうなったときは何も考えずに「Invalidate Caches / Restart」すればいいかな。。。

 

 

【Teams】チャネルのメールアドレスを取得できない

Teamsで新しくチームを作成し、一般チャネルの・・・メニューから「メールアドレスを取得」をクリックすると、「現在チームを設定中です。後ほどもう一度お試しください。」と表示された。

作成したばかりだったので、数日待って試してみたが結果は変わらず。

その後、一般チャネルの「ファイル」タブを開くとエラーが出ることに気付いた。その横の「Wiki」をクリックしたところ、新しいページが作成された。

この状態で、再度「メールアドレスを取得」をクリックすると、今度はメールアドレスが取得できた。。。

 

尚、この取得したメールアドレスにメールを送信すると、その内容がチャネルに投稿される。

【Windows11】ファイルの削除などの右クリックメニューが変わった

※Windows11正式リリース前のバージョンで確認しています(2021/08/21時点)

Windows10と異なり、ファイルを右クリックしてもすべてのメニューが表示されなくなった。

すべてのメニューを表示したい場合は、右クリックすると表示される一覧の一番最後の「その他のオプションを表示」をクリックすればWindows10と同様のメニューが表示される。

削除などの場合は、上部に並んでいるアイコンからもできる(左から、切り取り、コピー、名前の変更、共有、削除)

 

 

【C#】.NET Framework4.8から.NET 5へ移行(Windowsフォーム)

手順

  1. Visual Studio 2019インストール
  2. slnファイルが存在するフォルダをWindowsエクスプローラで開く
  3. Windowsエクスプローラのアドレスバーにcmdと入力してEnterキー押下
  4. try-convert -w hoge.sln と入力してEnterキー押下
  5. 以下のメッセージが表示されればコンバートは完了
    C:\~\hoge.csproj contains an App.config file. App.config is replaced by appsettings.json in .NET Core. You will need to delete App.config and migrate to appsettings.json if it’s applicable to your project.
    Conversion complete!
  6. App.configは不要とのことなので削除。hoge.csproj.oldファイルが作成されていたのでそれも削除した。
  7. hoge.slnをダブルクリックしてVisual Studioを起動。F5キー押下でアプリが起動できることを確認。
  8. このままだと何故かWindowsフォームのデザイナが表示されないため、プロジェクトの新しい項目の追加から、「フォーム(Windowsフォーム)」を追加する。
    少し待つと、元々あったフォームがデザイナ表示できるようになる。この状態になれば追加したフォームは削除してOK。移行完了!

 

感想

コンバートツールを利用するだけで.NET 5に移行できたが、これまでの.NET Frameworkのバージョンを上げるような手軽さではなく、完全な互換性もなさそうなので、移行する際には十分な検証が必要になるはず。

特に今回は小規模なプロジェクトで試したが、より複雑なものであれば失敗するかもしれない。
.NET Framework から .NET への移植の概要に移行できないパターンも記載されているのでそちらも参照のこと。