テックキャンプ卒の弱々エンジニア日記

エンジニアとして働く中での学びをちょっとでも記録していきます。

SSTableとLSMツリー

こんにちは、Tochiです。 しばらくサボっていたので、久しぶりにアウトプット はじめに 最近、「データ思考アプリケーションデザイン」という本を読み進めています。 www.oreilly.co.jp 第三章にて、SSTableという単語とLSMツリーという知らない単語を見たの…

概念設計の思考のポイント

こんにちは、Tochiです。 最近は、かなり忙しく、、というのは本当なんですけど ちょいサボっていたの業務での学びをアウトプットしていきたいと思います。 はじめに 今日は概念設計の重要性についてまとめます。 一般に言われる概念設計とは少し異なるかも…

【Rails】トランザクションとロックの関係、今更ながらまとめてみた。

こんにちは、Tochiです。 最近忙しくてあまり更新できておらず、久しぶりの更新です。 先日業務しているとき、「トランザクションをしておけば行ロックって意識しなくてもいいのかな?それともDBによるのかな??」「そもそもトランザクションとロックって別…

【PostgreSQL】ユニーク制約に違反しているのに登録できてしまう

こんにちは、Tochiです。 マジで知らんかった!となった話を共有です。 NULLはユニーク制約に縛られない!!! 「NULL」はユニーク制約に縛られません。 例えば、以下のような制約があったとしてます。 CREATE UNIQUE INDEX clients_on_organization_id__ide…

【Rails】論理削除の歴史を読み解きながらDiscardの内部実装まで見てみた件

こんにちは、Tochiです。 Railsの論理削除といえば、1社目ではdeletedカラムを追加してupdate処理で管理していました。 しかし世の中にはDiscardなる論理削除を簡単に管理できるgemがあると知りました。その中で、Discardができた背景がとても面白かったの…

サービスベースアーキテクチャ (ソフトウェアアーキテクチャの基礎13章)

こんにちは、Tochiです。 サービスベースアーキテクチャについてまとめていきます。 13章 サービスベースアーキテクチャ サービスベースアーキテクチャは 、マイクロサービスアーキテクチャのハイブリッドであり、その柔軟性の高さから最もは実用的なアーキ…

マイクロカーネルアーキテクチャ (ソフトウェアアーキテクチャの基礎12章)

こんにちは、Tochiです。 マイクロカーネルアーキテクチャについてまとめていきます。 12章 マイクロカーネルアーキテクチャ マイクロカーネルアーキテクチャは、プラグインアーキテクチャとも呼ばれ、 パッケージ化され、単一のモノリシックなデプロイメン…

パイプラインアーキテクチャ (ソフトウェアアーキテクチャの基礎11章)

こんにちは、Tochiです。 前回に引き続き、パイプラインアーキテクチャについてまとめていきます! 11章 パイプラインアーキテクチャ パイプラインアーキテクチャは「パイプとフィルター」アーキテクチャとして知られている。 Unizターミナルシェル言語の背…

レイヤードアーキテクチャ (ソフトウェアアーキテクチャの基礎10章)

こんにちは、Tochiです。 ソフトアーキテクチャの基礎10章の振り返りをアウトプットしてきます。 10章 レイヤードアーキテクチャ レイヤードアーキテクチャ レイヤードアーキテクチャはn層アーキテクチャと呼ばれ最も一般的なアーキテクチャスタイル。 シス…

エンジニア歴3年の2023年振り返りまとめ

こんにちは、Tochiです。 2021年7月からエンジニアとしてキャリアをスタートさせてから 毎年いろいろなことがありましが、2023年は特に変化の大きかった1年だったと思います。 2024年に良いスタートを切るためにも改めて今年一年を振り返ってみたいと思いま…

【LeetCode】わかっていても使えない再帰関数

こんにちは、Tochiです。 LeetCodeをしていて苦戦していた問題の答えを見ていたときに膝から崩れ落ちたものがあったので アウトプットしてきます。 問題 2 つのソートされたリンクリスト list1とlist2の先頭 が与えられます 2 つのリストを 1 つの並べ替えら…

ソフトウェアアーキテクチャの基礎 第一部まとめ

こんにちは、Tochiです。 前回、「ソフトウェアアーキテクチャの基礎 第一章まとめ」というテーマでブログを書いたのですが、 その後、章末ごとにブログを書けず、第一部を読み終えてしまったので一気に簡単にまとめていきたいと思います。 第二章 アーキテ…

bulletproof-reactに則った処理の流れ

こんにちは、Tochiです。 ようやく新しい環境にも慣れてきた今日この頃です。 社内で適用しているbulletproof-reactの使い方が徐々にわかってきたので 復習を兼ねてアウトプットしていきたいと思います。 bulletproof-reactとは bulletproof-reactはReactア…

ソフトウェアアーキテクチャの基礎 一章まとめ

こんにちは、Tochiです。 先日上司からお薦めされた「ソフトウェアアーキテクチャの基礎」という本を読み始めたので、 記録用にブログでまとめていきたいと思います。 www.oreilly.co.jp 第一章 第一章はイントロダクションになっているので若干ふんわりした…

LeetCodeデビュー戦が大敗北すぎた件について

こんにちは、Tochiです。 昨日の夜、「世界一流エンジニアの思考法」を読んでいたところ、 LeetCodeのススメについて記載があったのでさっそくデビューしてきました。 books.bunshun.jp コーディング面接で使われる問題の学習サイトで、GAFA等の外資系企業の…

エンジニア人生で初のLTに登壇してきた件について

こんにちは、Tochiです。 今日は、初めてエンジニアとしてLTに登壇してきたのでその感想をまとめてみたいと思います。 参加してきたLTについて。 日頃からこちらのアカウントで, エンジニアに関する発信をちょこちょこしているのですが、たまたまLT登壇の募…

GraphQLで「An object of type 〇〇〇 was hidden due to permissions」というエラーが出た件について

こんにちは、Tochiです。 相変わらず技術に苦戦している日々が続いています。 今日はGraphQLを触っていたときに「An object of type 〇〇〇 was hidden due to permissions」というエラーに遭遇した話をアウトプットしていきます。 前提 前提に、サーバーサ…

GraphQLのクエリに出てくるnodesとかnodeとかってなんなん。

こんにちは。Tochiです。 今日も今日とて死んでいたのでこちらに知識をストックしていきます。 分からなかったこと 今回わからなかったのは次のクエリ。 (普通に次のクエリがわからないのはやばいですね笑) query company($companyId: ID!) { node(id: $co…

Next.jsのLayoutとTemplateの違いってなんだっけ

こんにちは、Tochiです。 今日のちょっとした学びをアウトプットしていきます。 LayoutとTemplate Next.jsには複数ページで共有されるUIを定義するファイルが存在します。 それがlayout.jsとtemplate.jsです。この二つはよく似ていていて、よく混同しがちな…

コーディングする前に考えるべきこと

先日、上司から「コーディングする前に何をどのくらい考えていますか?」と聞かれて エンジニア歴2年半のくせにタジタジしてしまったので改めてコーディングする前に何を考えるべきか 考え直してみたいと思います。 「その機能は本当に必要?」 真にプロとは…

Yupを用いた相互依存フォームのバリデーション

Yupとは Yupとは入力値のバリデーションを担当するライブラリです。 入力欄1つひとつにバリデーションルールを定義する作業は、通常であれば面倒なものですが、Yupを使うとスッキリと定義でき とても便利なライブラリなのです! github.com 相互依存したフォ…

Reactのベストプラクティス(bulletproof-react)を知る

bulletproof-reactとは bulletproof-reactはReactアプリ開発のベストプラクティスとして作られたリポジトリです。 シンプルでスケーラブルかつ強力なアーキテクチャを実現します。 github.com その中でもディレクトリ構成がとても参考になるので 概要をまと…