たにーの楽しい闘争

日々の気になる事を書いていきます

【SQLServer】ミリ秒を意識する必要性

今日一瞬ひやっとしたのでメモ。 内容 例えば下記のような状況があったとする。 1. DateTimeOffset型のカラムを更新する。 2. 更新後、AzureのServiceBusに更新した時間をメッセージとして送信する。 (メッセージ送信をトリガーとして動く他システムがあり…

【SQLServer】SELECT TOPやUPDATE TOPを使う時はorder byを必ず付けなければいけない理由

結論 ランダムで取得されてしまうため。 ランダムでも良いのであればorderbyを付けなくても良い。 UPDATE文の書き方に注意 orderbyを使わない書き方 UPDATE TOP (10) HumanResources.Employee SET VacationHours = VacationHours * 1.25 ; orderbyを使う場合…

技術を選択する上で注意したい事

何となく選んで苦しんでしまうケース 例① 実装に1週間かけた後のパフォーマンステストで性能に問題がある事が発覚し、違うやり方で実装し直す 例② 新しい技術を選んだは良いが、詰まってしまい、メンバーに有識者もいないため、解決するために予想以上の時間…

【SQLServer】本番データのバックアップ手順

手順 データの出力件数を確認してバックアップがどのくらいの容量になるのかを確認する 容量によって出力先を決める(本番環境が望ましいが、空き容量によっては検証または開発とする) SSMSから本番DBに接続する オブジェクトエクスプローラーからデータベ…

AzureStorageEmulatorを使ってAppendBlob.CreateOrReplace()を実行するとエラーになる時の対処方法

状況 Azure Storage Emulatorのバージョン:5.7.0.0 やりたい事 AzureStorageEmulatorを使ってローカルのタスクテーブルから値を取得し、同じstorageAccountのBlobにAppendBlobを使って取得したレコードをcsvとして吐き出したい。 問題 下記が表示される Mes…

大量データをAppendBlobで書き込む時に出るBlockCountExceedsLimit エラー (HTTP ステータス コード 409 – 競合)を解決する方法

問題 AppendBlobの仕様により、1ファイルに対して50000回しか書き込みができない。 例えば日次バッチで常時20万レコードをcsvに書き込みたい場合に1行ずつループして書き込むと、50001回目の書き込みで、下記のエラーが発生する BlockCountExceedsLimit エラ…

【Vue.js】基礎知識メモ

v-html scriptタグ内で生成したhtmlタグを組み込みたい場合等 v-bind タグの属性の値に変数等を設定したい場合等 書き方:<v-bind:属性名="設定する値"> v-if・v-else 条件によって表示を変えたい場合等 v-for 配列の値を順番に取り出し変数に入れてタグを出力したい場合等 書き方:<タグ v</v-bind:属性名="設定する値">…

【C#】GUIDの生成方法

C#

ソースコード static void Main(string[] args) { //GUIDの生成 Guid sample = Guid.NewGuid(); Console.WriteLine(sample); } 実行結果 実行するたびに違うGUIDが出力される 67720386-88d6-4572-ac13-f08143336531

「OKR シリコンバレー式で大胆な目標を達成する方法」を読んだ

概要 OKR(オーケーアール)はシリコンバレーの数々の企業が導入している目標管理ツール 。 インテルが生み出した。 Googleも社員40人程の時にOKRを導入し、今でも使っている。 重要な部分ピックアップ わくわくするような定性的なゴールであるO(Objective)…

【Oracle】ORA-28001:the password has expiredが出た時の対処方法

状況 A5SQLを使ってローカルでOracleにsystemユーザで接続しようとしたら突然ORA-28001:the password has expiredというエラーが発生してログインできない。 原因 Oracle10gまではユーザのパスワードの有効期限はデフォルトで無期限であったものが、Oracle11…

【C#】Dictionaryに要素を追加or上書きする方法

C#

概要 Dictionaryに要素を追加する方法は状況によって変える必要がある。 結論 既に存在するキーを追加しようとした時、例外を出したい場合 Dictionary名.Add(Key, Value) 既に存在するキーを追加しようとした時、上書きしたい場合 Dictionary名[Key] = Value…

【Oracle】スキーマ(ユーザー) を作成する方法

前提 oracleに関してはsqlserverとは違い、ユーザ=スキーマのようなものなので、 スキーマを作るということはユーザーを作る事とほぼ同じ意味になる。 概要 管理者権限が付与されているユーザーでログインし、下記を実行 CREATE USER 新しいユーザ名(スキ…

【AzureBlob】Blobから取得したファイルの中身を読んでメモリ上で加工する方法

概要 var file = container.GetBlobReference("ファイル名"); string text = null; using (var ms = new MemoryStream()) { file.DownloadToStream(ms); ms.Flush(); var b = ms.ToArray(); text = System.Text.Encoding.ASCII.GetString(b); }

【AzureBlob】DownloadToStreamでAzure The remote server returned an error: (404) Not Foundが出た時の対処方法

概要 DownloadToStreamを使ってファイルを取得しようとしたら Azure The remote server returned an error: (404) Not Foundが発生。 結論 1,ファイルが置かれていない 2,ファイル名が間違っている etc.... 参考 https://stackoverrun.com/ja/q/4962433

【C#】DictionaryからKeyでValue(配列)の最初と最後を取得する方法

C#

概要 プログラム using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp { class Program { static void Main(string[] args) { Dictionary<string, int[]> test = new Dictionary<string, int[]>(); int[] par = { 178, 65, 15 }; test.Add("tanii", </string,></string,>…

【C#】UTCで取得してJSTに変換する方法

C#

概要 DateTime utcdt = DateTime.UtcNow; TimeZoneInfo jstZoneInfo = System.TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time"); DateTime jst = System.TimeZoneInfo.ConvertTimeFromUtc(utcdt, jstZoneInfo); 参考 docs.microsoft.com

【C#】AzureApplicationGatewayでHTTPリクエストに対して、502 Bad Gatewayが返ってきたときの対処方法

概要 swaggerからAzure API Appsを実行したら、下記のエラーが帰ってきた。 502 - Web server received an invalid response while acting as a gateway or proxy server. 502 Bad Gatewayが返る原因はいくつかあるみたいだが、今回は原因が接続タイムアウト…

【C#】SQLコマンドがタイムアウトした時の対処方法

C#

エラーメッセージ the timeout period elapsed prior to completion of the operation or the server is not responding 原因 CommandTimeoutの設定をしていないとデフォルトが30秒のため、それを超えるとエラーとなる。 今回はクエリも実行完了まで30秒以上…

【C#】 文字列の前に@をつけると?

C#

結論 文字列の前に@をつけるとエスケープする必要がなくなる 詳細 using System; namespace ConsoleApp { class Program { static void Main(string[] args) { string str1 = "C:\\Users\\tanii\\Documents"; string str2 = @"C:\Users\tanii\Documents"; Co…

【C#】文字列から数値だけを抽出する方法

C#

概要 using System; using System.Text.RegularExpressions; namespace ConsoleApp { class Program { static void Main(string[] args) { string str = "abcd1234efgh"; //文字列から数値だけを抽出 string after1 = Regex.Replace(str, "[^0-9]", ""); Con…

【VSCode】常にMarkdownで書けるようにする方法(windows)

概要 左下の歯車マークをクリック 設定➡ユーザ Files:にDefault Languageがあり、markdownと記載すればOK 結果 今まではctrl + N でtxtファイルが生成されていたが、 mdファイルが生成されるようになる。 これでいちいち保存するときに拡張子を変更する必要…

【Oracle】突然ローカル環境でOracleに接続できなくなった時の対処方法

事象 今まで問題なく接続できていたが、突然下記のエラーが出て接続できず。 ORA-12546 :TNS アクセス権が拒否されました。 Oracleクライアントを利用していたので、直接接続で試みたが下記のエラーが出て接続できず。 ORA-12514 リスナーは現在、接続識別子…

.NET Coreでswaggerを実行する方法

Nugetパッケージのインストール Swashbuckle.AspNetCore.Swagger Swashbuckle.AspNetCore.SwaggerGen Swashbuckle.AspNetCore.SwaggerUi インストール後、コードを追加 Startup.csの各メソッドに追加する ConfigureServicesメソッドに下記を追加 services.Ad…

【VSCode】PasteImageで張り付けた画像の保存先を指定する方法

概要 Paste Imageの歯車をクリックし、[拡張機能の設定]をクリック Paste Image:Pathを指定 私はmdファイルの配下のimageフォルダに格納するするように設定しました 正常に指定したディレクトに保存されている 下記がマークダウン上の指定 ちゃんと保存され…

よく使うWindowsのショートカットまとめ

スクリーンショット winキー + Shift + S (プリントスクリーンキーがない人向け)

Window10でファイルにタグをつける方法

結論 タグがつけられないファイルもあります。 ※つける方法を知ってる方がいたらおしえてください。 方法 ※つけられるファイルに限る バーを右クリック ファイルを右クリックし、プロパティを選択し、詳細を開いて設定する タグが追加されている。 最後に tx…

【Oracle】listener.ora、tnsnames.oraの場所

git bash で下記のコマンドを実行 lsnrctl status 【パラメータ・ファイル】という項目にORAファイルが格納されているパスが記載されてある

Git bashでコマンドを実行後に出る文字化けの応急対策

1、Git bashの画面を右クリック 2、Optionsをクリック 3、サイドバーのTextを選択 4、LocaleとCharactersetをja_JPとShift_JISに設定 5、Saveを押下して完了 参考 https://qiita.com/neriudon/items/66d5957313157e3e10a6

はてなブログのアイキャッチ画像を削除する方法

概要 まず編集オプションをクリックしたら 下記の自動で設定されてしまったURLを削除します 最後に【更新する】をクリックすれば完了です。 これをやらなければ、Fotolifeで画像を削除してもアイキャッチには残りつづけますのでお気をつけて。

Azureサービス(UTC)を使う時にLocalDB(JST)の日時データを指定する方法

概要 例えば、AzureServiceBus(UTC)からLocalDB(JST)のレコードを指定したい場合は、Azure上のサービスで下記のように指定する。 ※LocalDBのModifiedDateの時間が2020-05-07 22:00:00のデータを指定したい場合 2020-05-07 22:00:00 +09:00 参考 https://w…