Windows10の設定画面が開けない件
hatenaブログでmarkdownをデフォルトにする設定
編集方式を変更すると次に記事を書こうとしたときにもその変更内容が反映されていると思ったら反映されていなかった。毎回変更するのが面倒なので設定方法を見ていたらありました。
[設定]の[基本設定]にある「編集モード」で「Markdownモード」を選択する。
Excelで偶数行(奇数行)の合計を求める
意外とわからなかったので備忘録として記述。
探してみたところ以下のサイトが参考になった。
まず、SUMPRODUCT()なる関数がよくわからないのだが、"*"は論理積らしい。 で、上記サイトだとROW()で行数を求めて、その値をMOD()使って2で割った余りが0であれば偶数、1であれば奇数としてその論理値がTRUEのもののみを採用して加算する。
別の方法としてはMOD()じゃなくダイレクトにISEVEN(), ISODD()でもいける。
この画像内の計算式は以下。
=SUMPRODUCT((MOD(ROW(B2:B9),2)=0)*B2:B9) =SUMPRODUCT((MOD(ROW(B2:B9),2)=1)*B2:B9) =SUMPRODUCT(ISEVEN(ROW(B2:B9))*B2:B9) =SUMPRODUCT(ISODD(ROW(B2:B9))*B2:B9)
java.lang.Class.getMethod()とリフレクション
Javaのリフレクションとは変数に格納した「文字列」を使ってクラスを生成したりメソッドを呼び出したりできる機能。
リフレクション使ってメソッドをコールした場合、そのメソッドの例外はinvoke()でInvocationTargetExceptionでラッピングされて例外発生する。 以下は本家のサイトだけれども、正直なに言ってるかわからない。
なので、以下がよいかな。
http://www.ne.jp/asahi/hishidama/home/tech/java/reflection.html http://www.ne.jp/asahi/hishidama/home/tech/java/exception.html#InvocationTargetException
VMware Fusion上のWindows10をCreatorsUpdateしたらプリンタが見えなくなった件
以前、Windows7からWindows10にアップデートしたときもそうなったのだが、 VMware Fusion上のWindows10をCreatorsUpdateしたらプリンタがなくっていた。 以前にも、
(Windows8からWindows10にアップグレードしたらWSDプリンタが見えなくなって困った件)http://kohchi.hatenablog.com/entry/20160312/1457757349
で書いていた通りで、インストールしてみても同じように同じセグメントまたはUSB接続でないとだめ。 そこで再起動してみたが残念ながらダメ。
その日は諦めて色々考えてみたところ、VMWareではプリンタのパススルー(ThinPrint)というのがあるので それを試してみた。
(VMware Fusion で仮想マシン内から印刷する (2079841))https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2079841
- 設定を選ぶ
ここでプリンタをクリック。
- 共有する
でプリンタ(WSDでないのが)見えるようになった。
その時、ふと、プリンタの電源をつけてvmのWindows10を起動すると?と思い、 パススルーの設定をやめて再度起動し直したところ、WSD設定のプリンタが復活。
大きなアップデートのあとはプリンタの電源を入れておいて起動するか プリンタの設定を変えてみる
ってことで見えるようになる???
毎度こんなんじゃ困るんだけどな。
Javaのオートボクシング
プリミティブ型とラッパークラスの変換を自動で行ってくれる仕組み
Java 5からの機能で便利なのかもしれないけどコードレビューしていると結構嫌よね。
public void foo() { Integer iObject = new Integer(10); int i = 0, j; iObject = i; // オートボクシング // iObject = Integer.valueOf(i); j = iObject; // アンボクシング、iObjectがnullだとNullPointerException // j = iObject.intValue(); }
ただし、Eclipseだと設定によって警告を出せるらしい
[ウィンドウ]->[設定]->[Java]->[コンパイラー]->[エラー/警告]->[潜在的なプログラミングの問題] を展開して[ボクシングおよびアンボクシング変換]を「エラー、警告、無視」から選択可能。デフォルトは「無視」。
javaのHashMap初期化
Java.util.HashMapの初期化方法。すぐ忘れるので備忘録。
package com.foobar.console; import java.util.HashMap; import java.util.Map; public class Test01 { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>() { {put("fooKey", "fooVal");} {put("barKey", "barVal");} }; if (!map.containsKey("noKey")) { System.out.println("There is no key."); } System.out.println(map.get("fooKey")); System.out.println(map.get("barKey")); } }
参考は以下(作成から一年以上経過しているから試してみたけど問題なし)。