Archive for the ‘コンピューターとインターネット’ Category
Visual Studio 痛IDE拡張2019 1.0
2019になって拡張機能SDKに変更があったらしく、修正が必要になったので分けました。
機能的には同じです。
GPUとは?
GPUとは
General Processing Unitの略で
大規模な数値演算を行うための専用ハードウェアのことなんだよ
って言ったら何人だませるだろうか?
Surface Pro 4
あ…ありのまま 今 起こった事を話すぜ!
おれは、壊れた洗濯機の排水ホースを買いに行ったと
思ったら、いつの間にかSurface Pro 4を買っていた
な…何を言っているのか わからねーと思うが…
Visual Studio Codeで矩形選択(box選択)する方法
[Shift]+[Alt}を押しながら選択終了位置をクリック
円周率のデータは円周率百万桁(http://www.geocities.jp/f9305710/PAI1000000.html)を
使用させていただきました。
Windows UpdateにWindows10が居座ってむかついた話
沙雪(サブPC:Win7)でWindows10のアップグレード予約をしてないのに
勝手にWindows10のアップグレードをするようになってて
アップグレードがWindows Updateに居座りやがった。
しかもむかつくことにWindows10へのアップグレードボタン以外に表示されないので
Windows Updateができない!
仕方がないので一度10へアップグレードした後、7に戻した。
その際になんか一言書く欄があったので、思い切り罵詈雑言書いてやった。
ちなみに紫苑(メインPC:Win8.1)でも同じことになってたので
↓のページを参考にしてWindows10へのアップグレードをWindows Updateから消した。
インストールする前のダウンロードしたwindows10を削除したい
初めからそれやっとけって?(^^;
追記
沙雪のほうはWin7に戻してもWindows Updateに居座ってやがった。
そこで、レジストリエディタで以下の値を0にしてやるとWindows Updateから消えた。
キー:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade
値:AllowOSUpgrade
上のページにはAllowOSUpgradeのことまでは書いてないけれども、
どうやら紫苑の時は一緒に値を変更していたらしい。
ついでに、「プログラムのアンインストール」→「インストールされた更新プログラムを表示」から
KB3035583をアンインストールしたのち、Windows Updateで非表示にしておいた。
なぜか紫苑のほうには非表示にしたKB3035583が2つあるのだが、同じKB番号のアップデータを
別のものとして何度も配信してるのかもしれない。
あ、レジストリをいじるときは注意、かつ自己責任で。
PCが動かなくなるかもしれません。
優れたモダンなC++を書くのに役立つC++ Core Guidelineという記事
優れたモダンなC++を書くのに役立つC++ Core Guidelines
http://www.infoq.com/jp/news/2015/10/cpp-guidelines-stroustrup-sutter?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global
「ガイドラインはGitHubにあり、メイン著者の二人によると、CERNやMicrosoftなどの専門家が貢献しているそうだ。」
Microsoftはガイドラインより先に自分のところの標準カバー度の低いコンパイラをどうにかするべきじゃないかな...
Visual Studio 痛IDE拡張 2.0
いろいろ変えたので思い切って2.0にした。
ダウンロード
(ソースは整理できてないのでまだ)
変更点
・Livetを使用するようにした
・フォルダ指定でサブフォルダも見られるようにした
・その他、イケてないコードの修正
フォルダ指定について
設定画面のフォルダ指定時にチェックをつけることでサブフォルダを見にいくようになります。
なお、大量の画像があるフォルダを指定すると固まるので注意
(エロ画像フォルダのルートを指定したらひどい目にあった)
その他
VS2015でスクロール時に変な動きをすることがあるが気にしない
スライドショーが一部汚いが気にしない(そのうち直す)
インストール時に署名がないと怒られるが気にしない(^^;
追記(8/1 13:30)
スライドショーの時間に不具合があったため、インストーラを差し替えました。
SQL Serverで縦のものを横にする
できたらいいなと思ってやってみたらできてしまった(笑)のでメモ
データベースで親子関係のある2つのテーブルがあったとする。
ID | 値 |
1 | ふー |
2 | ばー |
ID | 親のID | 値 |
1 | 1 | ほげ |
2 | 1 | ふが |
3 | 2 | ぴよ |
これを結合してこんな風に表示したいときがある
親の値 | 子の値1 | 子の値2 |
ふー | ほげ | ふが |
ばー | ぴよ |
こういう需要は割とあるようで、質問サイトでもときどき見かける。
回答はだいたい「親子を別に取得してプログラムで並べろ」ってなるんだけど、
ピボットテーブルを使ってSQLだけで取得できないか?と考えてやってみた。
で、できたSQLがこれ
— テスト用のテーブル DECLARE @Parent TABLE([ID] INT, [値] NVARCHAR(100)); DECLARE @Child TABLE([ID] INT, [親のID] INT, [値] NVARCHAR(100)); INSERT INTO @Parent VALUES (1, N’ふー’), (2, N’ばー’); — ここから取得用SQL |
これがどうなっているかというと、
まず、対象データをテーブル変数で作成
DECLARE @Parent TABLE([ID] INT, [値] NVARCHAR(100)); DECLARE @Child TABLE([ID] INT, [親のID] INT, [値] NVARCHAR(100)); INSERT INTO @Parent VALUES (1, N’ふー’), (2, N’ばー’); |
対象データを結合、その際に子のレコードに対して親ごとに連番を振る。
これを共通テーブル式にする。
WITH [TargetSource] AS ( SELECT p.[ID] AS [ID] ,p.[値] AS [親の値] ,c.[値] AS [子の値] ,ROW_NUMBER() OVER (PARTITION BY p.[ID] ORDER BY c.[ID]) AS [Seq] ←親ごとの連番 FROM @Parent p LEFT OUTER JOIN @Child c ON p.[ID] = c.[親のID] ) |
振られた連番をもとにピボットテーブルを作成する。
今回取得するデータは文字列型なので、ピボットテーブルで使用できる集計関数はMIN()とMAX()だけ。
集計関数はダミーなので、どっちにしろMIN()かMAX()しか使わないと思う(どっちを使っても結果は同じ)
SELECT [親の値] ,[1] AS [子の値1] ,[2] AS [子の値2] FROM ( SELECT [ID], [親の値], [子の値], [Seq] FROM [TargetSource]) src PIVOT (MAX([子の値]) FOR [Seq] IN ([1], [2])) pvt ORDER BY [ID] |
あらかじめ取得するフィールドの数がわかってないとこの方法は使えないのが難点。
わからない場合は一旦フィールド数を取ってきてからSQLを動的に作成するか、上にも書いたように
親子のレコードを別々に取得して出力時に並べるかしないとダメ。
と、いうわけで、余程のことがない限り無理して使う必要はないというwwww
あ、言い忘れてたけど、これはピボットテーブルの「正しい」使用法ではないのでご注意