DroidKaigi 2019にて登壇しました
先日開催されたDroidKaigi2019で「React NativeとExpoを用いたクロスプラットフォーム開発入門」というタイトルで発表してきました💪 雑に振り返り記事を書いておきます。
資料とか動画とか
DroidKaigi2019のタイムテーブル
React NativeとExpoを用いたクロスプラットフォーム開発入門 - DroidKaigi 2019
スライド
元のスライド(原稿付き)
リンクをシュッと開きたい人は、ここから元のが落とせます Google Drive
動画
セッションについて
2日目の朝イチ&React Nativeの話しということで、あまり人いないんだろうなーーーと思ったのですが、多くの方が足を運んでくださって嬉しかったです! 発表手前、同僚の@seto_hiさんが絡んでくれたり、@nkznさんが毎年やっていた挙手アンケートやったり、和めました😌 発表は、早口だったのか発表は5分ぐらい早めに終わってしまいましたが、 内容については事前にテキストを書き出していたこともあり、伝えようと思っていたことはしゃべりきれたかなと思っています。 自分的には70点ぐらいはあげたいお気持ちです🙂
登壇してみた感想
発表までの3ヶ月がしんどかった...。 発表内容の大枠決めるまでのコレでいいの感、資料作っている最中のコレで伝わるの感、わかっていたつもりではいたが書き起こすとわかっていないことを自覚する虚無感など、 なんで発表申し込んでしまったんだ!!!!!!😇と思うこと多かったです。きっと登壇者あるあるでしょう。 これもあるあるでしょうが、発表のためにきちんとエビデンスをとっていったので、発表前よりはReact NativeやらExpoについての知識や理解は圧倒的成長した気がします。 最終的に、登壇しといてよかった!と思いました。
また、社内での発表練習も3回ほどやりました。 資料の校正から言葉遣い、説明が伝わらない点の指摘やスライドのフォントなど、発表慣れ&情報のまとめ方が下手くそなおかげで、無限にアドバイスをいただきました🙏 普段の業務のドキュメント書きやら、今後の発表の機会に活かせるような気づきをたくさん得れたので活かしていきたいですね!
おわり
当日発表を聞きにくださった方々、ありがとうございました!
また発表まで期間は、同僚である@tackeさん、@seto_hiさん、@tebasakyuさん、社外では@nkznさん、@hmktsuさんにとてもお世話になりました!ありがとうございました!
React NativeとExpoの話題でDroidKaigiに登壇することになりました
登壇することになりました
あばばばば。
「React NativeとExpoを用いたクロスプラットフォーム開発入門」というセッションでDroidKaigi登壇することになりました。yatteikiです。 💪 #droidkaigi
— とらい (@mrtry_) 2018年11月12日
前職で生React Nativeで音楽再生アプリを作ってて、最近は副業でExpoを触っている感じでした。 その流れで「Expo最高じゃん???」というお気持ちになっていたので、シュッとしました。
しゃべる予定の内容
https://droidkaigi.jp/2019/proposals/ からシュッと抜粋
React NativeとExpoを用いたクロスプラットフォーム開発入門 発表者: mrtry 近年、クロスプラットフォーム開発環境のひとつとしてReact Nativeに注目が集まっています。 2018年だけでも、React Native自体の大幅なアップデートや、react-native-domの登場、AirbnbのReact Nativeリプレイスなど、話題に事欠きません。 キャッチーな話題が多いReact Nativeですが、実際の開発まわりになると「触ったこと無いし、実際よくわからない」という方が多いのではないでしょうか。 そんな方に向けて、本セッションでは、React NativeとそのtoolchainであるExpoを用いたアプリ開発の実際について紹介します。 React Nativeを触ったことがない方が、実際にアプリを作るための足がかりになれば、と思っております。 ■目次(仮) - React NativeとExpoのそれぞれの概要 - React NativeとExpoを用いたアプリ開発の利点/欠点とユースケース - 利点 - 環境構築の容易さ、便利なライブラリ群、Build設定まわりの管理移譲、など - 欠点 - apkサイズ、OSS選定のつらさ、ネイティブ実装による独自拡張ができない、など - React NativeとExpoを採用できるユースケース - Hello, Worldから味わうExpoでの開発の雰囲気 - プロジェクトの作成 - 利用するエディタ - Reactの雰囲気 - Hot Reloading - など - 実際に開発する上で知っておきたいTips - TypeScriptの導入 - よく使われるライブラリの紹介 - ライブラリの探し方 - CI上でのBuildやテスト、配信 - パフォーマンスチューニングの基礎 - Over The Air - など 受講対象者 - React Nativeを用いたクロスプラットフォームなアプリ開発に興味がある方 - Androidエンジニアの文脈で、React Nativeの良し悪しを知りたい方 - アプリエンジニアのリソースが不足しているチームでアプリ開発に取り組みたい方
気持ち的には、去年のkonifarさんのセッションのExpo版という感じになるかと思います。 スライド事前公開できたらいいなあ。
おわりに
やっていき💪
EdgeRouter設定記(とりあえずPPPoE接続するまで)
以前、EdgeRouterを買ってた
家のルーターにしてたけど、引っ越したときになんかつながらくなり、発狂していた(これはあとで、PPPoEの設定が変わったからということに気づく)。
リセットして再設定してみたので、その時の雑な作業ログ
やったこと
ほぼ、こちらに書かれているブログと同じことをしただけ - EdgeRouter X - 1. 初期設定 | yabe.jp
はまったところ
MacがUSB LANを認識しない
家のNintendo Switch用にUSB LANを元々持っていた
- 出版社/メーカー: KINIVA
- メディア: Video Game
- この商品を含むブログを見る
これを使って、EdgeRouterと接続を試みたが、つながらない
見たところ、そもそもMacに認識されてないようだった
ネットワーク機器の一覧を見てもそれっぽいのないし、
システム情報のUSBの項目見てもなにもない
結局、ドライバーがアレば良いということで、自分で落としてきて入れた。
以下のサイトのDriver
のところのApple Mac OS X 10.9 and above Drivers Installer
を落として入れた
- AX88179 - USB 3.0 to Gigabit Ethernet (GbE,GigE) | ASIX
入れて再起動とかしたら、こんな感じで認識された
EdgeRouterをうまくリセットできなかった
その後、今度は管理画面が開けなくて泣いた。 リセットボタンをテキトーに押してみても、どうも上手くいかなかった。 その後、公式ドキュメントを見つけて、落ち着いてその通りやったらできた。
EdgeRouterとWifiをつなぐも、Wifiがつながらない
NECのWifiを使っているのだが、設定されたEdgeRouterからWifiのほうのWANにつないでも、つながらん。
Wifiの設定画面を見てみると、動作モードをPPPoEルーター
にしてた。
これをローカルルータ
に戻して、ちゃんと動作することを確認できた。
やりはじめに、ルーターのIPがわからず発狂しかけたが、NECのルータのデフォルトのIPは192.168.10.1
or 192.168.0.1
ということを知ったので、事なきを得た。
参考
鴨居フックとワイヤーネットでケーブルトレーもどきを実装する
机周りを整理しているとき、配線をきれいにしたいなと思いました。
ケーブルトレーあればキレイになるよね、なんて思いましたが、微妙に高い。
イーサプライ ケーブルトレー ケーブルオーガナイザ 配線 収納 隠し デスク 電源タップ W420 EEX-CBH01
- 出版社/メーカー: イーサプライ
- メディア: エレクトロニクス
- この商品を含むブログを見る
これ100均の何かでそれっぽいのできないかとやったメモです。
鴨居フックとワイヤーネットでいい感じやる
100均にいくと、鴨居フックなるものが売ってます。
ノムラテック カモイダブルフック ロング (幅5~80mm対応) N-3334
- 出版社/メーカー: ノムラテック
- メディア: Tools & Hardware
- この商品を含むブログを見る
鴨居のところにひっかけて、フックが増設できるというやつです。
こいつにワイヤーネットをかけて、棚つければ、いい感じでは?と思ったのです。
ルミナス ポール径25mm用パーツ 収納性アップパーツ サイドネット 取付用S字フック付き 41×75cm NT4576
- 出版社/メーカー: ドウシシャ(Doshisha)
- メディア: ホーム&キッチン
- この商品を含むブログを見る
てなわけで、やってみました。432円の割にはいい感じです。
余った配線は、チューブでまとめるなり、ネットの穴を通せばいい感じになります。
ELECOM ケーブル まとめ スパイラルチューブ 内径10mm 長さ2.0m クリア BST-10
- 出版社/メーカー: エレコム
- メディア: Personal Computers
- 購入: 2人 クリック: 6回
- この商品を含むブログ (1件) を見る
配線もまとまって、足元の掃除もしやすくなったので、満足です( ˘ω˘)
はてブしたらSlackに通知するGASを書いた
はてブしたやつのタイムラインあったらいいな、と思ってたらこんな記事を発見した。
あはーん。便利そう。そんなわけで、記事を参考にしつつやったので、その作業ログ。
できたもの
自分のアカウントで、はてブをキメると、こんな感じでSlackに流れる。
完成までの流れ
大体は、以下の記事と一緒。
Slack側の準備
1.以下から、SlackのTokeの取得しておく
2.はてブの通知を受け取りたいチャンネルを準備しておく
GASの下準備
下準備として、Slackのライブラリ追加と環境変数の設定をする
リソース
→ライブラリ
を開きライブラリを追加
にM3W5Ut3Q39AaIwLquryEPMwV62A3znfOO
を入力して、SlackAppを追加しておく
ファイル
→プロジェクトのプロパティ
→スクリプトのプロパティ
にて、SlackのTokenとチャンネルを登録する
GASのスクリプト
こんな感じのを書いた
元のスクリプトの差分としては以下のような感じ
- アイコンをブックマーク登録者のアイコンから、公式アイコンへ変更
- はてブを新規追加したときのみ通知する
- 元のをそのまま使うと、更新や削除でも通知が来る
- Slack用の設定で、OGPが表示されるようにした
slack.postMessage
は公式のAPIのoptionがそのまま使えるpostMessage(string channelId, string text, Object option)
を参考- Library Documentation
unfurl_links: true
とすると、SlackにOGPが出る
- エントリー情報へのリンクがつくようにした
- 以下のようなページのこと
- はてなブックマーク - 物件契約時の初期費用を交渉したときのメモ - お気持ちの表明
GASを公開
公開
→ウェブ アプリケーションとして導入
から公開する。
更新
を押したら出てくるリンクをメモっておく。
以下のページで、はてブの登録イベントを受け取れるようにする
やることはふたつ
- さっきのGASを公開した時のURLを
イベント通知を受けとるURL
に入力 受け取るイベントの種類
でブックマークの追加 / 更新 / 削除
にチェックを入れる
これで一通り終わり。はてブすると、Slackにいい感じに流れるはず。
番外編: お気に入りユーザーがはてブしたら通知するやつ
ちょっといじって、お気に入りユーザー用のをつくった。
差分はこんな感じ
- アイコンをユーザーのものに変更
- 登録したユーザのブックマーク一覧へのリンクを追加
初めてGASさわる人が知っておくと幸せなこと
今回はじめてGASをさわって、詰んだとこだったり、便利となったやつのメモ
バージョン管理的なことされているので、保存しただけでは反映されない
コード書き換えて公開
→ウェブ アプリケーションとして導入
をやっても、反映されなくて2時間ぐらい溶かした。
バージョン管理的なことされているので、書き換えた後には新しいバージョンを登録・指定しないと反映されない。
コード書き換えてデプロイするときは、以下のスクショの箇所で新しいバージョンを登録しましょう😇
デバッグ時にStackdriverが超便利
書いたコードが動いている気配がねえ😇となったら、クラッシュログをみたいものだ。 Stackdriverとかいう便利なものがあるので、そこをみればクラッシュログが見れる。
例えば、Stackdriver Error Reportigを開くとこんなかんじでログが見れて便利。
おわりに
シュッと情報収集なり復習なりがしやすくなって便利そう!!!!
株式会社ノハナに入社しました
2ヶ月間の無職生活も終わり、株式会社ノハナでお勤めすることになった。
初心を忘れないためにも、今のお気持ちを表明しておこうと思う。
選考を受けたきっかけ
先日書いたエントリーと同じく、このツイートがきっかけだった。
そんなわけで、明日からは人類最高位ジョブである「無職」です!!
— とらい (@mrtry_) 2018年4月30日
Androidの保守とReactNativeのリリース経験ある感じなので、誰か雇ってくれませんか!!😇
弊社募集してるよ!!ってところがあったら、お声掛け下さい😇
この時に@seto_hiさんからお誘いがあったのがきっかけだった。 というわけで、いわゆるTwitter転職という感じです。ビッグウェーブに乗ったぞ!!! 実際にお声掛けくださった皆様、本当にありがとうございました!!!
入社先とした理由
ざっくり書くと、以下の2点。
- 自分の仕事に対するモチベーションと会社の事業が一致してる
- 修行場として良さそうな環境
自分の仕事に対するモチベーションと会社の事業が一致してる
私的に、仕事のモチベーションとなる要素は主に「サービス」「技術」「お金」だと思ってる。 「サービス」は、サービス開発に関わって、ユーザーに影響を与えるというところでテンションがアガる人。 「技術」は、自分の好きな技術分野について知識や技術を身に着けたり、技術課題に取り組んでいくところにテンションがアガる人。 「お金」は、まあそのままで、収入があがることにテンションがアガる人。 人それぞれ比重はそれぞれあるにしろ、この3要素が仕事のモチベーションの基礎になってると思ってる。
自分のモチベーションを比率で示すと、サービス:技術:お金 = 2:1:1という感じ。 サービスが一番モチベーションのベースとなっていて、次にお金と技術が同じくらい。 そんな私なので、転職先を選ぶときも「自分が実際に使ってみたいと思うサービスをやっている会社」という主軸で会社選びをしていた。 *1
ノハナでは、「1組でも多くの家族に笑顔を届ける」という企業ミッションを掲げている。 フォトブックや年賀状などをサービスを展開していて、企業ミッションに則したステキな事業をやってると思っている。 そういった理念を体現しているサービスに携われるのは、自分のモチベーション的にもアガるし、この会社で働いてみたいな!!と思ったのだった。
修行場として良さそうな環境
前職では、Androidを未経験でやりはじめ、ぼっち開発を1年ぐらいやっていた。 ざっくりAndroidの雰囲気は掴んでいるものの、アプリ開発の基礎について、自信があまり持てていない。 なので次の職場選びの基準として、「技術面でメンタリングしてくれる人がいる会社に勤めたい」 「実際に基礎を学ぶのにちょうどいい改修に手を付けれそうな業務がある会社に勤めたいと」と思っていた。
ノハナは、@seto_hiさんというエンジニアとしてめちゃ強い人がいるし、 業務内容についても、直近大きめのリファクタ案件があるという感じだったので、 ここでAndroidエンジニアとして修行していきたい!!と思ったのだった。
やっていきたいこと
上記したように、修行していきたみがあるので、直近はAndroidアプリエンジニアとしての基礎固めに専念したいと思っている。
あとは、チームビルディング的なことも学んだり、やっていきたい。 直近までAndroidアプリエンジニアが1名だったのだが、今月から私ともう1名が入社することで3人のチームになる。 *2 技術力的にも社会人的にも私が一番下なため、どちらかというと私が迷惑かけまくっていく人間だと思っているのだが、 チームメンバーとのコミュニケーションを気をつけたりして、気持ちよく仕事をできるようなチームになれたらなあと思う。
おわりに
そんなかんじで、やっていくぞ!!!!!!!!!!!!!!!!!!
あ、就職祝いに肉を奢ってくれる人大募集していますので、まってます!!!!!!!!
*1:ちなみに前職も、元々ユーザーとしてサービスを利用していて、サービスに貢献できたらステキやん?と思って入社した
無職卒業に際して、無職期間を振り返ってみる
退職エントリーを投稿してから2ヶ月、職も決まったので来月から労働します。
無職期間をざっくり振り返っていきたいと思います。
そもそも、なぜ無職になったのか
仕事をやめたからなのは当たり前ですが、「行き先決めないでやめたん?!」というツッコミがあるかと思います(実際、就活中やら友人やらにツッコミを受けまくった)。
理由を挙げると、ざっくり以下の感じ
- 心が疲弊したので休みたい
- 離れると決めた環境に長居するのは、時間がもったいないし、仕事にやる気が出ない
- 次に行きたい会社や環境は定まっているので、あとは話を聞きに行きまくれば良さそう
無職になっても、金以外で困ることはないだろ (ただし、貯金はなかった)
そんなわけで、行き先を決めずに辞める宣言をして、とりあえず会社を辞めました。
無職期間に何をしていたのか
4月の半ばから有給消化してたので、だいたい75日ぐらい休んでいた。
ざっくりこんな感じ。
- 面談やら選考をいろいろ受けた
- 13社面談した
- 実際に選考受けたのは5社
- 帰省して、温泉したり、寿司を食べた
- 飲み会(計28回)
- ふもとっぱらでキャンプ
- BBQ
- 上野と浅草で飲み歩き
- 勉強会でLT
- 引っ越し準備
- スプラトゥーン2
- 勉強いろいろ
- 週5でジム通い
- anovaと燻製鍋を買ってベーコンやらハム作った
- メンタリストをいっぱいみた
これを書いていて、休みの1/3ぐらい飲酒していることに気づいてウケた。
無職してよかったこと
転職活動に専念できた
はじめての転職活動だったのだけど、仕事しつつの転職はとても疲れると思った。 退職する2週間前ぐらいから選考を受け始めてはいたのだが、面談するにしても日中は難しいから退勤後になるし、選考フローに課題提出がある会社だったりすると仕事終わりと土日が潰れるので、精神的にも体力的にもつらい。
無職になったおかげで、面談・面接に集中することができるし、会社見学する際にも社員が働いているタイミングでオフィス見れるし、課題が出ても十分に落ち着いて取り組めたので、とてもよかった。 次仕事変えるときも、無職になってから職探しをしたい。できれば、こんなかんじで。
心身が整った
仕事で疲労困憊していた心が、いっぱい休んだりしたことで整った。
あとは、自己分析をするための時間確保ができた。 面接や面談を受けていると、必然的に自分自身について突っ込んだ質問を受けることになる。 短期/長期でのキャリアパスだったり、仕事に対してもモチベーション、自分の得意分野についてなど、ありきたりな質問ではあるけど、それを言語化するのは時間がかかるものだと思う。 実際に人から質問され、それを言語化して答えるというサイクルをたくさん回せる機会でもあったので、いっぱい悩んで、言語化することに努めた。 とりあえず、今はこういう感じの気持ちでやっていこうと思った。
重めなタスクに着手できた
読みたいと思いつつ、積読されていた本を消化した。 自分は読書を長時間できる人間ではないので、あまりたくさんは読めてなかったが、プログラミング以外にも心理学やら発声の本を読めたりしてよかった。
運動しようと思ってジムに週5で通えた。 ストレス太りしてたし、夏だから薄着になってもよさそうな程度に身なりを整えたかった。 ジムにある筋トレメニューを週1~2程度にやったり、エアロバイクを漕いだり、ランニングマシンで走ったりした。 食事制限も、糖質制限しつつ、週に2回ぐらいラマダーンする感じでゆるくやってった。 お腹周りにはまだあまり進捗はないが、体重は3kgぐらい痩せたし、手足は筋肉質になってきて、いいかんじである。
あとは引っ越しの準備。 今は都内から離れたところに住んでいるので、転職に際して引っ越すことにした。 物件探したり、初期費用についてツッコミを入れたり、電気ガス水道に電話したり、ネット契約したり、引越し業者決めたり、ダンボール詰めを始めたりした。 これ絶対仕事しながらできないって思ったので、無職中に決断して手を動かしはじめてよかった。 手続きまわりは全部終わったので、無職中に半分ぐらいはダンボール詰めを終わらせておきたいな...。
無職を楽しむための個人的教訓
いつでも無職になれるように、貯金しておこう
無職は最高に楽しかったけど、さすがに貯金がなさすぎた感がある。 余裕を持つためにも、2ヶ月分の家賃と月15万ぐらいのお小遣いを用意しとくべきだったかも。 良くないというツッコミはあるだろうけど、今回は返せる目処あるしと思って、買い物は基本リボった。
人としゃべる日を週4ぐらいつくる
無職になると、人と喋る機会が激減します。 寂しいという気持ちはもちろんのこと、就活でつらい気持ちになったときに、ぼっちだとつらいです。 リモート飲酒する相手を探すなり、面接後はそのまま飲めるように誰か誘っておくなりして、なるべく人としゃべる機会を作っておいたほうがいい。 今回は、たまたま無職期間がかぶる友人が3人ほどいたので、ある時期「無職最高!!!!!!!!!!!11」といいながら毎晩ハングアウトでリモート飲酒する生活をしていた。 次の職が決まらないつらい気持ちと、貯金が減っていくヤバイ気持ちで、メンヘラりかけていた精神がだいぶ安定したのでよかった。
午前中に週5程度に続けられる習慣をつくっておく
出社しないと、生活にリズムがなくなってダレがちになってしまう。 そう思ったのもあって、週5でジムに通っていたってのがある。 ついでに、通う時間を5:00-10:00に限定されているプランで契約したので、「あ〜。おきなきゃ〜。」とリズムをつくることができた。
実際はこんな感じで過ごしてた
- 起床
- ジム
- シャワー
- 食事
- 昼寝
- 勉強やらドラマやら家事
- 食事
- 寝る
おわりに
来週月曜からは渋谷の会社で働く感じで、無職生活もあと今日含め3日。
読みかけ途中の技術書読んだり、ダンボール詰めをがんばっていきたいなあと思います。