【ContextAPI】どこからもグローバルステートが取得できないし、セットできない

原因

storyや_app.tsx<HogeProvider></HogeProvider>がなかった事

発覚する過程

hooks内でsetStateできない

別の箇所でsetState試すもできない

すでに同じグローバルステートをsetしている箇所を検索

別のstoryではProviderでのラップがあったが今見ていた画面のstoryに関してはなかった。

Excel関数チートシート

基本的な数学関数

関数 説明
SUM(range) 指定範囲の合計を計算します。
AVERAGE(range) 指定範囲の平均を計算します。
MIN(range) 指定範囲の最小値を見つけます。
MAX(range) 指定範囲の最大値を見つけます。
COUNT(range) 指定範囲内の数値の個数をカウントします。

テキスト関数

関数 説明
CONCATENATE(text1, text2, ...) 複数のテキストを結合します。
LEFT(text, num_chars) テキストの左側から指定した文字数を返します。
RIGHT(text, num_chars) テキストの右側から指定した文字数を返します。
MID(text, start_num, num_chars) テキストの指定した位置から指定した文字数を返します。
LEN(text) テキストの長さ(文字数)を返します。
LOWER(text) テキストを小文字に変換します。
UPPER(text) テキストを大文字に変換します。
TRIM(text) テキストから余分なスペースを削除します。

日付と時刻関数

関数 説明
NOW() 現在の日付と時刻を返します。
TODAY() 現在の日付を返します。
DATE(year, month, day) 指定した年、月、日から日付を作成します。
DAY(date) 指定した日付の「日」の部分を返します。
MONTH(date) 指定した日付の「月」の部分を返します。
YEAR(date) 指定した日付の「年」の部分を返します。
DAYS(end_date, start_date) 二つの日付の間の日数を計算します。

論理関数

関数 説明
IF(logical_test, value_if_true, value_if_false) 指定した条件が真の場合と偽の場合で異なる値を返します。
AND(logical1, logical2, ...) すべての引数が真の場合にTRUEを返します。
OR(logical1, logical2, ...) 引数のいずれかが真の場合にTRUEを返します。
NOT(logical) 引数の論理値を反転します。

検索と参照関数

関数 説明
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) 表または範囲から値を検索し、行から値を返します。
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup]) 表または範囲から値を検索し、列から値を返します。
INDEX(array, row_num, [column_num]) 特定の位置にある値を配列から返します。
MATCH(lookup_value, lookup_array, [match_type]) 指定された値が配列内で最初に現れる位置を返します。

統計関数

関数 説明
COUNTIF(range, criteria) 指定された条件を満たすセルの数をカウントします。
SUMIF(range, criteria, [sum_range]) 条件を満たすセルの合計を計算します。
AVERAGEIF(range, criteria, [average_range]) 条件を満たすセルの平均を計算します。
MEDIAN(range) 指定範囲の中央値を返します。
MODE.SNGL(range) 指定範囲で最も頻繁に現れる値を返します。

金融関数

関数 説明
PV(rate, nper, pmt, [fv], [type]) 一連の定期的な支払いの現在価値を計算します。
FV(rate, nper, pmt, [pv], [type]) 一連の定期的な支払いの将来価値を計算します。
PMT(rate, nper, pv, [fv], [type]) 定期的な支払い額を計算します。
RATE(nper, pmt, pv, [fv], [type], [guess]) 定期的な支払いに基づいて利率を計算します。

行列関数

関数 説明
MMULT(array1, array2) 二つの配列の行列積を計算します。
TRANSPOSE(array) 配列の転置を取ります。
MDETERM(array) 配列として与えられた行列の行列式を計算します。

エラー処理関数

関数 説明
IFERROR(value, value_if_error) 式がエラーを返した場合に指定した値を返します。
ISERROR(value) 式が任意のエラー値を返す場合にTRUEを返します。

その他の便利な関数

関数 説明
RAND() 0 と 1 の間の乱数を返します。
RANDBETWEEN(bottom, top) 指定された二つの数値の間のランダムな整数を返します。

vimとnanoのチートシート

操作 Vim コマンド Nano コマンド
ファイルを開く vim filename nano filename
新規ファイル作成・編集 vim nano
保存 :w Ctrl + O, Enter
保存して終了 :wq or :x Ctrl + X, Y, Enter
終了(変更なし) :q Ctrl + X, N
強制終了(変更を破棄) :q! Ctrl + X, Y
カット(行) dd Ctrl + K
コピー(行) yy Ctrl + K(カット後にペーストして元に戻す)
ペースト p Ctrl + U
アンドゥ u Ctrl + U(ナノには直接的なアンドゥコマンドがない)
リドゥ(Vimのみ) Ctrl + R N/A
検索 /word Ctrl + W, word, Enter
置換(Vimのみ) :%s/old/new/g Ctrl + \old, Enter, new, Enter, A
カーソル位置へ移動 :linenumber(例: :25 Ctrl + _, linenumber, Enter
次の単語へ移動 w Ctrl + Space(次の単語へ)
前の単語へ移動 b N/A
行の先頭へ移動 0 Ctrl + A
行の末尾へ移動 $ Ctrl + E

Linuxコマンドのチートシート

テキストファイルの操作

  • cat: ファイルの内容を表示します。 bash cat myfile.txt

  • grep: テキスト内でパターンに一致する行を検索します。 bash grep "search pattern" myfile.txt

  • sed: テキスト内で検索と置換を行います。 bash sed 's/original/new/g' myfile.txt

  • awk: テキストデータの処理に使われ、パターンスキャニングとテキスト処理言語です。 bash awk '{print $1}' myfile.txt

ファイルシステムの操作

  • ls: ディレクトリの内容をリストします。 bash ls -l

  • find: ファイルやディレクトリを検索します。 bash find /path/to/search -name "filename"

  • du: ディスク使用量を表示します。 bash du -sh /path/to/directory

  • df: ディスクの空き容量を表示します。 bash df -h

ネットワーク

  • ping: ネットワーク上のホストへの接続をテストします。 bash ping example.com

  • curl: URLからデータを転送するために使われます。 bash curl -O http://example.com/myfile

  • wget: ネットワーク経由でファイルをダウンロードします。 bash wget http://example.com/myfile

  • ssh: セキュアなリモートログインを行います。 bash ssh user@host

システム情報

  • top: 実行中のプロセスを表示します。 bash top

  • ps: 現在実行中のプロセスの情報を表示します。 bash ps aux

  • whoami: 現在のユーザー名を表示します。 bash whoami

  • uname: システム情報を表示します。 bash uname -a

シェルスクリプトのチートシート

変数操作

# 変数の定義
MY_VAR="Hello World"

# 変数の使用
echo $MY_VAR

# 環境変数のエクスポート
export MY_VAR

文字列操作

# 文字列の連結
GREETING="Hello,"
NAME="Alice"
MESSAGE=$GREETING" "$NAME
echo $MESSAGE

# 文字列の長さ
echo ${#MESSAGE}

# 部分文字列の抽出
echo ${MESSAGE:0:5} # Hello

ファイル操作

# ファイルの作成
touch myfile.txt

# ファイルのコピー
cp myfile.txt mycopy.txt

# ファイルの移動または名前の変更
mv mycopy.txt mynewfile.txt

# ファイルの削除
rm mynewfile.txt

ディレクトリ操作

# ディレクトリの作成
mkdir mydir

# ディレクトリの削除(空の場合)
rmdir mydir

# ディレクトリの削除(中身がある場合)
rm -r mydir

ループ処理

# forループ
for i in {1..5}; do
  echo "Number $i"
done

# forループのネスト
for i in {1..3}; do
  for j in {A..C}; do
    echo "Number $i, Letter $j"
  done
done

# whileループ
COUNTER=0
while [ $COUNTER -lt 5 ]; do
  echo "Counter $COUNTER"
  let COUNTER=COUNTER+1
done

条件分岐

# if文
if [ $MY_VAR == "Hello World" ]; then
  echo "True"
else
  echo "False"
fi

# case文
case $MY_VAR in
  "Hello World")
    echo "Hello World";;
  "Bye World")
    echo "Bye World";;
  *)
    echo "Other";;
esac

関数

# 関数の定義と使用
function greet {
  echo "Hello, $1"
}
greet "Alice"

ファイルの読み書き

# ファイルへの書き込み
echo "Hello World" > myfile.txt

# ファイルからの読み込み
while IFS= read -r line; do
  echo "$line"
done < myfile.txt

ネットワーキング

# wgetを使用してファイルをダウンロード
wget http://example.com/myfile

# cURLを使用してHTTPリクエストを送信
curl http://example.com