コード日進月歩

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

MacにてZoomで共有するときなどに通知を出さないようにするアプリ「Muzzle」

Zoom使いがおおいので便利だと思いメモ

紹介するアプリ

Muzzle - silence embarrassing notifications

便利ポイント

  • 通知を見せない手法として「おやすみモード」があるが毎回設定するのは忘れる
  • Muzzleは起動しておくと「画面共有」に類するものをしているときだけ通知をしなくなる、そのためZoomなどのビデオチャットで通知が出るなどを防げる
  • 拡張ディスプレイには反応しないのでその点判別してくれるあたりも便利

参考リンク

MacのWifiの接続順番は調整できる

知らなかったのでトリビア

Wifiのつなぐ順番

MacWifiにつなぐ順番は設定の上からつないでいく。そのため優先的につなげたいものは上に上げればOK

f:id:shinkufencer:20191110171909p:plain
この画面でドラッグアンドドロップで順番変更すればOK

参考リンク

ASCII.jp:Macでよく使うWi-Fiへ優先的に接続するテク

ワークアラウンドの意味をざっくりまとめる

言葉の響きとイメージが外れているので書き残すシリーズ

意味

work と around をくっつけた造語で「回避するための方法」という意味で使われる

システム開発においては

回避方法の延長線上で、「一時的な応急処置」のことをworkaroundという言葉で使う。そのため話者によって文脈が若干ことなる可能性がある。

参考リンク

bashでランダムな数値割り出しを実現する

そういえばやり方知らなかったのでメモ

環境

$ sh --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.

やり方

いろいろやり方はあるが環境変数 $RANDOM を使うのが一番簡単。$RANDOM は0から32767の値を出すのでそれをよしなに利用する。

普通に数値が32767まで出ていい場合はそのまま使えばOK、例えばdemo.shに

echo $RANDOM

とすれば

$ sh demo.sh 
28213

のように出力される。

もし数値を絞りたい場合は余り算出方法でやればいいので200まで出したい場合は

echo $((RANDOM%+201))

とすれば

$ sh demo.sh 
96
$ sh demo.sh 
200
$ sh demo.sh 
150

のように任意数値が出せる。

参考リンク

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

久しぶりに見たけどこの文化体系どこだっけ…という話。

変数の命名規則として

変数名で以下のような名付けをすることがある

g_position
m_location

これの棲み分けは

  • g_ と付ける場合はグローバル変数の意味でg
  • m_ と付ける場合はメンバ変数の意味でm

元ネタ

この命名記法自体には名前があり、ハンガリアン記法という。詳しくは下記Wikipedia参照。

ハンガリアン記法 - Wikipedia

活きる場面と今

IDEがそこまで補足してくれなかったり、1つのクラスが大きい時代としては、変数のアクセス領域を名前から判断する上では大変有用だった気がします。

ただ今だとアクセス範囲を狭めたりする場面のほうが多く、また言語によっては明示的に公開範囲を絞れるので、かえって冗長になるプレフィックスかもしれません。

参考リンク

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

俗に言うスリープ処理だが言い換えてメモる

環境

$ sh --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.

やり方

sleep {{秒数}} でできる。

なお、ミリ秒指定は標準のものはサポートしていない

参考リンク

ActiveRecordのレコード数を測るときはsizeでやると大体がよしなにやってくれる

ソースコードを見ると明白なのでさらっとまじえつつ

sizeとcountの処理の違い

sizeは loaded? でロード状態であればサイズそのものを使う。以下は執筆時点masterのコード

def size
  loaded? ? @records.length : count(:all)
end

いっぽうcountは特に回避コードが書かれているわけで把握実行される。同じく以下が執筆時点のmasterのコード

def count(column_name = nil)
  if block_given?
    unless column_name.nil?
      raise ArgumentError, "Column name argument is not supported when a block is passed."
    end

    super()
  else
    calculate(:count, column_name)
  end
end

大体一連の処理では同じ結果で一貫させたいはずなので、sizeのほうがよい場合がおおいので、ここを頭に入れながら使い分けをしたい。

参考リンク