yyp٩( 'ω' )و

色々触って遊んでます

自分がTILでよく見返しているTipsをまとめる

はじめに

毎日ではないですが、新しいコマンド等を知ったときにTIL*1をつけています。

github.com

チートシート的に見返すことも多く、TILのリポジトリで探すのが若干面倒というのもあるのでここでまとめてみます。
使えると便利だけど忘れてしまうコマンド集的な雰囲気になるかと思います。
MySQLPostgreSQLは既にTILリポジトリ内でチートシートを作成しているため、ここでは作成しません。

git

  • ブランチをリネームする
    • git branch -m OLDNAME NEWNAME
  • 現在作業中のブランチを表示する
    • git branch --contains
  • 空のコミットを作成する
    • git commit --allow-empty -m "first commit"
  • 派生元ブランチをmasterに変更する
    • git rebase --onto master <current derivation branch> <current branch>
  • masterブランチでの変更を他のブランチに取り込む
    • git checkout <other branch>
    • 上記実行後 git rebase master
  • コメント付きでgit stash
    • git stash save "<message>"
  • stashを削除
    • git stash drop <want to delete stash name>
  • git側でもファイルの権限を変更する(例は実行権限を付与)
    • git update-index --add --chmod=+x <filename>

aws cli

  • S3にアップロード
    • aws s3 cp <アップロードしたいファイルのパス> s3://<アップロード先バケット名>/<ディレクトリ>
  • S3からダウンロード
    • aws s3 cp s3://<ダウンロードしたいファイルがあるバケット名>/<ディレクトリ> <ダウンロード先のパス>
      ちなみにS3-ローカル間のアップロード/ダウンロードはAWSコンソールよりもCLIの方が早いです。
      サイズが大きいファイルはCLIでやりとりするのがおすすめです。

他のAWS CLIコマンドに関してはオプションも多いので都度ドキュメント見ちゃってます…今度まとめようかな。

nginx

  • configファイル変更後syntax errorがないかチェックする
    • nginx -t
  • configファイル変更後リロードする
    • nginx -s reload

まとめ

他にもありそうですが、分量的にもちょうどよさそうなのでこの辺りにしておきます。
追加したくなったら第2弾で書くか、多い場合wikiなど作ろうかなと思っています。

*1:Today I Learnedの頭文字。その日学んだことをアウトプットすること。同名のGitHubリポジトリを作成して行うことが多いようです。

普段使いのvimコマンド

はじめに

vim便利ですよね。
便利ですが、できることが多すぎて全て覚えるのは難しい…
そこでこの記事では私が普段使っているvimコマンドをまとめてみます。
今回紹介するコマンドを使えれば割と不自由せずにvimを使えるかな〜と思います(今のところ私は不自由していません)。

カーソル移動

下に移動 j
上に移動 k
左に移動 h
右に移動 l
次の単語の頭に飛ぶ w
次の単語のお尻に飛ぶ e
いずれも 数字 + コマンド でその分だけ飛べる
例えば 10j と入力すると10行下に飛べる
ファイルの一番最初に移動 gg
ファイルの一番最後に移動 Shift + g

文字入力系

カーソルの前に文字挿入 i
カーソルの後ろに文字挿入 a
カーソルがある箇所の文字を消してインサートモードに s
ノーマルモードに戻る esc
文字削除 x
単語削除 削除したい単語の数 + dw
10単語削除したい場合 10dw と入力
行削除 削除したい行数 + dd
10行削除したい場合 10dd と入力
行の先頭に文字入力 Shift + i
行の最後尾に文字入力 Shift + a
複数行に同じ文字を入れたい Ctrl + v で矩形選択 → Shift + i または Shift + a で入力モードへ → 入力後esc

検索・置換系

検索系

文書の先頭から検索 /検索したい文字列
hoge を検索したい場合 /hoge と入力
文書の最後から検索 ?検索したい文字列
次の検索結果へ n
前の検索結果へ Shift + n
大文字小文字無視して検索 set ignorecase
大文字小文字無視はvimrcで設定しておくと便利です。

置換系

文字列置換 :%s/置換前の文字列/置換後の文字列/オプション
※オプション
c その都度置換するか聞いてくれる
g ファイル中の文字列を全て置換

表示系

表示系のコマンドは大体vimrcに入れていますが、一時的に非表示にしたりすることがあります。
行数表示 :set number
行数非表示 :set nonumber
改行を表示 :set list
改行を非表示 :set nolist

まとめ

これくらい覚えていれば割と快適にvimを使えるかなと思います。
というか私が覚えられるのはこのくらいが限界です…笑
vimrcもGitHubに上げているので、興味のある方は覗いてみてください。

github.com

(ちなみに私のvimでは寿司が流れます)

「Hey」を使ってみた

はじめに

いつものようにインターネットをさまよっていると、こんな記事を見つけました。

lifehacking.jp

Hey…?面白そう!と思い、2週間のフリートライアルもあるとのことなので、試してみることにしました。
※Heyについての説明は上の記事が分かりやすいので、この記事では詳しく説明はしません。

初期設定

まずhey.comのメールアドレスを取得。
それだけではメール整理を体験することができないので、既存のメールアカウントからの転送設定を行いました。
私はgmailのアドレスを複数持っているのでその転送設定と、 icloudのメールアドレスも持っているのでそちらも転送するように設定しました。

メールを振り分ける

Heyには3種類のメールボックスがあります。
1. Imbox
2. The Feed
3. Paper Trail
新しくメールが届くと、メールの振り分けをするポップアップがでます。
このポップアップから、どのメールボックスに振り分けるか決めていきます。
私は下記のように振り分けています。
1. Imbox: 自分が何かしらのアクションをする必要があるメール
2. The Feed: メールマガジンなど
3. Paper Trail: 買い物をした時の領収書など

一度振り分けてしまうと、同じ宛先から来たメールは自動的に振り分けられます。

2週間後

そんな感じで、新しい宛先からのメールを振り分け、たまにFeedを見て、買い物をして…
2週間が経ちました。
短い間ですが使ってみて、自分がアクションする必要があるメールを見逃すことがなく、使いやすいな〜という印象を持っています。
Gmailでその設定を自分でしようとすると結構難しく、見逃すこともなくはなかったです。
(好きなアーティストのライブの当選通知を見逃していて、振込期限ギリギリで気づいて慌てたこともあります…)
また、これは私が転送設定をしたからなのですが、持っているメールアカウントのメールを一括管理できることも非常に便利でした。
場合によってはログインし直さないとメールを見ることができない、パスワードなんだっけ…?となることも度々あったので、
Heyで統合できたのはとても便利でした。

まとめ

気に入ったので、トライアルが終了した後も使い続けることにしました。
快適なメールライフを手に入れた!
私のようにメールアカウントを複数持っている人、メールマガジンをたくさん登録していて要返信のメールを見逃すのが心配な人にはおすすめです。
ただ、トライアル終了後は有料なので、まずトライアルで試してみて、気に入ったら課金がいいかなと思います。

AWS SAAがなかなか受験できないのでUnityに入門した(n回目)

はじめに

前回の記事までAWS ソリューションアーキテクト アソシエイトの受験に向けて学習を進めていました。
3月くらいに受験できたらいいな〜と思っていたのですが、新型コロナウイルスが流行してしまったため、3月の受験を断念しました。
現在は試験時に対策等されているのかもしれませんが*1、あまり受験する気になれないので、学習も中断しています。
ただ、何かしたい。通勤時間が減ったことにより増えた時間を有効に使いたい…!
そう思い、Unityに何度目かの入門をしました。

おとも

今回のお供はこちら。

やさしい説明とねこのおかげで最後まで完走できました!

作ったもの

テキストで作成するゲームは最後まで全部作りました。例えばこんな感じ↓

まとめ

以前はコードとかも意味を理解しないまま写経していたのですが、
最近は仕事でコードを読むことが増えてきたこともあり、理解度が上がったような気がします。
ただ、ゲーム作りで必要とされるスキルが多すぎて、また挫折してしまいそうですが、
何かしらの何かをできたらな〜と思っています。

*1:調べてみると、自宅での受験もできるようですね。条件がちょっと大変そうですが… blog.trainocate.co.jp

AWS ソリューションアーキテクト アソシエイト 学習記録②

これまでの記録

AWS ソリューションアーキテクト アソシエイト 学習記録① - yyp٩( 'ω' )و

勉強のお供

参考書

こちらの参考書を使っています。

徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書

徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書

時間記録アプリ

Timeloggerというアプリで学習時間を記録してみています。

このブログ

このブログに毎週学習記録を書いてみようかなと思っています。

AWS Black Belt(new!)

AWS Black Beltで理解が足りていないところを補っていこうと思っています。

今週の記録 (2/17〜2/24)

学習時間

2時間18分でした。
累積学習時間 05:18 ※学習時間にはブログを書く時間は含みません。

学習内容

参考書を一周して気が抜けてしまったのか今週はあまり進められませんでした。
EBSについて理解が足りていなかったのが先週分かったので、Black Beltを見ました。

aws.amazon.com

先週ざっと一周した中で苦手だなと思ったところをもう一度読んだりもしています。
来週は模擬問題も解いてみたいなと思っています。

AWS ソリューションアーキテクト アソシエイト 学習記録①

まえがき

AWS ソリューションアーキテクト アソシエイト(以下AWS SAA)の勉強を始めました。
いつ受験するかは特に決めていないのですが、1ヶ月後くらいに受験できたらいいかな〜と思っています。

AWS経験について

AWS SAAの受験対象はAWS実務経験1年以上となっています。*1
私はインフラエンジニアとして働き始めてからはおおよそ2年、AWSでの実務経験も同じくらいです。
EC2などベーシックなインフラ周りのサービスはだいたい触ったことがあり、ECSやCloudformation、SystemsManagerなんかもがっつり使ったことがあります。
LAMP環境をCloudFormationで作って!と言われたらできるくらいのレベル感ですかね…

勉強のお供

参考書

まずはこちら。

徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書

徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書

試験が新しくなった時に受験しようかと買って、なんやかんやで受験せずに眠ってた参考書です。

時間記録アプリ

Timeloggerというアプリで学習時間を記録してみることにしました。
項目を自分で設定して、開始時と終了時にタップするだけなので気軽に記録できます。

このブログ

このブログに毎週学習記録を書いてみようかなと思っています。

今週の記録

学習時間

2時間59分でした。
累積学習時間 02:59 ※学習時間にはブログを書く時間は含みません。

学習内容

参考書を1週しました。
章末の演習問題も一通りやってみたところ、第3章の「AWSのパフォーマンス」の章が苦手なようです。
普段インスタンスの種類やサイズは気にしているのですが、EBSの種類はあまり気にしたことがなかったのであんまりピンとこないです…
これからは意識してみようかと思います。

AWS CLIのコマンド補完を有効にする

まえがき

AWS CLIはコマンド補完ができないのか〜不便だな〜と思って使っていたのですが、組み込みで補完機能が入っていることを先日知りました。
便利なので補完を有効にします。

環境

補完を有効にする

公式ドキュメントに沿って進めます。

aws_completerを探してパスに追加する

aws_completerがコマンドの補完をしてくれる本体みたいです。
私の場合は下記にありました。

% which aws_completer
$HOME/Library/Python/3.7/bin//aws_completer

aws_completerが含まれているフォルダのパスを.zshrcに書いてパスに追加します。

export PATH=$HOME/Library/Python/3.7/bin:$PATH

コマンド補完を有効にする

パスに追加しただけでは有効にならないので、スクリプトを実行します。

% source $HOME/Library/Python/3.7/bin/aws_zsh_completer.sh  

これもシェルにログインするたびに実行する必要があるので.zshrcに書いておきます。
これで有効になっているのでAWS CLIで補完ができるかどうか試してみます。
aws sまで入力してタブを押すと下記のようにsで始まるコマンドが出てきたらOKです。

% aws s3
s3                 sagemaker          secretsmanager     service-quotas     ses                sms                sqs                storagegateway     swf
s3api              sagemaker-runtime  securityhub        servicecatalog     shield             snowball           ssm                sts
s3control          sdb                serverlessrepo     servicediscovery   signer             sns                stepfunctions      support

まとめ

AWS CLIはコマンドが多くて覚えられないので、補完してくれるのはとても便利だなと思います。
ただ、デフォルトで有効だともっと便利だなあと…
私はインフラなのでインスタンスに入って作業することが多いので、インスタンスごとに有効にするのはちょっと大変だったり…
もしインスタンスで実行する必要がある場合、構築時にユーザデータとかでスクリプトを実行するようにしたら良さそうな感じです。
Dockerの場合はDockerfileに書いておけば良さそうですね。