さてと・・・

さてと・・・
秋に向けてがんばりますか 。

情報処理安全確保支援士(旧セキュスペ)にしようかとも思いましたが、とりあえずネスペにしました。
深い理由はありません。
前職の業務(という名の地域のお祭参加)の都合もあり、ここしばらく試験を受けていなかったので午前1からのスタートになります。
まぁなんとかなるやろ・・・

情報処理安全確保支援士ってなんて略してるんでしょう。
安保が一番言いやすいけど、ちょっと語弊ありますね。

技術者試験受験の思案中

前職は業務(ではなかったが)の関係で情報処理技術者試験が受けられなかったので、久しぶりに秋に受けてみようかと考え中です。
秋受けれるものの中だったら、ネットワークスペシャリストがいいかな・・・

情報処理安全確保支援士(旧セキュリティスペシャリスト)でもいいんだけど
セキュスペに比べて覚えにくすぎるね、この名前
あとスペシャリストにくらべて支援士ってなんか語感弱いね

長いこと受けてないから午前1からスタートすることになるのがちょっと嫌だ
多分問題ないけど、一応復習しないといけない

キャッシュレス決済の会計、無駄が多くないですか?

現金決済よりもキャッシュレス決済の方が便利だ、と言われてますね。
実際私もよく利用してます。
ただ、(特にIC決済の)会計の流れが今ひとつ気に入りません。
無駄な手間、時間がかかっていると感じます。

現状のIC決済会計の流れ

ちゃんと運用すれば現金決済よりも早く会計が終わるはずですが、会計が終わるまでに必要とは思えない手順・ステップがあります。
テクノロジーの進歩にルール変更が追いついてないのではないでしょうか?
現金決済ありきのルールで運用してもキャッシュレス決済の恩恵が十分に受けられないのではないでしょうか?

不要と思うステップ
不要と思う理由

上記のステップ2~4は本質的に必要でしょうか?
私はそうは思いません。
もう既に仕様を決めてしまっているため、現状で決済手段を自動判別する方法がなければ追加するには技術上のハードルはあるかもしれません。
(とは言ってもステップ5自体は1秒程度の手間なのでそこまで大きな問題でもありませんね)

良いと思われるIC決済会計の流れ

上記3ステップで済めばどうでしょう。
きれいな流れじゃないでしょうか?
全部こうなればかなり会計が早くなると思います。
レシートも電子化したほう受け渡しに手間取らなくていいでしょうね。

こうなる前に会計が店を出た瞬間、自動的に終わる社会が先にくるかもしれませんが。

過去の山陽電車の遅延証明の出し方

山陽電車を使っていて、遅延に巻き込まれたため遅延証明が必要になる場合があるかと思います。
山陽電車の公式サイトで遅延証明を出せますが、1週間前のものまでしか出せません。
紛失した場合などに困るかと思いますので、もっと古い日付の遅延証明の出し方をご紹介します。
(この記事は2017年08月時点の内容です。サイトの更新等で出せなくなる可能性があります。)

過去の遅延証明の出し方

山陽電車の公式サイトの遅延証明のページを開きます。
山陽電車 遅延証明書

このページの過去一週間分を表示をクリックすると次のような画面になります。
遅延があった場合は青文字でリンクが貼られているのでクリックして、遅延証明の印刷ページを開きます。

表示された印刷ページのURLをコピーします。
2017年7月31日の遅延証明の場合は次のようなURLです。
http://www.sanyo-railway.co.jp/railway/delay/detail.html?delay_id=864

このURLの最後のdelay_id=864という部分でいつの遅延証明を表示するかを決定しています。
この数字を今表示している日付よりも後の遅延証明を出したい場合は大きい数字を、前の遅延証明を出したい場合は小さい数字を入力してサイトにアクセスすると欲しい日の遅延証明の印刷ページを表示することが出来ます。

やや地道な作業に感じるかもしれませんが、通常1ヶ月程度前の分くらいしか必要ないでしょう。
最新の遅延証明ページから3、4回数字を小さくしてやれば目当てのページが表示されると思います。

最後に

JRの遅延証明ページもほぼ同じ仕組みです。
ただしJRのページはパラメータが多く、遅延も頻発しており手作業で探し当てるのは現実的ではありません。
必要になった遅延証明のページを印刷時にメモ帳などに保存しておき、必要になったらそのアドレスにアクセスするといった使い方は出来るでしょう。

山陽電車もJRもサイトの構築方法が変更されると、この方法も使えなくなるのでご了承下さい。
ユーザー視点で言えば年月を指定して、遅延があった日を選択したら印刷できるようにしてくれれば解決する問題なんですけどね。

(JAVA)ArrayListがremove出来ない

JAVAでArrayList.removeが上手く動かなかった。

指定した番号の要素を削除したいときにIntegerクラスを引数として渡していたことが原因。

ArrayList.removeはオーバーロードされている。
引数がint型のときは引数で指定された要素を昨序する。
int型以外の場合(Objectクラスの場合)は引数と一致する要素を削除する。

今回の場合は引数と一致するIntegerクラスを探して、その要素を削除する挙動になってしまっていた。
一旦int型に変換して引数として渡すと指定した番号の要素を削除するようになった。

Integerクラスはint型のラッパークラスなので多くの場合はint型と同様の振る舞いをする。
ただこのように明らかに異なる結果が出力されることもある。

DAO(自律分散型組織)とは? ビットコイン・ブロックチェーン関連技術

ビットコインはDAOと呼ばれる仕組み作られています。
DAOはDistributed(またはDecentralized) Autonomous Orgnizationの略称で日本語では自律分散型組織と訳されています。
ここではDAOについて簡単に説明していきます。

1.DAO(自律分散型組織)とは?

DAOは管理者が不要(自律)で、組織の参加者が相互に監視する(分散型)組織です。
これだけでは理解しにくいでしょうから従来の組織と比較してみます。

一般的な組織は人間が人間を管理する組織です。
ここでは管理者が従業員を管理することで組織として成り立ちます。
old_Orgnization_01

技術の進歩により従業員の作業を機械が行えるようになると、効率化のために従業員は減少します。
管理者は機械を管理するようになります。
old_Orgnization_02

DAOでは管理者が人間から機械に置き換わります。
機械は決められたルール・契約に基づいて人間を管理します。
機械は複数存在し、ルール・契約どおりに動作しているかをお互いに確認しあうことで組織として成り立つようにします。
DAO_01

今後IoTが普及していくにつれて、機械のみで構成されたDAOも出来ていくだろうと予想されています。

2.DAOとブロックチェーン

DAOが実現できるようになったのはブロックチェーン技術が大きい要素となっています。
ブロックチェーンはデータの改ざん不可能な分散システムを実現します。
また取引するものがデータ(お金や権利など)であれば、
契約が結ばれるとシステムで自動的に処理できるようになります。

これにより従来管理者が果たしてきた役割がシステム(機械)で代用出来るようになりました。

  • 不正の監視、ルールの徹底
  •  →システム上不正不可能なため監視する必要はなくなる

  • 契約の強制執行
  •  →契約成立≒取引成立となるため、必ず執行される。
      警察などの第3者による強制力が不必要になる。

3.ビットコインは世界初のDAOの実用例

ビットコインは世界初のDAOの実用例だと言われています。
ビットコインには管理者はおらず、人々のビットコイン取引は規定のルールによって行われています。

取引データはブロックチェーンの仕組みで相互に監視され、不正に改ざんされたデータは自動的に無効化されています。

ビットコインは人がルールに従って運用し、機械がそれを判定・管理する組織になっているのです。

4.まとめ

  • ビットコインはDAO(自律分散型組織)である
  • DAOでは機械が人間を管理する組織になる
  • DAOの基盤技術となっているのがブロックチェーン
  • ビットコインは世界初のDAO

ビットコイン以外でも様々なDAOが作られることが予想されています。
どんどん契約・取引がスムーズかつ確実に行われていくように変わっていくのでしょう。

Googleローカルガイド レベル変更 2017年06月15日

Googleローカルガイドのレベル変更

2017年6月15日にGoogleローカルガイドのレベル設定に変更があったようです。
今まではレベル5が最大だったのが、レベル10が最大になりました。

単に最大レベルが変更されただけでなく、レベルを上げるために必要なポイント量や
ポイントの稼ぎ方も変更されています。
ポイントの稼ぎ方と各レベルに必要なポイント一覧

ポイントはGoogleマップの口コミや写真の投稿、
お店の追加などを行うとポイントが貰えます。

以前は口コミと写真の投稿は1枚1ポイントでしたが、
現在は5ポイントになっています。
一方評価を付ける、アンケートに答えるのは1件1ポイントのままです。

傾向としては労力のかかるものには高いポイントをつけよう
というように見受けられます。
妥当な判断ではないでしょうか。

今回の変更は今までの投稿にも影響があり、
ポイントとレベルが再計算されています。
ポイントの稼ぎ方によっては相対的にレベルが
上下してしまう人がいるのではないでしょうか。

Googleローカルガイドのレベルの本来の目的は
信頼できる人からの投稿を優先して表示したい
というところにあります。
これからもこの目的が達成できるようにポイントの付け方などの
評価方法は変更されていくでしょう。

人に役立つ情報を届けることを目的にしていれば
ルールが多少変わってもレベルが大きく下がることは無いと思います。
これからGoogleローカルガイドに挑戦してみようかなと思う人は
そこを意識してやってみてはどうでしょうか。

Android Studioで「Waiting For Debugger」が消えないときの対処法 実機デバッグ時


Android Studioを利用したアプリ開発で実機デバッグを行おうとすると
「Waiting For Debugger」と表示されてアプリが起動しない場合があります。
ここではその対処法を紹介します。

AndroidManifestの設定

古いSDKを用いている場合、Applicationの設定に
android:debuggable=”true”
と明示しなければデバッグ出来ませんでした。

これを書いているとデバッグモードで動作しようとするため
デバッガーの応答を待つようになります。

Android Studioの設定

Android Studioの画面で
「Attach Debugger to Android process」をクリックする。

パッケージ名が表示されるので、選択して「OK」ボタンをクリックします。

アプリのアンインストール

アプリのインストール・アンインストールに失敗しているために
起きる場合があります。
「adb uninstall パッケージ名」
を使ってアンインストールを行ってから再度挑戦してみてください。

スマートフォンの再起動

理由はわかりませんが、再起動すると
解消する場合があります。
ダメで元々で試してみてください。

2017年05月16日 雑記

ネプテューヌRe;Birth2トロコン

ネプテューヌRe;Birth2トロコン完了しました。

お金1億のトロフィーは、アイリス草原のダンジョン変化を使うと出て来るナスナイトを倒して達成しました。
1回で300万くらい稼げるので20~30回くらいやれば大体の人が達成できるはず。

さぁ、次のゲームだ。

NFCアプリ

職場でNFC関連を触っているけど、NFCをタッチしたときにアプリを立ち上げるのにやたら苦労した。
作ったアプリよりもプリインストールのNFCアプリが反応してしまう状態が続いた。
気が向いたらまとめておこう。