mysql
コマンドで接続しようとした際このエラーに陥った。
原因はおそらく TLS の問題。
mysql command の場合 --ssl-mode=DISABLED
オプションをつけることで回避可能
mysql -h10.10.0.1 -uuser -p --ssl-mode=DISABLED
mysql
コマンドで接続しようとした際このエラーに陥った。
原因はおそらく TLS の問題。
mysql command の場合 --ssl-mode=DISABLED
オプションをつけることで回避可能
mysql -h10.10.0.1 -uuser -p --ssl-mode=DISABLED
python 経由で s3 にファイルをアップロードしたくなる場合がある。
本記事はその際のメモ。
import boto3
# 書き込み先バケット
BUCKET = 'output-bucket'
INPUT= 'hoge.csv'
OUTPUT = 'hoge.csv'
# OUTPUT = 'DIR/DIR/hoge.csv'
s3 = boto3.resource('s3')
s3.Bucket(BUCKET).upload_file(Filename=INPUT, Key=OUTPUT)
ポイントとして、書き込み先の s3 のディレクトリに対し書き込むとき、存在しないディレクトリを対象にすると、存在しないディレクトリは一緒に作られる。これは、そもそも s3 にディレクトリという考えがないためである。
それについては以下の記事を参照
以下のように Makefile のあるディレクトリに ファイルもしくはディレクトリが存在する場合がある。
% tree
.
├── Makefile
└── test
このような環境の場合、同名のコマンドが Makefile に記載がある場合は `test’ is up to date. というエラーが表示され Make ファイルが実行されない。
test:
echo hogehoge
これを対処するには、.PHONY を宣言することにより回避可能となる
.PHONY: test
test:
echo hogehoge
以上。
mysql であれば show create table
コマンドでDDLを確認することができるが、
snowflake ではこのコマンドを使うことができない。
snowflake では以下のコマンドを使うことでDDL を確認することができる。
select GET_DDL ('TABLE', 'テーブル名');
結果は以下の通り
>select GET_DDL ('TABLE', 'TEST');
+----------------------------------------+
| GET_DDL ('TABLE', 'TEST') |
|----------------------------------------|
| create or replace TABLE TEST ( |
| ID NUMBER(18,0), |
| TARGET_DATE DATE, |
| CREATION_DATE TIMESTAMP_NTZ(9) NOT NULL |
| ); |
exist_ok を使うことで 1行にまとめることができる
os.makedirs("作りたいディレクトリ", exist_ok=True)
例えば以下の通り
os.makedirs("~/.ssh/", exist_ok=True)
% brew cask install snowflake-snowsql
Error: Unknown command: cask
cask コマンドは install コマンドのオプションになったそうだ
今は、
brew install --cask snowflake-snowsql
を叩くことでインストールできる。
参考情報
チーム開発をしていると、他の人のブランチでが変更された内容を自分のブランチに取り込みたい場合がある
その対処法を紹介。
解決方法のひとつに git cherry-pick
を使うというものがある。
Apply the changes introduced by some existing commits
https://git-scm.com/docs/git-cherry-pick
とあるように、コミットを元に変更を適用してくれる。
使い方は以下の通り
git cherry-pick 4b0774ffe
といったように、commit hash を後ろに加える。
$ git cherry-pick 4b0774ffe
[feature/hoge3d0e697] change date
Author: sumito.tsukada <sumito.tsukada@hoge.com>
Date: Wed Jan 12 11:07:04 2022 +0900
1 file changed, 2 insertions(+), 2 deletions(-)
覚えておくとなにかと便利。
Makefile 内で環境変数を docker-compose に渡そうとしてもうまく環境変数が展開されなかった。
Makefile の冒頭で SSM を呼び出す定義を書き、
make run
実行すると同時に呼び出し処理を呼ばせるような作りをすることによって実現できた。
set-env := export AWSSSMPARAM1=$(shell aws ssm get-parameters --names "AWSSSMPARAM1" --with-decryption --region ap-northeast-1 --query "Parameters[].Value" --output text) ;\
export AWSSSMPARAM2=$(shell aws ssm get-parameters --names "AWSSSMPARAM2" --with-decryption --region ap-northeast-1 --query "Parameters[].Value" --output text)
run:
$(set-env) && docker-compose up -d
セキュアな情報をローカルで持ちたくない場合はあると思うし、使える場面ば多そうだ。
何も考えず mysql をすぐに用意する方法
docker run --name instant-mysql -v ${PWD}/data:/var/lib/mysql \
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e TZ=Asia/Tokyo \
-d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
接続方法は以下の通り
mysql -u root -ppassword -h 127.0.0.1
まずは berw を最新にする
brew update
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
php 8 が brew コマンドでインストールできることを確認
brew search php@8
mac に php 8 をインストール
brew install php@8.0
vi ~/.zshrc
export PATH=$PATH:/usr/local/opt/php@8.0/bin:/usr/local/opt/php@8.0/sbin
source ~/.zshrc
php -v
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
composer -V