macOSで撮ったスクリーンショットを日付フォルダへ自動で振り分ける

とにかくフォルダが整理されていないと気が済まないのであります。

ではやっていきます。

スクリーンショットの保存場所を変更する

保存場所を作成

$ mkdir ~/Pictures/ScreenShots

保存場所の変更

$ defaults write com.apple.screencapture location ~/Pictures/ScreenShots

SystemUIServerを再起動

$ killall SystemUIServer

これで/Users/[ユーザー名]/Picutures/Screenshots内にスクリーンショットが保存されるようになる。

Automatorで自動振り分け設定をする

設定の流れについてはこちらの記事に書いてあるとおりなので省略します。

Automatorに設定するスクリプトを以下のものにしてください。 (ユーザー名の部分を変えること)

IFS=$'\n'

ssdir=/Users/[ユーザー名]/Pictures/ScreenShots
today=$(date +"%Y%m%d")

for f in "$@"
do

if [ -f $f ]; then
    if [ ! -d $ssdir/$today ]; then
        mkdir $ssdir/$today
    fi  
    mv $f $ssdir/$today
fi

done

ScreenShotsフォルダにファイルが追加されたら日付フォルダに移動します。 日付フォルダが存在していなければ作成します。

下記のような感じになるようにしています。

/Users/[ユーザー名]/Pictures/ScreenShots/20170605/スクリーンショット 2017-06-05 21.03.51.png

まとめ

もう夏ですね。

参考

docker-lambdaで簡単なLambda開発環境を構築

f:id:ykarakita:20170528025727p:plain使ってみた時に調べたことをメモ。

前提

  • Mac
  • Docker version 17.03.1-ce, build c6d412e
  • aws-cli/1.11.82 Python/3.6.1 Darwin/16.6.0 botocore/1.5.45
  • こちらの記事を参考にデプロイパッケージ作成用のImageをmylambdaという名前で準備済み
  • Python3.6のLambda環境を作るよ

手順

1. 新規作成Directory内に以下のファイルを作成する

  • lambda_function.py
    • def lambda_handler(event, context):がhandlerになる
  • requirements.txt
# こんな感じ
requests
# こんな感じ
{
  "key3": "value3",
  "key2": "value2",
  "key1": "value1"
}

2. デプロイパッケージを作成する

$ docker run -v "$PWD":/var/task mylambda

実行するとdeploy_package.zipが作成される。

3. ローカルでFunctionを実行してみる

$ docker run -v "$PWD":/var/task lambci/lambda:python3.6 lambda_function.lambda_handler $(printf '%s' $(cat input.json))

すでにコンテナが存在する場合は

$ docker start -a [コンテナID]

Lambdaファンクションの実行結果が出力される。

4. AWS CLIを使ってlambdaにアップロードする

$ aws lambda create-function \
--role arn:aws:iam::[アカウントID]:role/lambda_basic_execution \
--runtime python3.6 \
--handler lambda_function.lambda_handler \
--zip-file fileb://./deploy_package.zip \
--region ap-northeast-1
--function-name MyTestFunction \

5. コードを更新する

aws lambda update-function-code \
--zip-file fileb://./deploy_package.zip \
--publish
--function-name MyTestFunction \

まとめ

Dockerばり便利。

参考にした記事