宮水の日記

宮水の日記

主に書評や資格取得について記事を書いています。

「学びを結果に変える アウトプット大全」を読みました

f:id:kattyan53:20210417203505p:plain
先日DMMブックスで100冊まで70%OFFセールをやっていましたね。
そのときに、ランキングをみて気になった本を爆買いしました。

そのうちの1冊が、この「アウトプット大全」です。

CHAPTER 1 アウトプットの基本法

この章は、アウトプットって何するの?その効果とは?ということが書いてあります。

インプットとは、読む・聞くのことで、アウトプットとは、書く・話すことです。
黄金比率はインプット:アウトプット=3:7がよいとされているそうです。

CHAPTER 2 科学に裏付けられた、伝わる話し方

人に話すことは、アウトプットです。この章では、人に話すときにどんな話し方をするのがいいアウトプットなのか書かれています。「ポジティブなことを話す」「挨拶をする」など一見アウトプットに関係なさそうな話が書いてありましたが、内容は仕事で応用できそうな大切なことがたくさん書かれていました。

CHAPTER 3 能力を最大限に引き出す書き方

書くこともアウトプットです。アウトプットする小道具や、ノートの書き方、まとめるときの考え方などが書いてあります。
私は職業柄パソコンを使いがちですが、記憶を定着させるには手書きの方がいいそうです。最近はリモート勤務が多いので難しいのですが、わかりやすい説明をする訓練に、絵で説明する訓練を自分の手元だけでもやってみるといいのかなと思いました。

CHAPTER 4 圧倒的に結果を出す人の行動力

この章では、時間の使い方・物事の考え方・感情に対する対処法についての話が多かったです。

繰り返し出てきたのは、「ちょっと難しいこと」をやることです。確かに、モンハンでも超絶余裕なクエストよりも、装飾品や食事、武器などをちゃんと考えないと倒せないようなちょっと難しいクエストの方が楽しいんですよね。仕事でも、フロントエンドのタスクよりも、書き慣れているRailsのちょっと難しいタスクの方が楽しいです。「ちょっと難しいこと」って、物事を継続する上で大切な要素なんだなと思いました。

他にも、どうやったらアウトプットのやる気を継続させることができるのか書かれていました。

CHAPTER 5 アウトプット力を高める7つのトレーニング法

タイトルの通り、アウトプット力を高めるためのトレーニンについて書かれています。日記を書いたり、本の感想を書こう、誰々に発信しよう、というようなことが書かれています。

個人的感想

本全体、話の一つ一つがコラムのようになっているので、1時間くらいで読めました。
「アウトプットは大事」というのは頭ではわかっていても、どうして大事なのか、効率的な方法がここまでたくさんまとまった本というのはなかなかないと思います。誰が読んでも10個くらいは新しい気づきのある本だと思いました。

私は例えば試験勉強をするとき、インプット多めの勉強をしてしまいがちです。この本にある通り、「ちゃんと問題を解いたり、ブログでアウトプットしないとなー」と思いつつ、なかなかやる気が出ないんですよね。

しかしながら、この本を読んで「なぜアウトプットするのかいいのか?」理解し、何と言ってもやる気が出てきました。
まずは二つ、「技術書を読んでブログにアウトプットする」「早寝早起きをしてアウトプットする時間を作る」というのをやっていこうと思います!

「初めてのGraphQL」を読みました

初めてのGraphQLを読みました。(どうでもいいけど、本当は去年の12月くらいに読んでメモブログを書いていなかったので投稿。)

なぜ読んだのか

  • 仕事でGraphQLとApolloを使うことになり、この二つを包括的に学ぶのに良さそうな本だったから。
  • この本が日本語で書かれていたから。

対象読者

  • GraphQL初学者
  • アプリケーション開発のアーキテクチャAPI設計に興味を持ち始めた中級以上のWeb開発者
  • 初級のWeb開発者であっても、GraphQLに興味があれば役に立つ

この本で学べること

  • GraphQLの概要と歴史
  • グラフ理論について
  • GraphQLのクエリ・ミューテーション・スキーマ設計について
  • GraphQLを用いたWebサービスの実装を一通り(GprahQL サーバー/GraphQL クライアント)

本の面白かったところ

GraphQLとは

APIのための問い合わせ言語。データベースに問い合わせる為に開発されたSQLの考え方をインターネットに適用したもの。
SQLのクエリはデータベースに対して行われるが、GraphQLのクエリはAPIに対して行われる。

Railsを使うエンジニアにとって馴染みあるRESTとは違うところ

RESTの課題は以下の通り

  • 余分なデータを取得しすぎてしまう
  • N+1的なものが起きやすい
  • フロントに新しい機能が追加されると新しいエンドポイントが必要になることが多い

GraphQLなら、

  • 必要なフィールドだけを指定できる
  • 一度のリクエストで必要なデータだけ取得できる
  • 単一のエンドポイントで済む
イントロスペクション

GraphQL Playgroundで確認できる充実したGraphQLのドキュメントは、イントロスペクションを利用して実現されている。

以下のようなクエリを打つと、

query {
  __schema {
    types {
      name
      description
    }
  }
}


こんな感じでAPIスキーマを取得できる

f:id:kattyan53:20210322132848p:plain
個人開発のリポジトリで実行してみたらスキーマいっぱい出てきた

GraphQLサーバーの実装

本書ではexpress-graphqlを使用。
私はgraphql-rubyを使うので、結構読み飛ばしちゃった。
わかりやすいQiitaがあったけど、忘れちゃった...。

GraphQLクライアントの実装

様々なGraphQLクライアントがある中で、Apollo Clientについて書かれていた。
私はサーバーサイドメインになりそうだったので、一旦読み飛ばしちゃった。

Apollo Clientはキャッシュが優秀らしい...?
Apollo Clientめっちゃ難しかったので、個人開発では、もうちょっとシンプルらしいurqlっていうのを使ってみてます。
qiita.com

フロントのタスクをやりそうになったら、また読んでいこうと思います🙏

まとめ

GraphQLについて概要、歴史、文法的なところ、サーバー、クライアント...と、広く浅く、包括的に学べて良かったです!

これは会社の人から教えてもらったのですが、GraphQLサーバーとGraphQLクライアントに関しては結構情報が古かったりするそうです。
私の場合、さらっと読み流す程度にして、自分が使う予定のgraphql_hogehogeや、hogehoge clientの公式ドキュメントを読むようにしました。

ここまでお読みいただきありがとうございました!

「デザイン入門教室」を読みました

今回は、「デザイン入門教室[特別講義] 確かな力を身に付けられる ~学び、考え、作る授業~」を読みました。

なぜ読んだのか

個人開発で作ったサイトのデザインをもっとよくしたいと思ったからです。

対象読者

・自分自身で何らかの紙面や資料などを制作する機会がある人
・紙面や資料で他人に何かを伝える機会がある人
・これからデザインを勉強しようとしている人
・デザイナー1年生

この本で学べること

・デザインの基本のき

本の概要

本の概要は、目次を見ていただいた方が早いです。
全体的に図がとても多く、一目見て理解できるものばかりです。

Chapter 1 - デザインをはじめる前に ~ はじめに知っておくべき最重要ポイント ~

以下二つの言葉が刺さりました。

デザインはあくまでも手段であって目的ではない。
センスより「目的を明確にする」「デザインの基本ルールに従う」方が大事。

Chapter 2 - レイアウトの基本ルール ~ 紙面イメージを決定する配置設計の基礎知識 ~

Chapter 2では、マージンの基本、グリッド、コントラスト(対比)、余白...といったことが書かれています。

Chapter 3 - 写真と画像 ~ 目的別で学ぶ、写真の選び方と使い方 ~

この章は、TOPページでどんな写真を採用するといいか非常に参考になりました。

Chapter 4 - 配色の基本 ~ 色には人の心を動かす力がある ~

題名の通り、それぞれの色のもつ印象や、色の相性、大きく見える・小さく見えるなど目から鱗の情報ばかり載っていました。
サイトの配色はなにがベストかよくわからないので、ターゲット層を元にどんな印象を持ってもらいたいかでまた改めて考え直してみようと思いました。

Chapter 5 - 文字と書体 ~ 読みやすく、人を惹きつける文字と書体の使い方 ~

逆にタイポグラフィなどについては書かれていません。
フォントだけでとても感じ方が異なることを知れたのが印象的でした。

Chapter 6 - 文章のデザイン ~ 読みやすい文章制作の基礎知識 ~
Chapter 7 - インフォグラフィック ~ 情報の図式化と、グラフ・表の作り方 ~

もうあんまり機会なくなっちゃったけど、パワーポイントで説明資料を作るときに役立ちそうでした。

Chapter 8 - 実践演習 ~ 頭の中のイメージを具体化するデザイン実技 ~

改善前のポスターを元に、デザインの改善案を考える実践演習が載ってます。
私は読み流しただけにしましたが、どんなことをテーマとするか、改善後のポイントまで丁寧に載ってました。

まとめ

読みやすい本だった

主なページ構成としては、最初に少しポイントだけ述べて、図や写真がたくさん載っています。
そのため、非常にわかりやすかったです。

紙で読むのがおすすめ

普段はkindleで本を読むことが多いですが、配色についても触れられているため、紙の本を買ってみましたが大正解でした。印刷が綺麗で、読みやすい構成になっているので、紙の本がおすすめです。

目的を明確にする

最初の章であった”センスより「目的を明確にする」「デザインの基本ルールに従う」方が大事”という言葉がとても心に残りました。なんとなく綺麗にしたい、ではなくて「このページではなにを強調したいのか?」「どんな印象を持ってもらいたいのか?」など、まずユーザーにどう思ってもらいたいのか考えると、この本のどこを参考にしたらいいのかわかって有効活用できると思いました。


非デザイナーの方は、家に一冊置いておくと絶対便利だと思います。
ここまで読んでいただきありがとうございました!

RubyでEnum, sort_by, find_indexを使った複数条件下のソート

お仕事で、以下のようなソートを実装する機会がありました。

例として教科書を題材にします。

Text model

教科書は、教科コード、4種類のとあるタイプと、応用/基礎の情報を持っています。

class Text

  enum type: {
    a_type: 'a_type',
    b_type: 'b_type',
    c_type: 'c_type',
  }

  enum subject: { japanese: 'japanese', math: 'math', english: 'english'}

  # 基礎/応用はfalse/trueで表現しています
...
end

仕様

これから実装するのは以下の仕様です。

  • 最初に教科でソートする。
  • 同じ教科の中でtypeごとにソート
  • それでも一緒なら「基礎/応用」でソートする

例えば、
```
{subject: 'english', type: 'c_type', support_advanced: true},
{subject: 'english', type: 'a_type', support_advanced: true},
{subject: 'english', type: 'b_type', support_advanced: true},
{subject: 'english', type: 'b_type', support_advanced: false},
{subject: 'math', type: 'c_type', support_advanced: true},
{subject: 'japanese', type: 'b_type', support_advanced: false},
{subject: 'english', type: 'c_type', support_advanced: true},
```

みたいなデータがきたら、
```
{subject: 'english', type: 'a_type', support_advanced: true},
{subject: 'english', type: 'b_type', support_advanced: true},
{subject: 'english', type: 'b_type', support_advanced: false},
{subject: 'english', type: 'c_type', support_advanced: true},
{subject: 'english', type: 'c_type', support_advanced: false},
{subject: 'math', type: 'c_type', support_advanced: true},
{subject: 'japanese', type: 'b_type', support_advanced: false},

```
みたいにしたいです。

困りポイント

  • enumvalueが数値じゃないので困った...。

結論

こうやって書きます。

  subjects = %w[english, math, japanese]
  types = %w[a_type, b_type, c_type]
  sort_support_advanced = [true, false]

    texts.sort_by do |text|
      [
        subjects.find_index { |subject| text.subject == subject },
        types.find_index { |type| text.type == type },
        sort_support_advanced.find_index { |support_advanced| text.support_advanced == support_advanced }
      ]
    end

解説

配列の番号で順番を指定できます。

find_indexは条件に一致する最初の要素の位置を返します。

  subjects = %w[english, math, japanese]
  types = %w[a_type, b_type, c_type]
  sort_support_advanced = [true, false]

そしてsort_by に、配列のindex(位置情報)を渡してあげると、配列で並べた通りに並べ替えてくれます。

    texts.sort_by do |text|
      [subjects.find_index { |subject| text.subject == subject } ]
    end

ソートした中でさらに別の条件でソートしたい場合、以下のように書くと上から順に並び替えてくれます。

    texts.sort_by do |text|
      [
        subjects.find_index { |subject| text.subject == subject },
        types.find_index { |type| text.type == type },
        sort_support_advanced.find_index { |support_advanced| text.support_advanced == support_advanced }
      ]
    end


以上です。

「さわって学ぶクラウドインフラ Amazon Web Services 基礎からのネットワーク & サーバー構築 改訂3版」を読みました

今日は、「さわって学ぶクラウドインフラ Amazon Web Services 基礎からのネットワーク & サーバー構築 改訂3版」を読みました。
ハンズオン形式で、わかりやすくてとっても面白い本でした!

kindleだと無料ですよ!!!!!!!

対象者

  • インフラにあまり詳しくない方
  • AWSを使って、自分でネットワークやサーバーを構築できるようになりたい方
  • (基本情報レベルのネットワークの知識を予め持っていると、途中解説にあるIPアドレスサブネットマスクなどの説明がより具体的に理解できると思いました!)

注意点

⑴ 私が見落としただけかもしれませんが、本書はAWSアカウントを取得していること前提で進むようです。幸い私はS3を使ったことがあってすでにアカウントを持っていたのですが、持ってない人は自分で調べてアカウントを作ることになりそうです。

⑵ 本書は最新版ですが、Amazonあるあるでしょっちゅう管理画面の文言やボタンが変わるので、AWSコンソールを初めて使う方は驚くと思います。(「インスタンスの作成」→「インスタンスの起動」になってたり...ボタンのいちが微妙に違ったり...)(kindle版だと更新されてるんでしょうか?)

⑶ 初めてAWSを使う方は大丈夫だと思いますが、EC2のインスタンスは起動しているだけで、Elastic IPは持っているだけで料金がかかってしまうようです。私は昔S3を利用したことがあって無料枠ではなく、だらだらと教材を進めてしまったので、知らないうちに7ドルかかっていました(笑)使わない人は消しましょう!!

本書でできること

AWS上にWebサーバー、DBサーバーとWordPressを立ち上げることができます。

こんな感じのアドレスにアクセスすると、
http://ec2-18-182-47-48.ap-northeast-1.compute.amazonaws.com (もう消しちゃったので今はアクセスできません)

自分だけのブログを世界に発信することができます。
f:id:kattyan53:20210119213952p:plain

ちょっとハマったこと

3章 ファイアーウォールを設定する

ファイアウォールを設定し、Apacheのテストページが表示される章にて。
ここから開けると思ったら開けず...
f:id:kattyan53:20201230170848p:plain

そうではなく、ちゃんとIPアドレス"だけ"を打たないと`http://自分のIPアドレス`になっていて開けませんでした(笑)
ブラウザではこう表示されてたので騙されました...。
f:id:kattyan53:20201230171108p:plain

5章のtelnet接続

バージョンの新しいMAcにはtelnetがないとの記述があったので、Homebrewでインストールしました。

本書を通じてわかったこと

今まではネットワークやサーバーについて、ドキュメント上の絵や線だけでの理解だったり、基本情報や本などで知識として知っているだけでした。

まずはじめに、入社当時一番最初にやったssh接続の意味がようやくわかりました😂
次に、ユーザーがサイトにアクセスしてからそのリクエストがどのようにサービスにアクセスするのか(DNSによる名前解決)や、AWSでどんな風にサーバーを構築していくのか実際に手を動かして学ぶことができました。

自分が立てたサーバーにWordpressをインストールしただけでもうブログが作れてしまったのは驚きでした!

ただポチポチ作っていくだけでなく、何をしているのかしっかりとした解説をされた上での操作説明だったので、とてもわかりやすかったです。
AWSでネットワーク&サーバー構築をしてみたい人にとてもオススメの本です!!

この知識を土台にして、次はDockerやkubernetesを学んでいこうと思います!

「プロダクションレディマイクロサービス」を読みました

今回は、「マイクロサービスわからないよ〜」となっている私に対して、SREさんがオススメしてくださった「プロダクションレディマイクロサービス」を読みました。

対象読者

  • モノリスを分割して、「次はどうしよう?」と思っている人
  • 0からマイクロサービスを構築し、最初から安定性、信頼性、スケーラビリティ、耐障害性、パフォーマンスを備えたマイクロサービスを作りたいと考えているソフトウェアエンジニアとSRE
  • マイクロサービスの基本概念、マイクロサービスアーキテクチャ、最新の分散システムの基礎を知っている人(知らないけど読みました)

この本で学べること

  • マイクロサービスの一般的、汎用的な考え方
  • 安定性、信頼性、スケーラビリティ、耐障害性、パフォーマンスを備えたマイクロサービスとはどんなサービスなのか、その抽象的な概念
  • マイクロサービスを改善、標準化するためにはどうすれば良いか、現実的・具体的に理解できる

この本に書いてないこと

  • 各章で取り上げられている個々のテーマについて、具体的に「何を使ったらいいか」「何をすればいいか」までは書かれていない。

1章 マイクロサービス

対象読者に、マイクロサービスの基本概念、マイクロサービスアーキテクチャ、最新の分散システムの基礎を知っている人と書かれていたのですが、知らない人向けに1章に入門を書いてくださっていました。

  • モノリスとマイクロサービスの違い
  • マイクロサービス環境のことをマイクロサービスエコシステムと呼び、4層のレイヤがあること
  • マイクロサービスを導入する際の組織的な課題

4層のレイヤの考え方は初めて知りました。漠然と色々な技術がバラバラになっているイメージがあったので、レイヤごとに分類できることを知って、マイクロサービスが具体的に何で構成されているのか少しイメージが湧きました。

2章 本番対応

マイクロサービスを標準化するための課題、本番対応の8つの標準についてです。

マイクロサービスアーキテクチャの採用によって、開発者は言語やライブラリ・開発ツールなどを自由に決められるようになりました。では、どのように各々のサービスが成功したかどうか測定すれば良いでしょうか?

そこで使われるのがサービスの可用性についてのSLA(サービスレベル契約)です。
99%の時間に利用可能なサービスにするぞ、というような目標を立てます。

さらに「本番対応」として、8つの原則を定量化し、アクション可能な要件として測定可能にします。
それが、安全性、信頼性、スケーラビリティ、耐障害性、大惨事対応、パフォーマンス、監視、ドキュメントです。
2章では、この8つの原則の要件について述べられていました。

次の章から、各々の原則をさらに詳しくみていきます。

3章 安定性と信頼性

安定性と信頼性を備えたマイクロサービスを作るための原則についてです。

  • 開発サイクル
  • デプロイパイプライン
  • サービス間の依存関係
  • サーキットブレーカーの配置
  • マイクロサービスが使われなくなったときの対処法

など。

4章 スケーラビリティとパフォーマンス

スケーラブルでパフォーマンスが高いマイクロサービスを構築するための原則についてです。

スケーラブルでパフォーマンスが高いマイクロサービスとは、同時に大量のタスクやリクエストを処理できるだけでなく、それらを効率よく処理でき、将来のタスクやリクエストの増加に対する備えがあるマイクロサービスです。

  • 質的な成長の判断基準(速さ)/ 量的な成長の判断基準(アクセス数)
  • トラフィック管理について
  • リソース(CPU、メモリ、データストレージなど)の効率的な使い方
  • マイクロサービスエコシステムにおけるデータベースの選び方

など。

5章 耐障害性と大惨事対応

大惨事に対する備えができた耐障害性のあるマイクロサービスを構築するための原則についてです。

  • 単一障害の除去
  • 大惨事や障害の一般的なシナリオ
  • 障害の検出と修正方法
  • 回復性テスト(単体テスト結合テスト、エンドツーエンドテスト)
  • 障害が起こったときの組織レベルでのインシデント
  • 機能停止処理の方法

など。

6章 監視

マイクロサービスの監視と標準化によって監視の複雑化を避ける方法についてです。

  • 主要メトリック(主要メトリックとは、アプリケーション、マイクロサービス、システムの健全性、状態、動作を必要十分な形で説明するこれらのものの性質のこと。)
  • ロギング(何をロギングするか)
  • アラート(適切なしきい値、その後のアクション)
  • オンコールについて

など。

7章 ドキュメントと組織的な理解

マイクロサービスの適切なドキュメントの問題と、開発チームと技術組織全体でアーキテクチャと組織運営の理解を深める方法についてです。

  • ドキュメントにはこんなこと書くといいよ
  • 組織のみんなが理解できるようなもの書こうね

など。

まとめ

最初オススメいただいたときは、インフラやマイクロサービス特有の用語がたくさん出てくるので読めるか不安でしたが、P177から、用語集がまとまっていてとても読み進めやすかったです!

まず、私はマイクロサービスを完全に誤解していて、今までの自分のタスク範囲はマイクロサービスのたったの一部分であったことに気づきました。今までは、マイクロサービスの全体像がイメージできなかったり、サービスがバラバラになるからデプロイとか依存関係とか難しそうだと漠然とした不安を抱えていましたが、 この本で抽象的な概念と用語が理解できました!

超ざっくりですが、これからの仕事のミーティングでは、「あ、今マイクロサービスのこの部分の話をしているんだな」→「一般的にはこういうことが満たされていればいいサービスなんだな」というようなことを意識しながら話が聞けるようになると思いました🙆‍♀️ 来年からは、この本片手に会議に参加したいと思います💪

さて、抽象的な概念を知ることができたので、「具体的に何を使ってこれらの要件を実現させていくのか?」ということを考えてみようと思います!そしてその前に、もう少しインフラを勉強しようと思いました。

ここまで読んでいただきありがとうございました!

今年のエンジニアとしての振り返り2020٩( ᐛ )و

みなさんこんにちは!宮水です。

今年も2020年エンジニアとしての振り返りをやっていきたいと思います!

2019年の振り返りはこちら!
今年のエンジニアとしての振り返り2019٩( ᐛ )و - 宮水の日記

頑張ったこと① 英語

今の会社のプルリクエストが英語で書いたり読んだりするので、毎日15分は必ず英語を勉強するようにしていました。
1年続けてみて、書くことはまだまだ苦手ですが、以前よりは読むことが苦痛ではなくなりました!

英会話

3ヶ月くらいは、毎日英会話をしていました。英語を喋る機会がないので、すぐ辞めてしまいました笑

英単語

BooQsという英単語アプリを3ヶ月くらい続けました!
文法は結構勉強したんですけど、語彙力がなかったのではじめてみたら、本当に多くの英文が読めるようになりました🙆‍♀️
www.booqs.net

スタディサプリEnglish

スタディサプリEnglish TOEICを受講していました!
毎日少しずつ頑張れるので続けやすかったです。

頑張ったこと② 読書

今の会社に入ってから本当に視野が広がって、昔読んでもわからなかった様々な本が概ね理解して読めるようになりました。
これが本当に嬉しくて、たくさん本を読むことができました。
特にオライリーの本にずっと抵抗があったんですけど、今年から楽しんで読めるようになってきました。

フロント系
  • りあくと

oukayuka.booth.pm

  • プログラミングTypeScript

プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発

プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発

  • 作者:Boris Cherny
  • 発売日: 2020/03/16
  • メディア: 単行本(ソフトカバー)

  • Atomic Design ~堅牢で使いやすいUIを効率良く設計する

読書とは少し違うのですが、会社で使われているJSライブラリのREADMEを読むイベントもしました。
44個も...!レビューをしていただいた上司の方、同僚の皆様、本当にありがとうございました!!
JSライブラリ紹介 カテゴリーの記事一覧 - 宮水の日記

Vim
  • マスタリングVim

マスタリングVim

マスタリングVim

  • 作者:Ruslan Osipov
  • 発売日: 2020/04/16
  • メディア: 単行本(ソフトカバー)

そのほか

  • Webを支える技術

  • なるほどUnixプロセス

tatsu-zine.com

テスト駆動開発

テスト駆動開発

  • 初めての GraphQL

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

  • デザイン入門教室

  • プロダクションレディマイクロサービス

頑張ったこと③ 個人開発

Escola(プログラミングスクール口コミサイト)

ありがたいことに、今年の初めにある会社様から売却するお話をいただきました。
でも、はじめて作ったまともなサイトで愛着もあり、サイト自体、売上も大したことがなかったので、お断りしてしまいました。

www.escola-pro.com

その後、新しいメンバーを迎えていろんな機能を作ろうと思ったのですが、お互い時間が取れず残念ながらうまくいきませんでした。
2年くらい続いたサイトでしたが、そろそろ閉鎖しようと思います。

多くの方に口コミを書いていただいたこと、リプやDMで「Escolaのおかげでいいスクール選びをすることができました」と言っていただけたこと、とあるプログラミングコミュニティの方からコラボのお誘いをいただいたこと、Twitterで「ツイートで起業」にノミネートされてたくさんの方にリツイートしていただき2位に選んでいただいたこと、本当にたくさんの方にお世話になりました。本当にありがとうございました!!そして、Escolaを一緒に育てようとしてくださった初期メンバーや、コミュニティの方、最近の開発メンバーもありがとうございました!

こんなに思い出深いプロダクトは今後なかなか作れないんじゃないかなと思っています!

らくらくゴルフ(ゴルフ場予約検索サイト)

今年のお正月にReactの勉強をかねて、夫と一緒にらくらくゴルフというサービスを作りました。
www.rakuraku-golf.com

夫がAPI側を作って、私がフロント側を担当しました。はじめての共同作業アプリ、とても楽しかったです!いいお正月でした。

ゴルフメドレー(ゴルフ練習場口コミサイト)

今年はさらにEscolaと並行して、全く別の新しいプロジェクト「ゴルフ練習場の口コミサイト」をリリースしました。
golf-medley.com

ゴルフ場コンサルタントのPOからお声かけいただいて、私たち夫婦と3人で作成しました。
今年は練習場リリースに留まりましたが、来年はがっつり収益のでるプロダクトに育てていきたいです!

こういった記事を出していただいたり、ゴルフ雑誌に私たちのインタビューが載ったり、貴重な体験をさせていただきました。
gridge.info

技術的なお話をすると、Atomic Designを用いた設計、TypeScriptとReactの環境構築、Next.js、RailsAPIモードで使用する...など新しいことに挑戦しました。私はとにかく新しいことをキャッチアップするのが苦手なのですが、夫からいろんなことを学ばせてもらいました。

頑張ったこと④ 教材のリリース

ゴルフの教材リリース

先ほど載せた「らくらくゴルフ」を題材にしたReact, AWS Lambda, DynamoDB, API Gatewayを使った開発の教材もリリースしました。
本当に多くの方にご購入いただき、ありがとうございました!!
www.techpit.jp

できなかったこと

達成できたこともあったけど、できなかったこともありました。

去年はじめてOSS活動や競プロに挑戦して、その楽しさを知り、今年はもっと挑戦するぞ!と思ったのですが、他に勉強することが多すぎて今年やることからは除外しちゃいました...。
また、個人開発が楽しくて資格も何も取る気にならなかったし、TypeScriptの教材を作っていましたがだんだん内容に自信が持てなくなって途中で辞めてしまいました。

1年って本当にあっという間ですね。

今年の感想

今年の4月で、エンジニア4年目なんですよね...。
4年目ってもっといろんなことができるようになってると思っていたので、現実とのギャップから凹むこともたくさんありました。
新しい言語や技術も自分なりにすごく頑張って詰め込みましたが、要領が悪くて全然仕事についていけませんでした。

でも、やっと成長曲線のブレイクスルーとなる点に辿り着けたのではないかと思っています。
あと2年くらいこのまま頑張れば、一人前のエンジニアになれる気がします。私は私のペースで頑張ります✨(NiziU)

f:id:kattyan53:20201227182202p:plain
引用:成長曲線 | NPO法人MIOスポーツクラブ | MIO東近江

来年の抱負

来年はサーバーサイドがメインになると思うので、再びRailsを復習したり、GraphQL、Prisma、設計、マイクロサービスの勉強をめちゃめちゃ頑張りたいと思います!!

今年もいろんなことに手をつけすぎてしまった感があるので、個人開発のゴルフメドレーに注力して、ちゃんと収益のでるプロダクトにしたいです。来年も頑張るぞ!