宮水の日記

宮水の日記

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

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

すごい久しぶりの投稿になってしまった...。
毎年恒例の年間振り返り、2022年バージョンやっていきたいと思います。

今年はエンジニアとしては全くダメな年となってしまいました。
しかしながら、全くベクトルの違う新しいことにたくさん挑戦して人生の視野がとても広がった1年になりました。
エンジニアは関係ないけど、楽しかったので色々書いていこうと思います。

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

英語

  • 業務でほとんど必要なくなってしまったので、勉強をやめてしまいました。

読書

2冊だけ。今年は本を読む習慣がなくなってしまいました。

  • OAuth徹底入門

ゴルフメドレー

Webデザイナーっぽいタスクに挑戦しました。

  • 卓上POPを作りました。


  • バナー作ったりしました。


  • apiとフロント別々で立ち上げるのめんどくさかったので、docker-compose化しました。

ほかつーる

  • ちょっと黒字になりました✌️

Techpit

  • ReactにTypeScriptを導入したり、hooksに対応した書き方にアップデートしました。

www.techpit.jp

  • もう一つ、TypeScriptを勉強する教材を作成中です。

シェアダイン

シェアダインという素晴らしいサービスに出会いました。久しぶりに、こんなに感動するサービスに出会いました。
シェアダインとは、シェフがお家にきて3時間でご飯の作り置きを作ってくれるサービスです。
息子の離乳食はこれで全て乗り切ることができました。
復職してからも利用していますが、本当に助かっています...。息子の好き嫌いがないのも、シェアダインのおかげです。
いつもお世話になっております。

ベース

  • 育休中になんかやりたいと思って、ベース(楽器)を始めました。
  • ルート弾きなら比較的いろんな曲を弾けるようになりました。

ライバーになった

  • とあるアプリで、ライバーになりました。
  • コロナで友達が減り(いや元々いないんですけどね)寂しかったので、作業配信ということで雑談しながらエンジニアの勉強をしてました。
  • エンジニアのリスナーさんが多く、素敵な方ばかりでそこそこ投げ銭をいただいていたのですが、投げ銭乞食をしている自分が嫌すぎて3ヶ月で辞めてしまいました。

育休から復帰

  • 4月から育休復帰しました。
  • 全然仕事に力はいってないです...。

健康

  • 念願だったピロリ菌を除去しました。薬飲むだけで胃がんのリスクが減らせるなんてお得。

美容

  • 出産後、8kgのダイエットに成功しました。今までどんなダイエットをしても成功しなかったのに、育児が忙しすぎて気づいたら痩せてました。。
  • この歳になって、初めて整形しましたwww 次妊娠したらできないし、20代のうちに思い切ってやってみたかったんですよね。埋没、目頭切開、くま取りをしました。メイクがめっちゃ楽しくなりました。
  • パーソナルトレーニングが習慣化しました。以下のサービスおすすめです。

zen-na.jp

  • 田舎なんて住まん!一生都会で電車で十分!と思っていましたが、子供が産まれてあれよあれよと車を購入しました。
  • くそペーパードライバーでしたが、意外と運転してみたらなんとかなるもんですね。

  • 元々賃貸派でしたが、家を建てました。
  • 暖かいし、息子も楽しそうに遊んでるし、インテリアとか自分の好きにできるし、建てて本当によかったです。

来年の抱負

大人の厨二病なのか、子供も産まれたし、家も買ったし、車も買ったし、人生でやりたいことをやり尽くしてしまった感があって、最近メリハリのある生き方ができていないです...。

今年は第2子を産む予定なので、この様子だとエンジニアとしての活躍は期待できないでしょう...。
しばらくは育児に専念したり、そのときやりたいことをやって、また5年後くらいに思いっきり仕事を頑張りたいなって思います。

M2 Macでbundle exec rails sするとmsgpackのエラーが出る

```
msgpack/msgpack.bundle (LoadError)
27: from bin/rails:3:in `

'
26: from bin/rails:3:in `load'
25: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/bin/spring:15:in `'
24: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/bin/spring:15:in `require'
23: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/binstub.rb:11:in `'
22: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/binstub.rb:11:in `load'
21: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/bin/spring:49:in `'
20: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/client.rb:30:in `run'
19: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/client/command.rb:7:in `call'
18: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/client/rails.rb:28:in `call'
17: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/spring-2.1.0/lib/spring/client/rails.rb:28:in `load'
16: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/bin/rails:8:in `'
15: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/bin/rails:8:in `require_relative'
14: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/config/boot.rb:4:in `'
13: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/config/boot.rb:4:in `require'
12: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/setup.rb:3:in `'
11: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/setup.rb:3:in `require_relative'
10: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap.rb:5:in `'
9: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap.rb:5:in `require_relative'
8: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache.rb:55:in `'
7: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache.rb:55:in `require_relative'
6: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache/store.rb:5:in `'
5: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/explicit_require.rb:41:in `with_gems'
4: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/explicit_require.rb:45:in `rescue in with_gems'
3: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache/store.rb:5:in `block in '
2: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.10.3/lib/bootsnap/load_path_cache/store.rb:5:in `require'
1: from /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/msgpack-1.5.6/lib/msgpack.rb:7:in `'
/Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/msgpack-1.5.6/lib/msgpack.rb:7:in `require': dlopen(/Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/msgpack-1.5.6/lib/msgpack/msgpack.bundle, 0x0009): tried: '/Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/msgpack-1.5.6/lib/msgpack/msgpack.bundle' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')) - /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/msgpack-1.5.6/lib/msgpack/msgpack.bundle (LoadError)
```

以下の2つのコマンドで直りました
```
➜ taskManagement git:(main) ✗ arch -arm64 sudo gem uninstall msgpack
Password:

You have requested to uninstall the gem:
msgpack-1.5.6

bootsnap-1.13.0 depends on msgpack (~> 1.2)
bootsnap-1.10.3 depends on msgpack (~> 1.2)
If you remove this gem, these dependencies will not be met.
Continue with Uninstall? [yN] y
Successfully uninstalled msgpack-1.5.6
➜ taskManagement git:(main) ✗ arch -arm64 sudo bundle install --redownload

```

参考:
Ruby on rails errors - Stack Overflow

M2 Macでbundle installすると、pgとsqllite3がinstallできない問題

```
Installing pg 1.1.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/pg-1.1.4/ext
/Users/miyazakimizuki/.rbenv/versions/2.7.6/bin/ruby -I /Users/miyazakimizuki/.rbenv/versions/2.7.6/lib/ruby/2.7.0 -r ./siteconf20220907-45614-6vcv45.rb extconf.rb

    • with-pg-config\=/usr/local/Cellar/libpq/14.5/bin/pg_config

Using config values from /usr/local/Cellar/libpq/14.5/bin/pg_config
sh: /usr/local/Cellar/libpq/14.5/bin/pg_config: No such file or directory
sh: /usr/local/Cellar/libpq/14.5/bin/pg_config: No such file or directory
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header

extconf.rb failed ***

Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/miyazakimizuki/.rbenv/versions/2.7.6/bin/$(RUBY_BASE_NAME)
--with-pg
--without-pg
--enable-windows-cross
--disable-windows-cross
--with-pg-config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/extensions/arm64-darwin-21/2.7.0/pg-1.1.4/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/gems/pg-1.1.4 for inspection.
Results logged to /Users/miyazakimizuki/Desktop/works/menta/taskManagement/vendor/bundle/ruby/2.7.0/extensions/arm64-darwin-21/2.7.0/pg-1.1.4/gem_make.out

An error occurred while installing pg (1.1.4), and Bundler cannot continue.
Make sure that `gem install pg -v '1.1.4' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
pg

```


pgは以下のコマンドで直りました。
```
bundle config build.pg --with-pg-config=/opt/homebrew/Cellar/libpq/14.5/bin/pg_config
arch -arm64 sudo gem install pg -v '1.1.4' --source 'https://rubygems.org/'
arch -arm64 sudo bundle install
```

sqlite3は.zshrcに以下のpathを通したり、
ネットで調べたコマンドに`arch -arm64`を先頭につけてコマンドを打つと直ってました。
```
export PATH="/opt/homebrew/opt/sqlite/bin:$PATH"
export LDFLAGS="-L/opt/homebrew/opt/sqlite/lib"
export CPPFLAGS="-I/opt/homebrew/opt/sqlite/include"
```

ここまで3日かかった...。
やっぱりDockerで開発するのがいいですね。。

参考:
M1 MacのHomebrewでのインストール時に「Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!」エラーが出る場合の解決法 – Webrandum
macOSでgem install pgしてNo pg_configとなる対処法 - Qiita

「3000万語の格差」を読みました

「3000万語の格差」を読みました。

なぜ読んだのか

「3歳までの赤ちゃんへの語りかけが、その後の学力に大きく影響する」というツイートをTwitterで見かけて、気になったので。

本の概要

1章は、なぜ人工内耳外科医だった筆者が家庭の言語格差の問題に気付いたのか。2-4章は、どのような研究を行ったか。5章は「3000万語イニシアティブ」の具体的な内容について。6章は、「3000万語イニシアティブ」が社会に与える影響について書かれています。

具体的に何をすればいいのかが一番気になるところだと思うので、この本で最も重要なキーワードである、3つのTだけ紹介します。

1. チューンイン
「子供に何かしてあげようとする親よりも、子供がしていることに関心を持つ親が最も子供の脳を育てる」

例)子供が犬を指差しているときに「大きな犬がいるね」とにっこり笑ってあげる。

大人でも、関心を持ったものでないと覚えられない・集中できないのと一緒です。子供が関心を持ったものに対して反応してあげることで、子供はぐんぐん言葉を吸収します。

2. トークモア
「単語の数だけでなく、どんな単語を使うのか、どのように話すのか、言葉の質が重要である」

例)赤ちゃんの世話をするときに、大人が「さあおむつを替えようね」「気持ちがいいねえ」と赤ちゃんにあたたかく話す。

他にも、大人がしていることを言葉にし、子供がしていることの実況中継をする。
「これ」「あれ」などを使わずに、具体的な名詞を話す。子供の言葉をふくらませると良いそうです。

3. テイクターンズ
「子供の言葉を繰り返したり、もっと話したくなるように質問したり、子供の反応をじっくり観察する」

例)子供が両手で持った積み木を打ち鳴らしているときに「カンカンカンカン」と行為や言葉をつけるのはチューンイン。大人は「積み木を積んでごらん」「おうち作ってごらん」などと言いがち。それをやめて、子供の反応をよく観察するのがテイクターンズ。

4. おまけ:ターンオフ
テレビやYouTubeの時間を減らし、外に連れて行ってあげたり、子育て支援センターで手を使って遊ぶ時間を増やす。

感想

本書には、色々とツッコミどころがあるようです。「研究対象である世帯が少なすぎる(確か42世帯くらい)」「米国で、さらに米国の中でも特に貧困である層についてのエピソードが多い」などです。それに、「3歳までに子供が聞く言葉が、子供の将来に多大な影響を与える」なんて言われたら誰でも難色を示すでしょう。ただでさえ一生懸命子育てをしている私たちには、プレッシャーになってしまうような内容も多くありました。(しかも、無駄なエピソードの途中に突然重要な内容がブッ込まれたりしてて非常に文章が読みにくかったです。)

この本では、3つのTだけ拝借すればいいと思います。5章では、3つのTに関して具体的にどんな声かけをしたら良いのか詳しく載っているので、そこを読むだけでもとても勉強になりました。子育てのバイブルとして、子供が独り立ちするまでは家に置いておこうと思いました。

超個人的な感想

私は、この本を読んで0歳の息子を保育園に預けるのが怖くなりました。訳者の日本の保育園に関する記述は興味深かったです。"子供は「今日は誰とも話さなかったよ」「つまんなかったよ」と保護者に言えない" ”11時間や12時間も預けられている子供は日本だけ”などを読んでハッとさせられました。この本を読むまで私は、保育者のプロがいる保育園に行く方が、社会性も身につけられたり、歌を歌ってもらえたりして私たちが育てるよりも良いと思っていたからです。一人の先生が3人をみるわけだから、今までよりも1対1の会話が少なくなるのは当然です。

とはいえ、ありがたいことに保育園に通わせることができるようになったので、今できることをしていこうと思います。
例えば、朝早起きして子供と触れ合う時間を作ったり、残業をしないようにスキルを磨いたり。子供と一緒にいられるときは、全力で向き合おうと心に決めました。

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

「コンピュータはなぜ動くのか」を読みました

コンピュータはなぜ動くのかを読みました。

なぜ読んだのか

初心にかえってコンピュータの基礎を学びたかったため。

この本で学べること

  • コンピュータ技術の知識の範囲、絶対的な基礎
  • コンピュータの本質

本の概要

第1章 コンピュータの3大原則とは
  • コードとは、コンピュータで取り扱うために数値化された情報のこと。
  • コンピュータの3大原則

⒈ コンピュータは入力、演算、出力を行う装置である
 どんなに複雑な機能であっても、入力、演算、出力を一つの単位としてそれらを数多く組み合わせて実現されている。
⒉ プログラムは、命令とデータの集合体である
⒊ コンピュータの都合は人間の感覚と異なる場合がある
 コンピュータは色や文字など、なんでも数値で表す。だから半角文字もリンゴは4文字になる。

第2章 コンピュータを作ってみよう
  • 紙の上でマイクロコンピュータの製作を疑似体験してみる、という内容。
  • 設計図の配線をなぞることで、CPUとメモリーとI/Oの関係がちょっとわかった。
  • 実際に手を動かした方が楽しそうだったので、フリマアプリでArduino(アルドゥイーノ)を買ってみた。
第3章 1度は体験して欲しいハンド・アセンブル
第4章 川の流れのようにプログラムは流れる
  • プログラムの流れは順次進行・条件分岐・繰り返しの3つ。
  • この章では、フローチャートの書き方について学ぶ。
  • プログラムの流れには、「割り込み処理」と「イベント・ドリブン」という特殊な流れもある。
  • イベント・ドリブンは状態遷移図などで表したりする。
第5章 アルゴリズムと仲良くなる7つのポイント
第6章 データ構造と仲良くなる7つのポイント
  • 一般的なパソコンでは、メモリーの内部が8ビット=1バイトごとのデータ格納領域に区切られていて、それぞれの領域を区別するための番号が付けられている。この番号のことをアドレスという。
  • 変数を宣言すると、メモリー領域を確保してくれる。
  • データ構造の基本は配列。定番のデータ構造には、スタック、キュー、リスト、2分木などがある。
  • 構造体とは、複数のデータを一つにまとめて名前を付けたもの。
第7章 オブジェクト指向プログラミングを語れるようになろう
第8章 作ればわかるデータベース
  • 酒屋さんのデータベースを設計する
  • 主キーと外部キーについて
  • 検索速度を向上させるインデックスについて
第9章 簡単な実験7つでTCP/IPネットワークを理解する
第10章 データを暗号化してみよう
第11章 そもそもXMLって何だっけ
第12章 SEはコンピュータ・システム構築の現場監督
  • SEとは、コンピュータ・システム全体に関わるエンジニアであり、プログラミングだけに関わるプログラマとは違う。システムとは、「複数の要素が関係しあい、まとまって機能する系統」のこと。
  • 顧客は、コンピュータの技術を望んでいるのではありません。コンピュータによるITソリューションを期待している。顧客の要求通りに役に立ち、安定して稼働するコンピュータ・システムであることが大切!

感想

ハードウェアからソフトウェアまで包括的にコンピュータの基礎知識が解説されていました。小さなコンピュータの世界から、大きなシステムの世界へ章を追うごとに進んでいくので、とても分かり易かったです。基本情報技術者試験を受ける人にとっては、これを読む前と読んだ後では問題の理解度が全然違うと思います。

2章と3章は私にはちょっと難しい内容になっていましたが、少しだけプログラムが動く仕組みがわかった気がします。アセンブラを書いてみたり、ちゃんと理解すれば、プログラミング言語のより踏み込んだ技術書が読めるようになりそうです。より詳しい内容は、「プログラムはなぜ動くのか」を読んでみたいと思います!

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

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

みなさんこんにちは。宮水です。
毎年恒例、今回もエンジニアとしての振り返りをしていきたいと思います。

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

英語

今年は長年逃げ続けてきたReadingパートに力を注ぎ、毎日1日10分だけスタディサプリEnglishをやりました。Part7の問題は、公式ドキュメントやGitHubのISSUEを読むときにとても役立っています。

読書

本業では、マイクロサービスやGraphQLといった(私にとって)新しい技術を使ったプロジェクトに参画させていただきました。

kubernetesの設定ファイルを変えたり、SLOを設定するタスクをやるにあたって、インフラ関連の勉強をしました。

産休の勉強時間の使い方をつよつよエンジニアさんに相談したところ、「エンジニアとしての基礎的な部分を改めて勉強してみたらどうか」とアドバイスをいただき、そうすることにしました。勉強したい基礎的な話をリストアップして、まずはOSづくりやDBMSの本から読み始めました。

Webサイトを製作する機会があったので、デザインやWordPressも少しキャッチアップしました。WorPressの本はブログ記事にはしませんでしたが、1週間くらいでデザインをカスタマイズしたWordPressのサイトを作る方法が学べたので、とてもオススメです。

自己啓発本も読んでいました。つわりがきつかったときに、技術書を読む体力がなかったので、なんとか読書の習慣をやめないためのつなぎになりました。

ゴルフメドレー

ゴルフメドレーは、今までの個人開発と違ってエンジニアである夫と優秀なプロダクトオーナー兼営業のメンバーさんとつくっているので、どんどん軌道にのってきており、とても嬉しいです。私は子育てが忙しく、出産してからはあまり開発に携われていませんが、どんどん新しい機能をリリースしています。

ysk-pro.hatenablog.com

個人では、以下のような開発をしました。

GraphQL化

本業の勉強がてら、ゴルフメドレーにGraphQLを導入しました。正直必要なAPIはそんなに多くないので、このプロダクトに導入してよかったのかわかりません。でも、フロントでずっと放置していたTypeScriptの型が簡単につけられたり、フロント側の修正だけで済む場面が出てきたときは、導入してよかったなと思いました。

詳細ページの改修

無機質なテーブルタグだけで作っていた施設の詳細ページのデザインを改修しました。
note.com

ユーザーのログを収集

「どの機能が一番使われているのか?」をわかりやすくするために、Google Analyticsを使ったイベントログを仕込みました。
今までどのページがPV数が多いかまではわかっていたのですが、細かい「もっとみる」ボタンや、「近くの練習場を見る」などの機能はどのくらい使われているのかわかりませんでした。導入したことで、意外な機能がたくさんクリックされていたりすることがわかったりしてよかったです。
note.com

NewRelicの導入

リリースした地図検索機能が重かったので、NewRelicを導入して計測し、原因を調査して改善しました。典型的なN+1を発生させちゃってて恥ずかしかったです。
note.com
note.com

パフォーマンス改善

note.com

ほかつーる

産休中は比較的時間があったので、ほかつーるという保育園検索サイトを作りました。(ゴルフメドレーの地図検索を応用して作りました。)
note.com

このほかつーるは、夫婦で作りました。夫が保育園のデータ取り込みの部分を担当し、私が環境構築やフロントを担当しました。初めて自分でDockerを使った環境構築をやってみたり、ちょっとだけ新しいことに挑戦できました。ママさん界隈ではたくさんリツイートしていただけて、本当に作ってよかったです。

hokatool.com

今年のまとめ

今年はエンジニア5年目の年でした。本業がとても恵まれている環境で、今までやったことがないタスクも先輩方にサポートしていただきながら挑戦することができました。

妊娠・出産の影響で、身体的にかなりきつい時期もありましたが、開発や勉強の習慣をやめなかったことに関しては自分を褒めてあげたいです。子供が生まれてからは、勉強時間どころか睡眠も満足に取れていない毎日ですが、1日1分でもいいからコツコツ勉強することの大切さがわかりました。

来年の抱負

英語

精読を頑張りたいです。
あと、コロナが落ち着いて抽選じゃなくなったらTOEICを受験したいです。

読書

新しいことを勉強するのもいいですが、来年は引き続きエンジニアの基礎となるような本を読んでいきたいです。DBMSの本でも、かつてはわからなかった部分が読めるようになっていてとても面白かったので。「コードの書き方」とか「達人プログラマー」とかそんな類のもの。

ゴルフメドレー

個人開発では後回しにされがちな開発環境の整備など、裏方の仕事がとても楽しいと感じたので、来年もそのポジションで頑張りたいです。

ほかつーる

赤字を解消したい!\(^o^)/


来年はきっと、子育てと仕事、勉強時間の配分で悩むことでしょう。寝不足で子育てが辛いと感じたり、仕事で周りの人に迷惑をかけてしまって、悲しい思いをするかもしれません。そんな中でも、周りの人への感謝の気持ちを忘れずに、たまには息抜きもちゃんとして、全部楽しむことを目標にしたいと思います🤘