2018年にやりたい100のこと
↑の自分版。 書き出してみたものの75個しか出なかった。リストアップするだけで自分の現状がわかるので良いですね。
技術関連
- LL以外のプログラム言語に手を出す
- スマートフォンアプリを作る
- Windowsデスクトップアプリを作る
- 自宅内ポータルを作る(FlaskかDjangoを使う)
- コンピュータビジョンに再挑戦
- モスライト作る
- メイカーフェアに参加する
- 自宅内の温度・湿度・照度管理の仕組みを作る
- 自宅内のスマホ位置管理の仕組みを作る(屋内測位)
- GISのイベントを福岡で立ち上げる
- QGIS3.0を使う
- 衛星写真の解析をやる
- CADを触る
- 総務省の新APIを触る
- ディープラーニング的な画像処理をやる(娘の写真だけ取り出すフィルタを作る)
- 3Dプリンターでなんか作る
- 自社製品の知識を深める(Runtime/hoge Objects系)
- 自社製品の知識を深める(API for Python)
- 自社製品の知識を深める(Xamarn系)
- Visual Studioに慣れる
- Azureを活用する
- OCRに再挑戦
- Power BIを使う
- VBAにもっと触れる
- PostgreSQLにもっと触れる
- ネットワーク周りの勉強をする
- セキュリティ周りの勉強をする
- 3Dモデリングをやる
学習
食関連
- 新しい店を開拓する(10店舗)
- 出汁を取れるようになる
- 自宅で干物を作る
- 自宅でラー油を作る
- ジンジャエールを作る
- 寿司を握る
- 一食二万くらいの食事を経験する
家周り
- 自転車保管スペースを作る
- 倉庫の掃除をする
- NASを買う
- SpotifyからGoogle Play Musicに移行する
運動
- 山に登る
- 海に行く
- 月2回以上ジムに行く
- ソロキャンプをやってみる
効率化
資格
読書
- SFを5冊読む
- 科学系の本を5冊読む
- 新書を5冊読む
- もっと漫画を読む
知見
- 九州(山口含む)の観光地を5つまわる
- 博物館に行く
- 動物園に行く
- 植物園に行く
- 音楽イベントに参加する
- 自分の過去fav(Twitter)を整理してまとめる
- 釣りをする
- 勉強会・セミナーに参加する
- 映画を10本見る
- 知らない人と話す
その他
- 後輩に結婚祝いを贈る
- アイコンを作る
- プランターを作る
- 車検出す
- 自転車の修理をする(サドル変える)
- 自転車にのる機会を増やす
- 海外に行く
電気自動車(BMW i3)のある生活を体験した
最近戸建て(建売)を買ったんですが庭に200Vの電源がついてきました。電気自動車用プラグを差し込むやつなんですが、残念ながら我が家の車はタダでもらったガソリン車の軽。まったく出番がないままに過ごしてきたわけです。
200V電源設備がついているので車の買い替えは電気自動車が第一候補になります。しかし電気自動車買ったらどういう感じなの?充電大変じゃない?とか色々気になるじゃないですか。その辺が電気自動車の普及を阻んでいると思うんですよ。んで調べたら電気自動車を一定期間貸してもらえるキャンペーンがあるんですね。
続きを読む2017年も安定して使い続けているもの10選
年の瀬ですね。この時期は◯◯年購入してよかったものというブログ記事がたくさん投下されますが、流行り廃りのありそうなものよりも長く使えるものを紹介してほしいと思うのは私だけでしょうか。というわけで長く使っているものを棚卸ししました。
続きを読むGoogle Maps の行動ログを抽出する
Google Mapsには行動ログを残すオプションがあります。正式名称はタイムラインで、これをオンにしておくと行動・滞留・滞在等の状態をよしなに判断して行動の履歴を残してくれます。
タイムラインをオンにする方法はこの辺を参考にしてください。で、このログはJSON形式でエクスポート出来ます。
タイムラインのエクスポート
Googleの各種サービスはtakeout.google.comからエクスポートできます。ブラウザで自分のアカウントにログインした状態で以下のURLにアクセスしてみてください。
https://takeout.google.com/settings/takeout
タイムラインの情報は比較的下の方にあります。「ロケーション履歴」の項目のみにチェックを入れて次に進みます。
ファイル形式、サイズ等の選択画面が出てきますのでいい感じに設定します。「アーカイブを作成」を押すと準備画面に遷移し、終わればダウンロードが始まります。
takeout-hogeのファイルを開くとJSON形式のログを見ることができるはずです。あとはこれを加工・編集するとGISデータとして使うことができますね。
Pythonを使ってZIPファイルを解凍する
ZIPファイルの解凍作業は面倒くさいです。なのでPythonを使ってZIPファイルを解凍しましょう。動作環境はPython3.6以上推奨。標準ライブラリだけでやっていきます。
1つのZIPファイルを解凍
フォルダ内のZIPファイルをまとめて解凍
階層構造が複雑なフォルダのZIPを解凍
1つのZIPファイルを解凍
os、zipfileを使います。最も基本的な処理なので、2・3の操作でもこれを使いまわしていきます。わからなければここに立ち返りましょう。
import os import zipfile with zipfile.ZipFile('sample.zip', 'r') as zf: for f in zf.namelist(): if not os.path.basename(f): os.mkdir(f) else: with open(f, 'wb') as uzf: uzf.write(zf.read(f))
複数ファイルを圧縮したZIPの場合を考慮し、os.path.basenameを使って条件分岐をかけています。これが基本。
フォルダ内のZIPファイルをまとめて解凍
globを使ってzipファイルを探し、個々に解凍処理を行います。上でやった処理にforをかけて回す感じです。
import os import zipfile import glob for i in glob.glob('*.zip'): with zipfile.ZipFile('i', 'r') as zf: for f in zf.namelist(): if not os.path.basename(f): os.mkdir(f) else: with open(f, 'wb') as uzf: uzf.write(zf.read(f))
これで作業ディレクトリ上に解凍されたファイルが生成されます。
階層構造が複雑なフォルダのZIPを解凍
これは以下のような状況で使います。稀に良くあります。
globを使ってzipファイルを探しに行きますが、今回は再帰的にディレクトリを深掘りしていくように指定します。
import os import zipfile import glob for i in glob.glob('**\*.zip', recursive=True): with zipfile.ZipFile('i', 'r') as zf: for f in zf.namelist(): if not os.path.basename(f): os.mkdir(f) else: with open(f, 'wb') as uzf: uzf.write(zf.read(f))
この処理だと作業ディレクトリに解凍ファイルが作成されます。各々のディレクトリ下に解凍ファイルを置きたい場合には、os.path.splitを使うと良いでしょう。
import os import zipfile import glob for i in glob.glob('**\*.zip', recursive=True): with zipfile.ZipFile('i', 'r') as zf: for f in zf.namelist(): d = os.path.split(i)[0] + '\\' + f if not os.path.basename(f): os.mkdir(d) else: with open(d, 'wb') as uzf: uzf.write(zf.read(f))
os.path.splitはなかなか便利なモジュールで、ファイルパスを食わせるとディレクトリ部分とファイル名に切り分けてくれます。
第一引数からディレクトリパスを持ってきて、そこに解凍後のファイル名を繋げています。
これで単純作業が減らせますね。
参考
Estimote社のBeaconについて調べた
Beaconを使った屋内測位、センサーデータ収集をやってみたいのでEstimote社から機器を取り寄せようかと思っています。現在EstimoteのBeaconは5種類あり、内屋内測位に使えそうなものが2種。他の3種はちょっと特殊な用途で使う用みたい。
ロケーションビーコン(Location Beacon)
定点設置型で位置情報を取得するビーコンには二種類あり、公式ページでは『Location UWB Beacon』と『Location Beacon』という名前になっています。
この2つの違いはAutoMappingかManualMappingかという点。Location UWB Beaconは専用のiPhoneアプリを使って建物の地図を生成できるようです。Location Beaconはその機能を持たず、自身で地図を生成する必要があるようで。
ともにバッテリーは5年もつとのことなので、一度設置をすると暫くは放置で大丈夫。非公式ではありますが電池交換も出来るみたいですね。
How To Change Estimote Beacon Battery
ステッカービーコン(Sticker Beacon)
上の2種は三角測量で端末の位置をとってくるのに対して、このステッカービーコンは貼ってあるモノの電波を受けて場所を特定します。ステッカーを貼った自転車が特定の場所に入ったときに信号を飛ばすような用途で使用できるため、常に位置を取れるわけではありません。
んで何を買うか
今回はLocation UWB Beaconを購入してみます。2014年時点では技適が無く、国内では使えない状態でしたが、どうやら最近のBeaconは技適とってるみたい。アプリを使った地図作成も気になるのでUWBの方を輸入して遊びます。
ちょっと却下。UWB Beaconで屋内地図作るには結構な数のBeaconを設置しないと駄目っぽい。自宅のCADデータ使って地図を作って、Location Beaconで動態分析するところから始めます。
来月は引っ越しを控えてるんで、できるだけ早く届いてほしいなあ。