win版Chromeでpleiadesがダウンロードできない
何時の間にか0秒リダイレクトがダメな扱いらしく、Chromeではダウンロードそのものができないときがあるようです。
他のブラウザでアクセスした場合も一応リンクの表示がされるものの、自動的にダウンロードが開始せず。
リンクがあるなら開けばいい、という発想で表示されたリンクを新しいタブで開いたらなんとダウンロードが開始されました。
…稀にこういうケースってあるのでしょうか。私にはさっぱりですが。
ChromeやSkypeがアップデートできない
私生活が落ち着いてきたのでブログ再開ついでに小ネタ。
proxyに接続している環境をメインで使っている場合、まれにWindows版のChromeやSkypeがアップデートできない現象に見舞われるそうです。
この現象に偶然引っかかってしまったのか、自宅のLAN環境からアップデート等ができない状況に陥りました。
LANアダプタやproxyの設定等、あらゆるネットワーク周りの設定は試してみましたが、一向に解決する気配もなく…。
Windows Socketの初期化でやっと直りました。
参考にしたサイトでも:
ネットワークの様子がおかしい時のコマンドとか | OrangeGardenRoom
これのwindows socketの初期化で直りました。
同じように苦しんでる方の参考にでも。
りそな銀行を装った迷惑メールが届いた
久しぶりにサブ用として利用しているメールアドレスにこんな内容のメールが届いた。
こんにちは! 最近、利用者の個人情報が一部のネットショップサーバーに不正取得され、利用者の個人情報漏洩事件が起こりました。 お客様のアカウントの安全性を保つために、「りそな銀行システム」がアップグレードされましたが、お客様はアカウントが凍結されないように直ちにご登録のうえご確認ください。 以下のページより登録を続けてください。 https://mp.resona-gr.co.jp/mypage/MPMB010X010M.mp?BK=0010 Copyright(c) Resona Holdings, Inc. All Rights Reserved.
※安全のため、リンクは開かないようにお願いします。
迷惑メールといえばおなじみアダルト系やB-CAS系といったものが定番になります。
ただし、地味に銀行系も昔からあったようで、各銀行のWebサイトでは迷惑メールや詐欺メールへの対策呼びかけを行っているようでした。
特にメールアドレスにはmp@resona-gr.co.jp
あれっ、と思った方もいるかもしれないですね。
この迷惑メールの送信元アドレスは、公式では「法人のお客様向け」となっています。
つまり一般の方には本来送信がされません。
更に、メールの文字コードはGB2312、IPアドレスは139.201.153.106でした。
文字コードは中国語
GB 2312-80(あるいはGB 2312-1980)は、中華人民共和国の国家規格として定められた簡体字中国語の符号化文字集合(いわゆる文字コード)で、主に中国大陸などで使われる。
[Querying whois.arin.net]
[Redirected to whois.apnic.net]
[Querying whois.apnic.net]
[whois.apnic.net]
% [whois.apnic.net]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html% Information related to '139.200.0.0 - 139.207.255.255'
inetnum: 139.200.0.0 - 139.207.255.255
netname: CHINANET-SC
descr: CHINANET Sichuan province network
descr: Data Communication Division
descr: China Telecom
country: CN → (中国)
admin-c: XS16-AP
tech-c: XS16-AP
status: ALLOCATED PORTABLE
notify: zhangys@sctel.com.cn
remarks: service provider
remarks: -+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
remarks: To report network abuse, please contact the IRT
remarks: For troubleshooting, please contact tech-c and admin-c
remarks: For assistance, please contact the APNIC Helpdesk
remarks: -+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
changed: hm-changed@apnic.net 20110304
mnt-by: APNIC-HM
mnt-lower: MAINT-CHINANET-SC
mnt-routes: MAINT-CHINANET-SC
mnt-irt: IRT-CHINANET-CN
source: APNICirt: IRT-CHINANET-CN
address: No.31 ,jingrong street,beijing
address: 100032
e-mail: anti-spam@ns.chinanet.cn.net
abuse-mailbox: anti-spam@ns.chinanet.cn.net
admin-c: CH93-AP
tech-c: CH93-AP
auth: # Filtered
mnt-by: MAINT-CHINANET
changed: anti-spam@ns.chinanet.cn.net 20101115
source: APNICperson: Xiaodong Shi
nic-hdl: XS16-AP
e-mail: scipadmin2013@189.cn
address: No.72,Wen Miao Qian Str.
address: Data Communication Bureau Of Sichuan Province
address: Chengdu
address: PR China
phone: +86-28-6190785
fax-no: +86-28-6190641
country: CN → (中国)
changed: zhengzm@gsta.com 20131230
mnt-by: MAINT-CHINANET-SC
source: APNIC
リース元が完全に中国
紛れも無く詐欺メールと見て間違いないですね!
ShowDialogやShowを拡張メソッドで実装した場合、被表示FormでKeyDownイベントが発生しない
ちょっとだけ詰んだのでメモ程度に。
public void ShowDialog(IWin32Window owner, String test){
base.ShowDialog(owner);
}
こういう感じに拡張メソッドを実装しているとします。
ShowまたはShowDialogを実行する前にKeyPreview = trueを入れます。
public void ShowDialog(IWin32Window owner, String test){
this.KeyPreview = true;
base.ShowDialog(owner);
}
キーイベントがフォーカスを持つコントロールに渡される前に、フォームがそのキーイベントを受け取るかどうか、という説明の通り、
親フォームからKeyDownイベントを取得するかどうかというのを、KeyPreviewで設定しています。
デフォルトではfalseなので、コンストラクタまたは該当する拡張メソッドで実装しなければKeyEventが発生しないようになっています。
また、この方法を使用しても一部のコントロールではKeyEventが受け取られないため、別の方法で対策しなければなりません。
三項演算子
何を今更…と言われそうですが、とりあえずメモ書き
ちなみに、ほとんどのプログラム言語ではBoolean型はそのままif文の条件分岐に使うことができます。
phpの場合は中身がある場合でもtrueを返す場合があります。
●基本形
String msg="";
Boolean a=true;
if(a=true){
//aがtrueの場合の処理
msg="a=true";
}else{
//aがfalseの場合の処理
msg="a=false";
}
これを三項演算子に表すと
msg = a ? "a=true" : a="false" ;
こうなります。
DBのプロシージャと同じく、何もしないという処理をすることができないのが三項演算子の特徴です。
●発展形
三項演算子はif文と同じ挙動なのでネストさせることもできます。
String msg="";
Boolean a=true;
Boolean b=true;
if(a=true){
//aがtrueの場合の処理
msg="a=true";
if(b=true){
msg="a=true, b=true";
}else{
msg="a=true,b=false";
}
}else{
//aがfalseの場合の処理
msg="a=false";
}
これを三項演算子にすると
msg = a = true ? b = true ? "a=true, b=true" : "a=true,b=false" : "a=false";
こうなります。
●結論
三項演算子は慣れると扱いやすい構文で、特に条件処理をだらだら書くよりも、より短くコードを書くことができます。