コード日進月歩

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

なりすましメールに関連する仕組み、SPF・DKIM・DMARCをざっくりまとめる

フレーズは聞くがどういうことかはわかっていないのでざっくりまとめる 前提としてメールがなりすませる仕組み Emailは実際のプロトコル上で取り扱われる宛先情報とメール本文に書かれる宛先情報があり、前者のプロトコル上で取り扱われる宛先を封筒に記載さ…

2023年7月時点のプライバシーサンドボックスを構成するAPIに関してざっくり調べる

名前は聞くがどういうものか把握していないので、ざっくりサマリとして理解する。 そもそもプライバシーサンドボックス(Privacy Sandbox)とは Googleが提唱する仕組みで、今現在Cookieを利用してトラッキングや個人情報が容易に取得できてしまう状況を改善…

Docker、Docker Composeのexecでroot実行したい場合はuserオプションを使う

「bash で rootログインしたい」などのときのための小ネタです。 環境情報 $ docker -v Docker version 20.10.22, build 3a2c30b 実現方法 -user オプションを使い、rootのUIDである0を指定して実行することでrootになる 具体例 以下はdocker-composeでappと…

Rubyのhashのメソッドmergeはキーがシンボルと文字列では別物として取り扱われるので気をつける

当たり前といえば当たり前の小ネタ 環境 $ rails -v Rails 7.0.6 $ ruby -v ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [arm64-darwin22] そもそもmergeとは hashのmergeメソッドは2つのハッシュを1つにまとめ、同じキー名のものをマージする。例えば…

権威勾配(Authority Gradient) についてざっくりまとめる

使われ方が諸説あるっぽいので自分なりにまとめる 言葉の意味 ここで表される「権威」とは、肩書や社会的地位など他者がもつ社会的かつ主観的な影響力のようなものを指します。そして特定の二者間で起きる「権威」の差の緩急を角度でたとえて「権威勾配」と…

RailsでViewのErrorを減らす場合にはぼっち演算子を活用する

日頃のコードレビューの言語化です。 前提 Ruby on Railsのバージョンとしては6ぐらいを想定しています viewの記述にはerbを想定しております。 よくあるケース 例えば下記のようなテーブル構成をしているModelがあるとする create_table "users", force: :c…

Rails ConsoleにはSandboxというオプションがある

知らなかったので備忘まで。ただし万能ではないので用法用量を守って正しくお使いください。 環境 $ rails -v Rails 7.0.6 $ ruby -v ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [arm64-darwin22] どういうものか Railsコンソールには --sandbox とい…

コミットメッセージのフォーマットの1つである「Conventional Commits」についてざっくりまとめる

知らなかったのでメモとして残しておきます。 取り扱うサイト Conventional Commits どういうものなのか commitメッセージに関して軽量かつ明快な内容を表現するためのガイドライン。 aboutページに記載があるが、Angularのガイドラインが着想のスタートとし…

長く続くプロダクトコードと向き合うときに読みたい『ソフトウェアエンジニアリングサバイバルガイド: 廃墟を直す、廃墟を出る、廃墟を壊す、あるいは廃墟に暮らす、廃墟に死す』

個人的に深くささるワードが多かったので、読み返せるようにするための記録です。 資料スライド docs.google.com みどころ 長く続いてきたが、メンテナンスを放棄されているプロダクトコードと向き合うときにどうすればいいかという話は多くあるが、その対象…

社内勉強会で「DDD関連のフレーズから入るざっくりDDD超入門」という話をしました

ブログのネタにもなれるように話をまとめたので雑に使い回すときのために… 資料 speakerdeck.com 内容 社内でリクエストがあり「DDDってどういうことかざっくり知りたい」と言われたので、"ドメイン”というフレーズを中心にドメイン駆動設計をするに当たりま…

aタグでリファラーを制御するreferrerpolicyという属性があるのざっくりまとめる

IEが非対応だったが、IEがなくなった今大体のブラウザは対応しているのでざっとまとめる 出典 Referrer-Policy - HTTP | MDN 書き方 <a href="http://example.com" referrerpolicy="設定したい値"> 前提にいれておくべき知識 URLの内容を「originが同じかどうか」というような内容をベースに構成されるためoriginの概念を</a>…

TOCTOU(Time Of Check to Time Of Use)とは何なのかざっくりまとめる

略語として馴染みがなかったのでざっくりまとめる TOCTOUとは データのチェック時(Time of check,TOC)と利用時(Time of use,TOU)に差異がある場合に引き起こされる問題があるときに使われるフレーズ。 具体例 例えば以下のような仕様があるとする。 物が詰…

アジャイルのフレーズを思い出したいときに立ち寄るといいサイト「アジャイルプラクティスマップ」

対象サイト アジャイルプラクティスマップ | Agile Studio ※執筆時点では一部工事中 どういうところが良いのか 網羅的、かつ実例を含めてアジャイルにて頻出するフレーズがまとめられている。それに加えて関連する用語を駅の路線の形式で関連性を表現してい…

オーケストレーションに対するコレオグラフィに関してざっくりまとめる

純粋に言葉の意味を調べるときに混乱が生じたのでざっくりまとめる 先にまとめ 元々は音楽用語 オーケストレーションのほうが様々な場面で使われる用語 SOAの文脈で中央集権する作りとそうでない作りを区分けする用語としてオーケストレーションとコレオグラ…

情報処理におけるhashについてざっくりまとめる

なんとなく使っているが語源についてざっくりまとめる。 そもそもの英単語として意味 英単語としては「細切れの肉料理」などで訳される。日本での身近な例はハッシュドビーフなど。 なお、語源としては以下のような説明がインターネット上ではある。 1650年…

0x5c問題についてざっとまとめる

「ダメ文字」とも言われるこの問題そのものを認識していなかったので知識としてまとめる。 元ネタ こちら、Shift_JISの0x5c問題ではないかという推測をしている方がおられますね。そうかもしれません。0x5c問題については、徳丸本初版・2版とも第6章で説明し…

Webアプリ開発における検証環境に求められるものとは何なのかを言語化する

検証環境というものは最初からあったりすることが多いが、元々どういうものとして存在すべきなのか。 検証環境はなぜ必要なのか 多くの開発において、実際に使われる環境、いわゆる本番環境や商用環境といわれるものでシステムが稼働する前に最終的に問題な…

障害やトラブルに対してどう考えるべきか悩んだときに見直したいスライド『ノートラブルシステムへの道』

定期的にサッと出したい資料だったので記録がてら 対象のスライド speakerdeck.com みどころ ミスやトラブルに関することに関して、どういう考え方であたり、またどういう切り口で対策を講じるべきかの話が書かれている 短くまとめられているので、他人にも…

ラストマンとつく言葉の意味をいくつかまとめる

意外とバリエーションがあり、意味が少しずつ異なるのでまとめる ラストマン 日立製作所の川村氏が広めた言葉、川村氏との対談の記事の説明から引用すると以下の通り ラストマンとは組織の中で最終的な意思決定をしてその実行に責任を持つ者であり、いずれそ…

Apple M1 MaxのMacbook Proの初期環境構築をする 2023/3

個人の活動ログです。とりあえず必要最低限。 購入したMac やったこと Terminalの導入 今回は kitty を導入してみました。特に吟味して選定したわけではなく標準出ないものを使ってみようというチャレンジです。 kovidgoyal/kitty: Cross-platform, fast, fe…

2023年3月時点ではメールアドレスのローカル部の文字は大文字小文字を区別しないのが多数派

実態と合わせてザッとまとめる 先にまとめ メールアドレスのローカル部(アットマークより前)は大文字小文字を区別しないことが多い。そのため hoge@example.com も HoGe@example.com も同じアドレスとみなす場合がほとんど。 「区別しないこと多い」という…

コードレビューの考え方に迷ったときに読み直したい記事『コードレビューの目的と考え方』

記事のメモです 対象の記事 コードレビューの目的と考え方 - osa_k’s diary みどころ コードレビューに関して考え方をまとめている記事はいくつかあるのですが、この記事は参考文献を交えながらの説明となっているあたりがとても良かったです。 個人的には「…

社内勉強会で「書くときにひと呼吸おいて考えてから書いてほしいRailsコードの書き方」という話をしました

社内勉強会のLT資料が出しても問題ない感じだったのでちょっとブラッシュアップしてUPしました。 資料 speakerdeck.com 内容 内容としては過去このブログで扱ってきたRubyやRailsで気になった書き方シリーズを「複雑にしない」という視点でまとめた内容にな…

2023年2月現在、Cookieの有効期限設定は未来すぎると意図違いの状態になるので気をつける

Cookieの有効期限設定、ドキュメントからわからない罠が多すぎるので雑にまとめる 前提としてCookieの維持に関して MDNを転載すると以下の通り Cookie の持続時間は 2 通りの方法で定義することができます。 ・セッション Cookie は現在のセッションが終了す…

ログの保持期間の目安についてまとめられている資料があるので2023年2月時点で照らし合わせる

Twitterでみて書き留めておきたかったので残す 出典 よくジュニア層から「監査証跡のログってなんで3年間や5年間保存するんですか?」と聞かれることがある。設計書には背景が記載されていないこともままあるけど、IPAの資料にいい感じにまとまっているので…

合意形成のスキルを理論立って考えるときにみたいスライド『「笑顔の合意」のテクニック - 噛み合わない会話と対立を克服するための、エモさを排した実践的なスキルと技法 -』

チームに関わるすべての人間が読むとズレが減らせそうなので時折読み返したい資料としてスライド回顧録です。 対象のスライド 1/12(木)の #RSGT2023 での発表資料を公開いたしました。「空中戦」を克服するテクニック、こちらで習得できます。「笑顔の合意…

Rubyにてハッシュを用いたキーワード引数(**引数)を使いたくなった場合は本当のそれが必要かを一息おいて考えてほしい

ハッシュを用いたキーワード引数(アスタリスクを二重につける記法のもの)を使ってしまうことによるデメリットと代替案に関してまとめます。 今回扱うケースとRubyのバージョン 一息おいて考えてほしいケースのサンプルコードは以下 def put_english_text(*…

「良いコード/悪いコードで学ぶ設計入門」をRails開発に活用する目線で整理してみる

ミノ駆動本の読書会を社内で行い、そちらを振り返りRailsで活用する目線でどのようなところが活きるポイントかを「章ごと」と「全体を通して」で整理をしてみます。 章ごとに振り返る 1 悪しき構造の弊害を知覚する こちらはイントロダクションの章で、どの…

W3Cのpotentially trustworthy URL (信頼できるかもしれないURL)の定義に関して調べる

CORS関連のフレーズを調べているときにW3Cでよく出てくる potentially trustworthy URL というフレーズについて調べる 定義 W3Cの「 Secure Contexts - 3.2. Is url potentially trustworthy?」曰く以下の通り A potentially trustworthy URL is one which e…

日本語のローマ字表記に関してシステムを作るときの知識をざっとまとめる

おおまかに3系統あり、ISO3602をベースに考えればよさそう、というのをざっとまとめる。 ローマ字の系統 ローマ字の系統はいくつかおあるが、代表的なものは3系統ある 訓令式 日本式 修正ヘボン式 訓令式 2022年現在においてはベースとなる方式で、政府がロ…