ねえぶ

猫好きエンジニアのブログ

先月読んだ本と今月の読書予定(2017年12月)

ブログを引っ越ししましたので,5秒後に移動します

先月の読書予定と実績

実績 Fav
Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語
IoT技術テキスト -MCPC IoTシステム技術検定 対応-
STARTUP―アイデアから利益を生みだす組織マネジメント―

今月の読書予定

IoTシステム技術検定(中級)を受検してきました

ブログを引っ越ししましたので,5秒後に移動します

お仕事でIoT関係のことが多いので,本日行われた第3回IoTシステム技術検定(中級)を受験してきました.

検定概要

  • 日時: 2017/12/02(土) 9:50-11:20
  • 場所: 東京(東京電子専門学校@大久保)

受験者の印象

  • ほとんど30代以上っぽくて,結構年齢層高めな感じ
  • 会員企業の人が多いらしく,身分証明確認に社員証を要求されている人が半分くらいいた(自分は個人申込)
    • 業務命令で受けに来てる人がおおいのかな?
  • 教科書を直前に読んでる人が多く,かなり読み込んでありそうで線がいっぱい引いてあるなど,ガチで勉強してきた感のある人が多かった

会場

  • 1部屋100名弱で会場全体で8部屋くらい
  • 2人がけのデスクに2人で,デスクが1部屋40卓くらい
  • 空調などの環境は悪くなかったですが,結構隣の人と近かった

検定内容

  • 出題形式は大体次のパターンだった
    • 説明文が4つあって,適切なものの組み合わせを選ぶ
      • 選択肢は"a,b", "a,c", "b,c,d", "すべて"みたいな感じ
    • 選択肢の中から適切なものを選ぶ
    • 選択肢の中から不適切なものを選ぶ
    • 文中の空欄に当てはまる用語を選択肢から選ぶ
    • 文中の2つの空欄に当てはまる用語の組み合わせを選択肢から選ぶ
    • 問題文の説明に当てはまる用語を選択肢から選ぶ
    • 問題文の計算結果を選択肢から選ぶ
  • マークシート
    • いままで見たことない形式でした
    • 解答用紙にはピンク色の円が書いてあって,その円をなぞるようにマークします
    • 解答用紙の記入例はこんな感じでした

      f:id:ottijp:20171202172336p:plain

    • 何周かぐるぐるなぞる感じでマークしてました

    • ピンクをなぞってさえいれば,中身を塗りつぶしても別にOKとのことでした(中身だけの塗りつぶしはNG)

レベルと手応え

  • 私のレベル感
    • 基本的にはソフトウェアエンジニア
    • ここ2〜3年くらいIoTに関するシステムの評価用プロトタイプやデモシステムをお仕事で作ってます
      • センサデータの収集〜クラウドへの保存〜Webでの可視化
      • WebページからアクチュエータやLEDなどのコントロール
      • AWS, GCP, その他IoTプラットフォームの利用調査
    • 主に使っていたもの
    • 機械学習はほぼノータッチでした
    • その他趣味で赤外線リモコン作ったり,ユニバーサル基板にはんだ付けで回路実装してみたりしてました
  • 勉強
    • 教科書を1周読んで望みました
    • 大体ほとんど知ってる内容でしたが,以下はわかってなかったのでWebで詳しく調べながら進めました
  • 全問(80問)は開始1時間で解き終わり,30問目くらいまで見返しの時間が取れました
  • 合格ラインや合格率などは公開していないらしいなので,はっきりはわからないのですが,まあ9割方は取れてるという手応えはありました

結果

12月第5週(年末?)に発表とのこと.どきどき・・・

(2017/12/27追記)

12月25日クリスマスに合否結果が発表されました. 合格してました!!!

Swift/Kotlin合同勉強会#2に参加しました

ブログを引っ越ししましたので,5秒後に移動します

2017/11/21に開催されたSwift/Kotlin合同勉強会#2へ参加してきました!

会場はオイシックスドット大地株式会社さんです. 最近オフィス移転したとのことで,大崎駅から徒歩5分程度のきれいなオフィスでした.

気になったLTを簡単に紹介します.

LT

『Swift⇔Kotlin』calciolifeさん

  • iOS開発やiOS自体の問題から生じるツラミ
  • willSet/didSetがSwiftのすごいポイントらしい
  • Swiftがコンパイルされたclangとかかなりディープな話だったけど(よく理解できなかったけど)面白かった
  • 部分評価=currying
  • KotlinでもElvisでかけるが,guard句の中に1文あってreturnみたいなのを書こうとすると==null書かないといけなくてダサいとのこと
  • わかっているつもりで全然わかかってなかったswiftをもっと勉強したいと思うモチベーションをもらった!

『Swiftにもasync/awaitがやってくる!』kazu0620さん

  • コルーチンの話
  • Kotlin1.1ではasync/awaitが入って盛り上がり中とのこと
  • swiftでもasync/awaitやりたいけど
    • Rxまではいらない
    • Promiseとかライブラリを入れるのは大袈裟
    • 非同期処理を同期的に書きたいだけ
  • swiftでもやりたい
    • プロポーザルには上がってる
    • Kotlinみたくコルーチンの実現のためのasync/awaitではなく,async/await入れるためにコルーチンの概念入れているだけ
    • async/await以外は使えない
  • プロポーザル中の仕組み
    • async: 非同期処理であることの宣言
    • await: コルーチンを中断する(async宣言された関数が一時的に中断する.async宣言関数以降は実行が継続する)
  • 実装案
    • beginAsyncブロック = async
    • await修飾子 = await

『[weak self]の使い所』hikaru_satohさん

  • 循環参照の話
  • 前に自分もQiitaに書いたようなweakの理解についての話
  • Javaはマークアンドスイープなんで同じ問題は起きないらしい

参加して

  • 全体的にKotlinの話が多かったけど,Swiftメインな自分には逆に新鮮な話が多くて勉強になった
  • メルカリさんが配ってたMacBookのカメラ隠しが最高すぎていっぱい頂いた! f:id:ottijp:20171122005533p:plain
  • オイシックスさんとドミノピザのコラボとかお芋とかもあって,懇親会の食事がとってもおいしかったです! f:id:ottijp:20171122005603j:plain f:id:ottijp:20171122005615j:plain

TWE-LITE用USBシリアル通信アダプタの自作

ブログを引っ越ししましたので,5秒後に移動します

IoTシステムのプロトタイプ作成のためにTWELITE Dipを使うことがよくあります.

TWELITEの設定をしたり,PCとつないで処理をする場合にはUSBシリアル変換が必要なので, いままではFT232RL USBシリアル変換モジュールキットを使っていました. ですが,毎回ブレッドボードで組み立てるのが面倒だったので,TWELITE用のUSBシリアル通信アダプタを自作してみました.

たぶんTWE-Lite-Rなどを買ってもできるんでしょうが,勉強も兼ねて自分で作りました.

完成図

こんな感じです.

f:id:ottijp:20171112211414j:plain

f:id:ottijp:20171112211409j:plain

USBシリアル変換モジュールを使い,TWELITEはピンソケットで着脱可能しました.

設計

Fritzingのファイルはこちらです.

回路図

f:id:ottijp:20171112212429p:plain

  • 今回使ったUSBシリアル変換モジュールはRX/TXが3.3Vなので,そのままTWELITEのTX/RXと繋いでいます
  • 電源はUSBシリアル変換モジュールのVCC(5V)からレギュレータで3.3Vに変換してTWELITEのVCCに繋いでいます

PCB配置(ユニバーサル基板)

f:id:ottijp:20171112212425p:plain

  • 今回使ったユニバーサル基板は,四隅のスペーサ用穴の周辺に穴が空いていないので,それがわかるようにマーク(黄土色の四角)しています

パーツリスト

記号 型番 メーカ 入手場所
IC1 AE-FT234X 秋月電子通商 秋月電子通商
IC2 TWE-001L-DPC-WA/TWE-L-DP-W モノワイヤレス 秋月電子通商
IC3 XC6202P332 トレックス・セミコンダクター 秋月電子通商
C1 1uF 秋月電子通商
C2 1uF 秋月電子通商

失敗談

ユニバーサル基板への実装が終わり,実際にTWELITEを繋げてみましたが,初めはうまくPCと通信ができませんでした. 一部の配線でハンダがしっかりと接いておらず,断線していたのが原因でした.

部分部分でテストしながら実装していったり,原因の切り分けができる単位でテストするのが必要だと感じたんですが, そのあたりハードウェアの実装ではどのように進めるできなのか,まだよくわかっていません...

VimConf2017に参加しました

ブログを引っ越ししましたので,5秒後に移動します

本日,Vimの祭典VimConf2017に参加してきました!

場所はヨドバシアキバから1分ほどの富士ソフトアキバプラザ5Fアキバホールです. 会場はとてもきれいで,全席に電源とLANコンセント(もちろんWi-Fiも)があるGoodな施設でした!

VimConfに参加したのは今回がはじめてで,Vim自体ほんとうに初級者なんで参加していいものかどうか迷ったんですが,やっぱり行きたい気持ちが強かったので,個人スポンサー枠で参加しました. (一般枠はもう一杯で間に合わなかった・・・)

印象に残ったセッション

Vim, Me and Community (@haya14busaさん)

  • 2013年に初めてvimtutorやって,そこから1年足らずでEasyMotionのコントリビュータに!
  • 本人がおっしゃっていた「小さなことから初めてみる」のはVimに限らずほんとうに大切なマインドだなと思った
  • プラグイン間で機能の取り入れやインスパイヤのし合いをしてて,いいエコシステム(?)ができている
    • clever-f
    • vim-sneaks
    • vim-smalls
    • vital-over
  • /vim/s+2でiにカーソル合わせてヒットしたワードを移動できる!(オフセットというらしい.知らなかった.)

Talk show (mattn_jpさん, k_takataさん, kaoriyaさん)

  • はじめてお三方を生で拝見して興奮!
  • 自分が初心者なので,「初心者が真似できるお気に入り」ってのを話してくれてありがたかった
    • %のカッコ対応 kaoriyaさん
    • 連番を作る方法 mattn_jpさん
    • スペルチェック k-tanakaさん
      • git commitのはチェックかかるようにしてる
      • :set spelllang=cjk すると日本語は無視される

Creating your lovely color scheme (cocoponさん)

  • 普段何気なく使わせてもらっているシンタックスハイライトの作り方の説明
  • 基本
    • 正規表現パターンでグループを作る
    • グループごとに色を設定する
    • 原理的にはそれだけだけど,グループの網羅とか色の調整とか256colorのサポートとか,やると結構たいへん
  • コンセプト(イメージ)を決めるの大事
  • 色はRGBよりHSB/HSLで直感的に色指定するとよい
  • 代表色を決めて,色相だけ変えて他の色をつくる(hue: 0, 30, 90, 180, 250°みたいな感じで)
    • 色数の爆発を避ける
    • 全体の調和を保つ

全体

  • 自分のレベルが追いつかなくてあまり理解ができなかったけど,他のセッションもすごい興味深く,Vimレベルを上げてちゃんと理解できるようになりたいなと思いました
  • 懇親会もこんな初心者が行っては迷惑かも・・・と思ったけど,思い切って行ってみましたが,やっぱり行ってよかったです
  • Vim自体の難しい話にはついていけないけど,それ以外の話もいっぱいあったし,何よりレベルの高い人や名前しか聞いたことのないような人が普通に周りを歩いてる場に居れること自体が,とっても幸せでした!
  • また来年も(Vimレベルを上げて)参加するぞー!

先月読んだ本と今月の読書予定(2017年11月)

ブログを引っ越ししましたので,5秒後に移動します

先月の読書予定

先月の読書実績

今月の読書予定

はてブ アプリで自分のブックマークを表示する方法

ブログを引っ越ししましたので,5秒後に移動します

今年からはてなブックマークを使ってみているので,iOSアプリ版をインストールしてみました. てっきりインストールしたらすぐに自分のブックマークが見れるものと思っていましたが,「人気エントリー」とか「注目テーマ」とか共通に見られるエントリが初期表示になっていました. 自分のブックマークを表示させようと思ってもなかなかやり方がわからなかったので,メモしておきます.

自分のブックマークの表示方法

  • まずホーム画面の右下にあるコンパスアイコンをタップします

f:id:ottijp:20171029013255p:plain

f:id:ottijp:20171029013307p:plain

  • 「使ってみる」をタップします

f:id:ottijp:20171029013316p:plain

  • ログイン画面になるので,はてなアカウントでログインします

f:id:ottijp:20171029013342p:plain

  • 自分のブックマークが表示されました!

f:id:ottijp:20171029013357p:plain

ホーム画面のハンバーガーメニューを触ってみたりしてもログインのメニューがなく,コンパスアイコンは現在地周辺に関するブックマークなのかな?と思ってタップしなかったので,なかなか自分のブックマークにたどりつけませんでしたが,なんとか上記の方法で見ることができました📖😆