赤外線カメラのケースが高いから夜中にひっそりと自作する

子供が生まれてから、育児休暇を1ヶ月頂いたのですが、
1日の行動パターンが
「ミルクを飲ませる」「オムツを替える」「ご飯を作る」「沐浴をする」「泣き止ます」のどれかになってきました。
FFでももうちょっと技の種類あるよね。

オムツについてはだいぶ替え慣れたので、もう少しで「オムツァ」から「オムツラ」になれそうです。

子育てを楽にしたい

育児休暇を1ヶ月頂きました。 育児だけやっていてはもったいない&脳みそのシワが取れそうなので、
育児の問題をエンジニア視点から解決できないかと考えてみました。

ただし作業できるのは子供も妻も寝静まった深夜のみ。

赤外線カメラの購入

どう使うかはまた別の記事で書くとして、たまたま寄ったマルツ電波に売っていたので購入しました。
amazonで売り切れでもマルツではよく売っています。

rasberry pi用のsony製カメラ。
HD画質で写真・動画が撮影可能。また、赤外線フィルタも外してあるので、工夫をすれば色々使える。

ケースが高い

f:id:cyamax:20170220030251j:plain カメラが手に入ったのは良かったものの、ケースがないと心もとない。
だけどちゃんとしたケースが高い。私にはこれに2500円かける財力はなかった。

ならば自作だ

色々ケースになりそうなものを探すとちょうど良いものがありました。

SDカードケース f:id:cyamax:20170220024648j:plain

あとはいい感じに適当にやるだけ

f:id:cyamax:20170220024813j:plain 加工したところが分かりやすいようにマジックで塗りました。
ドリルがないのでカッターやドライバーやハサミでガリガリやりました。
レンズ部分が相当雑ですが、初号機なので気にしない。
ドリル欲しい。

完成

f:id:cyamax:20170220024907j:plainf:id:cyamax:20170220030304j:plainf:id:cyamax:20170220025627j:plain

とりあえず、なんとなくいい感じになりました。
写真が全部薄暗いのは、起こさないようにひっそりとやっているから。

これで色々やるぞい。😉

HappyHackingKeyboard ProfessionalJP of Bluetooth by Arduino

一年ぐらい前にHappyHacking Pro JPを買って、その使い心地に酔倒していました。

ただ私はこのキーボードには唯一にして最大の不満点があり、それは有線モデルしかないということでした。

無線がなければ作れば良い

ここからキーボードを無線にするべく勉強と研究がスタートしました。

すでにHappyHacking Proを無線化している強者がネットでソースコードを公開してくれていましたが、
それはUSキーボード版のコードであり、JP版はキーボード数や仕組みが違うため、
駆動の仕組みやコードの書き換えをやる必要がありました。

また一番の問題はJPモデルは中身がパンパンで基盤やバッテリーを詰め込む隙間がなかったため、
配線やモジュールの選定も考えて実装する必要がありました。

そして初号機の完成


HappyHackingKeyboard ProfessionalJP of Bluetooth by Arduino

開発を始めて4ヶ月(2015/12~2016/4)。勉強と試行錯誤を繰り返し、とうとう無線化に成功しました。

動画では分かりづらいですが、キーボード->Arduino->Bluetoothモジュールの順番で配線され、
キーを打つとパソコンに文字が打てていることがわかります。
※カメラを持ちながら片手でキーを打っているのでタイピングが遅いですが、遅延を感じることなく使えます

挫折、そして伝説へ。

初号機が完成し、あとは小型のArduinoに配線し本体に収めれば完成。
運よく小型バッテリーも購入でき(ネットでは手に入らないサイズを偶然マルツ電波で見つけた)、
小型Arduino用のビルドもできた(サードパーティ製の小型基盤のため、正規のArduinoで動いてもこれだと動かないことがある)。

回路を書いて半田付けをし、いざ本体に入れると微妙に入らない・・・。
適当に選定したスイッチとバッテリーからの電源を3.3Vに変換する3端子レギュレータ周りの回路が内部でぶつかっている。
でもこの部分ならいくらでも小型のパーツ売っているし、すぐにできそうだ。手元にパーツがないから今度の土日に買いに行ったら完成だな。
今日は疲れたから終わりにしよう。

そしてこれ最後に微妙にモチベーションが上がらず開発がストップすることになる。
これは私の悪い癖で、メインの開発が終わると途端にやる気が出なくなる。

数週間後、こんなものが発売される。

嘘だろ・・・。

結局意味なかったのか

そんなことは思わない。無線化するために得た知識は今後またどこかで役に立つ気がする。
どんな風にBluetoothが裏で動いているのか、どのくらい電力を消費するのか、キーボードはどうやって動いているのか。
流行りの小型電子デバイスはどう使えばいいのか。
この辺が理解できただけでも大きな報酬かと思う。

あと公式のHHKBのBT版はデザインがなんかダサい。そこが唯一の救い。

pythonでランダムな英単語を取得したい

pythonで意味のあるランダムな単語が複数必要になった。

意味のない単語であればランダムに文字を並べればできるが、 意味のある単語はそうはいかない。

初めはネットからスクレイピングして都度持って来ればいいかなと思ったけど、スマートじゃない。

なんかいい方法ないかなと考えたら、思いついた。

linuxの辞書ファイルを利用する

linuxには辞書ファイルがあるので、そこからランダムに単語を抽出すれば良さそう。

Macの場合、辞書ファイルは以下にある

/usr/share/dict/words
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random

#辞書ファイルを読み込ませる
f =open ('/usr/share/dict/words','r')
lines=f.readlines()
f.close()

for i in range(35):
    #単語の最後に改行が入ってしまうので、replaceで置換
    input_word= lines[random.randint(1,len(lines)-1)].replace('¥r','')
    print(input_word)

f:id:cyamax:20170204111040p:plain

linuxでパスワードを変更するときに、 「辞書にあるからこのパスワードは使えませんよ」と注意されるときがありますが、 どうやらこのファイルと比較して見ているらしい。

単語数も23万5886単語もあるようなのでとりあえずこれで大丈夫。

ただ、pythonのモジュールとか使ったらもっと良い方法はありそう。

AmazonDushとどいたー

f:id:cyamax:20170202211818j:image

二つ購入しました。

 

電源とか考えるとBluetoothLowEnergyとか使って親機経由かなって思ったら違った。

 

直接wifiに繋げるらしい。これは凄い。

これが500円なのが凄い。

 

改造できるのは来月かな。

MacのChromeでブラウジングしてたら表示がやたら遅くなった

買った当時はサクサクでストレスなく使っていましたが、 購入から4年が経ってモサモサしてきました。

この4年の間に色々なアプリや設定変更・バージョンアップをしてきたので、 クリーンインストールをしないと正直無理かなと思いましたが、 意外とWEBの表示自体は簡単に改善しました。

遅い原因

私の場合、原因はchrome拡張機能でした。 便利なので複数入れていたのですが、 裏で通信していたり、メモリを食っていたりと気づかないうちに表示を遅くしていました。

意外だったのが「広告を非表示にする拡張機能をオフ」にしたら表示が早くなったこと。 もともと無駄な広告の通信をなくすべく入れた拡張機能ですが、 色々処理を裏でやっていて結局遅くなっていたようです。

拡張機能は安全ではない

拡張機能をたまに作ったりするのでその時によく思うのですが、 拡張機能は悪意のあるスクリプトを簡単に作れてしまうということ。

拡張機能はページを書き換えたり情報を取得したりということが簡単にできるので、 アカウントのパスワード情報などを自分のサーバーに送るのも簡単にできそうだということです。

こんな記事もあるので、発行元が分かっている拡張機能以外は全てオフにした方が良さそうですね。

qiita.com

Pythonのmysqlclientをインストールしたらエラー(error: command 'x86_64-linux-gnu-gcc' failed)がでた。

上記の本でスクレイピングを勉強中。

PythonからMySQLに接続するmysqlclientのインストール時に躓いたのでメモ。

環境Vagrant上のUbuntu
python3.4.3

インストールのために以下コマンドを実行。

$ pip install mysqlclient


するとエラーが出てくる。

_mysql.c:40:20: fatal error: Python.h: No such file or directory

 #include "Python.h"

                    ^

compilation terminated.

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

ライブラリが足りていないようなので、以下コマンドを実行。

$ sudo apt-get install python3-dev


そのあともう一度インストールするとうまくいきました。

$ pip install mysqlclient

セキュリティスペシャリスト(情報処理安全確保支援士試験)を2週間で合格する

このページのまとめ

2週間で合格する方法のまとめは以下のとおり。

  • 情報処理安全確保支援士を未経験&働きながら2週間の学習で一発合格できた。
  • 勉強モチベーションを上げる方法を考えること
  • 勉強できる時間の計算と勉強配分を考えること
  • 参考書は一冊に絞ること(下におすすめ参考書の記載あり)

 おすすめの参考書

2020 情報処理安全確保支援士「専門知識+午後問題」の重点対策 (重点対策シリーズ)
 

 

はじめに

情報処理安全確保支援士(旧セキュリティスペシャリスト)は試験レベル4に分類され、
合格率は18%前後の試験です。※2019年秋は19%

f:id:cyamax:20200811235710p:plain

合格率の推移

f:id:cyamax:20200811235612p:plain

受験者数の推移

参照元:https://www.sc-siken.com/sctoukei.html
 

 

平成28年の秋に初めて試験を受けましたが、
働きながら二週間の独学の勉強で合格する事ができました。 
そのときの学習方法をここに記載しますので、これから試験を受ける予定のある方は参考にしていただければと思います。

注意

以下の方法は短時間で合格するための方法であり、
セキュリティエンジニアとしてバリバリ働くための勉強とは違います。
短時間で学習したものは、短時間で忘れてしまうものです。
試験勉強することで、試験後もセキュリティ知識の受け皿を作る意味で受験しました。 

私のスペック

工学部卒(非情報学部)
仕事内容は情シス(情シス歴:1年(当時))
セキュリティ関連の経験:なし
業務でのプログラミング経験:なし

倒すべき敵を知る

  午前Ⅰ 午前Ⅱ 午後Ⅰ 午後Ⅱ
試験時間 9:30~10:20
(50分)
10:50~11:30
(40分)
12:30~14:00
(90分)
14:30~16:30
(120分)
出題形式 多肢選択式
(四肢択一)
多肢選択式
(四肢択一)
記述式 記述式

出題数
解答数
合格点

出題数:30問
解答数:30問
60%

出題数:25問
解答数:25問
60%

出題数:3問
解答数:2問
60%

出題数:2問
解答数:1問
60%


モチベーションを管理する
 

いきなり過去問に取りかかりたいところですが、その前にモチベーションの高め方を考えます。

私の場合は以下のようにモチベーションを維持ました。

  • 合格するとエンジニアとしての価値が高まる
  • 会社からの報奨金の使い道を考える
  • 試験を受けることを口外し自分を追い詰める
  • 勉強していて純粋に面白いと思える部分を探す(業務などに結びつけて考えてみる)

勉強が嫌になったときや、気づいたらやっていなかったときに上記を思い出して自分をやる気にしていました。 

勉強時間を計算する

試験までに何時間勉強できるか計算します。
私の場合、土日×二回と平日の通勤3時間が勉強できる時間でした。
土日に一日6時間ずつ勉強ができるとして、休日4日間で24時間。
車内では3×10日=30時間ほど。
ただし通勤中は立ちや乗り換えなどあまり勉強の質は良くない。
よって30→20時間ほどと換算して
24+20=44時間が勉強に確保できる時間でした。

 

勉強配分を考える

次に44時間で合格する方法を考えます。
セスペは午前Ⅰ、午前Ⅱ、午後Ⅰ、午後Ⅱがありますが、午前Ⅰは免除されてるとして考えます。

※免除されていない人はすみません

 

午前Ⅱは選択問題、午後Ⅰ、Ⅱは筆記問題なので問題の種類が違うため対策も異なってきます。
ただし全く関係ないわけではなく、午前の理解がなければ午後の問題を解くのが難しいので、勉強の順番は必然的に午前Ⅱ→午後問になります。

また午後ⅠとⅡはそれぞれ90分1問か120分1問の形式ですが、問題の種類や難易度は同じで、問の数が違うだけなので午後ⅠとⅡは同じ勉強法でカバーできます。

よって以下のような時間配分で勉強をしました。

午前 20時間
午後 24時間

 

参考書選び

時間配分と同じぐらい大切なのが参考書選びです。
最速で合格するためには正しい参考書選びが必須です。
正しい選び方ですが、過去問を丁寧に解説している物が良いです。
午後問は文章で説明しないといけないので、答えを見ただけではなぜそれが正解なのか分かりません(私の考えたこの答えでも正解では?となってしまう)。
登録セキスペ独自の採点されやすい文章や書き方があるので、そこもふまえて理解&会得する必要があります。

 

また独自の問題を作成している参考書も要注意です。出題者は出版社でなくIPAなので、IPAの主旨とは別の問題になってしまっている可能性があります。
当たるか分からない予想問題をやるより過去問をしっかり理解した方が効率的です。

 

さらに注意が必要なのが全部平たく説明している参考書です。
必ず出る問題とほとんど出ない問題を同じぐらいのボリュームで扱っているヤツです。
試験参考書はこの手の本が非常に多いですが、私はお勧めできません。
短時間で合格するのに必要なのが全部載っている本ではなく、合格できる本です。
全部載っている本は言わば辞書。
合格できる本が塾というイメージでしょうか。
辞書のような本は長期的に見れば良いかもしれませんが、短期では理解が深まりづらくモチベーションも上げづらいです。

良い本は大事(必出)なところにページを充分に割いて丁寧に説明してくれるので、繰り返し本を読むだけで点数が上がっていきます

 

何冊か比較して以下の本を買いました。
私はこの一冊だけを買って受かりました。とてもおすすめです↓↓↓
2週間で合格するためには、何冊もやっている余裕はありません。良質な参考書一冊に絞り、繰り返し何度もやるほうが効果的です。

 

2020 情報処理安全確保支援士「専門知識+午後問題」の重点対策 (重点対策シリーズ)
 

おすすめしない参考書(時間がない場合)

有名なシリーズですが、網羅的に記載することが目的になっている参考書(辞書のようなもの)であるため、おすすめしません。 

情報処理教科書 情報処理安全確保支援士 2020年版

情報処理教科書 情報処理安全確保支援士 2020年版

  • 作者:上原 孝之
  • 発売日: 2019/11/19
  • メディア: Kindle版
 

  

午前対策(基礎学習)

登録セキスペの基本的な問題やトレンドな問題が出題されますが、
過去問をやっていればほぼ間違いなくパスできます。
 

というのも過去問と全く同じ問題が出題されることが多いので、過去問を何周かすれば、「本番にこれ過去問で見たヤツだ!」となるはずです。
午前の勉強で大切なのは問題を丸々覚えるのではなく、ワードの意味や関連する物などを説明できるようになることです。


午前の問題を見たときに答えがすぐ分かる&ほかの答えのどこがおかしいのか説明できる、不正解の中にある知らない単語をなくすようにしておくと午後問の勉強が楽になります。

 

以下サイトの問題を繰り返しやればOKです

情報処理安全確保支援士過去問道場|情報処理安全確保支援士.com

  

午後対策

本番の午後Ⅰと午後Ⅱですが、前述したように午後Ⅰの勉強をしておけば基本的には午後Ⅱは不要です。
二問ぐらい時間感覚をつかむために解いておくぐらいで大丈夫でしょう。

 

そのかわり午後Ⅰはたくさん数をこなします。試験では90分で2問選択して解答ですが、選択し間違えたり(難しくて変える)、見直しの余裕を考えて一問30分で解けるようにトレーニングします。
こうすることで時間感覚を鍛え午後問の勉強を不要にし(午後Ⅰが30分で解ける力があれば、午後Ⅱは時間が余る)、精神的にも余裕をもって取り組めます。

下手に問題に粘って時間を使ってしまうのはNGです。

 

初めのうちは時間が足りないですが、繰り返しやっていくうちにできるようになります。

また30分で解いた後、答え合わせをして間違った原因を理解してのサイクルが早くなるので、多種類の問題を解けるのと、傾向を理解できるようになるので、午後Ⅱを繰り返すよりも効果的です。

 

試験前日の過ごし方

とにかく試験当日のコンディションを大事にします。
前日に無理をして疲労でパフォーマンスが出なくなってしまっては元も子もありません。
午前Ⅱは過去問を50問ほど解いて正解率が90%ぐらいあれば大丈夫でしょう。

午後問は過去に解いた問題を再度解きます。試験では文章で書かれた問題の環境を理解するのに時間がかかるだけで、聞いていることは単純だったりします。
すでに1回解いてどんな環境なのか頭に入っているので、問題を解くこと(何がセキュリティ的に問題なのか、文章の書き方はこれで合っているか)に専念できます。
サラサラ解いてみて、躓いたところを復習する事を繰り返しましょう。

 

最後に

去年は登録セキスペ以外にも、応用情報、LPIC level1を受けました。
世間の認識では難易度はLPIC < 応用情報 <登録セキスペかと思いますが、
私には登録セキスペが一番楽に感じました。

 

私は暗記することが苦手で、漢字や英単語、人の名前などを覚えることができません。ただ、なぜかという意味を持たせると飛躍的に記憶力が向上することに気づいてからは、比較的楽に試験を突破できるようになりました。

LPICレベル1はコマンドを一部暗記する必要があり、それがわたしには非常に苦痛でした。※勉強しているとなんでだよ!ってなる

 

登録セキスペは単純に単語を知っているかではなく、意味や背景や関係性、発想に重きを置いているので学習しやすかったです。

 

上記の学習方法は私には適していただけなので、自分の得意な学習パターンがある人はその方法で良いです。

自身に決まった学習方法がない、いつも同じ方法でやっているけど成果が出ない方は私の方法を真似てみるのも良いかもしれません。

 

おすすめの参考書

2020 情報処理安全確保支援士「専門知識+午後問題」の重点対策 (重点対策シリーズ)
 

 

 

LPIC Level1 を10日間(24時間)で合格する勉強方法

結果

LPICのLevel1 (101,102) ともに合格し、資格を取得しました。

それぞれ勉強日数は以下のとおりです。

  • LPIC Level1 101・・・4日間(12時間ほど)
  • LPIC Level1 102・・・6日間(12時間ほど)

それぞれ振り返っていきたいと思います。

LPIC Level1 101・・・4日間(12時間ほど)

勉強に関しては覚えることが多い印象です。
テスト二日前の夜は、全然覚えられなくて絶望していましたが、
なんとか間に合いました。

おすすめの勉強法ですが、
1. youtubeの動画
2. 参考書の問題
3. ping-tの問題

の順番にこなしていけば、合格できると思います。
参考書は問題数が多くて良いのですが、少し本番よりも簡単です。
ping-tで公開している問題の質が本番と同じ(少し難しい?)なので、
ここで6割以上取れるようになったら合格できると思います。

LPIC Level1 102・・・6日間(12時間ほど)

暗記よりも理解が求められる問題が多かった気がします。
102はping-tの無料問題が使えないので、苦戦しました。

おすすめ勉強法は、
1. youtubeの動画
2.参考書の問題

こちらも参考書の問題は簡単なので、 実際のテストを受けると難易度の差に冷や汗がでます。 ですが、基本ができていれば本番で6割は取れると思います。

以下の本で私は勉強をしました。 問題数や解説も多く、これを一通りやればLevel1は受かると思います。 ただ問題や解答に一部誤植があるので、サイトはチェックした方が良いです。

(PDF版付)徹底攻略LPIC Level1問題集[Version 4.0]対応

(PDF版付)徹底攻略LPIC Level1問題集[Version 4.0]対応

これを使えばHHKBで幸せになれそう[ATEN PC・スマホ切替器 CS533]

ATEN PC・スマホ切替器 CS533

ATEN PC・スマホ切替器 CS533

MacBookiMacのPC2台持ちやAndroid端末をもっている人は重宝しそう。

CS533をiMacやデスクトップPCに接続して、MacBookAndroid端末に必要な時に簡単に切り替えれるので、
HHKBの活躍の場が広がる。

昔HappyHacking用にEneBRICKを買ったけど、
接続先が一つに限られて、あまり良いデザインでもなかったのですぐお蔵入りしてしまいました。
※EneBRICKは外でも使えるようにバッテリーを積んでいて大きく重たかった
CS533なら長く使えそう。とりあえず欲しいものリストに入れました。

LPIC Level1 102 合格 [勉強時間12時間]

LPIC Level1 102とりあえず受かりました。

勉強期間は実質6日間で、実際に集中して勉強していたのは12時間?ほどだったかと思います。

勉強の方法については 以下を参照ください。 cyamax.hateblo.jp

感想

思っていたテスト内容と違う。。。
買っていた問題集とほぼ同じ問題が出ると思っていたのですが、
5〜10問ぐらいは確かに同じで、その他50問は全く違う問題だったように感じました。

また、問題集よりも本番の方が問題が若干難しかったです。 コマンドのオプションを聞かれたり、問題集に載っていなかった問題の種類が出てきたりと冷や汗が出ました。
なので答えだけ覚えるような単純な試験として舐めてかかると痛い出費になる可能性があります。

もう一度テストを受けるのならばどうするか

問題集の問題と答えを丸暗記する勉強方法では正答率は30~40%ほどで、
運が悪いと再受験になる可能性があります。

しかし問題集の答え欄には細かい説明が書いてあり、ここの部分からの問題が多くあったように感じたので、 問題よりも説明欄を理解に時間を割いた方が良さそうです。