Laravelで作ったアプリをHerokuにデプロイする(DBはMySQL)(実施期間:14日)

内容

はまったところ

  • HerokuにてCreditCard登録しようとしたが「risk_threshold」のErrorが出て登録できず。Cardを変えたら登録できた。
  • Error R13 (Attach error) -> Failed to attach to processが出た。
    • こちらの記事を見たら同じ内容で、run⇒run:detachedに変更したら上手くいった。Log見ても問題なさそう。
  • Heroku上のDBを見たいと思いMySQL Workbenchを使ってLocalから繋げようとしたがなかなか繋がらず悪戦苦闘
    • こちらの記事を見てやってみた
      • 「Can’t connect to MySQL server on SERVER'(10060)」が出た。
      • コマンド(mysql)で接続しようとしたら、ERROR 2003 (HY000): Can't connect to MySQL…となった。
      • 家から試したらMySQL Workbenchでつながった。
        • こりゃ環境がアカン。会社のセキュリティソフトで弾かれてる可能性高し。会社での確認は諦めよう。

所感

  • 本質ではないネットワークトラブルで躓き時間がかかった。
    • 家で試すまでに10日くらい悩んだ。もっと早く気付けばよかったが、それもまた勉強…。
    • 今度からはネットワーク絡みでのトラブルは機転が利くようになったし、調べ方も勉強になった。

「カイゼン・ジャーニー たった1人からはじめて、「越境」するチームをつくるまで」を読んで

書籍

カイゼン・ジャーニー たった1人からはじめて、「越境」するチームをつくるまで

カイゼン・ジャーニー たった1人からはじめて、「越境」するチームをつくるまで

この本を選んだ理由

  • チーム作り/組織作りに興味があり、まずは自分から改善が始められる部分があれば…と思ったから。

所感

良かった点

  • 心に刺さるフレーズ、すぐに実践したいとプラクティスが詰まっていた。
    • 「許可を求めるなら謝罪せよ。許可がおりるまで待ってモチベーションを下げるくらいなら、結果がついてこないときに謝ったらよい。」
      • 上長に許可を取ろうとしたがネガティブな発言をされモチベーションを下げた経験はある。確かにその通りで結果がついてこなかったときに謝れば良い。このマインドで仕事をしようと思ったし、上に立つときは謝罪する相手が許可を求めなかった理由も考えるようにしたい。
    • 「新たな一歩を踏み出すのに遅すぎるということはない。行動を始めるべきだと気づいたそのときが、その人にとって最速のタイミング。」
      • 仕事に関わらず、何か新しいことをやってみようと思っても、「今更遅いよなぁ…やめておこうかなぁ。」と思うことがよくあった。自分のやりたいという想いを大切にし、素直にアクションにつなげられるようにしたい。そして、周りの人が一歩踏み出すのを躊躇しているときは一押ししてあげたい。
    • ダニエル・キムが考えた成功の循環モデル。結果の質を向上させることからスタートすると、一時的な結果は出るかもしれないが、長期的な結果を出すのは難しい。関係の質から改善することが成長し続ける近道。
      • 仕事で「関係の質」を軽んじているように感じる。今チームで動いているが、上からは結果を求められるが、関係の質を強化することを取り組んでいきたい。
    • 会社標準でプロジェクトに直結しないスキルマップではプロジェクトの成果に繋がらない。繋がる項目であることに意味がある。
      • 確かにその通り。今の組織はスキルマップがあるが、あまり意味がないと感じていた。プロジェクトから吸い上げたものではないので意味がなく、形骸化してる感がある。
    • チームビルディングの三種の神器インセプションデッキ」「ドラッカー風エクササイズ」「星取表」
      • これは良い。新しいチームのときは実施してみたい。
    • リーダーズインテグレーションというチームの信頼関係を高めるワークがあることを知った。
    • SL理論(Situational Leadership)。メンバーの成長に応じてリーダーシップスタイルを変えていく。
      • 確かにリーダーシップもメンバーの状況次第で変える必要がある。今上手くいっているからといってそのままで良いわけではない。正しく現状を把握し振る舞えるようにしたい。
  • 現状の仕事、会社、組織に嫌気がさした時に読み返せばまた頑張る気持ちが出る本。
    • 職場の課題図書にしてほしいと思うくらい良い本。悩める後輩がいたらこの本を読んでもらって熱く語り合い、ともに頑張っていきたい。

その他

  • 最近読んだ本で間違いなくナンバーワン!!
    • 長々感じたことを↑に書いたがそれ以外にも書きたりないくらい学びが多かった。

「なるほどデザイン」を読んで

書籍

この本を選んだ理由

  • 資料で良し悪しを感じることはあるが、デザインについて学んだことがないのでその理由を言語化できないなぁと感じていた。
  • たまにはテックじゃない本を読もう。

所感

良かった点

  • デザイナーの7つ道具としてキャッチーに説明されている。
    • 一方で「おおまかな空間と細かな空間に反応する細胞が異なる」、「まっすぐと斜めに反応する細胞が異なる」といった脳の神経細胞の特性を利用したという説明もあり、ユルさとシッカリさをバランス良く使っている。
    • また図と地という心理学の面もデザインには使われている。
  • なじみの良い配色は色相、明度、トーンの何か一つを揃えると良い。というデザインを学んだ事がある人であれば初歩的な内容も書いてある。
    • ドミナント・カラー(色相を同一、もしくは少し変える)といったワードがあることは知らなかった。雰囲気で揃えたほうが良いかも…くらいだったので配色の説明はしやすくなる。
  • 写真の構図についても書いてある。
    • 焦点の当て方、構図の分割、放射線、感じる写真/読む写真かなど、意識する点を学べた。
    • 妻から絶望的に写真のセンスがないと言われていた理由が分かった気がした。

その他

  • 読んだだけではデザイン力は身につかないなぁ…と思った。
    • 日頃からデザインについて意識し、気になった所があれば振り返って調べれるようにはしたい。
  • 表紙はNoritakeというイラストレータの方が書かれていることを知った。
    • 非常に興味深い…

「達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ」を読んで

書籍

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

f:id:fatherofikura0107:20190212074342j:plain

URL

この本を選んだ理由

  • 業務でDB設計をする機会が回ってくることが少なく勘所を抑えられない。
  • 個人開発をする上でもDB設計は必須なので「どういった点を意識すべきか?」を知りたいと思い、この本を選んだ。

所感

良かった点

  • DB設計の基本がしっかり抑えられていてる。
    • 正規化やER図の書き方など、基本が書かれている。
  • 所々にSQLで著名な方の格言が載っており、胸に刺さる。
    • 「非正規化は最後の手段、最初は必ず正規化する」By クリス・デイト
    • 「オートナンバー(サロゲートキー)を主キーに使うことはデータモデルを欠いている証拠だ」By ジョー・セルコー
  • 実務における勘所(インデックスを用いるか否かのライン、バッドノウハウ、グレーノウハウ)がしっかりと書かれている。
    • B-treeインデックスを作るときカーディナリティを意識する。目安としては5%以下。
    • DBMSにはインデックスの構造が崩れている場合の指標(断片化率や木の高さ)を調査する方法があるので利用すべき。
    • 採番テーブル的な機能をDBMSとして提供する「シーケンスオブジェクト」がある。車輪の再発明になるのでアプリ側で実装すべきではない。

悪かった点

  • RDBMSについては内容的には文句なし。
    • ただRDBMSに特化しているので、NoSQLについての設計については触れられていない。

その他

  • 実務のシステムではバッドノウハウ、グレーノウハウに引っかかる設計がある。DB設計をした方は他の企業での職歴もあり、何らかの意図があって設計していると思われるので、その設計の意図を効いてみたいと感じた。

Laravelで作ったアプリをHerokuにデプロイする(実施期間:14日)

内容

はまったところ

  • ENOENT: spawn git ENOENTというエラーが出た。
    • Git入れたところエラーはなくなった。管理者権限で実行したことも効いていたのかも…。
  • 「composer require ext-intl:*」を実行したらCould not find a matching version of package ext-intl. のエラーが出た。
    • こちらと全く同じ症状だった。先にCheckInする必要があった。
  • Laravel5.7: HerokuにデプロイするではLaravelだけなので、Vue側が自動ビルドされない。
    • サイトを参考に、scriptsにheroku-postbuildを追加した
      • 当初はLocal環境でyarnで動かしていてい、Herokuではnpmにしようとしたら上手くいかずハマり続けた(結局Localもnpm installからやり直したら上手くいった。)
      • laravel-mixでnpmは上手くいくがyarnでは上手くいかなかったとのコメントもあり、今回はこれ以上の深追いは諦める。

所感

  • HerokuへのDeployなんてスグできるでしょ。と思っていたがそうは問屋が卸さない状況だった。
    • 時間はかかったが、githubでPushしたら自動デプロイまでできるようになって感動した。
  • 「品質が高い=MTTR(平均復旧時間)が短い」というのが世の中求められている状況なので、こういったエコシステムの利用は必須だと感じている。
    • 今の会社はInstallメディアで製品をリリースするのでUserに製品が届くまでは時間がかかってしまうが、社内のテスト環境構築などには有効だと感じる。
    • 設計やプログラミングばかりフォーカスせず、トータルのリリース速度を改善できるようなエコシステムの知識やスキルの学習を進めたい。

「JAMstack 完全入門 ハイパフォーマンス Web サイト構築」を読んで

書籍

f:id:fatherofikura0107:20190128074251j:plain

URL

この本を選んだ理由

  • いつも楽しく聴かせていただいているPodcast(=soussune)のホストの方が技術書典5にて本を出されていた。
  • Web系の仕事をしていないものの、最新のWeb系技術スタックについて少しでもキャッチアップできるのでは?と思い、この本を選んだ。

所感

良かった点

  • JAMstackの概要を知るにはとても良くまとまっていると感じた。
    • JAMstackに至る経緯(SPA(Single Page Application)⇒SSR(Server Side Rendering)⇒JAMstack)が書かれており、どこに旨味があるかの説明がスッキリする記載となっていた。
  • (初めて技術書典の本を読んだが、)凄く読みやすかった。
    • 学術書のように書式もしっかりしており普通に売っている本のようで、他の技術書典の本も読んでみたいと思わせてくれる出来栄えだった。
  • 挿絵が可愛い。

悪かった点

  • 内容的には特になし。
    • ただ、ボリュームに比べお値段は高い。Podcastを応援しているので個人的には問題ないが…

「エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド」を読んで

書籍

f:id:fatherofikura0107:20190125080716j:plain

この本を選んだ理由

  • 会社にてマネジメントをしていたが、自分には向いていないと悩む日々を過ごしていた。ただ、マネジメントの業務を楽しむ方々のPodcast(=EM.FM)を聞き、まだ自分にはマネジメントの楽しみ方を理解しきれていないと感じた。
  • 上述のPodcastにて話題にあがっていたのがこの本であり、今後のキャリアを再度考える上で得られるモノがあるのでは?と思いこの本を選んだ。

所感

良かった点

  • 「3.5 決断の時-技術職を貫くか、管理職への道を選ぶか」の内容は心に刺さった。
    • 理想/現実、シニアエンジニア/管理者の組み合わせ4パターンで書かれている内容。
    • 「管理者の現実」は自分が辛かったマネジメントの日々と同じだったが、「理想のシニアエンジニア」としてまた私が憧れるエンジニア像が記載されていた。
    • つまり、現在の自分は隣の芝生は青く見える状態であり、マネジメントを上手く出来ないのは初めてだから仕方がなかったのかも…と思えた。
  • 構造/プロセスというと重苦しくなるが、構造=学習、プロセス=透明性とし、「構造/工程そのものに価値があるのではなく、成功/失敗含めた経験を色眼鏡なく共有するため」という説明はとても素晴らしいと感じた。
    • 社内には構造/プロセスを軽んじる人達がいる現状もあり、どうして構造/プロセスが必要なのか?議論する際には有用だと感じた。
  • 自分の立場(視座)が変化するたびに新たな気付きが得られる内容であり、立場が変わるたびに読むべき本だと感じた

悪かった点

  • 著者の自慢が所々出てくる。これ必要?と感じた。
  • 文書として読みにくさを感じるところがあった。
  • (仕方がないことだが、)キャリアラダーが自社とマッチしないため置き換えて読む必要がある。同じ会社にいる人と読み終えた後話ができると良いと感じた。