コード日進月歩

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

雑記

変数名などにm_やg_を付ける意図

久しぶりに見たけどこの文化体系どこだっけ…という話。 変数の命名規則として 変数名で以下のような名付けをすることがある g_position m_location これの棲み分けは g_ と付ける場合はグローバル変数の意味でg m_ と付ける場合はメンバ変数の意味でm 元ネタ…

bashで処理を一定時間止める

俗に言うスリープ処理だが言い換えてメモる 環境 $ sh --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18) Copyright (C) 2007 Free Software Foundation, Inc. やり方 sleep {{秒数}} でできる。 なお、ミリ秒指定は標準のものはサポ…

律速という言葉はボトルネックと近い意味で使われる

カタカナ語と漢字のイメージがかけ離れ過ぎてて定着しないのでメモがてら そもそものボトルネック e-Wordの説明がキレイだったので引用すると 瓶(bottle)の首(neck)、隘路という意味の英単語。ガラス瓶の口に近い細くなっている部分のことで、液の流量(…

ActiveRecordの find , find_by , where の使い分け

初学者にいい感じに説明できなかったので、SQLの概念抜きにしてまとめてみる 用途ベースの使い分け方 いずれもModel(ActiveRecord)からデータを取得するために使うものだが まずは大きく2つのうちどちらかになるかを考える 結果が単一になるものを取りたい…

「アクセスがスパイク」などのときに使う「スパイク」の意味

実は一般的な用語ではないということに気づいたのでメモ 意味 瞬間的に従来の量よりも増えることで、折れ線グラフにしたときに急激に数値があがる状態のことを指す (おそらくの)語源 語源はスパイクノイズかと思われる 電子機器で、スイッチの開閉などに伴…

可用性などの文脈で99.x%のことを9の数分だけで呼ぶ呼称がある

いつも小数点以下だっけ?全部だっけ?となるのでメモ xxナインという呼び方 主に可用性の文脈で、何%の稼働率かを示す際に「99.9%」や「99.99%」などの表現をすることがある。その際に表記される9の数を使ってツーナインやスリーナインという呼称が使われ…

getと接頭辞のつくメソッドは計算の必要がない値の返却が望ましいという話

休業日なのでコラム的なヤツです。 発想の発端 すえなみさんの以下のツイートから getter議論収束しつつあるけど、ひとつ言いたいのは、getXxxというメソッド名はgetter自動生成みたいな歴史もあって基本的に内部保持してるものをそのまま返す(そうじゃなか…

「直交する概念」という際に使われる直交とはどういうことかをざっくりまとめる

ググってもわからない、かつ「議論が平行線をたどる」の派生かと思ったのでめちゃくちゃ混乱したのでメモ 解説 元は英語の「orthogonal」の直訳。 数学用語から派生して下記のように表現することがある A is orthogonal to B は「A と B は別問題だ」と訳し…

JSのwindow.closeはwindow.openで開いたwindowでないと反応しない

そういう仕様ということを知らなかったのでメモ 出典 思いの外わかりやすく書いてある このメソッドが許可されるのは、window.open() メソッドを用いたスクリプトにより開かれたウィンドウに対する呼び出しのみです。 - window.close - Web API | MDN なぜ認…

ファイルパスをbashでかんたんに取るときは dirname を使うとかんたんに取得できる

$0とあわせての話 環境 $ bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18) Copyright (C) 2007 Free Software Foundation, Inc. 事例 例えば "/hoge/huga/example/text.txt" が渡されたときに "/hoge/huga/example/ を取得した…

sidekiqの終わらせ方

公式のwikiより、イマイチ意味が理解できてなかったので再整理も込めて。 出典元 Signals · mperham/sidekiq Wiki · GitHub 止め方 新たなプロセスの受付を止める TSTP のシグナルを送る $ ps -ef | grep sidekiq 779199931 22540 18659 0 9:28PM ttys013 0:…

UNIX/Linuxシステムにおけるシグナルとkillコマンドに関してざっくりまとめる

ド基礎を見直そうというたぐいのもの プロセスとシグナル Unix/Linuxシステムではプロセスという単位でシステムが動いている。そのプロセスは外からシグナルという形で情報を受け取ることができる シグナルの使い所 シグナルは他のプロセスから飛んでくるも…

AWSにてリソース作成数には上限があるし、緩和しないと作れなくなる

やっているとぶつかる系だけどそういえば書いたことなかったな系メモ 参照元 AWS サービスの制限 - AWS 全般のリファレンス AWS曰く AWS アカウントの AWS サービスに対するデフォルトの制限 (クォータとも呼ばれます) を示しています。特に明記されていない…

Rubyのblockはrescueで拾えるし、eachの場合は後続処理は実行される

あれ、そうなんだ!というの、原理としてはなんとなくわかるが情報のソースがないのでとりあえずできるよというところまで 環境 $ ruby -v ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-darwin18] コード例 def kicker(array) vals = array.each_with…

Rubyで 0 を 判定するなら zero? のほうがスマート

若干ポエム寄りな話。 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18] ドキュメント曰く 自身がゼロの時、trueを返します。そうでない場合は false を返します。 - instance method Numeric#zero? (Ruby 2.6.0) 使う利点 if a …

使い捨てのスクリプトの置き場の名前のはoneshotがよさそう

よく名付けに困るので情報的にありがたい話、ruby-jpよりの備忘メモ。 話のはじまり 『Railsのワンオフなスクリプトを置く場合の置き場はどこか』 出てきた意見 lib/tasks/oneshot/nanika.rake bin/【使い捨てであることが分かる名前】/ script/【使い捨てで…

Linux/Unixで環境変数の一覧が見たいときはprintenvコマンドを使う

知名度が低い、というか場面によるのかもだけどメモ 環境 macOS mojave ※諸事情によりローカルのみの確認だがCentOS系も普通にあるコマンド やり方 シンプルに $ printenv と打つだけ 例 $ export HUGA=100 $ export HUGAHUGA=200 $ printenv | grep "HUGA" …

異なる環境間で現在時間を受け渡して判定するときに気をつけること

端末時間とサーバー時間に関して色々思うことがあったので、考えをアウトプットするだけの雑記です。 今回考えるシチュエーション 異なる環境から時間情報を受け渡すということを考える。登場人物としては「送信元」と「送信先」があるが、例としては以下の…

メールのパスワード別送信は無意味なのかざっくりまとめてみる

よく言われることだけど、しっかり説明できないなと思ったのでまとめてみる。 よく言われる「パスワード付き添付ファイルとパスワードを別に分ける」とはどういうシチュエーションか メインのメールでパスワードを入れないと開けない添付ファイルを渡す メイ…

ローカルで開発下内容をmasterにコミットしちゃったときのお手軽手順書

事故が起きたときの対応法メモ 環境 $ git --version git version 2.17.2 (Apple Git-113) 対応順番 いままでやった更新を別のブランチとして新規作成 originのmasterにmasterを強制リセットする 例 master にコミットした内容を sugoi_feature に動かしたい…

システム開発におけるEnd Of Lifeの意味とその類義語

人によって略語のバリエーションがバラバラ、とりあえず似た言葉をまとめてみる。 システム開発におけるEnd Of Lifeとは 製品としての終了を示し、主に製品サポートの終了を意味する用語として使われる。そこから転じて、ソフトウェアのサポート終了や、重大…

CircleCIでrubyのイメージを使っている際にmysql-clientがなくてエラーになってしまう場合はdefault-mysql-clientを入れてあげると解決できる

時事ネタ、かつ暫定的なトラブルシュート 環境 CiecleCI (version2) でCIを動かしている Railsアプリ bundle installなどを.circleci/config.ymlでやってる DBはMySQL JSのコードも有るので使っていたイメージは circleci/ruby:2.6.3-node-browsers 発端 と…

FactoryBotでbelongs_toの相手がいる場合はidではなくモデルを代入しましょう

日曜日ということもあり なるほど、こういう見解もあるのか。 という天然の間違いに関しての発見メモ。 環境 $ bin/rails -v Rails 5.2.2 事例 例えばこんなModelがあるとする(Modelの値はannotateのgemで表現) # == Schema Information # # Table name: m…

p12ファイルことPKCS #12の証明書ファイルに関してざっくりまとめる

p12ってiOSのAPNs証明書とかでも見かけるけどコレ自体は一体なんなのかという話をざっくりまとめる PKCS12とは p12はPublic-Key Cryptography Standards(略称PKCS)の12番目の仕様であり、パスワードに基づく鍵(暗号)により保護された秘密鍵と、それに関連…

curlでクライアント証明書を使ってJSONをPOSTする

複合事例をあえて書いて利用するオプションを説明する。 環境 $ curl --version curl 7.54.0 (x86_64-apple-darwin18.0) libcurl/7.54.0 LibreSSL/2.6.5 zlib/1.2.11 nghttp2/1.24.1 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps…

OGタグとOpen Graph Protocolについてまとめる

og:title とかあるんだけどコレの起源はなんなのかという話。 概要 Facebook社が提唱したプロトコル。リンクを貼ったときにそのリンクからタイトルやサムネイルを適切に生成するためのタグを定めたもの。 もともとは「あらゆるWebページがFacebook上の他のオ…

五十六(いそろく)メソッドを自分なりにまとめる

山本五十六の名言、と語られるけどもこの呼称だと無いなと思いさらっとまとめてみる 五十六メソッドとは 山本五十六の名言 やってみせ 言って聞かせて させてみて ほめてやらねば 人は動かじ に由来し、ものごとを教える際は まずは教える側が実演する その…

MacでもWindows同様にすぐにスクリーンロックするショートカットキーがある

意外と知られていないし、カフェとかで仕事する人は覚えて置くと良いと思う。 やり方 Mac のキーボードショートカット - Apple サポート より Command + Option + 電源ボタン (余談)Windowsの場合 Windows のキーボード ショートカット - Windows Help より …

ビジネスメールにおけるインラインとは

結構無意識で使ってたけどよく考えるとこれは一般用語なのか不安になったので調べてみた メールにおけるインラインとは メールの返信において、もらったメールの本文を使って返答文を書くこと。 実例 shinkufencer様 いつも大変お世話になっております。 株…

Webサービスでテスト項目書に基づいてテストするとき、テスターにやさしいテスト環境を考える

この前はデバッグの起票に関して書いたけど、今回は用意するべき環境の心構え的メモ テストのために望ましい環境とは 主に心がけたいことは以下 確認に必要なテストデータが入っている、入れることができる 既存環境からの拡張であれば、既存環境に近い状態…