Jiro Laboratory

C#、ASP.NET、JavaScript、Androidとか

LocalDB から SQL Server (Express) へのデータ移行

LocalDB、SQL Server Express は SSMS*1 からデータをエクスポートすることができません。 LocalDB/SQL Server Express から SQL Server/SQL Server Express にデータを移行するにはデタッチ/アタッチを使用します。 デタッチ あらかじめデータファイル(…

HttpClientFactory 経由で HttpClient を生成する(.NET Core コンソールアプリの場合)

NET Core 2.1 から使用できるようになった HttpClientFactory ですが、ASP.NET Core 関連の情報が多く、コンソールアプリでのサンプルが見受けられなかったので、最小限で動作するコードを作成してみました。 以下のパッケージが必要となります。 Microsoft.…

.NET Core コンソールアプリでの SQLServer LocalDB の使用

docs.microsoft.com上記は dotnet コマンド を使って SQLite を使用するサンプルです。 以下に、Visual Studio を使って SQL Server(LocalDB) を使用する場合の手順を残しておきます。 Entity Framework Core のインストール、DB作成 Entity Framework Cor…

Linux(Ubuntu)での .NET Core 開発環境の構築

以下のシェルをダウンロード https://dot.net/v1/dotnet-install.shターミナルで以下のコマンドを実行 $ chmod u+x ./dotnet-install.sh $ ./dotnet-install.sh -c Current $ sudo snap install dotnet-sdk --classicプロファイルにパスを追加 # set PATH so…

ビューのパス指定

コントローラー名とは異なるフォルダの View を使用することができます。 ルートからのパス指定 ルートからのパスを使用する場合は、.cshtml 拡張子を指定する必要があります。 return View("Views/Home2/About2.cshtml"); 相対パス指定 相対パスを使用する…

ASP.NET MVC Core 「HTTPS 用の構成」の有無による生成ソースの違い

「HTTPS 用の構成」の選択有無による生成ソースの違いを調べました。 違いがあったのは ・launchSettings.json ・Startup.cs のみです。 gist.github.com launchSettings.json 「HTTPS 用の構成」なし "applicationUrl": "http://localhost:5000",「HTTPS 用…

ajax を並列に実行する

同一セッションのリクエストは並列で処理されない セッションを使用している場合、ASP.NET のデフォルト動作では同一セッションのリクエストは並列で処理されません。 function test(value) { $.ajax({ url: "Page1/Test", data: value }); } test(1); test(…

SVG をエクスプローラでプレビュー表示

github.comインストールするとエクスプローラで svg ファイルをプレビューできるようになります。

SourceTree(Git)から差分ファイルを抽出してzipに圧縮

SourceTreeでコミット間の差分ファイルを抽出して zipファイル に圧縮する方法です。 フォルダ構成を維持した状態で差分が抽出されます。 リリース後に変更分のソースを渡したりするのに重宝します。

Dictionary の結合

IEnumerable.Concat でコレクションの結合ができますが、Dictionary<string, string> 同士の Concat の戻り値は IEnumerable(Of KeyValuePair(Of String, String))になります。戻り値の型を Dictionary(Of String, String)にしたい場合は、IEnumerable.ToDictionaryを使いま</string,>…

mdb のAccessバージョンを確認する

VBScript gist.github.com PowerShell gist.github.com

MSB4236 指定された SDK 'Microsoft.NET.Sdk.Publish' は見つかりませんでした。

環境変数Pathに以下を追加すると解消されました。 C:\Program Files\dotnet 参考 github.com

JavaMailでGmailを使う

Java側での必要最小限の設定は以下。 Properties props = new Properties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true");…

PowerShell から Oracle に接続(ODP.NET)

Oracle Client がなくても、ODAC(ODP.NET)さえインストールすれば、PowerShellからOracleに接続できます。 ODACのインストールと環境設定 ODACのダウンロード XCopy版をダウンロードします。(要Oracleアカウント:無料) 64ビットのOracle Data Access Co…

404.11対策 URLのPath に (+) 記号を含めたい場合

HTTP Error 404.11 - Not Found 要求フィルター モジュールが、ダブル エスケープ シーケンスを含む要求を拒否するように構成されています。 これは + をエスケープして %2B にしても結果は変わりません。 ASP.NET では以下の設定で回避できます。 <system.webServer> <security> <requestFiltering allowDoubleEscaping="true" /> </security> <system.webServer> ※参</system.webserver></system.webserver>…

asp.net mvc C#7 ValueTuple でコンパイルエラーが出た

コンパイル エラー メッセージ: CS0012: 型 'System.Object' が参照されていないアセンブリで定義されています。アセンブリ 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' への参照を追加してください。 NuGetで Nu…

VS2017 Update-Databaseで '***'という名前の接続文字列がアプリケーション構成ファイルに見つかりませんでした。と言われたら

該当プロジェクトをスタートアッププロジェクトにしたら解決。

Visual Studio Community 2017 を常に管理者権限で起動する

Visual Studio Community 2015 から 2017 に変更したついでのメモ。 レジストリを変更することで常に管理者権限で起動できるようになります。 キー HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 新規 > 文字列値 …

Youtube IFrame Player API のプレイヤーをページ背景にする(ミュート)

css でプレイヤーサイズをウィンドウサイズと同じにします。 また、z-index を指定してプレイヤーがメインコンテンツの背景になるようにします。 onPlayerReady イベントで mute() を呼び出せばミュートになります。 コードサンプル 背景動画に「ドット画像…

YouTube Data API (v3) でデータを取得する

少なくとも2種類の方法があります。 Google APIのクライアントライブラリを使う $.ajax を使う クライアントライブラリを使用するサンプルコードはOAuth2認証を行うサンプルしかありませんでしたので、APIキーを使って認証なしで実行できるサンプルコードを…

YouTube Player API を使った動画の再生

YouTube Player API を使うと JavaScript でYoutubeプレイヤーの操作を行うことができます。 動画の再生に必要な最小限のコードは以下になります。 <div id="player"></div> <script src="https://www.youtube.com/iframe_api" async></script> <script> var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { videoId: 'M7lc…

bootstrap で Youtube 動画をレスポンシブに埋め込む

ここhttp://getbootstrap.com/components/#responsive-embedに答えが書いてあります。 <div class="embed-responsive embed-responsive-16by9"> <iframe class="embed-responsive-item" src="..."></iframe> </div> <div class="embed-responsive embed-responsive-4by3"> </div>

C#でテーブルコピーするなら SqlBulkCopy が速かった

テーブル構成や行数など、いろいろ条件はあると思いますが、万単位のデータをコピーするのであれば一度試してみてください。 var bc = new SqlBulkCopy(con); bc.DestinationTableName = tableName; bc.WriteToServer(dt); con は接続オブジェクト、dt は Da…

Razor で #if DEBUG を使う

英語版Stack Overflowから。 HttpContext.IsDebuggingEnabled を使う HttpContext.IsDebuggingEnabled プロパティ (System.Web) というものがあるらしいです。これを使えば以下のように書けます。 @if (HttpContext.Current.IsDebuggingEnabled) { <p>デバッグ</p> …

静的HTMLで Browser Link を使う

静的HTML では無効になっている とても便利なブラウザー リンク (Browser Link)の機能ですが、*.cshtml だけではなく静的htmlでも使えます。 ただし、デフォルトでは静的htmlのブラウザーリンクは無効になっているので web.config の修正が必要です。 以下の…

ActionResult でテキストデータをダウンロード

ASP.NET MVC で文字列データをファイルとしてダウンロードする方法です。 こちらで紹介されている方法はファイルのダウンロードではなく、ブラウザにデータが表示されてしまいます。これはこれで使い道があるのですが、ファイルとしてダウンロードしたい場合…

はてなブログのページ構成

現在使っているテーマ 今は公式テーマのWideboardをカスタマイズして使っています。 シンプル ソースコードを載せる時に変な箇所で改行されにくい(横幅が100%だから) という点が気にいっていました。 ただし、最近記事が増えてきて、 検索ボタンやカテゴリ…

Android Studio - Tip of the Day : Ctrl + D で選択ブロックを複製

エディタ内で Ctrl + D を押すと選択ブロック(エディタで範囲選択しているブロック)を複製できます。(選択ブロックのすぐ下に複製されます) 選択ブロックがなければカーソルのある行を複製します。 Ctrl+D in the editor duplicates the selected block …

Windows フォームでなぜか文字がぼける時(High DPI)

なぜか文字がぼける 高解像度(1920 x 1080以上?)のディスプレイでWindowsフォームアプリを実行すると、 このように文字がぼけることがあります。 ちょっと分かりづらいかもしれませんので、下のVisual Studio でのデザイン時の画像と比較してみてください…

Visual Studio Community 2013でマクロ機能を使う

マクロの記録・再生機能は Visual Studio 2012 で廃止されてしまいました。 ただし、Visual Studio (Community) 2013で拡張機能をインストールすることでマクロ機能が使えます。*1 *1:StackOverflowで聞いてきました。