コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

3rd Party Cookieの歴史を学び直したいときにみたい「3rd Party Cookie Advent Calendar」

資料について 3rd Party Cookieのカレンダー | Advent Calendar 2023 - Qiita 内容について 基礎的なCookieの話から、3rd Party Cookieが廃止になるに至るまでの経緯の話が丁寧に書かれている。そもそも2024年の3rd Party Cookieの段階的な停止がどれだけ不…

ActiveRecordの内容に変化はないが、updated_atだけ更新したい場合はtouchを使用する

簡易な記録テーブルなどで、時刻などを更新をしたいときの豆知識 環境 $ rails -v Rails 7.1.2 やり方 該当レコードで .touch をすると自動的に保存がされる 例 book.updated_at # Thu, 01 Feb 2024 14:37:18.696490000 UTC +00:00 このようなレコードに .to…

最新のトップレベルドメインのリストを見たいときはICANNのサイトにリストがある

最新リストを探したいときにどこを見ると良さそうなのかざっと調べる 前提としてTop Level Domain(TLD)とは 過去のまとめたものがあるので下記参照のこと TLD と eTLD と eTLD+1に関してざっくりまとめる - コード日進月歩 TLDのリスト TLDのリストは管理を…

Factory Botで数百を超えるレコードを作る場合はbuild_listとinsert_allと組み合わせると軽快に生成できる

すごく助かったのでメモがてら 環境 $ rails -v Rails 7.1.2 factory_bot (6.4.4) activesupport (>= 5.0.0) factory_bot_rails (6.4.2) factory_bot (~> 6.4) railties (>= 5.0.0) やり方について 今回の事例 下記のように1000レコードを作成するようなテス…

CSSの詳細度(Specificity)に関してざっくりまとめる

いつも仕様を忘れてしまうので自身のメモとしてざっくりまとめる 仕様について Selectors Level 4 - 17. Calculating a selector’s specificity 詳細度と他の要素の関係 詳細度以前に順番を決めるルールが存在するが、それは別の記事で記載したのでそちらを…

2024年1月時点のCSS記述の採用順番についてざっくり理解する

import! がどうやって適応されていくのかの原理を理解する。 出典元 2024年時点だとLevel4の資料がベースになるのでそれを今回をベースに記載する。 CSS Cascading and Inheritance Level 4 どこの記述が利用されるかを決める "Cascade Sorting Order" CSSの…

オブジェクト指向CSS(OOCSS)とは何なのかをざっくりまとめる

提唱元のスライド Object Oriented CSS | PPT OOCSSが提唱された2009年頃のCSS事情 OOCSSが提唱された2009年頃は、再利用性を鑑みたCSSは少なく、ページ単位でCSSを置くことが多い時代でした。またSassなども本格的に流行する前だったため、動的に何かを生成…

RFC8058ワンクリック購読解除の仕様に関してざっくりまとめる

headerを設定すると何が起きるのか整理する 出典となるRFC RFC 2369 - The Use of URLs as Meta-Syntax for Core Mail List Commands and their Transport through Message Header Fields 日本語訳 RFC 8058 - Signaling One-Click Functionality for List E…

has_manyでorderを設定したものを無視したいときはreorderを使う

設定しているときに無視したいという特殊なケースの対策。基本は打ち消しをしないことを前提に書いたほうがよいが書かざるを得ないときにどうするかのためのメモ。 環境 $ bin/rails -v Rails 7.1.2 前提 has_manyなどの子の関連に関して、デフォルトの並び…

Railsプロダクトを考古学するときに見ると良いポイントを雑に書き出す

最初から自分が関わっていないプロダクトコードを探索する記事を書いたのですが、そこからRails特有のTipsを書き留めておきます。 考古学するときに見るといいポイント routesを常に見れる状態にする Webサービスをやっているので、大概の要望は「◯◯というペ…

factory bot の trait内に引数のように値を渡したい場合はtransientを使う

N:Nの関連性のレコードをサッとつくるためのtraitを作りたい場合のtips 環境 Gemfile.lockは以下のような環境 factory_bot (6.4.4) activesupport (>= 5.0.0) factory_bot_rails (6.4.2) factory_bot (~> 6.4) railties (>= 5.0.0) 使い方 factory_botでは一…

リモートワークのMTG・ファシリテーションに悩んだときに読みたい『リモートワークにおけるファシリテーションの方法論』

書き留めたつもりが書き留めてなかったので改めて書き留めます。 資料スライド speakerdeck.com https://blog.copilot.jp/entry/remote-facilitation みどころ リモートワークでのミーティング・ファシリテーションのやり方に関して、具体的なノウハウに関し…

Rubyで例外のキャッチをワンライナーで書くこともできる

あんまり書く機会がないのでメモ 環境 ruby -v ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin22] 構文 公式ドキュメント曰く {{式1}} rescue {{式2}} の形式で書くことができ、以下と同義になる begin {{式1}} resuce {{式2}} end 公式ドキ…

競合があるWebサービスがあるときに振り返りたい資料『なぜレッドオーシャン化する前にサービスを グロースできなかったのか? - フリマアプリ編』

この資料が有用になるシーンは限られるのですが、学びが大変多いので振りかえることができるようにメモとして。 資料スライド 先日開催されたCTO Night & Day2023での登壇資料を公開しました。当日はフリマアプリ開発時の失敗と、そこから得た教訓を発表させ…

2023年11月時点でよく聞くPodcastをまとめる

Podcastのトレンドよく変わるので、現時点でランニングしながら聴くPodcastを書き留めておく fukabori.fm fukabori.fm iwashiさんが主催するPodcast、扱うネタは技術的なものから組織の話などバラエティ豊か。 最近100回を迎えて、とにかく主催のiwashiさん…

Slack用の「済」emojiアイコンを作った

印鑑スタンプ風にdone!って押すアイコンが欲しくて作りました 実際のemoji用アイコン 大きいバージョンはこちら This work is marked with CC0 1.0 参考サイト スタンプ風のかすれの作り方 スタンプをつくろう – かすれ編 -!Illustratorのアピアランスで印…

After Kaigi on Rails LT Nightで『無用な認知負荷を減らしてお手入れしやすいコードを書こう』という内容で登壇してきました

After Kaigi on Rails LT NightでLTしたのでその登壇後記です。 発表したスライド speakerdeck.com 伝えたかったこと 認知負荷という言葉が独り歩きしがちなので、基礎的な概念を抑えてほしかった その上で自分たちの身の回りの「課題外在性負荷」を探しても…

『Kaigi on Rails 2023』の二日目に行ってきたよメモ

『Kaigi on Rails 2023』の2日目に参加してきたので見たセッションメモ ちなみに1日目はこちら 各発表の感想 ※資料スライドは見つけたら貼ります。 Railsの型ファイル自動生成における課題と解決 speakerdeck.com 感想 Railsアプリケーションに段階的にRBSを…

『Kaigi on Rails 2023』の一日目に行ってきたよメモ

『Kaigi on Rails 2023』の1日目に参加してきたので発表見たよメモ 見た各発表の感想 ※資料スライドは見つけたら貼ります。 スケーラブルActive Jobs with Sidekiq Enterprise さきほどの Sidekiq に関するLTのスライド、こちらに掲載しましたhttps://t.co/7…

rbenvでのバージョンを決めるのは環境変数RBENV_VERSIONが最優先、次点が.ruby-version

表題の通り。ドキュメントにわかりやすく記載がないので、各記述をよりあつめた話をドキュメントをもとにまとめる。 調査したバージョン $ rbenv -v rbenv 1.2.0-59-g0704e65 rbenvが利用するRubyのバージョンを決めるのはどの情報をもって決めるのか まずは…

オンボーディングするとき/されるときにに毎度見返していきたい資料『サポートを明らかにすることを通して、助け合い上手なチームに爆速でなるぞ』

資料スライド speakerdeck.com みどころ 「助ける」ということと「助けてもらう」ということについてサポートというフレーズでよりよいサポートを行うためにはどうしたらいいかという話の資料。 何事においても助ける/助けてもらうということは行われるが、…

Railsで最上位までExceptionが抜けた場合にRails側でハンドリングしてくれるエラーを追加したい場合はconfigに設定を追記する

「ActiveRecord::RecordNotFoundをraiseしたときに404になるときに静的な404ページ出しているのでそれをそのまま真似て他のエラーでもキャッチしてくれないかな」という悩みを持つ人向け 検証したバージョン $ bin/rails -v Rails 7.0.6 前提としての動きの…

『DESIGNING CONNECTED CONTENT』を読み終わったよメモ

読んだ本 DESIGNING CONNECTED CONTENT | ボーンデジタル DESIGNING CONNECTED CONTENT作者:マイク・アザートン,キャリー・ヘイン,石橋秀仁ボーンデジタルAmazon 読むきっかけ 弁護士ドットコムさんが読書会をやっているということで気になり購入しました。 …

Railsのschema.rbを手動で更新するときは db:schema:dump で生成される

migrateして更新されずあれこれ探していたので備忘として 環境 $ bin/rails -v Rails 7.0.6 実行コマンド $ bin/rails db:schema:dump rakeとしてはこのあたりで、実装としては このあたり 動きとしての補足 通常、Railsガイドでも言及されている通りdb:migr…

制約理論を振り返るときに見たいスライド『制約理論(TOC)入門』

頭を整理したいときにスッと出せるように記録として 資料スライド speakerdeck.com みどころ かなり端的に制約理論がまとまっており、このスライドを順に追うことで理解ができます。また復習としても使えるもので、誰かにレクチャーする際の資料としても使い…

Railsのconfigのgemでは、環境ごとのymlに分けた値はdeep mergeされている

当たり前なんですけど、部分的に切り取ると違和感があるので言葉でまとめる 環境 config (4.2.1) gemそのもののリポジトリは以下 rubyconfig/config: Easiest way to add multi-environment yaml settings to Rails, Sinatra, Pandrino and other Ruby proje…

Mac上で録画した動画をDockerとffmpeg組み合わせてgifにする

GitHubのissueとかにサッと貼りたいけど、よくわからない画像編集ソフトはインストールしたくない人向けのコードスニペット。 利用したdockerの環境 $ docker -v Docker version 20.10.22, build 3a2c30b コマンドの基本と例 $ docker run --rm -v {{ホスト…

Railsでsymbol表記のhttp status codeを数値に変換するときにはRack::Utils.status_codeを使うと変換できる

Rails上で render status: :not_found とかやっているが、この :not_found と 404 はどこなのか、という小ネタ。 確認した環境 $ bin/rails -v Rails 7.0.6 Railsのステータスコードのシンボル 一覧はRailsガイドにある。 レイアウトとレンダリング-2.2.13.4…

Rubyのnilではto_*** で変換できるのをざっとまとめる

Railsでparamsの値を処理するときによく使われるので、どういうものがあるかを一覧で整理する 参考元 class NilClass (Ruby 3.2 リファレンスマニュアル) 一覧 メソッド名 変換されるクラス 変換後の値 to_i Integer 0 to_s String "" (空文字) to_a Array […

D-U-N-Sナンバーについてざっくりまとめる

法人でApple Developer Programに登録するときに必要らしいのでざっくり調べる D-U-N-Sナンバーとは D-U-N-SはData Universal Numbering Systemの頭文字を取ったもので、企業コードの管理システムのことを指し、D-U-N-Sナンバーはそのシステムから振り出され…