実行時のエラー、仮想マシンを再起動したら直りました。devなどやると直ることが多いんだけど今回はそれでも直らず、、、おもむろに仮想マシンを再起動してビルドし直したら無事に通りました。理由は全くわかりません。(仮想マシンじゃなくmac本体で開発してる場合も、mac再起動したら直るかもね。)とはいえ直ったので、次にまた困った時用のメモって感じで。あと、この方法はググっても出てこなかったのでいつか誰かに助けになればと思って。以下、今回の詳しい状況。devを実行した際にエラー発生。別メンバーの環境上では問題なく動いていた。実行時のエラー、仮想マシンを再起動したら直りました。Firestoreを使ってチャットアプリを作りました。長い正月期間、だらだら過ごさないためにも「気になってた技術全部キャッチアップしてやる!!」と意気込んで取り組みました。正月で家族が集合する中、場の空気を壊さぬよう早起きしたり、夜更かししたり、抜け出したりしながら何とか完走しました。(大いに便宜を図ってくれた妻に感謝。面白くも何ともないただのチャットアプリです。技術のキャッチアップが目的なのでアプリとしてのクオリティはめちゃ低いです。Hostingを使って公開してます。開発環境MacOS上にvagrantで立ち上げた仮想マシン(ubuntu16.04)で開発しました。prettierこの記事で書いてること各種ライブラリの導入手順(主にコマンド)や細かい設定。あと、開発してみての所感など。コードなどは記事の中には書いてません。(実装部分についてはgithubにあげてるのでそちらを参照してください。redux-sagaがすごく大変でした。VuexでのSPA開発でFluxの概念には触れているので、その概念や思想の部分についてはよくわかるし理解できるのですが、実際に実装するとなると考えることが多くて。「技術のキャッチアップ」が目的だったので、妥協せずに公式ドキュメントを読み込んでアンチパターンを踏まないように実装しました。Firestoreについては、無料でdatabase機能やイベントのPub/Sub機能を享受出来るし、ドキュメントも充実してるので、プロトタイプや勉強目的であれば最高に使いやすいなと思いました。SDKなるものを使う必要があるので案外簡単ではないと感じます。巷では「超お手軽簡単」のイメージが強いので、この辺のセキュリティ意識が乏しい人が安易に使うと危ないかもと思いました。TypeScriptについては、最初は「いちいち型定義するのめんどくさい。こんな調子だと日が暮れちまうよ。コンパイルも全然通らんし。慣れるし、思えば指摘がリアルタイムで丁寧だし、何よりコンパイル通りさえすればだいたいバグなく動いてくれるので、トータルで見ると開発効率上がってるんだと思います。「普段はネチネチと小言のうるさい頭カチコチめんどくさ真面目野郎だと思われてるけど、卒業間際になってそのありがたみに気づいた生徒達にめっちゃ感謝されるタイプの教師」みたいだなと思いました。あとは副次的な効果として、1ヶ月前くらいから習得に励んでるVimがだいぶ板につきました。今後の課題reducerやsagaなど、肥大化しがちな箇所を適切な粒度で分割reduxのconnectをcontainerに切り離すTypeScriptの書き方を覚える(定義した型の再利用とかしたい。firebaseとか)まあ、ディレクトリ構成とか設計の部分になると、チーム毎プロジェクト毎に最適解が変わるのでベースの考え方だけ押さえておけるように引き続き勉強したいと思います。build.localhostの3000ポートにアクセスするとデフォルトページが確認できる。※このコマンド一発でサーバ起動だけじゃなくビルドもやってくれてるぽい。ブラウザで確認すると、material-uiが適用されたボタンが表示される。これでやれば一発だったぽい。既存のプロジェクトに導入すると移行大変そうだし、typeScript使うなら最初に入れるのが良さそう。index.jsしかファイルないし、コーディングもしてなかったので助かった。eslintはreactプロジェクトにデフォルトで含まれているらしくprettierのインストールだけでいいらしい。(確かにpackage.json見るとそれっぽいのある。この3行を削除して、eslintrc.jsonに切り出す。}}これでlinterが動くようになる。eslintが静的解析、prettierがコード整形をやってくれる。firebaseあとはドキュメントに従ってfirebase側のセットアップを色々やる。firestoreしか使わないので、firestore()をexportして、使う先でimportする感じに実装した。});}~~~以上、有意義な正月だったな〜。Firestoreを使ってチャットアプリを作りました。Tweetコメントを書くもっと読む2019-04-14わりと規則的なリモートワーカーの1日リモートワークを始めて2週間が経ちました。なんとなーく1日のサイクルができてきたので晒してみます。ベースはだいたいこんな感じ。1日のサイクル朝は5:00に起きて2hほど勉強します。終わったら、仕事前に息子抱えて散歩するようにしてます。意識しないと一歩も外に出なくなってしまうので。住宅街だけど季節を感じることもできて結構オススメ。公務員時代にはこんな発見一度たりとも無かったなぁ。(ディスり)8:30頃から業務を開始して17:30頃で一旦区切り。そのあと20:00頃には息子が寝て解放されるので、仕事に戻ったり調べ物したり勉強したり。22:00頃までやったら就寝〜。だいたいこんな感じです。良くも悪くも息子次第なところがあるので、あまり自由が効かないけど、わりと規則的で健康的なんじゃないかなと思ってます。フリーランスとりあえず元気にやってます!笑ブログ書こう書こうと思い続けて2週間。重い腰が上がりました。ブログって書かなければ書かないほど、「ブログのネタにしたいな〜」と思うことが増えていって、いざ「書こう!!」と思った時に「あれも書かないと。」と収拾がつかなくなってめんどくさくなって、結局書かない。いう負のループに陥りがちですね。実は今日もそれで諦めかけたんですが、私は閃きました。まとめて1記事で書こうとせず、一つ一つのネタを小出しにそれぞれを記事にしよう!ということで、今日は予告編です。これまでの2週間で「ブログで書いときたいな〜」と思ったことを列挙して終わります。明日から少しずつ記事にしていきます。フリーランスとかリモートワークに興味ある人なら結構興味そそられるタイトルじゃないかなぁと、我ながら思います。「報酬」の重み1日のサイクルこの他に、tech系の記事も少しずつ・・・。00:36リモートワークを始めて2週間が経ちましたTweetコメントを書くもっと読む2019-04-01PHPerKaigi2019の振り返りイベントphperkaigi.jpPHPerKaigi2019に参加してきたので、早速振り返りたいと思います。www.hideyana.com強いエンジニアになるためのヒントを手に入れた私は、PHPerKaigi2019にこんな気持ちで臨んでいました。参戦!多分、話聞いてもなんのこっちゃ全然わかんないと思う。結果としては、外のモノサシというよりは強いエンジニアになるためのヒントを手に入れたので、それを共有したいと思います。強いエンジニアは1日にしてならずそんな言葉がぴったりだなーという印象です。経験を積むまず場数を踏むこと。うまくいったことうまくいかなかったことあらゆる経験が血肉になります。勉強する当たり前のことだけど、強いエンジニアのみなさんは勉強量が尋常ではないなと感じました。日々コツコツ地道な積み重ねがエンジニアとしての力になります。本質(why)を理解するただ単に動くものを作るだけでは、エンジニアとしての胆力は身に付きづらい。どんな実装になっているのか、なぜその実装なのか。深掘りすることで力がつきます。アウトプット言わずもがなですね。アウトプット側に立つことが大切です。PHPerKaigi2019最高だったたくさんの学びと刺激と仲間が得られて、本当に本当に最高のカンファレンスでした。次の機会はLTか何か、アウトプット側で参加できればと思います。最後に、思い出深いツイートを貼って終わります。参戦!多分、話聞いてもなんのこっちゃ全然わかんないと思う。2019年3月29日インタラクティブラウンドテーブルプロに気軽に相談できるだと・・・4/1からのプロジェクトの技術課題相談してみよう。2019年3月30日Laravel相談会の場でLaravelに全然関係ない質問をしてしまいましたが、「自分ならこうするかな」と、テーブルのみなさんは嫌な顔一つせず教えてくれました。PHPerあったかい。フレームワークを自作して本質を理解する。抽象化って何?より少ない条件で目的を達成できる方法はないか?ということを常日頃から意識する。公務員時代に、なんとか時間をひねり出してサービス作ってた話とか、地方公務員→リモートエンジニアというキャリアの振れ幅、結構面白い話だということにいろんな方と話してて気づけた。2019年3月30日3日間の東京出張、2日目終了。4/1からエンジニアに復帰できる話をいろんな人にしてるんだけど「めっちゃめちゃ嬉しそうに話しますね!w」って3人くらいに言われてる。プログラムやサービス作りをしてお金をもらえるということがどれだけ尊いことか。仲間集めがカンファレンスの本質かもしれない...と思い始めた。運営がインタラクティブなコミュニケーションの場をたくさん設けてくれているのは、そういうことですよねきっと。明日からリモートだけど、全然怖くねぇ。心を込めて回答をくださった。激しく共感したとともに、胸に深く刻まれた。2019年3月31日メルカリの後藤さんとがっちり握手した瞬間が、この3日間で一番心が震えた。後藤さんがどんなマインドで転職したのか、重なる部分がとても多くて、自分自身のチャレンジ・行動がとても誇らしく思えて心の炎がマックスになった!チャレンジし続ける!!毎日少しずつでも限界を超えて成長し続ける!!無事盛岡に帰還しました。(めちゃ雪が降ってますw)たくさんの学びと刺激と仲間が得られた最高の3日間でした。2019に参戦中です。今日学んだことを忘れないうちにメモ。パーフェクトPHPの第7章にフレームワークの作り方が書いてるのでとりあえず写経してみる。PhpStorm導入PhpStormすごい。デフォルトの設定で素敵な体験がいっぱいできるらしい。PhpStormないとプログラム書けない病を発症することもあるので気をつける。ブログ書くブログのハードルを低くするのが書き続けるコツ。