sasaki816.hatenablog.com Open in urlscan Pro
35.75.255.9  Public Scan

Submitted URL: http://sasaki816.hatenablog.com/
Effective URL: https://sasaki816.hatenablog.com/
Submission: On January 12 via api from US — Scanned from JP

Form analysis 1 forms found in the DOM

GET https://sasaki816.hatenablog.com/search

<form class="search-form" role="search" action="https://sasaki816.hatenablog.com/search" method="get">
  <input type="text" name="q" class="search-module-input" value="" placeholder="記事を検索" required="">
  <input type="submit" value="検索" class="search-module-button">
</form>

Text Content

読者になる



佐々木屋


技術的なことから趣味まで色々書きます



この広告は、90日以上更新していないブログに表示しています。

 1. Top
    >
 2. 2.ASP.NET
    >

2023-09-07


ポストバック判断まとめ(備忘)

2.ASP.NET 2.ASP.NET-2.機能・小技

ランキング参加中
エンジニアグループ
ランキング参加中
プログラミング



なんか同じこと何回も調べるので備忘。
初回実行時、フルポストバック、パーシャルポストバックのまとめ表。

※〇:True  ✕:False

項目 IsPostBack IsInAsyncPostBack 初回実行時 ✕ ✕ パーシャル 〇 〇 PostBackTrigger 〇 ✕ submit 〇
✕



佐々木一史 (id:sasaki816) 127日前




広告を非表示にする

 1. Top
    >
 2. 2.ASP.NET
    >

2023-09-07


UPDATEPANELからのPOSTBACKを判断する方法

2.ASP.NET 2.ASP.NET-1.マスターページ

ランキング参加中
エンジニアグループ
ランキング参加中
プログラミング



UpdatePanel利用でConditionalモードのポストバックで、通常のフルポストバックと(submit)とパーシャルポストバックを見分ける方法です。
ScriptManagerのIsInAsyncPostBackプロパティを利用します。

ScriptManager1.IsInAsyncPostBack;
//true:パーシャルポストバック
//false:フルポストバック



なお、マスターページにScriptManagerを配置した場合は、FindControlでScriptManagerコントロールを見つけてキャストする方法になりますが、結構面倒なのでマスターページにプロパティメンバーを追加する方が良いです。

public bool IsInAsyncPostBack {
   get {
      return ScriptManager1.IsInAsyncPostBack;
   }
}


佐々木一史 (id:sasaki816) 127日前




広告を非表示にする

 1. Top
    >
 2. 2.ASP.NET
    >

2023-03-08


回復環境が見つかりません対処法

3.パソコン-2.コマンド 3.パソコン


Windows10には初期状態に戻す「回復」という機能がありますが、それが以下のようなエラーになる場合の対処法です。




WINDOWS REを有効化する

回復環境であるWindows REが無効化されているかどうかを確認します。
コマンドで以下を実行すると、

reagentc /info

Windows 回復環境 (Windows RE) およびシステム リセット構成
情報:

    Windows RE の状態:         Disabled
    Windows RE の場所:
    ブート構成データ (BCD) ID: 00000000-0000-0000-0000-000000000000
    回復イメージの場所:
    回復イメージ インデックス: 0
    カスタム  イメージの場所:
    カスタム イメージ インデックス: 0

REAGENTC.EXE: 操作は成功しました。

こんな感じで、Windows REの状態が「Disabled」になっていれば無効化されていますので、有効化が必要になります。

reagentc /enable

これで問題なくエラーが出ず、有効化されればいいのですが、以下のエラーが出た場合は別途対処が必要です。

REAGENTC.EXE: Windows RE は、BitLocker ドライブの暗号化が有効になっているボリュームでは有効にできません。





BITLOCKERの無効化

恐らくBitLockerの状態が以下のようになっているはずです。

これを明確に無効化する必要があります。

「設定」→「更新とセキュリティ」→「デバイスの暗号化」まで開き、デバイスの暗号化を「オフにする」ボタンを押下します。

BitLockerの無効化が処理されます。



再度BitLockerの状態を確認すると、変更されていることが分かります。



後は再度「reagentc /enable」コマンドを実行すれば回復環境が使用可能になります。

佐々木一史 (id:sasaki816) 310日前




広告を非表示にする

 1. Top
    >
 2. 2.ASP.NET
    >

2023-03-06


GCPアカウントの認証と設定

6.GCP、AWS-1.GCP 6.GCP、AWS

GCPの認証関連について説明します。


【共通】GCLOUD CLIの初期化

gcloud init

なお、ブラウザベースの承認フローが開始されないようにするには、以下のようにフラグを追加します。

gcloud init --no-launch-browser

 


【共通】ログアウト

gcloud auth revoke

 
GCPアカウントへの認証方法は主に2つあり、それぞれの用途によって使い分けて下さい。


●設定を作成せずにユーザー アカウントを使用して承認を行う

gcloud auth login


●サービスアカウント秘密鍵による、JSONファイルによる認証

あらかじめサービスアカウントの秘密鍵が含まれたjsonファイルが必要です。

gcloud auth activate-service-account {サービスアカウントのメールアドレス} --key-file {jsonファイルパス}

 

認証が行われたかどうかは、現在設定されている認証情報を表示します。

gcloud auth list

うまく認証できていれば、ACTIVE ACCOUNT欄に表示されます。複数ある場合は現在アクティブなアカウントに対して※印がつきます。

PS C:\Users\user1> gcloud auth list
                                Credentialed Accounts
ACTIVE  ACCOUNT
*       {サービスアカウントのメールアドレス}

To set the active account, run:
    $ gcloud config set account `ACCOUNT`

佐々木一史 (id:sasaki816) 312日前




広告を非表示にする

 1. Top
    >
 2. 2.ASP.NET
    >

2023-03-06


GCLOUD CLI環境構築

6.GCP、AWS-1.GCP 6.GCP、AWS

WindowsへのGoogle Cloud CLIのインストールについての備忘です。


GOOGLE CLOUD CLIとは?

gcloud、gsutil、bq コマンドライン ツールが含まれた、GCP(Google Cloud Platform)のリソース管理ツールのことです。
WebブラウザでのGUI操作ではなく、PowerShellなどのCLI操作を行うことができます。

コマンド 内容 gcloud Google Cloud リソースの作成と管理を行う一連のツール gsutil コマンドラインから Cloud Storage
にアクセスできる Python アプリケーション bq Python をベースにした BigQuery 用のコマンドライン ツール






GCLOUD CLI をインストール

以下を参考にインストールします。なお、適宜管理者権限が必要です。
cloud.google.com

Cloud SDKのインストーラがダウンロードされ、実行されます。
セットアップ画面は割愛しますが、基本的には迷うことはないでしょう。
pythonが必要になりますが、SDKに含まれているかVSに含まれているので、特に気にする必要はなさそうです。




インストール確認

PowerShellで以下を実行して問題なくバージョン情報が表示されれば完了です。

gcloud --version

Google Cloud SDK 419.0.0
bq 2.0.85
core 2023.02.17
gcloud-crc32c 1.0.0
gsutil 5.20


これで環境構築は完了です。

佐々木一史 (id:sasaki816) 312日前




広告を非表示にする

 1. Top
    >
 2. 2.ASP.NET
    >

2020-11-20


NULLを考える②(COALESCE関数)

4.SQL(SQLServer)

前回NULLの扱いで、NULLIF関数の話をしました。
これを使うと簡単に0除算エラーの対策が可能になります。

SELECT col_a / NULLIF(col_b, 0) 
FROM SomeTable


演算でNULLが来た場合はNULLを返す仕様をそのまま利用する形です。

基本形はこれだけど、これだと結果が
NULLが返ります。C#であればそのまま結果NULLを自作関数に入れて数値等へ変換しちゃう場合が多いですが、NULL許容ではない場合だと少し不便ですよね。そうすると、NULLの場合の条件分岐が必要なので、以下のように長くなってしまいます。

SELECT CASE col_b WHEN 0 THEN 0 ELSE col_a / col_b END
FROM SomeTable


この場合、COALESCE 関数とNULLIF関数を併用すると簡単に解決します。
COALESCE 関数は、与えられた引数で最初に見つけたNULL以外の引数を返します。つまり、以下の場合は「3」が返ります。

SELECT COALESCE(NULL,NULL,3)


つまり、以下のように簡単になるわけです。

    -- col_bが0の場合、0になる
    -- COALESCE関数の第二引数を変更することで、-1とかにもできる
SELECT COALESCE(col_a / NULLIF(col_b, 0), 0)
FROM SomeTable



何かの比率を求める、ってのはよくあることなので、この手法は結構使う形ですので覚えておくと良いでしょう。

佐々木一史 (id:sasaki816) 3年前




広告を非表示にする

 1. Top
    >
 2. 2.ASP.NET
    >

2020-01-25


型変換は何を使う?(値型⇒STRING型)

1.C#、VB.NET 1.C#、VB.NET-6.型

今回は値型⇔string型です。共通認識は前回と一緒です。

 * VB.NETのCIntやCDecなどのC●●●は、CTypeと等価なので全てCTypeで検証
 * 時間計測はSystem.Diagnostics名前空間のStopwatchクラスを利用
 * 繰り返し回数maxは10,000,000回とする
 * それぞれを3回ずつ実行する

今回考えられる候補は、ToString、Convert、CType(VB.NETのみ)です。

int a = 123456789;

sw.Start();
for (int i = 1; i <= max; ++i) {
    string res = a.ToString();
}
sw.Stop();
Console.WriteLine(sw.Elapsed.ToString() + " ToString");
sw.Reset();

sw.Start();
for (int i = 1; i <= max; ++i) {
    string res = Convert.ToString(a);
}
sw.Stop();
Console.WriteLine(sw.Elapsed.ToString() + " Convert");
sw.Reset();


Dim a As Integer = 123456789

sw.Start()
For i As Integer = 1 To max
    Dim res As String = a.ToString()
Next
sw.Stop()
Console.WriteLine(sw.Elapsed.ToString() & " ToString")
sw.Reset()

sw.Start()
For i As Integer = 1 To max
    Dim res As String = Convert.ToString(a)
Next
sw.Stop()
Console.WriteLine(sw.Elapsed.ToString() & " Convert")
sw.Reset()

sw.Start()
For i As Integer = 1 To max
    Dim res As String = CType(a, String)
Next
sw.Stop()
Console.WriteLine(sw.Elapsed.ToString() & " CType")
sw.Reset()


結果は以下の通りです。

項目 C#
VB.NET
ToString 00:00:02.7788599
00:00:01.9934980
00:00:02.7895854 00:00:02.7907917
00:00:02.6248466
00:00:02.7211354 Convert 00:00:02.1907958
00:00:01.9914505
00:00:02.0879492 00:00:02.0197473
00:00:02.1154300
00:00:02.1438101 CType × 00:00:01.5729566
00:00:02.0180006
00:00:02.0006762



以外な結果です。最速はVB.NETのCType(CStr)でした。それでもToString、Convertと大差ありません。ToStringは書式指定が可能ですね。あとはnullの処理をどうするかだけかと思います。



結論、値型⇒String型はToStringで良いでしょう。

佐々木一史 (id:sasaki816) 3年前




広告を非表示にする

次のページ

プロフィール
佐々木一史 (id:sasaki816)
読者です 読者をやめる 読者になる 読者になる
9
このブログについて
検索

カテゴリー
 * 1.C#、VB.NET (106)
   * 1.C#、VB.NETの違い (14)
   * 2.非同期処理 (8)
   * 3.クラス (17)
     * 1.構築 (6)
     * 2.プロパティ (6)
     * 3.メソッド (4)
     * 4.イテレーター (2)
   * 4.フォームアプリケーション (8)
   * 5.オブジェクト指向 (20)
     * 1.継承 (5)
     * 2.デリゲート (5)
     * 3.ポリモーフィズム (3)
     * 4.オーバーライド (2)
     * 5.インターフェース (2)
     * 6.デザインパターン (4)
   * 6.型 (14)
   * 7.配列 (16)
     * 1.ジェネリックコレクション (1)
     * 2.LINQ (16)
   * 8.Windows (4)
   * 9.その他 (9)
 * 1.C#、VB.NET-1.C#、VB.NETの違い (14)
 * 1.C#、VB.NET-2.非同期処理 (8)
 * 1.C#、VB.NET-3.クラス (17)
 * 1.C#、VB.NET-3.クラス-1.構築 (6)
 * 1.C#、VB.NET-3.クラス-2.プロパティ (6)
 * 1.C#、VB.NET-3.クラス-3.メソッド (4)
 * 1.C#、VB.NET-3.クラス-4.イテレーター (2)
 * 1.C#、VB.NET-4.フォームアプリケーション (8)
 * 1.C#、VB.NET-5.オブジェクト指向 (20)
 * 1.C#、VB.NET-5.オブジェクト指向-1.継承 (5)
 * 1.C#、VB.NET-5.オブジェクト指向-2.デリゲート (5)
 * 1.C#、VB.NET-5.オブジェクト指向-3.ポリモーフィズム (3)
 * 1.C#、VB.NET-5.オブジェクト指向-4.オーバーライド (2)
 * 1.C#、VB.NET-5.オブジェクト指向-5.インターフェース (2)
 * 1.C#、VB.NET-5.オブジェクト指向-6.デザインパターン (4)
 * 1.C#、VB.NET-6.型 (14)
 * 1.C#、VB.NET-7.配列 (16)
 * 1.C#、VB.NET-7.配列-1.ジェネリックコレクション (1)
 * 1.C#、VB.NET-7.配列-2.LINQ (16)
 * 1.C#、VB.NET-8.Windows (4)
 * 1.C#、VB.NET-9.その他 (9)
 * 2.ASP.NET (17)
   * 1.マスターページ (2)
   * 2.機能・小技 (7)
   * 9.エラー (6)
 * 2.ASP.NET-1.マスターページ (2)
 * 2.ASP.NET-2.機能・小技 (7)
 * 2.ASP.NET-9.エラー (6)
 * 3.パソコン (22)
   * 1.レジストリ (9)
   * 2.コマンド (10)
   * 9.その他 (4)
 * 3.パソコン-1.レジストリ (9)
 * 3.パソコン-2.コマンド (10)
 * 3.パソコン-9.その他 (4)
 * 4.SQL(SQLServer) (9)
 * 5.演習・課題 (9)
   * 3.リファクタリング (9)
   * 9.おまけ (2)
 * 5.演習・課題-3.リファクタリング (9)
 * 5.演習・課題-9.おまけ (2)
 * 6.GCP、AWS (2)
   * 1.GCP (2)
 * 6.GCP、AWS-1.GCP (2)

月別アーカイブ
2023 09 2023 03 2020 11 2020 01 2019 12 2019 10 2019 09 2019 07 2019 06 2019 05
2019 04 2019 03 2019 02 2019 01 2018 12 2018 11

Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30

最新記事
 * ポストバック判断まとめ(備忘)
 * UpdatePanelからのPostBackを判断する方法
 * 回復環境が見つかりません対処法
 * GCPアカウントの認証と設定
 * gcloud CLI環境構築

パンくず


佐々木屋

Powered by Hatena Blog | ブログを報告する




引用をストックしました

ストック一覧を見る 閉じる

引用するにはまずログインしてください

ログイン 閉じる

引用をストックできませんでした。再度お試しください

閉じる

限定公開記事のため引用できません。

読者です 読者をやめる 読者になる 読者になる
9