ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

開発環境を一新しました

またどうでもいい話。

macOS Mojaveが出たのでクリーンインストールして開発環境を新たにしてみました。

たぶんOSが新しくなったからではなく、クリーンインストールしたおかげでだいぶ快適に過ごしています。

1年に1回くらいはやって損はないかなぁと思った。

今回はGUIアプリも含めて全てhomebrewでいれるようにしてみました。

次回クリーンインストールしたい衝動にかられたときも、brew listとかbrew cask listとかやれば入れたアプリがすぐにわかってテキストで出力されるという感じ。

f:id:uutarou:20180925235834p:plain

うわさのダークモード

雑談

今日はちょっと悲しいことがあったのでダメです。わかってると思っていたのだが。

研究関連をすこし

今日は研究の関連のことを少し進めました。

HTTP/2の通信をキャプチャしてパケット見たかったのですが、現在主要なブラウザはHTTPSでないとHTTP/2での通信を許可していないので、TLSのパケットをキャプチャして復号して中身見る必要がありそうと言うことがわかった。(そりゃそうだ)

それ以前に、Wiresharkなどの使い方を知らないので、手探りで触っていました。HTTP通信の危険性がわかるなぁと思いました。

SA

後期はJavaの講義(1年生対象)のSAをやることになりました。

classの使い方とかその辺が出てきたあたりでまだまだ余裕です。というかこのへんでつまるようだとかなりやばいので当然か。

雑談

なんだか全てが中途半端になってしまった今日。

ブログやってて、「今日は書くことがねぇ」ってなる日があまりにも続くと辛くなってくるので、明日は活動的に過ごしたいです。

ちなみに明日はミーティングです。

昨日に引き続きElectronを

やってました。

正直、動いてる環境がChromeだったものをElectronの中に移した、というレベルのことしかやってないので新たに得た知見は無に近いのですが、頼まれごとなのでしゃあない。

一個だけ得た知見としては、Electronの中でreact-routerを使う時は、BrowserHistoryではなくHashHistoryを使った方が良いということ。

通常、SPAではアクセスのあったURLにかかわらず特定のhtmlを返して、JSの中描画するページを出し分けていますが、Electronではそう言ったことはできないので、HashHistoryを使ってやった方が良いという話です。(リロードがかかっても正しくルーティングできる)

雑談

うーん、またこんな無駄なことして…って感じ

ElectronでWebpackを使う

今日はちょっといつもの勉強を離れてみました。


昔からElectronが好きで、ちょくちょく触っては変なアプリを作っていました。

その頃は素のHTMLとCSSをべたーっと書いてました。今ならReactとか使ってもう少しマシなアプリが作れるかもと思ってやってみました。(ちょうど高校時代の恩師から頼まれごとをしていたのも理由にある)

Webpack突っ込んで〜とか面倒だなと思ったらこんなものが!

Introduction · electron-webpack

全部やってくれる。ReactやTypeScriptを使いたい時も必要なライブラリを入れてやるだけでOK。これ本当素晴らしい。

雑談

いつのまにかElectronのドキュメント日本語になってたし色々楽になってきてるんだと思った。

Firebase Authenticationさんを触った

サーバーサイドのコード書かずにフロントエンドの勉強に集中したいと思って使い始めたFirebaseなのですが、すっかりそれ自体にはまってしまって色々やっています。

今日はAuthentication。

Firebase Authentication  |  Firebase

ひとまずは作り込んでる時間もないので匿名ユーザーで認証しておいて色々やっていこうと思ってコードを書いたのですが、ちょっと面倒な問題に当たってしまった。

というのも、signInのメソッドを呼び、成功すると事前に設定しておいたコールバック関数が呼ばれるので、その辺をうまいこと作ってやらないと、ログイン状態にないのにユーザーの操作を受け付けてリクエストを飛ばしてコケると言った問題が発生する気がする。

よくわからなかったので、サインインのメソッドを自分で定義して、引数にログイン状態が変化した際のコールバック関数を受け取るメソッドを書いてみた。

しかし、そのコールバックはログイン状態の変化で呼ばれるのでユーザー操作でサインアウトが発生した場合などにも呼ばれる。ということでボツになりました。

今日はその辺を結構頑張って試行錯誤していたがうまくいかず。

こういう時どうしたらいいのか本当にわからん。

雑談

疲れが溜まってるのか眠気がすごい。

明日はちょろっと病院に行く以外の用事がないので進捗を出したい。

Firebase/研究/諸々作業など

Firebase

毎日少しずつやっていますFirebase。

今日も少しやった。Functionsを使ってAPIサーバー代わりになるものをつくったので、明日からはフロントエンドの実装に入れそう。

研究

コンピュータサイエンスを学んでいるものとしてあるまじき話なのだが、僕はC言語をやったことがない。

どれくらいやったことないかっていうと、コンパイルの方法がわからなかったり変数宣言の方法がわからなかったりとかそう言うレベル。

ところが、研究でC言語で書かれたWebサーバーの実装を読んだり、場合によっては書き換える必要が出てきてしまったので今日はちょっとだけソースコード読んで雰囲気を感じ取っていた。

ある程度は調べながらでも大丈夫そうなので基本文法だけどっかでおさらいすることにする。

諸々作業など

人から頼まれていた作業などを少し進めた。これは言及することなし

雑談

これで3日連続パンケーキやってるうちの研究室

日常

firebase-adminからCloud Firestoreを使ってたらはまった

ので、書いた。

qiita.com

けど、Functionsもサーバーサイドで実行されるのでnew Date()でいいのでは?ということを指摘された。確かにその通りのような気がする。

というか、差があるなら誰か教えて欲しい。と思った。

Firebaseだんだん使えるようになってきて嬉しい。

Firebase、かんたんなのでみんな使うべき。

雑談

f:id:uutarou:20180919232820j:plain

ちまちまと少しずつ空き時間とかで北海道旅行で撮った写真を現像してみてる。これは大倉山のスキージャンプ台。

f:id:uutarou:20180919233047j:plain

これは札幌の大通公園で待ち時間が発生した時に撮った写真。こういうエモい写真が個人的には好み。