投稿

7月, 2021の投稿を表示しています

Mac の Edge で検索エンジンを Google に変更する

イメージ
Chromium 版 Microsoft Edge は非常にパフォーマンスが高く、Mac でも使う価値があります。 ただ、ひとつ気になる点としては、デフォルトの検索エンジンが Bing だということです。 これを使い慣れた Google に変更するための方法です。 アドレスバーで使用する検索エンジン 設定( command + , )を開き、「プライバシー、検索、サービス」を選択。 一番下の方にある、サービスにある「アドレスバーと検索」をクリックします。 アドレスバーで使用する検索エンジンを「Google」に変更します。(Yahoo に設定することもできます。あまりいないかもしれませんが、百度に設定することもできます。。) 空白タブは Bing のまま。。 新しいタブを開いた時にあるテキストボックスから検索すると、Bing のままです。 これに関しては、拡張機能をインストールしないと修正できません(!)。 そして、せっかくインストールしても勝手に無効にされます。Microsoft らしい囲い込みですw これは拡張機能の設定画面で、トグルスイッチをオンにすれば有効化します。

サクラエディタで対となるカッコを強調表示

イメージ
対となるカッコがどこにあるかわかるように、強調表示してほしい時があります。 サクラエディタでは、デフォルトではそういう表示になっていません。 [ 設定 ] - [ タイプ別設定 ]、「カラー」タブを開きます。 「対括弧の強調表示」を選択し、「色分け/表示」にチェックします。 対となるカッコが強調表示されるようになりました。

サクラエディタで C# の強調キーワードを設定する

イメージ
サクラエディタで C# や JavaScript などの強調表示をする方法です。 サクラエディタは GitHub からダウンロードしない サクラエディタの Web サイトから最新版をダウンロードしようとすると、GitHub に遷移します。しかし、ここからダウンロードしたサクラエディタでは C# の強調表示はできませんでした。(強調表示するためのファイルが無い) 少し古いですが、SOURCEFORGE からダウンロードできる  インストーラー版 SAKURA Editer  であれば、強調表示ができます。 サクラエディタをインストール ダウンロードした .exe からサクラエディタをインストールします。 この Keyword フォルダに、強調表示設定ファイルが揃っています。 キーワードセットの表示 インストールが完了したら、まず、強調キーワード設定の元となるキーワードセットを設定します。 サクラエディタを起動。 [ 設定 ] - [ 共通設定 ] を開いたあと、「セット追加」をクリックして、キーワードのセットを追加します。 サクラエディタをインストールしたフォルダにある Keyword フォルダがありますので、その中にある csharp.kwd ファイルを選択します。 インストールフォルダは、変更していなければ、 C:\Program Files (x86)\sakura\keyword のはずです。 C# の強調キーワードが定義されました。 タイプ別設定で C# を強調表示 次は、C# の タイプ別設定を行います。 サクラエディタのメニューから、[ 設定 ] - [ タイプ別設定一覧 ] を開きます。 「追加」ボタンで新たなタイプを追加し、「設定変更」ボタンを押下します。 タイプ別設定が開くので、スクリーンタブに以下の通り入力します。 設定の名前:C#(これは何でもよいです) ファイル拡張子:cs 次に「カラー」タブで、ブランクになっている強調キーワードに、先ほど追加したキーワードセット「C#」を設定します。 ここまで設定して、ようやく強調キーワードが有効化します。 Visu

Mac 小さくなった iTunes を戻すには左上の「X」ボタンを押す

イメージ
ジャケットの写真をクリックすると、iTunes が「ミニプレイヤー」に変わります。でも、これを戻す方法が思いつかない。 左上の X ボタン(赤いボタン)を押すと、普通のプレイヤーに戻ります。

ASP.NET MVC で .ashx(ジェネリック HTTP ハンドラ)を呼び出す

イメージ
処理の裏側でサーバー側にリクエストを送りたい場合など、昔の ASP.NET Web Form では ジェネリック HTTP ハンドラを使う事がありました。 .ashx というファイルです。 この懐かしのファイルを ASP.NET MVC で使うにはどうすれば良いのでしょうか。 ASP.NET MVC で ジェネリック HTTP ハンドラーを作成して呼び出す ASP.NET MVC でも、「新しい項目」として .ashx ファイル(ジェネリックハンドラー)を追加すれば使えます。 この例では、ashx ファイルはプロジェクト直下に置きました。 ルーティングの都合上、その方が面倒がないからです。 ドメインルートにある .ashx ファイルを叩くと、リクエストがサーバーに送られます。 ASP.NET MVC でファイルを直に指定するのは斬新です。

C# DataTable を Distinct して重複を除外する

イメージ
DataTable の中身の重複を除外する方法です。 このような重複データを、ラムダ式で Distinct します。 var ret = dt.AsEnumerable().Select(row => new { ShishaName = row.Field<string>("ShishaName"), BushoName = row.Field<string>("BushoName"), }).Distinct(); 重複が除外されました。 列が大量にある場合は、列名をいちいち定義しているので少々つらいかもしれません。 foreach (var item in ret) { var shisha = item.ShishaName; } ただ、列名に名前を付けているので、その後の扱いは便利です。 名前で参照することができます。 以上の方法で DataTable から重複データを削除することができます。 しかし、もしこの DataTable が DB から取得しているデータだとしたら、データの取得方法がおかしいか、データベース設計がおかしいか、疑いを持つべきです。 データを取得する時点で、重複しないようにするのがあるべき姿です。 なぜなら、無駄なデータを取得するだけでコストがかかるからです。 すぐにプログラム側でなんとかするというアプローチに走るのは、よい実装とは言えません。

DataTable の中身を確認して Excel に貼り付ける方法

イメージ
DataTable に何が入っているのかを確認するために、イミディエイトウィンドウで dt.Rows[0][0] とかやって消耗していないだろうか? DataTable の中身は、Excel のように視覚的に確認することができます。 DataTable ビジュアライザー 対象の DataTable オブジェクトを右クリックしてクイックウォッチを開きます(Shift + F9 でも可)。 DataTable の値の所は {} となっています。 右側にある虫眼鏡をクリックします。 「DataTable ビジュアライザー」という機能で、中身を視覚的に確認することができます。 Excel にもそのまま貼り付け可能 DataTable ビジュアライザーの左上のマスをクリックして中身を全選択して、Ctrl + C でコピーします。 Excel で、Ctrl + V を押して貼り付けます。 もう DataTable で消耗する必要はありません。

C# で Excel の列名インデックス(AA, AB..)を生成する

Excel の列名インデックスを生成するメソッドです。 const int ColumnBase = 26; const int DigitMax = 7; // ceil(log26(Int32.Max)) const string Digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; /// <summary> /// 文字列のインデックスを取得する /// </summary> /// <param name="index"></param> /// <returns></returns> public static string IndexToColumn(int index) { if (index <= 0) { throw new IndexOutOfRangeException("インデックスは正数を指定してください。"); } if (index <= ColumnBase) { // 26文字目までは単純にインデックスから取得。 return Digits[index - 1].ToString(); } // 26文字以降の処理。 var sb = new StringBuilder().Append(' ', DigitMax); var current = index; var offset = DigitMax; while (current > 0) { // 末尾となる文字列のインデックスをセット。 sb[--offset] = Digits[--current % ColumnBase]; current /= ColumnBase; } // 整形して返却。 return sb.ToString(offset, DigitMax - offset); } 使用例。 for (int i = 1; i < 1000; i++) { var col = IndexToColumn(i)