旧gaaamiiのブログ

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

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整えてっていうのを繰り返してるだけなのに毎回時間かかってしまうのなんなんだろう。作業時間増やすためにミーティング消し去りたいとか思ってしまったんだけど、よく考えたらコーディングに時間かけすぎな方を直した方が良い。

ざっくり作った時の見栄えの気持ち悪さ

デザイナーさんのワイヤーをちゃんと忠実に再現しようとした時と自分で雑に調整した時の差がなんなのか、というところでよく気付く部分。

  • font-size
  • font-family
  • line-height
  • letter-spacing
  • margin
  • padding

余白とフォントということか。フロントエンドやってる者としてはこういうのをちゃんと学ぶ必要ありそう。

2017年

2017年になりました。あけましておめでとうございます。 近所のお寺が馬鹿みたいに混んでて新年って感じがしました。

f:id:shgam:20170101140425j:plain

2016年やったこと

  • Studyplus社に転職
  • git-flowで開発
  • TypeScriptでAngularアプリ書いてた
  • Railsちょっと書いてた
  • http://kumocast.jp

2017年やること

  • 社会人3年目ってことで一人前気取りたくなるところだけど、基礎がまだまだなので基礎固めていく
  • 具体的にはDB設計やネットワーク周りの技術について理解を深める
  • 貯金(するために普段の節約と年収交渉)
  • 同棲
  • 筋トレ

昨年ベンチャーに転職して、手を出せる範囲が広がった割に自分のスキルが低いままであることに焦りを覚えました。基礎を一つずつ固めていくしかないので、引き続き謙虚に学んでいきたいと思います。業務で表っ面だけやってても暫定的な処理でごまかすことばかり覚えてしまいそうなので、残業時間減らして作業以外の読書時間を確保したい。するぞ。

あと昨年からジムに通いはじめて、改めて運動の大切さに気付きました。今年はジム通いの頻度を増やしていきます。筋肉は正義。

雑な筋トレの成果(あまりない)

11月ごろから筋トレの記録をつけるようにしたので、それをまとめておく。

11/13

アブドミナル

  • 27kg 10 * 3

チェストプレス

  • 23kg 10 * 3

ラットプルダウン

  • 23kg 10 * 3

11/20

ショルダープレス

  • 27kg 10 * 3

バックエクステンション

  • 20kg 20 * 3

アブドミナル

  • 27kg 15 * 1
  • 32kg 15 * 3

ラットプルダウン

  • 23kg 10 * 1
  • 27kg 10 * 1
  • 32kg 10 * 1

チェストプレス

  • 23kg 10 * 2
  • 27kg 10 * 1

11/26

チェストプレス

  • 23kg 10 * 1
  • 27kg 10 * 3

アブドミナル

  • 36kg 15 * 3

ラットプルダウン

  • 32kg 10 * 2
  • 36kg 10 * 1

バックエクステンション

  • 27kg 20 * 1
  • 32kg 20 * 2

12/10

ショルダープレス

  • 27kg 10 * 3

バックエクステンション

  • 32kg 20 * 3

ラットプルダウン

  • 36kg 10 * 3

アブドミナル

  • 41kg 10 * 3

チェストプレス

  • 27kg 10 * 3

12/18

アブドミナル

  • 41kg 10 *2
  • 45kg 7 * 1, 5 * 1

ショルダープレス

  • 27kg 10 * 1
  • 32kg 10 * 2

チェストプレス

  • 27kg 8 * 2
  • 32kg 5 * 1

ラットプルダウン

  • 36kg 10 * 2
  • 41kg 10 * 1

12/24

チェストプレス

  • 27kg 10 * 2
  • 32kg 10 * 1

アブドミナル

  • 45kg 10 *3

ショルダープレス

  • 27kg 5 * 1
  • 32kg 9* 1, 5 * 1

ラットプルダウン

  • 36kg 10 * 1
  • 41kg 10 * 2

重量と成果まとめ

アブドミナル

  • 27kg 10 * 3 -> 45kg 10 *3

チェストプレス

  • 23kg 10 * 3 -> 32kg 10 * 1, 27kg 10 * 2

ラットプルダウン

  • 23kg 10 * 3 -> 36kg 10 * 1, 41kg 10 * 2

ショルダープレス

  • 27kg 10 * 3 -> 32kg 9* 1, 5 * 1, 27kg 5 * 1

バックエクステンション

  • 20kg 20 * 3 -> 32kg 20 * 3

総評

成人男性としてこれを公開してよく恥ずかしくないな、という気さえする。しかし週一でもやらないよりかはマシだというのがわかる。

基本的にどの種目も10回の3セットをギリギリできる重量でやるようにしてきた(バックエクステンションはやる気がなくてあまり真剣にやってない)。来年からは週1日はちゃんと定時出社して定時退社するなどして平日にも筋トレの日を設けたい。

undefined method 'each' for nil:NilClass を起こさないために

(独り言)issueにしてない問題はたいてい忘れる

小さくてすぐ直せると思ってても忘れるので、ひとまずissueに積むの大事。できればディレクターにもGithubのissueを見せたい。エクセル、JIRA、Github issues で三箇所(あるいはそれ以上)にバラバラに書かれていると、絶対に実際の進捗とズレる。Githubを強制したいというよりは、ディレクターが望む形でGithubのissueの情報が書き出されるような何かを作ればいいのかもしれない。