gaaamiiのブログ

悪気なく間違ったことを書いている時があります。コメントやTwitter、ブコメなどでご指摘ください

趣味開発進捗(4日目)

Twitterログインができるようになった。Twitterログインができるようになったけど適切なユーザー管理はできていないので明日はそれをする。

趣味開発進捗(3日目)

3日続いたので何日目か数えていく。ログイン・ログアウト(の雰囲気)ができた。でもFirebaseのAuthenticationよくわかってない。ドキュメント読みつつ、次はTwitterログインあたりをやりたい。

趣味開発進捗イマイチ

てきとうなユーザーアイコンを入れ込んでみると楽しくなる。まだ先は長い。

趣味開発進捗だめ

チュートリアルのサンプルをいじくってそれっぽい動きしてさーこれからだぞというときに平日がやってきて次の週末には何やってたか忘れているみたいなの何回も繰り返してる

id:daiiz さんこれの発明者なのかすごいな

podcast収録に備えてどんな方か、というのを見ていたらこれが出てきた。

配属された翌日の朝に、最高のブレインストーミングをして期間中に取り組むテーマを決めました。 いろいろと案が出てきて議論の結果、「引用機能」に決まりました。僕がこの機能の種となるアイデアを出してから、さらにアイデアを出しあって、勢い良く最高の機能のストーリーが出来上がりました。後述するリリースエントリでも詳しく説明されていますが、この機能を使うと、はてなブログ上の引用したいフレーズを マウスでドラッグして選択 ストック 執筆中の記事に貼り付け の手順で簡単に引用することができます。

はてなサマーインターンが終わり、エンジニアへの道が始まった - #daiizメモ

これめっちゃ便利なのでこれの話聴くぞい。

yomomo.net を閉じます

利用頂いていた方には申し訳ありませんがhttp://yomomo.net を4月末で閉鎖します。

今週末やる気と時間があればmarkdownでデータをダウンロードできるようにするつもりです。

planet earth が最高

ふとAmazonプライムで目にしたがために、寝る前にplanet earthを見るようになってしまった。

とにかく映像が良すぎて良い。最高。この番組を見ると、普段生きてて感じる不安や葛藤が馬鹿馬鹿しくなってすごい良い。自然界に不安や葛藤みたいな曖昧なものはなくて、ただただ常に生きるか死ぬかの勝負なのが伝わってくる。自然界。とても単純で潔い。よっしゃおれも生存するぞ、という気持ちになる。

システムテスト自動化カンファレンス2017 行ってきた #stac2017

testautomationresearch.connpass.com

遅刻して15時45分ごろ到着。すみませんでした 🙇

メモ

  • 「テスト自動化エンジニア」という言葉をちゃんと聞いたの初めてだった。テストを専門とするエンジニアや(人海戦術ではない)テストを専門とする会社が存在することも知らなかった(というか意識したことがなかった)。
  • Selenium実践入門 ―― 自動化による継続的なブラウザテスト (WEB+DB PRESS plus)の著者の一人、株式会社TRIDENTの伊藤さんのMagic podというプロダクトについての発表がとてもおもしろかった。
    • 画像はっつけるだけでテスト対象のコンポーネント見極めてくれるっていうデモを見て、なるほど機械学習ってこういうところに使えるのか感があった。
  • デモを見ながらこういうの(アプリを動かすコード書いてアプリが動き出すの)楽しそうだな〜と思ってselenium手元でいじくりだした。楽しい。
  • Magic pod 以外の発表はわりと抽象的な話が多く、自分には経験値が足りなくていまいち自分がそれを実践するイメージがわかなかった。
  • 自動テストはデグレを防ぐセーフティネットみたいな言葉を聴いてそれそれ〜と唯一共感できた(実体験があるので)
  • テスト考えるのはアプリケーションエンジニアの仕事の一つだと思っていたので、テストを専門にするエンジニアがアプリケーションエンジニアとは別にいるっていうのがどういうことなんや、っていうのを聴きたかったけど自分は遅刻したのでそこら辺の話は終わってたっぽい。
  • Yahooのオフィスがきれいすぎて社会見学に来た気分になった。

その他

Thousand Foot Krutch 好きになった

サウザンド・フット・クラッチ - Wikipedia

soundcloud で雑に聞いてたら出てきた曲がThousand Foot KrutchのCourtesy Callという曲のリミックスで最高な気分になったので原曲聴いてみたらすっかり好きになった。音楽疎いので、Thousand Foot Krutch好きならこれも聴いてみようね、というアーティストいたら教えてください。

あと、こういうリミックスのことを Nightcore と呼ぶ文化も知らなかった。音楽疎い。

Nightcore - Wikipedia

尊敬するエンジニア

会社の飲み会で酒に酔って、気付いたら個人的に社内で尊敬してるエンジニアの尊敬してる点を話していた。こんなことを挙げていた。

  • コミットがきれい
  • 全体的に丁寧
  • 技術仕様やソースをちゃんと読む

話してみると、なんでこれらの点を尊敬しているのか考えたくなった。

コミットがきれい -> 作業がひとりのエンジニアの脳内で完結されると困るから

だれか一人で全てのプロダクトを担当するわけではないので、ひとのコードを読むこと・自分のコードが読まれることがある。きれいなコードとかクソコードとかいう言葉があるけど、実際にはただのきれいなコードとかクソコードというのは無くて、それが生まれた経緯がある。時間が無くて似たようなコードを抽象化できなかったのかもしれないし、レガシーな仕様に合わせるために命名を不自然にするしかなかった、とか。

そのコミットをするときに1つ1つ決断しなければいけなくて、逆に言うと決断の数だけコミットがあるはず。それを fix とか update とするのは、その決断をそのときの自分の頭に閉じ込めることになる。コミットがきれいだということは、決断を公にして他人や未来の自分を困惑させないための配慮をしているということだと思う。

全体的に丁寧 -> 正しい言葉は時間を節約する

尊敬しているエンジニアの仕事ぶりは、全体的に丁寧だと感じる。それはたぶん、正しい言葉を選んで使っているからだと思う。正しい言葉は、読む人(聞く人)の時間の節約につながる。正しい言葉はチームの生産性を上げる。

そして何より、正しい言葉を選んで曖昧さを消していくと、真っ当な技術力が身につくと思う。

技術仕様やソースをちゃんと読む -> 正しい知識を持っている

バイナリを書かずにプログラムを動かせるのは、誰かが書いた高度なソフトウェアを使っているからだ。そしてその内主要なソフトウェアのほとんどは仕様やソースが公開されている。http は仕様そのものだし、Linuxシステムコールはソースまで公開されている。技術仕様やソースをちゃんと読んでいる人は、検索エンジンからたどり着いたどこかの誰かが書いたstackoverflow回答から情報を得ている人よりかは、圧倒的に正しい知識を持っている。

現実

とはいえ、自分はどれくらいできているんだろう。現実は、たくさんクソコミットしてるし、stackoverflow鵜呑みにするし、雑なタイトルでissueを切って一緒に働いているエンジニアを困惑させたりしている。その方が楽だし、考える時間が必要ないからだ。

考える時間が必要ないからという理由で間違ったやり方を続けるのは良くない。

だからこそ、正しいやり方でできているエンジニアに尊敬のまなざしを向けずにはいられないんだと思う。

(お試し)Rails5.1でAngular環境を生成する

Rails5.1からwebpackビルド環境を生成してくれる,Angularもできるという話を聞いたので rails new してみただけのメモです。

$ gem install rails -v 5.1.0.beta1
$ rails new myapp --webpack=angular
$ cd myapp/app/javascript
$ ~/myapp/app/javascript (master #)$ tree -L 3
.
├── hello_angular
│   ├── app
│   │   ├── app.component.ts
│   │   └── app.module.ts
│   ├── index.ts
│   └── polyfills.ts
└── packs
    ├── application.js
    └── hello_angular.js

関連

qiita.com

www.chirashiura.com

Angular CLIでなにかつくるぞという気持ち

勤怠アプリみたいなものを作りたいと思ったのだけど、思ってるだけだと結局つくらないのでできてないものを公開してしまうことにした。気持ちよくなってきたらサーバー絡めてちゃんとやるけど、しばらくはAngular CLIベースの開発とテストの書き方などの訓練に使うことになりそう。

CouplesやめてFrognoteというノートアプリ使ってる

カップルが情報共有するにはカップル向けアプリ使えばいいんじゃないかと思って使いはじめたCouplesだったけど、あらゆる仕様が年齢的に合わないと感じてきた。

カレンダー共有とノート共有ができればいいので、niftyが出してるfrognoteというアプリを使うことにした。

ずっと同じことやってるのに作業遅い問題

なんかフロントエンドっていってもリクエストなげてレスポンスもらって表示させてCSS整えてっていうのを繰り返してるだけなのに毎回時間かかってしまうのなんなんだろう。作業時間増やすためにミーティング消し去りたいとか思ってしまったんだけど、よく考えたらコーディングに時間かけすぎな方を直した方が良い。