<基本設定:ローカライゼーション>
・左上のMenu、Preferences、RaspberryPi Configurationをクリック
・ウィンドウのLocalisationタブ
・Set Timezoneをクリックし、AreaをAsia、LocationをTokyoにする
・キーボードの設定、Set Keyboardを押し、CountryをJapan、VariantをJapanese(OADG 109A)にする
<基本設定:日本語化>
・Menuにあるコマンドプロンプト風のアイコン、LXTerminalを起動
・「sudo apt-get update」と入力、Enter
・終わったら「sudo apt-get install fonts-vlgothic」と入力、Enter
なんか聞いてきたら「y」を押せばいい
全部終わったら×で閉じるかExit
・さっきのLocalisationタブを開いて、Set Localeを押す
・Languageにja(japanese)
・Countryにjp(japan)
・Character SetにUTF-8
再起動後に日本語になる
<画面解像度の設定>
LXTerminalで「sudo raspi-config」と入力Enter
7 Advanced Option>A5 Resolution>好きな解像度を選んで、了解すると再起動後に
解像度が変わる。
<日本語入力>
LXTerminalで「sudo apt-get install ibus-anthy」と入力Enter
適当に「y」で進む
終わったら、Menu>設定>iBusの設定をクリック
iBusデーモンが起動していません。起動しますか?を「はい」
再起動すると日本語が入力できると思う。
「半角/全角」キーで変換切り替えできるみたい。
できなかったらiBusの設定でEnglishを消すといいかもしれない。
今は消してやってる。
ここまで来たらブラウザ、オフィスなど使い放題
2017年6月5日月曜日
Raspberry Pi3で遊ぶ インストール編
・RaspberryPi3を買う(6000円)
・電源用USBアダプタ(2000円)とケース(800円)
MicorSDカード(32GB Class10ぐらいが良さげ6000円)
も一緒に買うと便利
・Noobsをダウンロードして、Zipを展開しSDカードにコピー
・展開したファイル群がトップレベルにくるようにコピーする
(NOOBS_v2_4_0の中身が一番上)
・電源とHDMI、キーボード、マウス、LANをラズパイに挿す
・OSのインストールが始まるのでRaspbianを選択して続行
・20分ぐらいするとOSのインストール終了
・デスクトップが起動する
・電源用USBアダプタ(2000円)とケース(800円)
MicorSDカード(32GB Class10ぐらいが良さげ6000円)
も一緒に買うと便利
・Noobsをダウンロードして、Zipを展開しSDカードにコピー
・展開したファイル群がトップレベルにくるようにコピーする
(NOOBS_v2_4_0の中身が一番上)
・電源とHDMI、キーボード、マウス、LANをラズパイに挿す
・OSのインストールが始まるのでRaspbianを選択して続行
・20分ぐらいするとOSのインストール終了
・デスクトップが起動する
2016年8月9日火曜日
Visual Studio 2013でVsPackageを作る
2013ではaddin機能が無くなり、VsPackageになった。
VsPackageのSDKをダウンロードし
新規プロジェクトをVsPackageで作成する。
プログラムを記述してビルドし
binのフォルダーに作成される.vsixファイルを
ダブルクリックすることでインストールできる。
2016年5月23日月曜日
catchしたExceptionの再スロー
C#でtry~catchを行うとき、catchブロックでthrowのみ書いてるソースがあったので
意味あんのか?ってことで調べてみた。
自分の認識では関数内のExceptionは最終的に.Net Frameworkが受けてくれるので
単にthrowするだけなら意味がないように思う。
ということで、スタックトレースがどう違うかを比べてみた。
①Hoge1~3はtry~catchを行わず、呼び出し元でtry~catchしてみる。
②Foo1~3はtry~catchを行ない、catch句ではthrow;のみする
①結果
********Hoge*********
System.DivideByZeroException: 0 で除算しようとしました。
場所 WindowsFormsApplication1.Form1.Hoge3() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 53
場所 WindowsFormsApplication1.Form1.Hoge2() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 48
場所 WindowsFormsApplication1.Form1.Hoge1() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 43
場所 WindowsFormsApplication1.Form1.Hoge() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 37
場所 WindowsFormsApplication1.Form1.button1_Click(Object sender, EventArgs e) 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 25
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
②結果
********Foo*********
System.DivideByZeroException: 0 で除算しようとしました。
場所 WindowsFormsApplication1.Form1.Foo3() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 110
場所 WindowsFormsApplication1.Form1.Foo2() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 104
場所 WindowsFormsApplication1.Form1.Foo1() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 92
場所 WindowsFormsApplication1.Form1.Foo() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 80
場所 WindowsFormsApplication1.Form1.button2_Click(Object sender, EventArgs e) 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 62
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
③結果
********Func*********
System.DivideByZeroException: 0 で除算しようとしました。
場所 WindowsFormsApplication1.Form1.Func() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 137
場所 WindowsFormsApplication1.Form1.button3_Click(Object sender, EventArgs e) 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 119
■結論
ということで、 catch句で何かしらの処理を行うならアリだが、単にthrow;だけなら不要。
③のパターンはスタックトレースが最後のthrow分しか残ってないので最悪。
普通に①でやるのがよさげ。
意味あんのか?ってことで調べてみた。
自分の認識では関数内のExceptionは最終的に.Net Frameworkが受けてくれるので
単にthrowするだけなら意味がないように思う。
ということで、スタックトレースがどう違うかを比べてみた。
①Hoge1~3はtry~catchを行わず、呼び出し元でtry~catchしてみる。
#region Hoge
private void button1_Click(object sender, EventArgs e)
{
try
{
Hoge();
}
catch (Exception ex)
{
Console.WriteLine();
Console.WriteLine("********Hoge*********");
Console.WriteLine(ex.ToString());
}
}
private void Hoge()
{
Hoge1();
}
private void Hoge1()
{
Hoge2();
}
private void Hoge2()
{
Hoge3();
}
private void Hoge3()
{
throw new DivideByZeroException();
}
#endregion
②Foo1~3はtry~catchを行ない、catch句ではthrow;のみする
#region Foo③Func1~3はtry~catchを行ない、catch句ではthrowされたExceptionをさらにthrowする
private void button2_Click(object sender, EventArgs e)
{
try
{
Foo();
}
catch (Exception ex)
{
Console.WriteLine();
Console.WriteLine("********Foo*********");
Console.WriteLine(ex.ToString());
}
}
private void Foo()
{
try
{
Foo1();
}
catch
{
throw;
}
}
private void Foo1()
{
try
{
Foo2();
}
catch
{
throw;
}
}
private void Foo2()
{
try
{
Foo3();
}
catch
{
throw;
}
}
private void Foo3()
{
throw new DivideByZeroException();
}
#endregion
#region Func
private void button3_Click(object sender, EventArgs e)
{
try
{
Func();
}
catch (Exception ex)
{
Console.WriteLine();
Console.WriteLine("********Func*********");
Console.WriteLine(ex.ToString());
}
}
private void Func()
{
try
{
Func1();
}
catch (DivideByZeroException ex)
{
throw ex;
}
}
private void Func1()
{
try
{
Func2();
}
catch (DivideByZeroException ex)
{
throw ex;
}
}
private void Func2()
{
try
{
Func3();
}
catch(DivideByZeroException ex)
{
throw ex;
}
}
private void Func3()
{
throw new DivideByZeroException();
}
#endregion
①結果
********Hoge*********
System.DivideByZeroException: 0 で除算しようとしました。
場所 WindowsFormsApplication1.Form1.Hoge3() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 53
場所 WindowsFormsApplication1.Form1.Hoge2() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 48
場所 WindowsFormsApplication1.Form1.Hoge1() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 43
場所 WindowsFormsApplication1.Form1.Hoge() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 37
場所 WindowsFormsApplication1.Form1.button1_Click(Object sender, EventArgs e) 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 25
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
②結果
********Foo*********
System.DivideByZeroException: 0 で除算しようとしました。
場所 WindowsFormsApplication1.Form1.Foo3() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 110
場所 WindowsFormsApplication1.Form1.Foo2() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 104
場所 WindowsFormsApplication1.Form1.Foo1() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 92
場所 WindowsFormsApplication1.Form1.Foo() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 80
場所 WindowsFormsApplication1.Form1.button2_Click(Object sender, EventArgs e) 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 62
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
例外がスローされました: 'System.DivideByZeroException' (WindowsFormsApplication1.exe の中)
③結果
********Func*********
System.DivideByZeroException: 0 で除算しようとしました。
場所 WindowsFormsApplication1.Form1.Func() 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 137
場所 WindowsFormsApplication1.Form1.button3_Click(Object sender, EventArgs e) 場所 D:\94_DevelopVS\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:行 119
■結論
ということで、 catch句で何かしらの処理を行うならアリだが、単にthrow;だけなら不要。
③のパターンはスタックトレースが最後のthrow分しか残ってないので最悪。
普通に①でやるのがよさげ。
2016年4月18日月曜日
2016年1月19日火曜日
登録:
投稿 (Atom)