踊れないダメ人間

本人は面白いと思ってるらしい

Archive for the ‘コンピューターとインターネット’ Category

Visual Studio 痛IDE拡張2019 1.0

leave a comment »

2019になって拡張機能SDKに変更があったらしく、修正が必要になったので分けました。
機能的には同じです。

ダウンロード

Written by aoikagami

2019年3月23日 at 5:58 午後

GPUとは?

leave a comment »

GPUとは
General Processing Unitの略で
大規模な数値演算を行うための専用ハードウェアのことなんだよ

って言ったら何人だませるだろうか?

Written by aoikagami

2017年7月10日 at 11:24 午後

カテゴリー: コンピューターとインターネット

Tagged with

Surface Pro 4

leave a comment »

あ…ありのまま 今 起こった事を話すぜ!
おれは、壊れた洗濯機の排水ホースを買いに行ったと
思ったら、いつの間にかSurface Pro 4を買っていた

な…何を言っているのか わからねーと思うが…

Written by aoikagami

2016年10月30日 at 2:42 午後

Visual Studio 痛IDE拡張 2.2

leave a comment »

前のバージョンから1週間も経ってないけど、細かいことは気にしない。

ダウンロード

変更点
・15preview対応

Written by aoikagami

2016年5月12日 at 10:53 午後

Visual Studio Codeで矩形選択(box選択)する方法

leave a comment »

boxselect1
選択開始位置にキャレットを置いて

boxselect2
[Shift]+[Alt}を押しながら選択終了位置をクリック

 

 

円周率のデータは円周率百万桁(http://www.geocities.jp/f9305710/PAI1000000.html)を
使用させていただきました。

Written by aoikagami

2016年5月11日 at 9:26 午後

Visual Studio 痛IDE拡張 2.1

leave a comment »

一年ぶりの修正

ダウンロード

変更点
・ディスプレイの設定で項目サイズを変えた場合にスライドショーの表示がおかしくなっていたのを修正(高解像度対応ともいう)

Written by aoikagami

2016年5月7日 at 9:51 午後

Windows UpdateにWindows10が居座ってむかついた話

leave a comment »

沙雪(サブ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が動かなくなるかもしれません。

Written by aoikagami

2015年10月14日 at 11:34 午後

優れたモダンなC++を書くのに役立つC++ Core Guidelineという記事

leave a comment »

優れたモダンな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はガイドラインより先に自分のところの標準カバー度の低いコンパイラをどうにかするべきじゃないかな...

Written by aoikagami

2015年10月6日 at 12:00 午前

Visual Studio 痛IDE拡張 2.0

leave a comment »

いろいろ変えたので思い切って2.0にした。

ダウンロード
(ソースは整理できてないのでまだ)

変更点
・Livetを使用するようにした
・フォルダ指定でサブフォルダも見られるようにした
・その他、イケてないコードの修正

フォルダ指定について
設定画面のフォルダ指定時にチェックをつけることでサブフォルダを見にいくようになります。
ItaIdeEx2_0Config
なお、大量の画像があるフォルダを指定すると固まるので注意
(エロ画像フォルダのルートを指定したらひどい目にあった)

その他
VS2015でスクロール時に変な動きをすることがあるが気にしない
スライドショーが一部汚いが気にしない(そのうち直す)
インストール時に署名がないと怒られるが気にしない(^^;

追記(8/1 13:30)
スライドショーの時間に不具合があったため、インストーラを差し替えました。

Written by aoikagami

2015年8月1日 at 6:42 午前

SQL Serverで縦のものを横にする

leave a comment »

できたらいいなと思ってやってみたらできてしまった(笑)のでメモ

データベースで親子関係のある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’ばー’);
INSERT INTO @Child VALUES (1, 1, N’ほげ’), (2, 1, N’ふが’), (3, 2, N’ぴよ’);

— ここから取得用SQL
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]
)
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]

 

これがどうなっているかというと、
まず、対象データをテーブル変数で作成

DECLARE @Parent TABLE([ID] INT, [値] NVARCHAR(100));
DECLARE @Child TABLE([ID] INT, [親のID] INT, [値] NVARCHAR(100));

INSERT INTO @Parent VALUES (1, N’ふー’), (2, N’ばー’);
INSERT INTO @Child VALUES (1, 1, N’ほげ’), (2, 1, N’ふが’), (3, 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

あ、言い忘れてたけど、これはピボットテーブルの「正しい」使用法ではないのでご注意

Written by aoikagami

2015年5月10日 at 2:17 午後