「学びを結果に変えるアウトプット大全」感想

www.amazon.co.jp 動機 アウトプットが全然できていないという悩み ハードルを低くして習慣化したい。そのためのきっかけとなるような情報が欲しい 自分にとっての要点 アウトプット前提のインプットを行う インプット/アウトプットの比率は 3:7 が目標 アウ…

Rails7 + tailwindcss-railsの環境で、privateなgithubリポジトリ上の自作gemをGemfile上で参照した場合、bin/devからのアプリケーション起動で'xxx is not yet checked out. Please run `bundle install`' のエラー

かなり謎な内容なのだが... タイトルの通り Rails7 + tailwindcss-railsの環境で、 privateなgithubリポジトリ上の自作gemをGemfile上で参照した場合に、 bin/dev(foreman)からのアプリケーション起動が 'xxx is not yet checked out. Please run bundle ins…

オブジェクト指向設計でよく使われるちょっとしたテクニックを自分の言葉で(from オブジェクト指向設計実践ガイド)

「オブジェクト指向設計実践ガイド」の最初の方をあらためて読む中で目についたテクニックを、自分なりの言葉で(あえて言葉だけで)表現してみる。大体意識せずやってるような内容だが、言葉だけで表現しようとすると理解の細かさが問われなかなか難しいもの…

どうやら自分が興味があるのは「ソフトウェア設計」というより「変更容易性」のようだ

「ソフトウェア設計」に強くなりてぇ... と思ってここの所その手の書籍に改めて色々手を出していたのだが1つのことに気がついた。 これ「ソフトウェア設計」の話じゃなくて「変更容易性」の話だ... 正確には「ソフトウェア設計」がカバーする要素の1つである…

Safariにおけるiframeのキャッシュの扱いと「Failed to load resource: フレームの読み込みが中断しました。」の回避

Safariにおいて、iframeが存在するページを何度かリロードすると「Failed to load resource: フレームの読み込みが中断しました。」というエラーが発生した。 (他にも複合的な要因の組み合わせである可能性は高いが細かいところは不明) その他細かい事象とし…

Rails: フォームデータのparseとParameterクラスへの変換に関して

前置き html form の フォームコントロールにおけるname属性に関して、 複数のチェックボックスやラジオボタンに同じname属性を指定した場合、 それらは同一のグループに属するものとみなされる。 (HTML解体新書 CHAPTER 3-10 フォームコントロールの共通属…

texta.fm 1. Software Development in 2003 と エリック・エヴァンスのドメイン駆動設計 の話

open.spotify.com の32:40あたりの話が印象的だったので整理。 エリック・エヴァンスのドメイン駆動設計 の話 の実装面と、今読むにあたり注意しておくべき事項の話。 該当箇所の整理 意訳な部分はあるので注意 この本が不幸なのは、この本の中盤は技術の部…

Railsガイド -> 現場Rails -> パRails を一通り眺めて考えた次の学習方針

来月からRails(& Vue)をガッツリ触ることになりそうなので、錆びついたRailsのスキルを磨き直すために、Railsガイド -> 現場Rails -> パRails を一通り眺めて今後の学習方針を検討した。 まぁよく考えると実務でガッツリRails使ってたのって半年くらいなので…

React Testing Library を色々試したので備忘録

色々試したので基本方針、実装上の注意点、その他ハマりどころ等を記録に残す。 基本方針 構成 大まかな構成はRSpecと似た形でいけそう。 テストケースの構成は基本的にはRSpecのdescribe/context/itの考え方でいける。 ただしJestではdescribe/testしかない…

MockとかSpyとかStubとかの話と、Jest のMock機能

モックとスタブの違いがわからん!かったが今回ある程度理解したので書き記す。 また Jestの公式ドキュメントのMock機能のページを一通り触りつつ、それぞれがモック・スタブのどちらに当たるか考えていく。 モックとスタブの違い XUnitPatterns 前提として…

掴めばなかなか使いやすそうな github actions

githubでCIと言えば少し前まではcircle CIだったが、どうやら今はgithub actionsが熱いらしい。使ってみたところ最初こそ雰囲気を掴めず少し苦労したが、ある程度ルールが分かったらかなり使いやすいと感じたので、今後は積極的に使っていこうと思っている。…

Rails製 APIにおける Request Spec(RSpec)の作成方針

未だ書き慣れたとは言い難いRSpecだが、APIのSpecを改めて書いてみたところ、ある程度方針が固まってきたのでまとめてみる。 RSpec共通 describe, it, contextを用いて test caseを羅列する なにはともかく枠から作る。ここさえ固まれば以降大きくはブレない…

React + Railsでのエラー周り実装の基本方針

タイトルの通り。そんな大した話ではないが今後の基本方針としてメモ。まぁ浅い内容。 動くコードは以下参照。 github.com 気にするべきエラーをひとまず以下の形で分類。 フロント: 入力値のValidation フロント: APIレスポンス API: サーバ側で発生する種…

SPAのログインチェック機能がいい感じに作れたので実装の流れを軽くメモる

SPAのログインチェック機能が自分としてはいい感じに出来たので記録に残す。 React Router v5までであれば、いわゆるPrivateRouteのやり方を用いれば良いのだが、今回はv6 のObject-based Routesを用いたのでやり方を自分で考える必要があった。出来てしまえ…

「react router v6 の Object-based Routes」を使うと Reactのルーティング周りがいい感じに書けて良い

最初こっちに書いてたけどQiitaに出来そうだったのでコンバート。 またこのパターン。 React Router v6 の Object-based Routes をキメると、ルーティング実装が気持ちよくなる(かもしれない)ので紹介させてほしい - Qiita

Reactアプリのログインチェック機能がまぁまぁ上手くできた話

React(SPA)でログインチェック機能がまぁまぁ上手く出来たので軽くメモを残す。 認証済みを表す状態をグローバルで保持する必要があるかと思ったが、特にそんなことはなかった。 その代わり"ログインチェック"済みかどうかを表す状態を保持することにした。 …

React Router v6 移行作業で引っかかった箇所のメモ

Qiitaに記載。(果たしてこれでいいのか。。。逆では?) qiita.com

React + Rails(API)で tokenを用いたCSRF対策の基礎(のメモ)

cookieを利用した認証を採用した場合、必然的にCSRFの対策を行う必要がある。 Railsのようなモノリシックなフレームワークを用いている場合、デフォルトでCSRF対策が入っている(ことが多い)ためCSRFの考慮する必要はないが、 React + RailsのようなSPA環境で…

Rails(API)でcookieを使ったログイン機能実装のメモ

「Rails(API)でcookieを使ったログイン機能実装」にあたり、微妙に引っかかった点のメモ。 人が読むことを全く意識していない。 Userモデル作成 bin/rails g model user name:string email:string password_digest:string has_secure_password Userモデルにh…

ローカル環境(localhost)におけるRails APIのhttps対応 & Chromeデフォルト環境でエラーなく動作するための証明書作成

「ローカルの開発環境(localhost)でRails APIをhttps化」してみたので手順を残す。 (正直勘違いからのスタートだったので、用途を言及できないが。。。) Railsのhttps化 基本的に以下の記事をそのまま利用。記事の実装は開発環境のみで動く形になっているの…

Railsのデフォルトのcookieを用いたセッション管理における、セッション情報の保管場所について

Railsでセッション管理を行う場合は、"session"メソッドを利用するのが基本になる。 Railsのデフォルト動作ではこの"session"メソッドを用いた際cookieを用いてセッション情報を管理する事は知っていたが、 具体的に何をしているかに関してはあまりよく理解…

RailsでCORSの許可設定

RailsをAPIとして運用する場合CORSの設定が必要になる。 ググれば一発で出てくるような内容だが、備忘録をかねてdiffを記載する。 ざっくりやること以下の通り。これでダメならclient側の実装を見直した方が良いかもしれない。 (実際 axiosに渡すURLに、"htt…

やっと理解したgithubで参考になるリポジトリを検索する方法と、それで見つけた良さげなReact製アプリケーションのリポジトリ

結論:トピック(タグ)検索を使ってstarなりなんなりでソートして上からたどる 他の人のコードを読もう、githubで検索すると見つかるよ!みたいな話はよく目にするが、いざやってみると目的のコードを見つける方法が分からない。 例えば私の場合、React製のア…

React のディレクトリ構造に関する個人的な方針

Reactは公式でディレクトリ構造に対する明確な方針を持っておらず、各開発者の裁量に任されている。 その結果としていくつかのパターンは見られるものの個々人、プロジェクトで異なることが多く、「これが最有力!」というものも存在していない。 私自身Reac…

gitリポジトリを複製したい時、別のリポジトリにpushしたい時の話

React(SPA) & Rails(API)環境のテンプレートを作った。 github.com これでちょっとReact & Railsで何か作りたい時に気軽に流用できるわけだが、 試した結果をgithubに残したい時には当然ながら、このリポジトリの内容を新しく作成した別リポジトリにコピーす…

で認証情報はCookieに入れるのとLocalStorageに入れるのどっちがいいんだってばよ?

SPA(React + Rails)環境でCookieを使った認証機能を作ったらChromeでまともに動かなくて涙 - kappaz’s diary の続き。 結論から言うと、 何を選ぼうがリスクは残る 選んだ手法の特徴を理解した上でリスクを緩和する策を取れ お前の置かれた状況に応じてリス…

SPA(React + Rails)環境でCookieを使った認証機能を作ったらChromeでまともに動かなくて涙

タイトルの通り。 以下の感じでお試しのログイン機能を作ったが、まぁなぜかCookieでの認証がまともに動いてくれない。 github.com 結論から言うと「Chromeの仕様で3rd party製Cookieはhttpsじゃないと動かない」とのことだった。 より正確には「SameSite=No…

今更リセットCSSを知る&ressの導入

毎度のことながら恐らく今更案件なのだけれど、リセットCSSについて初めて知ったのでメモ。 "user agent stylesheet" 特に何もしていないのにこういったスタイルが当てられていることがよくある。 これは"user agent stylesheet"といってブラウザのデフォル…

Bonfire Frontend #5(テーマは「テストと自動化」) に参加!

yj-meetup.connpass.com に参加してきた。テーマは「テストと自動化」。 フロント側のテストは今の案件での悩みどころの一つだったため、大変参考になった。 発表内容: 「中期プロジェクトでe2eテストを導入してみて感じたこと」 -> E2E導入の話がメイン spe…

MySQLでexplainを使って実行計画を見てみる

業務で少しだけ関わったため知識を整理。 SQLの実行計画とか見だすとバックエンドエンジニア感が出てくるなぁ。 全体の流れ スロークエリを発見する 見つけたスロークエリをexplainをつけて実行 実行計画(特にextraやrowやtype)を見て、怪しい内容があったら…