コード日進月歩

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

認証と認可がわからなくなったとき、誰かに教えるときに起点にしたい記事「よくわかる認証と認可」

複数サービスをまたぐログイン機構をやる瞬間が多いので、基本を振り返るためのものとして。スライドではないけど回顧録として。 対象の記事 dev.classmethod.jp みどころ 混同されがちな「認証」と「認可」を短い文章でたとえを交えながら説明された文章 Tw…

Plain Old *** Object の語源を調べる

POJOとかPOROとか言うけど、何がこの言い回しの由来なのか調べる。 そもそもPlain Oldとは 英語の直訳的な意味としては「単純な」や「普通の」という意味にあたる。なおPlaneではなくPlain。 初出はPlain Old Java Object 初めて Plain Old の言い回しが使わ…

Rubyにてyield_self/thenを使って普通の戻り値をメソッドチェインのように使う

このエントリはRubyのAdventCalendar2021の13日目の記事です。 書き方として割と見かける事が多いので、こういう使い方もできるよという知識の一つとしてご紹介します。 環境 $ ruby -v ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin19] …

現在ログインしているサーバーの環境変数を全部出すコマンドはprintenv

いつもフッと出てこないので備忘録 環境 $ zsh --version zsh 5.7.1 (x86_64-apple-darwin19.0) コマンド printenv 類似コマンド set こちらは環境変数だけではなくシェル変数(現在のログインシェル)の変数も表示する env,export 従来はいずれも変数を定義…

UnicodeのCombining Character Sequenceの考え方とその正規化についてざっくりまとめる

Unicodeでポなどがホと半濁点の記号に分離されても一つの文字として見えてしまう現象に関してざっくりまとめる TL;DR Unicodeでは2つの文字符号位置を合わせて1つの文字を表す Combining Character Sequence という概念が存在する。 日本語の濁音と半濁音に…

エンジニアの採用に携わることになったらまず目を通したい『エンジニアを採用する技術』

エンジニアに限らず、採用に関して考えなければいけなくなったときにまず頭に入れたい資料 資料スライド speakerdeck.com 本日の登壇内容です。「エンジニアを採用する技術」 https://t.co/xEoWqNetkA #vpoe_meetup— Satoru Fujiwara (@satorufujiwara) 2017…

JavaScriptのアロー関数に関してざっくりまとめる

アロー関数の勘所に関して再確認も含めてメモ 基本の文法 即時returnのアロー関数 before x = function(z){ return z + 100; } console.log(x(20)) after x = (z) => z + 100 console.log(x(20)) 複数処理をする場合のアロー関数 returnをしっかり明示する必…

相談するやり方を言語化したいときに見返したい『こじれる相談とはサヨナラバイバイ! なめらかに協力する組織を生み出す基礎にして奥義「相談」で人を助けることを追求するぞ!』

「相談してね」とは言うけど、相談ってどうやるとすんなり行くんだっけというときに。 資料スライド speakerdeck.com みどころ 「相談」に焦点をあて、更に相談の質の話を踏まえ、最終的にはどこに焦点をあてて相談の内容をつくりあげていくとスムーズに相談…

JavaScriptの変数宣言がletがなぜ良いのかをざっくりまとめる

varはやめろ、という背景にあるものをしっかり説明できないのでざっくり書く TL;DR スコープの管理がletのほうがより区切られているのでそちらを使うべき letのスコープとvarのスコープ varはブロック({})で囲んだ中でも作用する 例えば以下のようなコードが…

符号化文字集合と文字符号化方式の関係性に関してざっくりまとめる

UnicodeとUTF-8と何が違うのか、という問いに答えられるようにざっくりまとめる 文字集合(符号化文字集合)とは 英語で表現するところの Coded Caracter Set。「文字」と「一意に振られた番号」のペアの集合体。「一意に振られた番号」のことを符号位置(co…

Kaigi on Rails 2021 で『before_actionとのつらくならない付き合い方』という内容で登壇してきました。

Kaigi on Rails 2021 の2日目にリモート登壇してきました。 発表したスライド speakerdeck.com 伝えたかったこと before_action でインスタンス変数のセットは本当にいいことがないのでやめよう before_action の使い方がわからなくなったら横断的関心事かど…

『Kaigi on Rails 2021』の一日目みたよメモ

Kaigi on Rails 2021 の一日目見たよメモです。 各発表の感想 部分的に見れていないパートがあったので見れたものだけ ※資料スライドは見つけたら貼ります。 Q&A kamipo トークについて a_matsudaさんがモデレータという形式で話が進められていった。 以下話…

GitHubが管理する.gitignoreのテンプレート集リポジトリが存在する

小ネタ。 該当ページ github/gitignore: A collection of useful .gitignore templates 何があるのか メインはプログラミング言語やプログラミングフレームワークに向けたgitignoreのファイルとなるが、JetBrainやMonoDevelopなどIDE向けのgitignoreに関して…

RubyのCSVクラスを使ってTSVを読み込む場合にダブルコーテーションの入っているものがあるときの対策

パースエラーになる、のでワークアラウンド的な対策 環境 $ ruby -v ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin19] やりたいこと 正常に変換できるケース 例えば以下のような test1.tsv があるとする(タブはHTMLの表現上うまく出ないの…

DOMそのものが備えるプロパティやメソッドの調べかた

いわゆる普通のプログラミングにおけるクラスメソッド、インスタンスメソッド、プロパティにあたるものを調べたいときにどうやって調べるのかさらっとまとめmした。 前提 DOMのメソッドとプロパティはInterfeceで決まる。 DOMが備えるメソッドやプロパティは…

og:imageやog:titleで設定した画像を差し替えたときにTwitterとFacebookで再度取得しなおしてもらう方法

ogp画像を公開後に差し替えた場合に、画像を能動的にリフレッシュをして貰う方法。 今回考えるシチュエーション 「og:image を差し替えたときに、FacebookとTwitterで差し替わった画像に切り替わらない」というシチュエーション。 各SNSサイトはページ表示時…

クライアントサイドとサーバーサイドの言語統一に関して考える

フロントエンドとバックエンドで言語を統一する、ということのメリットに関して頭で現在思い描いていたことを改めて書き出してみる。 言語統一をすると良くなるケース 開発メンバーの認知負荷を軽減したい 主にWebアプリケーション開発で見られることだが、…

「関心の分離」をするメリットを料理レシピを通して考える

原典の「関心の分離」の内容を基軸にして、行為そのもののメリットを見出す。 関心の分離とは まずは関心の分離とはどういうことかを原典とされる文章を参考に見ていく。 「科学的思考の役割について(On the role of scientific thought) 」での関心の分離 …

『モデリングの学び方:座談会』を見たよメモ

モデリングの学び方:座談会 - connpassを見たよメモです。ディスカッション形式だったので、話の流れになぞらえてまとめていきます。 本日の話し手 この会でメインで喋られていたのは以下の方々 増田さん かとじゅんさん ミノ駆動さん hirodragonさん 藤岡…

CSSにおいて疑似要素はコロン2つ、擬似クラスはコロン1つにすると良い

CSS

なんか混在しているものを見るので自分自身のためのまとめ。 TL;DR 現状の疑似要素のスタンダードな仕様はコロン2つで書く IE8などCSS2準拠のブラウザではコロン1つで定義されているが、多くがCSS3に対応している2021年時点では考えなくても良い要素 そもそ…

Microsoftがブラウザの機能としてIEでアクセスをしたらEdgeに転送してくれる仕組みを提供している

IE11対応が辛い、というときの一つの切り札として. 出典 Moving users to Microsoft Edge from Internet Explorer - Microsoft Edge Development | Microsoft Docs どのような機能なのか Microsoftの https://edge.microsoft.com/neededge/v1 にて、Edgeにリ…

Mixed contents の問題点と考え方をざっくりまとめる

Mixed Contentsが指すものは何で、何が問題なのか。 MixedContents(混在コンテンツ)とは MDNの説明が的確なので引用すると以下 ユーザが HTTPS を通じてページにアクセスすると、ユーザとウェブサーバとの接続は TLS で暗号化され、盗聴や中間者攻撃から保護…

GoogleAdManagerを無料で使う場合、1ヶ月あたりに表示できるインプレッションには上限がある

知らなかったのでメモ。 出典 Terms & Conditions – DoubleClick for Publishers – Small Business AdManagerの前進のDFPの利用規約 Using the Program, You are permitted to serve without charge up to (A) (i) 90 million impressions per month to non-…

metaタグの robotsで指定できる値に関してざっくりまとめる

SEO

仕様が単一にまとまっているものではないので、利用できるものをまとめる 検討するクローラー 今回焦点を当てるのは Google と Bing 。 YahooJapanはすでにGoogle検索を利用しているので今回は考慮しない。 出典 robots メタタグ、data-nosnippet、X-Robots-…

サーバーのリダイレクトとJavascriptのリダイレクトはGoogleの評価としては変わらないと考えられる

SEO

リダイレクトの仕方次第ではページ評価が下がるのでは、というところでそこに関する内容をまとめる 今回気にかけること とあるページが移転したときにリダイレクトとして サーバサイドのレスポンス(apacheやnginx)でのリダイレクト処理 JavaScriptによるリ…

Asia/TokyoなどのTimeZoneの定義情報は現在IANAが管理している

Asia/Tokyo 等の文字列定義ってどこにあるのかを調べる。 出典/どこにあるか IANA — Time Zone Database 上記のページに記載がある The Time Zone Database (often called tz or zoneinfo) contains code and data that represent the history of local time…

GitHubでPullRequestにCommitがされたらReviewRequestがリセットされる機能がある

「レビュー後に修正したやつがapproveしてないのにマージされている!!!」みたいのを防ぐための設定 対応ヘルプ ブランチ保護ルールを管理する - GitHub Docs 使い方 ブランチのTOP > Settings > Branches > Add rule のボタンを押すとブランチ運用のルー…

要配慮個人情報とは何かざっくりまとめる

ユーザ情報を管理する上で切っても切り離せない、個人情報と要配慮個人情報の話に関してざっくり理解をする。 出典 個人情報の保護に関する法律 | e-Gov法令検索 個人情報と要配慮個人情報 個人情報とは 法令内で個人情報の定義があり、それは以下。 第二条 …

BigQueryでTIMESTAMPをJSTの文字列に変換する

書き方をいつも忘れてしまうのでメモ的投稿。 前提条件 STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為) フォーマット JSTは+9時間なので、 Asia/Tokyo のタイムゾーンを使う FORMAT_TIMESTAMP( フォーマッ…

Railsでインスタンス変数に代入することをメモ化と呼ぶのは趣の違う話なのでざっくりまとめる

表題通り違和感をまとめる。 前提としてメモ化とは Wikipedia曰く以下の通り メモ化(英: Memoization)とは、プログラムの高速化のための最適化技法の一種であり、サブルーチン呼び出しの結果を後で再利用するために保持し、そのサブルーチン(関数)の呼び…