ごまなつ Blog

楽しく働ける世界を目指して

xmlファイルのencodingと実際の文字コードが異なっている場合どうなるか

結論

serealizeの行でエラーになります。文字コードをそろえればうまくいきます。

背景

XMLファイルを読み書きするにはいろいろ方法がありますが、今回はシリアライズ、デシリアライズを使って読み込むことにしました。XMLファイルの構造に従ってクラスを作り、シリアライズしました。すると、シリアライズの行でエラーになりました。XMLファイルの内容をよく見ると、1行目のタグのEncodingとファイルの文字コードが食い違っていました。ファイルの文字コードを変更すると文字化けします。タグのEncodingをファイルの文字コードと揃えるとうまくいきました。

シリアライズ、デシリアライズのライブラリがある言語では文字コードとタグは勝手にそろうようになっていますが、持っておらず単純に文字列処理のみでファイルを書く場合は、設計者の勘違いなどのミスにより文字コード食い違いが起こります。変更が難しいのであれば、XMLファイルを読み込む側で処理するしかないのでしょうかね…。(デシリアライズ前に1行目を読み込んでEncodingの部分を変更する)

ゲーミンググラスG-SQUAREからPLAIDeに乗り換えて2ヶ月経った

私はゲーミングアイテムを集めたり使ったりするのが好きです。そして視力が悪いので医療器具として眼鏡をかけています。2年前、ゲーミンググラスの存在を知り、G-SQUAREを使うようにしました。最近、PLAIDeというゲーミンググラスが発売され、そちらが気になり乗り換えました。日常生活でも度入りのゲーミンググラスを検討している方の参考になると幸いです。

ゲーミンググラス

ゲーミンググラスはゲーミング眼鏡です。ブルーライトカット機能や、色が鮮やかに見えるようにレンズに色が入っていたりします。日本製だと、Bauhutteのゲーミンググラスもあります。G-SQUAREはニデック、PLAIDeは999.9の商品です。

私は、G-SQUAREを買った理由はLeague of LegendsのプロゲーミングチームであるDetonetion Forcus Meのコラボモデルがあったからで、応援の意味も込めて買いました。PLAIDeは、ゲーミンググラスへの単純な興味です。高級眼鏡で有名な999.9の眼鏡をかけてみたかったというのもあります。

度付きレンズ変更は別料金

最初の注意点は、G-SQUARE、PLAIDeともに度付きレンズに変更するのは本体と別料金だということです。よって、結構高価です。本体と度付きレンズ変更込みでG-SQUAREは4万前後、PLAIDeは5万前後かかりました。

2つの比較

ここからは、個人的な感想になります。

レンズの色

G-SQUAREはレンズに色が入っているため、日常生活で少しだけ色が変わって見えていました。PLAIDeは色が入っていないので、色の変化はありません。

かけ心地

PLAIDeはテンプルが薄く、軽いためまるで掛けていないようなかけ心地です。 G-SQUAREはPLAIDeに比べると重いため掛けてる感はあります。しかし、G-SQUAREは耳に当たる部分の角度を調整することができます。

PLAIDeはレンズ全てを覆う縁のタイプしかありませんが、G-SQUAREはレンズ上にしか縁がないタイプがあります。

ヘッドホンとの相性

G-SQUAREではヘッドホンを付けるとやはり耳に食い込んで痛いのは少しありました。(普通の眼鏡よりは確実に良い)PLAIDeはテンプルが薄いので、気になりませんでした。

総合的にはPLAIDeをお勧めする

何といってもかけ心地が良いです。G-SQUAREの方が長時間画面を見続けることも辛くなかったうえ、ゲーム画面が少しだけ見やすかったです。しかし、日常生活でも使うとなればPLAIDeのほうに分があると感じています。

とは言いましたが、個人の好みもありますし、生活スタイルによってどのゲーミンググラスが最適かは異なると思います。

ゲーミンググラス、買おう

要らないといわれればそれまでかもしれませんが、ゲーミンググラスという市場ができていること、この市場が大きくなればより良いゲーミンググラスが出てくるかもしれないことを考えると買うことには意味があると感じています。ゲーミンググラスを応援し、もっと言うならeスポーツによる経済効果を応援するためにも、ゲーミンググラスを買いませんか?私はこれからも買っていくつもりです。

【Windows】範囲指定のスクリーンショットの撮り方はWindows+Shift+Sが簡単

WindowsPCでのスクリーンショットの撮り方は、Alt+PrintScreenとWinShotしか知らなかったのですが、Windows+Shift+Sでもスクリーンショットが撮れることを知りました。

Windows+Shift+Sは自分で範囲指定できる!

PrintScreenだと画面全体、Alt+PrintScreenだと選択しているアプリケーションの画面のスクリーンショットを撮ります。Windows+Shift+Sだと、このような画面が出てきて、マウスカーソルが十字になります。

撮りたい範囲をドラッグで選択すると、クリップボードに選択した範囲のスクリーンショットが撮れます。わざわざペイントに貼り付けて、トリミングする手間がなくなりました。

他のモード

左から2個目は曲線範囲指定が可能、3つ目はAlt+PrintScreenと同じ、4つ目はPrintScreen単押しと同じ機能です。自作キーボード使いとしては、PrintScreenキーはいらなくなったなという印象です。

Alice, Bob, Carol,...,Zoe

暗号通信の分野では、登場人物の名前にAlice, Bob, Carolが使われます。たいていの場合、AliceがBobにメッセージを送り、第三者としてCarol、攻撃者としてEveが登場します。これらの名前の由来を調べてみました。

法則

Alice, Bob, Carol,Eveが暗号でよく使われていますが、その由来はブルース・シュナイアーの「暗号技術大全」に登場する人物たちの名前です。名前の頭文字がアルファベット順に並んでいます。Alice, Bob, CarolでABCですよね。他には、Dave,Ellen,Frank と続いていきます。

ここまではただの登場人物ですが、これ以降は役割と名前が対応していきます。

  • イブ (Eve) は盗聴者 (eavesdropper) 。アリスとボブのメッセージを立ち聞きするが、改竄(かいざん)はしない。量子暗号では、環境 (environment)
  • アイザック (Isaac) は、インターネットサービスプロバイダ (ISP)
  • アイヴァン (Ivan) は 発行者 (issuer)
  • ジャスティン (Justin) は、司法 (justice) 体系
  • マロリー (Mallory) は、邪悪な攻撃者 (malicious attacker) 。イブと異なり、メッセージを自分のものと入れ替えたり、再送攻撃したりする。マーヴィン (Marvin)、 マレット (Mallet) も同様に使われる
  • チルダ (Matilda) は、商人 (merchant) 。電子商取引や金融関係で使われる
  • オスカー (Oscar) は、敵対者 (opponent) であり、マロリーと同様
  • パット (Pat)、ペギー (Peggy) は、証明者 (prover) で、ビクター (Victor) は、検証者 (verifier) であり、意図したトランザクションが実際に行われたことを示すため、相互作用を行う。しばしばゼロ知識証明に登場
  • プロッド (Plodまた"Officer Plod"とも) は、法執行官吏
  • ティーブ (Steve) は、電子透かし (Steganography) で参照される
  • トレント (Trent) は、信頼された調停者 (trusted arbitrator) で、中立の第三者であり、議論しているプロトコルにしたがって、実際の役目は異なる
  • トルーディー (Trudy) は、侵入者 (intruder) で、マロリーの代わりに使う
  • ウォルター (Walter) は、 見張り番 (warden) で、プロトコルにしたがって、アリスやボブを監視する人のために必要なことがある
  • ゾーイ (Zoe) は、暗号プロトコルの最後の当事者

参考サイト アリスとボブ - Wikipedia

これらの名前は、多くの名前を必要とする場面、例えばダミーのユーザ名に迷ったときに使ってみてはいかがでしょうか。

【C# .NET】関数名と行番号、ファイルパスを取得する

エラーのログを見るときに、関数名と行番号があるとどこが問題か特定しやすくなります。どうやれば表示できるのか調べました。

using System.Runtime.CompilerServices;

public static string GetInfo([CallerLineNumber]int line = 0,
                             [CallerMemberName]string name = "",
                             [CallerFilePath]string path = "")
        {
            string info = "行番号:" + line + "名前:" + name + "ファイルパス:" + path;
            return info;     
        }

private void button1_Click(object sender, EventArgs e)
        {
            string info = GetInfo();
            textBox1.AppendText(info);
        }

System.Runtime.CompilerServicesを用いています。C#5.0以降に対応しています。 これでエラー場所を特定しやすくなるはずです。

ノロウイルス体験記(手洗いをしよう!)

ウイルスが話題となり、手洗いをするようになっていると思います。手を洗っていないが故に罹ってしまうほかのウイルスとして、ノロウイルスがあります。中学生の時にノロウイルスに罹ったことがあるので、その体験を書こうと思います。

簡潔に

  • 水を飲むと即腹痛(下痢のような感じ)、トイレでは透明な水(恐らく飲んだままの水)が出る
  • 食べると即気持ち悪くなって吐く
  • よって常に空腹・のど渇く

飲み食いができない

水分を取ると下から出て、食事をとると上から出るため何も栄養が取れませんでした。空腹で辛かったので寝ることでごまかしました。2日目の昼からは食べられるようになりましたが頻度は減ったけれども下痢になっていました。

罹っていて良かった

罹っていて良かったことがあります。この1週間後、私の学年でデリバリー給食を食べていた人の集団食中毒が起こりました。全クラスが学級閉鎖人数±2人しか出席していないという事態になり、授業を進めるわけにもいかず授業はレクリエーションのようなものになりました。罹っていなければ、再び食中毒でノロウイルスになっていたと思います。

手洗いをしよう!

ウイルスの感染経路は鼻や口を触ることで手についていたウイルスが体内に入ることや、触ったものを食べることが一般的です。手はいろんなものに触れているためウイルスはついています。何かの拍子に手についていたウイルスを体内に入れてしまうので、手洗いは意識して行いましょう。風邪やインフルエンザにも効果ありますし。

自分に合ったマウスの探し方

はじめに

自分が一番好きなのはこのマウスです。薬指を置く場所があるのが好きです。
Naga Trinity
https://amzn.to/2SZ3nK9

人によって自分に合うマウスは異なるので、それを探すきっかけになると幸いです。

なぜマウスの話をするのか

デスクワーカーはコンピュータに触っている時間が長いです。キーボードはもちろんですが、マウスも長時間使っています。長時間使うものだから、自分にとって楽なマウスにこだわってもいいのではないかとかんがえてこの話をしています。

マウスの大まかな要素

  • 有線か無線か
  • クリック以外のボタンがあるか
  • 一般的な形状か
  • 移動量の入力方法は?

有線だと、接続が途切れる心配はありませんがケーブルの取り回しが難点です。最近は無線でも安定しているものが増えているため、優先にこだわる必要はないかもしれません。しかし、無線は電池切れが難点です。

サイドボタンがついていると便利です。サイドボタン2個で戻る・進むがよく知られていますが、ゲーミングマウスまで目を向けると16ボタンといったものもあります。

エルゴノミクスマウスは一般的なマウスの形とは異なります。また、トラックボール、タッチパネル、トラックポイントトラックパッドもマウスです。

トラックボールマウスはどうなのか

トラックボールマウスは表面にボールがあり、そのボールを転がすことで移動量を入力します。ボールの位置、ボタンの位置はそれぞれ異なります。大きな移動は大変ですが、細かい移動に強いです。曲線移動ができたり、慣性を使って楽できます。1つの指だけでボールを操作するのはお勧めしません。その指の付け根に負担がかかります。

大きな移動も慣性を使えばいいので、慣れると便利だと思います。一度使ってみてはどうでしょうか。親指でボールを操作するマウスが一般的で安いですが、人差し指と中指でボールを操作するタイプが指への負担が小さくお勧めです。

読み取り方式

現在は光学式、BLUE LED、レーザー式が主流です。光学式とBLUE LEDは安いマウスに多く、光沢のある面で使えないことがあります。読み取り方式も確認すると良いでしょう。

重さと形状

マウス自身の重さによって、ある距離を移動させるために必要な力が変化します。マウス感度の変更でも調整できるので、自分の好みと相談しましょう。

クリックの軽さは、疲れにくさに直結します。長時間使うと違いが出てきます。ゲーミングマウスはクリックが軽いのでお勧めです。

マウスの持ち方

マウスの持ち方を意識したことありますか?

  • かぶせ持ち
    • 手を全体にかぶせて持つ
      • 疲れにくいが、クリックが遅い
      • 手の大きさがマウスに合っていないと難しい
  • つまみ持ち
    • 指を立てて掴むように持つ
      • クリックが速いが、疲れやすい
  • つかみ持ち
    • つかみ持ちの手を後ろに下げて持つ
      • 移動が速いが、手首に負担がかかりやすい
      • クリックが重くなりやすい

実際は、3つを複合した持ち方をしていたり、無意識のうちに使い分けています。自分の手の大きさと持ち方を考慮してマウスの大きさ、側面形状を選択しましょう。 - かぶせ持ちは側面形状が抉れていると持ちにくい - つかみ持ちは側面形状が膨らむと持ちにくい - つまみ持ちはクリックが手前でも軽いほうが楽

どの持ち方でも気を付けること

手首だけの動きにしないようにしましょう。内側の手首を痛めます。一回痛めると痛みが再発しやすいです。大きな動きの時に特にやってしまいがちです。マウス感度を調整しましょう。

dpi変更

dpiやマウス感度を変更できる機能は、あると便利です。

値段が高い・・・

そう思う方もいると思います。高機能なマウスは快適ですし、自分もマウスも故障しにくいです。

いいマウスを使おう!

安いマウスでは同じ形で自分に合っていないものを使っている可能性があります。挙げた条件を考えると高級なマウスになるかもしれませんが、良いマウスを使うと、とても快適です。一度は高機能なマウスを使ってみてはいかがでしょうか。