こんにちは! スマレジ テックファームのMichiです! タイトルの通り、この投稿をもちまして、当ブログの更新を終了することになりました。 理由は、私が今年いっぱいで株式会社スマレジを退職するためです。このブログは、一応会社の名前を使用して書いてい…
こんにちは! スマレジ テックファームのMichiです! 今回はFastifyでREST APIを開発するときに、自分でYAMLファイルを定義せずとも、自動でOpenAPI形式の仕様書を生成する方法を解説します。 技術スタック 実装 プロジェクの作成 エンドポイントの作成 基盤…
こんにちは! スマレジ テックファームのMichiです! TypeScriptのthisは不思議な動きをすることで有名です。自分も定期的に調べては忘れてしまうので、今回は忘備録として残しておきます。 thisとは? 呼び出し方によってthisの値が変わる? アロー関数はth…
こんにちは! スマレジ テックファームのMichiです! 今回はタイトルの通り、React Hook Formでコンポーネントを分割する方法をご紹介します。 解説 サンプル サンプルとして、 メールアドレス、ユーザー名、パスワードを入力するシンプルな登録フォームを用…
こんにちは! スマレジ テックファームのMichiです! 2022年11月にこのブログを開設し、それ以来、1週も欠かすことなく更新してきました。そして、今月末でブログを始めてからちょうど丸1年となります。 そこで、今回の記事では「1年間ブログを継続して良か…
こんにちは! スマレジ テックファームのMichiです! 『「文章術のベストセラー100冊」のポイントを1冊にまとめてみた。』という本を読んでみました。今回の記事はその書評になります。 本の概要 自分なりに気になったランキングの要約 1位 文章はシンプルに…
こんにちは! スマレジ テックファームのMichiです! 今回は、Reactのレンダリング最適化について自分なりに調べたことをまとめていきます。 Reactのコンポーネントが再レンダリングされるとき レンダリングの最適化方法 コンポーネントを適切に分割する 悪…
こんにちは!スマレジ テックファームのMichiです! 今回の記事は『プログラマー脳』という本を読んでみた書評になります。 『プログラマー脳』とは? 要約 長期記憶 短期記憶 ワーキングメモリ 熟練したプログラマーは長期記憶を活用する 感想 『プログラマ…
こんにちは! スマレジ テックファームのMichiです! 今回の記事では、ZodというTypeScriptのライブラリに入門してみます。 Zodとは? 使ってみる スキーマとバリデーションの設計 TypeScriptの型生成 React Hook Formとの連携 まとめ Zodとは? 公式ドキュ…
こんにちは! スマレジ テックファームのMichiです! 今回の記事は『ノンデザイナーズ・デザインブック』という本を読んでみた書評になります。 『ノンデザイナーズ・デザインブック』とは? 要約 デザインの基本4原則 近接 整列 反復 コントラスト 感想 『…
こんにちは! スマレジ テックファームのMichiです! 前回の記事でご報告しました通り、このたび無事に基本情報技術者試験に合格しましたので、今回はその感想とこれから受験する人に向けての効率的な勉強法を書いていこうと思います。 受験の感想 受験前 試…
こんにちは! スマレジ テックファームのMichiです! 先日、WindowsでNext.jsの環境構築をしているときに、いくつかOS起因で詰まったところがあったので、メモとして残しておきます。 環境 opensslコマンドがない 解決法 「'NODE_OPTIONS' は、内部コマンド…
こんにちは! スマレジ テックファームのMichiです! 前回の記事でも書いた通り、今月から基本情報技術者試験の合格を目指して勉強を開始します。 今回は第1回目ということで、試験内容の理解と対策を進めます。 基本情報技術者試験とは? 試験概要 試験形式…
こんにちは! スマレジ テックファームのMichiです! 先日、Reactを使ったアプリ開発において、モバイル版のタッチイベントが発生しないというバグに遭遇しました。そして、このバグがReactのライブラリやブラウザの仕組みにも深く関わっているということが…
こんにちは! スマレジ テックファームのMichiです! 今回はTypeScriptのUtility Typesについて整理します。 Utility Typesとは? 代表的なUtility Types Readonly Partial Required Pick Omit Extract Exclude NonNullable Record まとめ Utility Typesとは…
こんにちは! スマレジ テックファームのMichiです! 間が空きましたが、久しぶりにTypeScriptのキャッチアップに戻ります。今回は『TypeScriptの型の絞り込み機能』について学びます。 1. typeof 演算子 typeof を使った絞りこみ typeof の結果 2. 等価演算…
こんにちは! スマレジ テックファームのMichiです! 今回は実務でつまずいたところの話です。 記事を書こうと思った経緯 実装 バックエンド(Django) フロントエンド(Vue.js) まとめ 記事を書こうと思った経緯 今の現場ではバックエンドがDjango(Python)、フ…
こんにちは! スマレジ テックファームのMichiです! 前週に引き続き、TypeScriptのキャッチアップをしていきます。今回は『型引数とジェネリクス』についてです。 型引数(ジェネリック型) ジェネリック型の宣言 ジェネリック型を使用する オプショナルな…
こんにちは! スマレジ テックファームのMichiです! 6月はTypeScriptキャッチアップ月間として、学んだことを記事にしていきます。 今回はその中でも、考え方にドハマりした『部分型』の考え方について、復習がてら分かりやすく解説します。 部分型とは? …
こんにちは! スマレジ テックファームのMichiです! 前週に引き続き、Reactのキャッチアップをしていきます。今回は『グローバルステートの管理』について学びます。 グローバルステートの管理方法 Contextを使用する方法 外部ライブラリを使用する方法(Re…
こんにちは! スマレジ テックファームのMichiです! 前週に引き続き、Reactのキャッチアップをしていきます。今回は、『Reactのルーティング』について学びます。 はじめに 基本的なルーティング Not Foundページの設定 ネストされたルーティング ルーティ…
こんにちは! スマレジ テックファームのMichiです! 前週に引き続き、Reactのキャッチアップをしていきます。今回は、『レンダリングの最適化』について学びます。 コンポーネントが再レンダリングされる条件 サンプルコード memo - コンポーネントのメモ化…
こんにちは! スマレジ テックファームのMichiです! 前回の記事『Webエンジニアへ転職して1年が経ちました』で書いた通り、Q1(5月~7月)は「React/TypeScriptの習得」を目指します。 その第一段階として、5月はReactの基礎を固めていきます。教材はUdemy…
こんにちは! スマレジ テックファームのMichiです! 今回は『SQL総復習⑦ MySQLのデータ型』編です。 文字列型 固定長文字列型(CHAR) 可変長文字列型(VARCHAR) テキスト型(TEXT) バイナリ型 BINARY型 VARBINARY型 BLOB型 整数型(INT) 小数点型 浮動…
こんにちは! スマレジ テックファームのMichiです! 今回は『SQL総復習⑥ CASE式」編です。 CASE式とは? 構文 実践 応用編 まとめ CASE式とは? CASE式はSQLで条件分岐を記述するときに使う構文です。一般的なプログラミング言語のif文に相当します。 構文 …
こんにちは! スマレジ テックファームのMichiです! 今回は『SQL総復習⑤ ビューとサブクエリ」編です。 ビュー ビューとは? ビューの作り方 ビューのメリット ビューの注意点 1. ORDER BY句は使えない 2. ビューに対する更新 サブクエリ サブクエリとは? …
こんにちは! スマレジ テックファームのMichiです! 2022年の5月にWebエンジニアに転職してからそろそろ1年経ちますが、この間ほぼリモートワークをしていました(出社は週一あるかどうか)。リモートワークというと他業界の人からは羨ましがられますが、そ…
こんにちは! スマレジ テックファームのMichiです! 今回は『SQL総復習④ ダンプとリストア」編です。 ダンプとリストアとは? コマンド ダンプ リストア 実践 ダンプする リストアする まとめ ダンプとリストアとは? データベースからテーブルやデータを抜…
こんにちは! スマレジ テックファームのMichiです! 今回は『SQL総復習③ インデックス」編です。 インデックスとは? 使ってみる 下準備 インデックスなしで検索する インデックスを貼った状態で検索してみる どうしてインデックスを使うと早くなるの? イ…
こんにちは! スマレジ テックファームのMichiです! 今回は『SQL総復習② トランザクション」編です。 トランザクションとは? トランザクションを作るには トランザクションの開始 トランザクションの終了 COMMIT - 処理の確定 ROLLBACK - 処理の取り消し A…