omuriceman's blog

iOS / AWS / Firebase / JavaScript / Deep Learning を中心とした技術を面白く紹介します!

無料で使えるClipboardの履歴管理アプリ「Pasta」が便利 | Macユーザーは使ってみて!

f:id:omuriceman:20190810154703p:plain

先日ProductHuntをパラパラと眺めていたらPastaというアプリを見つけた。

www.producthunt.com

端的に機能の説明をすると「Clipboardの履歴を管理できるアプリ」である。

私の場合、一度に複数のコピーをして貼り付けたりするケースがよくあるのだが、そんな時は標準のメモアプリに貼り付けたり、強引な時はブラウザのURL入力欄にペーストして退避させたりなどして効率が悪いなと感じることがあった。

このPastaはなかなか便利だし基本的な使い方は無料なのでMacユーザーは是非ダウンロードしてほしい。

App Storeのリンクはこちらから。

Pasta

Pasta

  • WonderBit S.L.U.
  • 仕事効率化
  • 無料
apps.apple.com

Clipboardの履歴管理アプリは他にもあるのだが、有料・デザインが好みでない・機能が足りないということがあり、当面はPastaを常駐させていきたいと思っている

画面説明

f:id:omuriceman:20190809172911p:plain

画面はこんな感じにになっている。macOS Mojaveのダークモードに対応しているので、Macの設定に合わせて画面が黒くなっている。

f:id:omuriceman:20190810140514p:plain

また、普段はステータスバーに常駐しているので画面を邪魔しない。

逆に画面に出し続けることも可能で、それはアプリ画面上に表示されている錨マークを選択すれば良い。

f:id:omuriceman:20190810140909p:plain

機能紹介

簡単に機能紹介をしたいと思う。

文字列検索+フィルタリング

コピーした履歴を検索することができて、使用したアプリやファイル形式でのフィルタリングが可能になっている。アプリのフィルタリングは、用途の違うコピーを分けることが簡単になるので使えるのではないかと思う。

f:id:omuriceman:20190810144238g:plain

キーボードショートカットが使いやすい

もう1つオススメしたいのがキーボードショートカットだ。コピーした内容を素早く呼び出したい時に、⌘⌥Vで画面を起動させ⌘1~9で過去のコピー履歴を呼び出すことができる。

こちらについては画面の操作を見てもらうとわかりやすい。

f:id:omuriceman:20190810151945g:plain
⌘⌥Vで起動して2番目を⌘2で選択して貼り付けている

秘匿性が高い

パスワードのコピーも安全に行ってくれるようだ。

When copying sensitive information from apps like 1Password, Pasta will obfuscate it on screen and will encrypt it when saved to disk.

翻訳すると以下のような内容になる。

1Passwordのようなアプリから機密情報をコピーする場合、Pastaは画面上でそれを難読化し、ディスクに保存するときに暗号化します。

まとめ

  • コピー履歴を管理できるPastaを使い始めた
  • 使用したアプリごとのフィルターやファイルタイプごとにもフィルターができる
  • 一度に複数の要素をコピーしたいときに使えるだけでなく作業の振り返りなどにも利用できそう
  • 無料で起動も早いので常駐させておいて損はない

getpasta.com

履歴の数や画面のレイアウトのカスタマイズなどを行いたい場合は、¥1,400でアップグレードが可能なので気に入ったら購入してみてほしい。

ターミナルの操作を録画してgifにする「terminalizer」をさらに映えさせるためのTIPS

技術ブログを映えさせるためにいろんなツールを調査しているのですが、terminalizerというターミナル操作を録画してgifにするOSSを利用することにしました。

github.com

terminalizerはgifにするときに色々なカスタマイズがあるのですが、これをいじることで画面の見栄えにかなり影響がでます。使い方と合わせてブログで紹介したいと思います。

インストール

公式では下記のコマンドを入力すればインストールできると書いてあります。

npm install -g terminalizer

私の場合は初めてインストールした時に「Error: EACCES: permission denied, ~」というエラーが出てしまいました。sudoをつけてもインストールできなかったのですが、最終的に以下の方法でインストールができました。

sudo npm install -g terminalizer --unsafe-perm=true --allow-root

使い方

terminalizerで必要な操作は大きく3つだけです。

record(録画)

terminalizer record <recordingFile>

で録画を開始します。

f:id:omuriceman:20190804220655g:plain

play(再生)

terminalizer play <recordingFile>

recordした内容を再生します。

f:id:omuriceman:20190804224735g:plain

render(gif出力)

terminalizer render <recordingFile>

recordした内容をgifに出力します。

f:id:omuriceman:20190804225249g:plain

見栄えを良くするためのTIPS

さて一見便利そうなterminalizerですが、デフォルトの設定では少し見辛いかな〜と思うことがあります。 皆さんも私の意見を参考にしつつ自分の最適な設定を見つけてもらえれば幸いです。

f:id:omuriceman:20190804232710g:plain
デフォルト設定のterminalizer

モバイル端末で見るともはや何も見えませんね!

フォントサイズの変更する

まず何より文字が小さくて見辛いのでフォントサイズを12から20にあげました。 全体の設定に反映する場合は、.terminalizer/config.ymlのfontSizeを変更すればOKです。

f:id:omuriceman:20190804233036g:plain
フォントサイズを変更

少し修正するだけで見やすくなったと思います。

行数/列数を明示的に指定して不要な間を消す

さて次は行数と列数を変更します。上記までは行数と列数がautoになっていたので、下の方に不必要な隙間ができていました。

f:id:omuriceman:20190804235301p:plain

最適な設定は録画する内容によって変わるかと思いますので難しいのですが、行数を10・列数を50に設定しています。

f:id:omuriceman:20190804234050g:plain
行列の設定変更例

ブログだけでなくSNSなどに投稿する場合にも見栄えが良く見えるのではないでしょうか。

gif画像のフレームのタイトルを変更する

こちらの部分のことです。Terminalizerと書いてあるとちょっと気になりますよね。

f:id:omuriceman:20190804234254p:plain

上記と同じconfig.ymlファイルのframeBox->titleを変更します。私の場合は「omuriceman」としました。

.bash_profileでターミナルの表示名を変更する

これはterminalizerの設定ではありませんが、.bash_profileでプロンプトの表示形式をカスタマイズすることができます。 私の設定は下記の通りです。

export PS1="🌈\[\e[33m\] \W \[\e[0m\]\$ "

ユーザー名などの情報についてはgif出力時に余計な幅にしかならないので、がっつり省きました。

設定できる内容については、とても良くまとまっている記事がありましたので紹介します。

qiita.com

色々と設定するとこんな感じです。 f:id:omuriceman:20190804220655g:plain

まとめ

  • terminalizerはターミナル操作をgifにしてくれる
  • ブログやSNSなどで発信したり、コマンドの操作共有などに使えそう
  • そのままの設定だと見辛いので修正を加えるべきポイントをまとめた

AWS Amplify Consoleの手動デプロイでAccessDeniedになった時の対処法 | zipファイルの圧縮に注意

以前ブログでも紹介しましたAWS Amplify Consoleですが、今まではGitプロバイダーを利用したデプロイしかありませんでした。

omuriceman.hatenablog.com

2019年7月より上記以外の様々なデプロイ方法がサポートされました。

f:id:omuriceman:20190728030119p:plain

aws.amazon.com

以下のようなデプロイ方法があります。

私はこれらの機能をブログで紹介するべく調査を行なっておりました。

しかし・・・

f:id:omuriceman:20190728005323p:plain

何度やってもzipファイルのアップロードがAccessDeniedされてしまう!という事態が発生。

色々と解決方法を模索していたのですが、zipファイルの圧縮方法に問題があることが判明しました。その原因についてブログにまとめていきたいと思います。

Macユーザー向けですが他のOS環境でも起こるかもしれません。

フォルダ構成について

今回デプロイを行うものはdistというフォルダの中にHTMLファイルとオムライスの画像が入っているだけのフォルダです。

dist
|--.DS_Store
|--index.html
|--omurice.png

無事にデプロイされると以下のような状態で表示されます。

f:id:omuriceman:20190728013526p:plain

zipファイルへの圧縮方法について

当初はGUIでフォルダの圧縮を行なっておりました。

f:id:omuriceman:20190728012127p:plain

残念ながらこのやり方だとうまくいきません。

次に私はAWS公式のリリースブログに書いてある圧縮方法を試してみることにしました。

aws.amazon.com

$ cd dist #build directory
$ zip -r dist.zip *

ターミナルでコマンドを実行してzipへの圧縮を行います。

この方法でデプロイすることに成功しましたGUI上で解凍すると同じファイルが展開されるのに、、、何故でしょう。

なぜデプロイに失敗したのか

上記の2つのzipファイルを比べてみることにしました。GUIで作成した方を「dist_gui.zip」、terminalで作成したzipファイルを「dist_terminal.zip」として比較してみることにしました。

同じファイルなのにzipのファイル中身が違う

まず同じファイルが入っているはずなのにファイルサイズに違いがありました。

$ ls -la
-rw-r--r--@  1 omuriceman staff  17112  7 27 22:12 dist_gui.zip
-rw-r--r--@  1 omuriceman staff  16228  7 27 22:12 dist_terminal.zip

次にファイルの情報について確認してみます。zipinfoコマンドを利用します。

$ zipinfo dist_gui.zip 

Zip file size: 17112 bytes, number of entries: 6
drwxr-xr-x  2.1 unx        0 bx stor 19-Jul-27 22:07 dist/
-rw-r--r--  2.1 unx      385 bX defN 19-Jul-27 21:56 dist/index.html
-rw-r--r--  2.1 unx    15702 bX defN 19-Jul-27 21:59 dist/omurice.png
drwxrwxr-x  2.1 unx        0 bx stor 19-Jul-27 22:12 __MACOSX/
drwxrwxr-x  2.1 unx        0 bx stor 19-Jul-27 22:12 __MACOSX/dist/
-rw-r--r--  2.1 unx      480 bX defN 19-Jul-27 21:59 __MACOSX/dist/._omurice.png
6 files, 16567 bytes uncompressed, 16246 bytes compressed:  1.9%
$ zipinfo dist_terminal.zip 

Zip file size: 16228 bytes, number of entries: 2
-rw-r--r--  3.0 unx      385 tx defN 19-Jul-27 21:56 index.html
-rw-r--r--  3.0 unx    15702 bx defN 19-Jul-27 21:59 omurice.png
2 files, 16087 bytes uncompressed, 15908 bytes compressed:  1.1%

ここで判明したことがあります。

  1. __MACOSXという謎のフォルダが出現
  2. その中にあるファイルが影響して容量が大きくなっている
  3. ファイルの階層情報に違いが出ている

ということです。

このファイルの階層情報を合わせることができればうまくデプロイできそうな予感がします。

他の圧縮方法で試してみる

ではGUI上でどうやったらうまく圧縮できるでしょうか。以下のスクリーンショットをご覧ください。

f:id:omuriceman:20190728022106p:plain

先ほどはフォルダに対して圧縮を行なっていましたが、今回はフォルダ内部のファイルを全選択して圧縮を行なっています。

この操作で圧縮されたファイル情報はどのようになるでしょうか。 dist_guifiles.zipという名前にして同じようにzipinfoで比較してみました。

$ zipinfo dist_guifiles.zip 

Zip file size: 16836 bytes, number of entries: 4
-rw-r--r--  2.1 unx      385 bX defN 19-Jul-27 21:56 index.html
-rw-r--r--  2.1 unx    15702 bX defN 19-Jul-27 21:59 omurice.png
drwxrwxr-x  2.1 unx        0 bx stor 19-Jul-27 22:25 __MACOSX/
-rw-r--r--  2.1 unx      480 bX defN 19-Jul-27 21:59 __MACOSX/._omurice.png
4 files, 16567 bytes uncompressed, 16246 bytes compressed:  1.9%

__MACOSXフォルダができあがるのはさておき、ファイルの階層情報は問題なさそうなのでドラッグアンドドロップでアップロードしてみることにします。

f:id:omuriceman:20190728024140g:plain

f:id:omuriceman:20190728022611p:plain

正常に表示されました!

まとめ

  • AWS Amplify Consoleに新しいデプロイ方法が追加された
  • GUIでフォルダを圧縮してzipファイルを作成するとデプロイに失敗する
  • オススメのzip化の流れは以下の通り

AWS Amplify Consoleに手動デプロイする際のzipファイルへの圧縮に関してはフォルダを圧縮する階層まで遷移して、

$ zip -r xxx.zip *

とするのが一番安全で簡単です。GUI上でやるのは面倒なのでやめましょう。

メモ

news.mynavi.jp

  • zipコマンドのオプション

www.atmarkit.co.jp