2020-01-01から1年間の記事一覧
来月からRails(& Vue)をガッツリ触ることになりそうなので、錆びついたRailsのスキルを磨き直すために、Railsガイド -> 現場Rails -> パRails を一通り眺めて今後の学習方針を検討した。 まぁよく考えると実務でガッツリRails使ってたのって半年くらいなので…
色々試したので基本方針、実装上の注意点、その他ハマりどころ等を記録に残す。 基本方針 構成 大まかな構成はRSpecと似た形でいけそう。 テストケースの構成は基本的にはRSpecのdescribe/context/itの考え方でいける。 ただしJestではdescribe/testしかない…
モックとスタブの違いがわからん!かったが今回ある程度理解したので書き記す。 また Jestの公式ドキュメントのMock機能のページを一通り触りつつ、それぞれがモック・スタブのどちらに当たるか考えていく。 モックとスタブの違い XUnitPatterns 前提として…
githubでCIと言えば少し前まではcircle CIだったが、どうやら今はgithub actionsが熱いらしい。使ってみたところ最初こそ雰囲気を掴めず少し苦労したが、ある程度ルールが分かったらかなり使いやすいと感じたので、今後は積極的に使っていこうと思っている。…
未だ書き慣れたとは言い難いRSpecだが、APIのSpecを改めて書いてみたところ、ある程度方針が固まってきたのでまとめてみる。 RSpec共通 describe, it, contextを用いて test caseを羅列する なにはともかく枠から作る。ここさえ固まれば以降大きくはブレない…
タイトルの通り。そんな大した話ではないが今後の基本方針としてメモ。まぁ浅い内容。 動くコードは以下参照。 github.com 気にするべきエラーをひとまず以下の形で分類。 フロント: 入力値のValidation フロント: APIレスポンス API: サーバ側で発生する種…
SPAのログインチェック機能が自分としてはいい感じに出来たので記録に残す。 React Router v5までであれば、いわゆるPrivateRouteのやり方を用いれば良いのだが、今回はv6 のObject-based Routesを用いたのでやり方を自分で考える必要があった。出来てしまえ…
最初こっちに書いてたけどQiitaに出来そうだったのでコンバート。 またこのパターン。 React Router v6 の Object-based Routes をキメると、ルーティング実装が気持ちよくなる(かもしれない)ので紹介させてほしい - Qiita
React(SPA)でログインチェック機能がまぁまぁ上手く出来たので軽くメモを残す。 認証済みを表す状態をグローバルで保持する必要があるかと思ったが、特にそんなことはなかった。 その代わり"ログインチェック"済みかどうかを表す状態を保持することにした。 …
Qiitaに記載。(果たしてこれでいいのか。。。逆では?) qiita.com
cookieを利用した認証を採用した場合、必然的にCSRFの対策を行う必要がある。 Railsのようなモノリシックなフレームワークを用いている場合、デフォルトでCSRF対策が入っている(ことが多い)ためCSRFの考慮する必要はないが、 React + RailsのようなSPA環境で…
「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化」してみたので手順を残す。 (正直勘違いからのスタートだったので、用途を言及できないが。。。) Railsのhttps化 基本的に以下の記事をそのまま利用。記事の実装は開発環境のみで動く形になっているの…
Railsでセッション管理を行う場合は、"session"メソッドを利用するのが基本になる。 Railsのデフォルト動作ではこの"session"メソッドを用いた際cookieを用いてセッション情報を管理する事は知っていたが、 具体的に何をしているかに関してはあまりよく理解…
RailsをAPIとして運用する場合CORSの設定が必要になる。 ググれば一発で出てくるような内容だが、備忘録をかねてdiffを記載する。 ざっくりやること以下の通り。これでダメならclient側の実装を見直した方が良いかもしれない。 (実際 axiosに渡すURLに、"htt…
結論:トピック(タグ)検索を使ってstarなりなんなりでソートして上からたどる 他の人のコードを読もう、githubで検索すると見つかるよ!みたいな話はよく目にするが、いざやってみると目的のコードを見つける方法が分からない。 例えば私の場合、React製のア…
Reactは公式でディレクトリ構造に対する明確な方針を持っておらず、各開発者の裁量に任されている。 その結果としていくつかのパターンは見られるものの個々人、プロジェクトで異なることが多く、「これが最有力!」というものも存在していない。 私自身Reac…
React(SPA) & Rails(API)環境のテンプレートを作った。 github.com これでちょっとReact & Railsで何か作りたい時に気軽に流用できるわけだが、 試した結果をgithubに残したい時には当然ながら、このリポジトリの内容を新しく作成した別リポジトリにコピーす…
SPA(React + Rails)環境でCookieを使った認証機能を作ったらChromeでまともに動かなくて涙 - kappaz’s diary の続き。 結論から言うと、 何を選ぼうがリスクは残る 選んだ手法の特徴を理解した上でリスクを緩和する策を取れ お前の置かれた状況に応じてリス…
タイトルの通り。 以下の感じでお試しのログイン機能を作ったが、まぁなぜかCookieでの認証がまともに動いてくれない。 github.com 結論から言うと「Chromeの仕様で3rd party製Cookieはhttpsじゃないと動かない」とのことだった。 より正確には「SameSite=No…
毎度のことながら恐らく今更案件なのだけれど、リセットCSSについて初めて知ったのでメモ。 "user agent stylesheet" 特に何もしていないのにこういったスタイルが当てられていることがよくある。 これは"user agent stylesheet"といってブラウザのデフォル…
yj-meetup.connpass.com に参加してきた。テーマは「テストと自動化」。 フロント側のテストは今の案件での悩みどころの一つだったため、大変参考になった。 発表内容: 「中期プロジェクトでe2eテストを導入してみて感じたこと」 -> E2E導入の話がメイン spe…
業務で少しだけ関わったため知識を整理。 SQLの実行計画とか見だすとバックエンドエンジニア感が出てくるなぁ。 全体の流れ スロークエリを発見する 見つけたスロークエリをexplainをつけて実行 実行計画(特にextraやrowやtype)を見て、怪しい内容があったら…
ReactHooks凄い!ヤバイ!パラダイムシフト!という話はよく聞いていたけれども、正直あまりその価値を理解してなかった。 が、自分で使ってみてその価値を理解した。ReactHooks凄いよ。特にカスタムHooksはReactの世界観変えるパワー持ってるよ!(今更) 実…
React + TypeScriptで フォーム – React を参考にFormを実装していたら、イベントの型指定にちょいハマりしたのでメモ。 これ前やった気がするんだけど思い出せなんだ。。。 はまった箇所 handleChangeの引数: eventの型 const Test: React.FC = () => { ...…
個人開発してるPJでi18n対応してみた。っていうか今してるところ。 i18n対応は以下2つが候補らしい。 https://github.com/formatjs/react-intl https://github.com/i18next/react-i18next react-intlの方がスター数が多く、npmトレンド上もダブルスコアに近…
不要になったブランチを溜め込んでしまうタイプなんだけれども、 そんなズボラな人でも以下を参考にエイリアスを作ると捗りそう。 qiita.com 多分bashでやってるんだけど、ぶっちゃけ中身理解してないでコピペで済ましてしまっているっていう。 あまり良く無…