Tocyukiのブログ

ギターと柔術とプログラミングが好き!

AWS DMSでDB移行をした際に移行されない属性を移行するためのSQL文

今、お仕事でとあるIaaSからAWSへのインフラ移行をしていて、DMS(Database Migration Service)を使っててめちゃ便利で最高なんですけど、これインデックスやらプライマリーキーに設定されているAUTO_INCREMENT属性やらもろもろ移行してくれないものがあり…

Dockerのタスクランナーとしてのmake

Dockerのタスクランナーとしてmakeを使うことが多いので、参考にしている情報をメモ marmelab.com qiita.com beyondjapan.com Docker の長い引数を GNU Make で解決するfedyya.wordpress.com

bashの変数展開で最後の文字を取り出す方法

Bashの変数展開で最後の文字だけ取得する際の仕様がちょっと分かりづらかったのでメモ やりたいこと 以下のような変数と値があった場合に最後の文字であるdだけを変数展開で取り出したい! text="Hello World" やりかた 以下のように変数展開の:のうしろにス…

2020年の振り返りと2021年の目標

コロナに主役を完全に奪われた2020年でしたが、思い返してみるとそこそこ色々あったな〜と感じますなぁ トピックとしては 長女が小学生になる 在宅勤務による生活スタイルの変化 仕事でいくつかの大きめのPJTを独力で完走 AWS SysOps取得 転職 柔術再開 とい…

ヒアドキュメントでインデントを含めた文字列を使う方法

ヒアドキュメントでインデントを含めたものを使いたいときには<<だけではだめで- <<とすると行頭のタブを無視してくれるので、この書き方だと以下のような用途の際にスクリプトできれいに書けるので便利 # configuration of td-agent cat - << 'EOM' > /etc/…

【AWS】 instance profileを削除する方法

AWS

instance profileはCLIからしか削除できないっぽかったのでメモ 状況 Terraformでapply処理が途中でコケてしまいその影響なのか以下のエラーが表示され先に進めなくなってしまった Error: Error creating IAM instance profile example-app-iam-instance-pro…

【Terraform】 skip_final_snapshot を設定しないでRDSを作成したらterraform destroyできなくなった

というわけで、これちょいちょいやってしまうんですが、Terraformでskip_final_snapshot = trueを設定しないでRDSリソースを作成して、その後削除しようとすると以下のエラーが出るようになってしまったんですよ Error: RDS Cluster FinalSnapshotIdentifier…

【Terraform】 countからfor_eachへ書き換えたらスプラット演算子の動きが変わった

いままでcountで記述していたものをfor_eachに直してみたところスプラット演算子の動きが変わったのでメモ 状況 いままではVPCのサブネットリソースをcountで複数作ってそれをoutputで他のモジュールに渡して利用しておりました resource "aws_subnet" "priv…

Intellij IDEA の ideavim で h,j,k,l で連続移動できない場合の修正方法

自宅のMacでIntellij IDEAにideavimのプラグインを入れて使っているんですが、なぜか、h,j,k,lのキーバインドで移動ができず困っていたらこちらにソリューションが記載されていて、試してみたら解消できたのでメモ t.co 実行したコマンド defaults write -g …

Bashの変数で大文字、小文字の変換をsedを使わないでやる方法

mattnさんの以下ツイートが流れてきてめちゃ便利じゃんと感動したのでメモ 今日の bash tips: 変数の文字列を先頭大文字にしたり全て大文字/小文字にしたりするのに sed は使わない。$ os=linux; echo ${os^}Linux$ os=linux; echo ${os^^}LINUX$ os=LinuX; …

dein.vimのキャッシュクリア方法

Vim

dein.vimを使っていてなんかプラグインがうまく動かなくなるときがある、そういうときは大体dein.vimのキャッシュクリアで直ったりする。 方法としては以下コマンドをVim上で実施するだけ call dein#recache_runtimepath()

php-fpm + apache環境での環境変数の持たせ方

php-fpm環境下でApache httpdのSetEnvで設定された環境変数は、PHPのenv()等では取得できるが、 execで実行されるコマンドには、SetEnvで設定された環境変数が反映されなかったので(php-fpmの仕様?)実施した回避策を書く! 要約 ApacheのSetEnvは使わず/e…

mysqldumpをするときによく使うオプションとリストア方法

概要 mysqldumpする時に色々と気をつける必要があるけど結構忘れがちなのでメモ オプションは、mysql5.6公式リファンレスに記載の内容をベースとして設定。 https://dev.mysql.com/doc/refman/5.6/ja/mysqldump.html 手順 事前準備 --default-character-set…

SQLを勉強したい時に活用できる無料サイト

基本的なSQLを学びたい場合、以下の2つのサイトで事足りるなと思ったのでメモ SQL bolt sqlbolt.com 英語だけど問題もシンプルなのでそんなに理解に苦しむことなく、サクサクと進めることができ、一通りのSQL構文を身につけることができるので、オススメです…

Pythonでインストールされているはずのpipモジュールが読み込みできない場合の対処

boto3を使ってデプロイスクリプトを作成していたら、インストールされているはずのboto3が読み込みできないというエラーが発生 $ python3 test.py Traceback (most recent call last): File "test.py", line 1, in <module> import boto3 ModuleNotFoundError: No mo</module>…

GitでAuthorを間違えてしまった場合の対応方法

Git

何度もプライベートのリポジトリに会社のAuthor情報でCommit&Pushしてしまいその度にAuthor情報を修正する日々を過ごしているのでメモとして残しておきます。 前提 git config --globalで会社のAuthor情報を登録している プライベートで利用しているリポジ…

SSHの秘密鍵をAWS Secret Managerで管理する

AWS

要点 秘密鍵をバイナリ形式でSecretManagerに登録 バイナリ形式でSecretManagerへ登録するにはCLIで実行する必要がある AWS CLIで呼び出してBase64でデコードして使う AWS CLIによるSecretManagerへ秘密鍵をバイナリ形式で登録する $ aws secretsmanager cre…

PHP7.3環境でmecabを使えるようにする

PHP

とある業務でPHP5.5からPHP7.3へバージョンアップする必要が発生しまして、その環境ではphp-mecabをつかっているんですが、どうもPHP7系だとパッケージマネージャーでインストールできないっぽいので、ソースからコンパイルしてインストールする必要がありそ…

DBの概要を勉強するのに良い無料動画

せお丸さんのYoutubeチャンネルのデータベース入門講座が良かったのでメモ 【2020年版】データベース+SQL入門|MySQL/PostgreSQL/Oracleなどデータベースの使い方や役割・SQLについて初心者向けに6分で解説✅ www.youtube.com データベース設計入門#1 リレー…

tmuxでコピーモードを使う

めちゃ便利なのでみんな使ったほうがいいやつだけど、ちょっと使わないとすぐ忘れてしまうやつですはい。 コピーモード開始 Prefix + [ 選択範囲指定 Vimと同様にShift + vで線形選択するか、Spaceキーでコピー範囲を指定する コピー完了 Enterキーを押す 貼…

【Rails】MinitestでのテストをGuardで自動化して表示結果に色をつける

テストに関するGemを以下のようにGemfileへ記述する group :test do gem 'rails-controller-testing', '1.0.2' gem 'minitest', '5.10.3' gem 'minitest-reporters', '1.1.14' gem 'guard', '2.13.0' gem 'guard-minitest', '2.4.4' end bundle install実行…

【Linux】リソース状況を確認するときによく使うコマンドたち

以下のリソース状況を確認するときによく使うコマンドたち。 CPU システム全体のCPU使用率 プロセス毎のCPU使用率 LoadAverage(負荷平均) メモリ システム全体のメモリ使用量 プロセス毎のメモリ使用量 スワップ スワップ領域の使用状況 スワップイン・ス…

Go言語の勉強方法

最近ISUCONの利用言語でもほとんどGo言語になっていて、CLIツールやインフラ周りでかなりの存在感を出してきているGo言語。 直近のISUCONでは最も利用されている言語のようですね〜。 これはインフラエンジニアとしてGo言語知らんとは言えない状況です。 直…

【iTerm2】tmuxでマウス操作を有効にしているときにマウスでコピペできないときにやること

これ、いつも忘れてしまうので書いておこう。 というのも自分はtmuxを使っていてマウス操作も有効にしているのだけど、Mac上のターミナルであれば特に気にならない(tmuxのコピペがMacのクリップボードに保存されるため)けど、踏み台で使っているtmuxのコピ…

MySQLで時間のかかっているクエリを強制終了させる

DB触ってない勢なのでDB周りの運用を覚えていかないとやばい〜、というわけで最近ちょくちょく発生しているMySQLで時間のかかっているSELECT文を強制終了させるというオペレーションの備忘録として残しておきます。 この対応が最高にイケていないというのは…

VScodeのVimプラグインでh,j,k,lキー押しっぱなしで移動できない問題

最近のVScodeちゃんの出来が良すぎてVimを使い続けていく気持ちを維持できなくなってきている今日このごろでございます・・・>< いやー、この問題なんだけども職場ではMacbook Pro使ってて家ではMacbook Air使ってるんですが、自体のMacのVScodeでしか起き…

【参加レポ】SRE Next 2020に参加してきた!

ブログに書くまでがSRE Nextというわけで参加レポ書いていくよ! というか今年は週一ぐらいで頑張ってブログ書きたいと思っていたのに今年初ブログですわ・・・^^ まぁ、そんなわけでSRE Next2020に同僚と参加してきましたよ! sre-next.dev もちろん早期…

2019年の振り返りと2020年の目標

なんだかあっという間の2019年でした〜。 でもなかなか濃厚な一年でもあったような気もする。 3人目の子供が産まれる(2018年末だけども) 虫歯を11本治療(あとは親不知の抜歯のみ) AWS触り始めてとりあえずSAA取得 セブ島に一ヶ月語学留学 転職し、名ばか…

【厳選】AWSアソシエイト試験を突破するための公式ドキュメントおよびチュートリアル

AWS

以下に挙げたAWS公式ドキュメントを読んでチュートリアルを実施していればAWSをいじった経験がなくてもアソシエイト試験は軽々突破できるぜよ!! そう信じて頑張っていこうぜよ!! コンピューティング docs.aws.amazon.com docs.aws.amazon.com docs.aws.a…

【Python】リストの要素を頻出順でソートする

やりたいこと 例えば以下のようなリストを [5, 4, 3, 5, 5, 5, 4, 4, 3, 2] こうしたい場合のTipsです [5, 5, 5, 5, 4, 4, 4, 3, 3, 2] できあがったコード from collections import Counter a = [5, 4, 3, 5, 5, 5, 4, 4, 3, 2] counter = Counter(a) resul…