コード日進月歩

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

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)とは、プログラムの高速化のための最適化技法の一種であり、サブルーチン呼び出しの結果を後で再利用するために保持し、そのサブルーチン(関数)の呼び…

TC39とはなにかをざっくりまとめる

mozaic.fmを聞いていると登場するが、どのような組織か知らないのでざっくり調べる 出典 TC39 - Ecma International 上記の内容曰く「ECMAScriptを標準化するための専門委員会」。なおECMAは様々な技術委員会を持ち、TC39はそのうちのひとつ。 TC39がやって…

プログラミングにおけるバニラという意味をざっくり調べる

雰囲気で使っていたのでTips的な話。 出典 バニラ (ソフトウェア) - Wikipedia) プログラミングとしてのバニラ 英和辞書で引くと形容詞としては「質素で余分なものや装飾品のない」という内容があり、プログラミングでも似た概念で利用され、「普通」の状態…

JSで時刻操作をする場合、moment.jsは公式にプロジェクトの終了がアナウンスされたので別のものを検討する

表題通り。 元ネタ Moment.js | Docs より We now generally consider Moment to be a legacy project in maintenance mode. It is not dead, but it is indeed done. - 現在では、Momentはメンテナンスモードに入ったレガシープロジェクトであると考えてい…

BigQueryで単一のクエリ内で値を定義して定数のように使い回す

いろんなテーブルをまたいで利用するときに似たようなクエリをつくるのでその時のための機能 前提条件 STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為) やり方 定数定義のような機構はこの記事を書いている…

RubyのURIクラスを使ってハッシュをクエリ文字列にする、URLからクエリ文字列をハッシュ化する

あんまり直球な情報がないのでメモがてら 環境 $ ruby -v ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19] やり方 URLからハッシュ化 target_url_with_query = "https://example.com?equal_string=ZXhhbXBsZXNleG1hcGxlcw%3D%3D&exa…

BigQueryでJOIN時に各々のテーブルに_TABLE_SUFFIXを適用する方法

イマイチすぐに出てこないのでメモがてら 前提条件 STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為) そもそも _TABLE_SUFFIX とは こちらに関しては別記事で書いたのでそちらを参考のこと 書き方 カラム名に…

BigQueryで_TABLE_SUFFIXを適用して複数のテーブルを取る

別のことを書きたかったが前提の話題としてまずは切り出して書く。 前提条件 STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為) 使い所とやり方 BigQueryには同じテーブルでもテーブル名の末尾に日付をつけて…

なぜhttpがだめなのかをざっくりまとめる

わりと当たり前の話なんだけど、当たり前すぎて感覚に近いレベルで認識しているので書き留める インターネットはバケツリレー 大前提、クライアントとサーバがデータのやりとりをするインターネットの機構は各データがクライアントから各種ルータなどを経由…

BigQueryで実行時の内容をYYYYMMDDで取得する方法

割とかんたんな部類なんだけど、毎度ググってしまうのでメモ的なもので。 前提条件 STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為) やり方 FORMAT_TIMESTAMP("%Y%m%d" ,CURRENT_TIMESTAMP()) 動作原理 CURR…

RubyのCSVクラスでheaders:trueにするとき、空白文字列の扱いに気をつける

要因がわかれば自明だけどわかりづらい、自分の引いたバッドノウハウのメモ。 環境 ruby -v ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin19] どういうことか headerの文字列一致は空白も含めて行われる、そしてheaderの文字列が存在しな…

URIでパーセントエンコーディングが推奨されない文字を整理する

原理を知っていれば納得な話なんですが、仕様に基づいた整理。 出典 RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax どういうことか RFC3986では予約文字(Reserved Character)と非予約文字(Unreserved Character)という表現で利用できる文字…

URIの自由設定部分で使えない予約された文字

エンコードされる文字列はあるが、具体的に何を含むと面倒なのかを調べる。 出典 URIに利用可能な文字列の定義はRFC3986より RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax 定義 RFC3986の中に、予約文字と非予約文字がある。予約文字とし…