ブログ

読んで思い出す。忘れるために書く

Q. エラー: "Couldn't connect to Docker daemon at http+docker://localhost - is it running?" が出る

A. WSL のバージョンをアップグレードする

WSL で docker-compose up したときにエラーが出るので、アップグレードする必要があった

wsl.exe -l -v # サブシステムのリストアップ

wsl.exe --set-version (distro name) 2 # アップグレード

あとは次のリンクに沿って Docker Desktop の連携を有効化する

Link

Q. docker-compose 環境で guard コンテナを実行したい

A. つぎの設定を追記する

docker-compose.yml :

# ...
services:
  # ...
  guard:
    build:
      context: .
    env_file:
      - .env
    command: bundle exec guard
    depends_on:
      - mysql
    volumes:
      - .:/app
    tty: true
    stdin_open: true

# ...

Dockerfile (Alpine Linux) :

RUN apk add readline ncurses

Links

Git でコミットするアカウントを切り替える

問題

ひとつの PC で「私用」「仕事用」の git アカウント情報を切り替えたい

解決

Bash の関数を定義する

関数の定義

git config する関数を定義する

function switch_git_config {
  name="$1"
  email="$2"
  gpg_pub_sign="$3"

  git config --global --unset-all user.name
  git config --global --unset-all user.email
  git config --global --unset-all user.signingkey

  git config --global user.name "$name"
  git config --global user.email "$email"
  git config --global user.signingkey "$gpg_pub_sign"

  echo "Configuration has changed:"
  echo "git config user.name: $(git config user.name)"
  echo "git config user.email: $(git config user.email)"
  echo "git config user.signingkey: $(git config user.signingkey)"
}

関数を利用する関数の定義

先ほど定義した関数をすぐ利用できるよう、別の関数を定義する

# Private account
function git_a {
  switch_git_config "my_name_A" "my_name_A@example.com" "SIGN_A"
}

# For work account
function git_b {
  switch_git_config "my_name_B" "my_name_B@example.com" "SIGN_B"
}

「私用」「仕事用」の切り替えがすぐできるようになった

Twitter のリストに加えている人数を調べる

Twitter Web だったり、TweetDeck からはリストに加えているアカウント数が確認できなかったので、API 経由で問い合わせる

リポジトリを作った:

github.com

書いたコード

# frozen_string_literal: true

require 'twitter'
require 'dotenv'

Dotenv.load

client =
  Twitter::REST::Client.new do |config|
    config.consumer_key        = ENV["TWITTER_CONSUMER_KEY"]
    config.consumer_secret     = ENV["TWITTER_CONSUMER_SECRET"]
    config.access_token        = ENV["TWITTER_ACCESS_TOKEN"]
    config.access_token_secret = ENV["TWITTER_ACCESS_TOKEN_SECRET"]
  end

# require 'pry';binding.pry # for debug

puts client.lists
           .find_all { |list| list.name.match('Draw')  }
           .map(&:member_count)
           .sum

これで、名前に「Draw」が含まれるリストの人数をカウントできる

Bash 関数を定義する

function list_draws_count {
  PREVIOUS_WORK_DIR=$(pwd)

  cd ~/my_twitter_app
  bundle e ruby main.rb

  cd $PREVIOUS_WORK_DIR
}

これで 確認したくなったときに ターミナルからすぐに人数を調べられる

Link

Nuxt.js + Firestore でデータを引っ張ってくる

Nuxt.js + Cloud Firestore でドキュメント データを引っ張ってくるコードが書けた、のでその記録

とくに手順とかは説明しない

リポジトリgouf/firebase_demo で、実際にデータを表示させてる部分は ここ, 設定は ここ

詳しくは公式ドキュメントを参照されたい

Links