- 投稿日:2019-08-04T23:49:47+09:00
Mac標準機能のスクリーンショットの保存先とファイル名を変更する
設定変更背景
Macはアプリなど入れなくてもスクリーンショットを取得できるのですが、
保存先がデフォルトでデスクトップであったり、
ファイル名が日本語だったり、スペースが入っていたりで、コマンドラインから操作する時は面倒だったので
設定変更をしました。保存先
defaults write com.apple.screencapture location <ディレクトリのPATH> killall SystemUIServer保存先をデフォルトに戻す
defaults delete com.apple.screencapture location killall SystemUIServerファイル名の変更
OS X 10.11 El Capitanより追加されたセキュリティ機能、
SIP(System Integrity Protection)によって/Systemの領域がガードされている。
rootユーザでも書き込みできないとのこと。そのため以下のリンクのような手法では設定変更できません。
(あれこれやれば設定できるけど)
Changing the default screenshot filename色々いじって変更してもよいが、いじって欲しくないところをいじるのはあまり好きではないので
スクリプトで対応します。(原始的(笑))defaults write com.apple.screencapture name <ファイル名> killall SystemUIServer設定の確認
defaults read com.apple.screencapture { "include-date" = 1; "last-messagetrace-stamp" = "567529840.759799"; location = "<ディレクトリPATH>"; name = "<ファイル名>"; }スクリプトを作って置いておく
スクリーンショットをとると、以下のようにファイル名に空白が入るので
空白をアンダーバーに変更するスクリプトを置いておきます。ls -l -rw-r--r--@ 1 xxxxxx staff 2257995 12 29 01:33 <ファイル名> 2018-12-29 1.33.35.png cat rename.sh #!/bin/sh for A in $(ls | grep " " | sed -e s/" "/_/g) ; do mv "$(echo $A | sed -e s/_/' '/g)" $A ; done追記
ぶっちゃけスクリプト使わんかった(爆)
- 投稿日:2019-08-04T23:48:32+09:00
Mac環境で公開鍵、秘密鍵を作成する方法の備忘録
別にMacに限らずLinux環境であればできる手順ですが...
鍵の作成
$ cd ~/.ssh $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/xxxxxx/.ssh/id_rsa): #作成先確認 Enter passphrase (empty for no passphrase): #パスフレーズ入力 Enter same passphrase again: Your identification has been saved in /Users/xxxxxx/.ssh/id_rsa. Your public key has been saved in /Users/xxxxxx/.ssh/id_rsa.pub. The key fingerprint is: : 略 : $ ls -l total 16 -rw------- 1 xxxxxx staff 1876 12 25 21:16 id_rsa -rw-r--r-- 1 xxxxxx staff 403 12 25 21:16 id_rsa.pub鍵を使った接続
ssh -l <USER> -i <作った秘密鍵> <IPアドレス>
- 投稿日:2019-08-04T23:47:08+09:00
Mac環境で画面を半分によせる。(Mac操作系のメモ)
Windowsユーザだと、ウインドウズキー+→ or ← で
画面分割は色々できたのですが、Macではどのようにやるのか調べたのでメモ。残念なことに標準だとショートカットの実装がないとのこと(画面のデザイン思想が違うんだろうなぁと)
ShiftItのようなアプリを入れて、そのような機能を実装するか、
標準で実装されているSplit ViewををGUIで使用するのが選択肢になりそうです。
(Split Viewはまだショートカットがないらしい。)操作方法は画面左上の緑色のフルスクリーン表示ボタンを長押しして、右に配置するか、左に配置するかを決める感じでした。
(フルスクリーンからだとできないので、一旦フルスクリーンを解除してから行う必要がある。)
まぁせっかくフルスクリーンとか仮想デスクトップとかあるんだから、画面にごちゃごちゃ並べるんじゃないよってことかなとも思った。
- 投稿日:2019-08-04T23:21:15+09:00
Macにmecabをインストールする
MacにHomebrewの環境を整える
Xcodeをインストール
ターミナルから
$ xcode-select --installコマンドを発行すると
以下のようにインストールを要求される。ターミナル$ xcode-select --install xcode-select: note: install requested for command line developer tools同時にポップアップが出てくるので「インストール」を選択し利用規約に同意する。
ターミナル$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"途中でEnterの入力、インストールユーザのOSパスワードの入力を求められる。
Homebrewインストール完了確認
ターミナル$ brew doctor Your system is ready to brew.Homebrewを使ってMacにMeCabをインストールする
ターミナル$ brew install mecabMacにMeCabを利用するために辞書をインストールする
ターミナル$ brew install mecab-ipadicMacでMeCabを実行してみる
ターミナル$ mecabすると空白の行が出てくるのでそこに解析させたい文章なりを入力する。
例えば、「すもももももももものうち」と入力。すもももももももものうち すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ EOS上記のように解析結果が表示される。
- 投稿日:2019-08-04T19:11:36+09:00
MacでAWS Lambda関数(java)を作るまで
MacでAWS Lambda関数(java)を作るまで
思いつきで使った事のないMacBookAirを買い、思いつきでAWS Lambda関数を作ろうとしたものの、慣れないJavaScriptで書くのはストレスなので、慣れたJavaで作ろうとしたところ、すんなりといかなかったので残しておきます。
前提
- 2019.08.03現在のAWS Lambdaのランタイムは、ava-1.8.0-openjdk-Amazon linuxです
- homebrewというものがインストールされていること
- anyenvというものがインストールされていること
javaのインストール
java8の検索
Macにjavaをインストールします。lambdaランタイムがopenjdk8なのでhomebrewでopenjdkがインストールできるのか探します。
# おまじない $ brew tap caskroom/versions # openjdkを検索 $ brew search openjdk ==> Casks adoptopenjdk adoptopenjdk8openjdkのインストール
「adoptopenjdk8」という、いかにもjava8らしきものがあったのでこれをインストールします。途中でパスワードを聞かれますのでOSのパスワードを入力します。
# openjdk ver8をinstall $ brew cask install adoptopenjdk8 Updating Homebrew... ==> Auto-updated Homebrew! Updated 1 tap (homebrew/cask). No changes to formulae. ==> Satisfying dependencies ==> Downloading https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/downl ==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws ######################################################################## 100.0% ==> Verifying SHA-256 checksum for Cask 'adoptopenjdk8'. ==> Installing Cask adoptopenjdk8 ==> Running installer for adoptopenjdk8; your password may be necessary. ==> Package installers may write to any location; options such as --appdir are i Password: #osのパスワード入力 installer: Package name is AdoptOpenJDK installer: Installing at base path / installer: The install was successful. ? adoptopenjdk8 was successfully installed!javaバージョンの確認
macで有効になっているjavaバージョンを確認してみます。
$ java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)jenvのインストール
jenvはjavaのバージョンをフォルダ毎に指定したりとかいい感じにやってくれるものです。
ReadMeに沿ってインストールします。$ anyenv install jenvjenvにJavaを追加する
jenv経由でjavaをインストールできないので、インストールされたjavaをjenvに教えてあげる必要があります。
$ jenv add $(/usr/libexec/java_home) openjdk64-1.8.0.222 added 1.8.0.222 added 1.8 addedjavaバージョンの確認
jenvが扱えるjavaバージョンの確認
$ jenv versions * system (set by /Users/xxx/.anyenv/envs/jenv/version) 1.8 1.8.0.222 openjdk64-1.8.0.222Mavenのインストール
ライブラリの定義やビルドをしやすくしたいのでMavenも入れます。
Mavenの検索
Mavenもhomebrewで入れられました。
$ brew search maven ==> Formulae maven maven-completion maven-shell maven@3.2 maven@3.3 maven@3.5 ==> Casks mavensmate homebrew/cask-fonts/font-maven-proMavenのインストール
特にバージョンにはこだわらないので最新をインストール。
$ brew install maven Updating Homebrew... ==> Auto-updated Homebrew! Updated 2 taps (homebrew/cask and caskroom/versions). No changes to formulae. ==> Downloading https://www.apache.org/dyn/closer.cgi?path=maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz ==> Downloading from https://www-eu.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz ######################################################################## 100.0% ? /usr/local/Cellar/maven/3.6.1: 79 files, 10.2MB, built in 30 secondsVisual Studio Codeの設定
Eclipseでも良いのですが、軽いと噂のVisual Studio Codeを使ってみたいのでインストール。
Visual Studio Codeのインストール
Download Visual Studio Codeからダウンロードしてインストールしてください。
VS CodeにJavaの拡張機能を追加
こちらに纏まっていますので、こちらを参照して「Java Extension Pack」の追加を行って下さい。
「java開発環境をvisual-studio-code-で整える」
※jenvのおかげかJAVA_HOMEの設定はせずとも大丈夫でした。Javaの実装 & AWS Lambda関数にデプロイ
こちらに丁寧に纏まっていますので、こちらを参照して下さい。
「いまからはじめるJavaでAWS Lambda(ラムダ) 前編」AWS API Gateway
パブリックに呼び出せるように、AWS LambdaのトリガーをAPI Gatewayにします。
が、ここで大ハマりしました。
上記までで、AWS Lambdaのテストはうまくいくのですが、API Gatewayを作ってテストを実行すると502でエラーとなるのです。結論から言うと「API Gateway」の「統合リクエスト」の設定が初期値だとうまくいきませんでした。
AWS Lambdaにトリガーを設定
ここは素直に「+」ボタンでトリガーを追加して、下記のように選択します。
- API Gateway を選択
- API:素直に「新しいAPIを作成」
- セキュリティ:後からでも変更できるので、テストのしやすさを考えて「オープン」
統合リクエストの設定を変える
AWS Lambda コンソールにて、追加れたメソッドの「統合リクエスト」を選択します。
ここが大切です。
この中の「Lambdaプロキシ統合の使用」にチェックが入っているので、このチェックを外します。このチェックを外す事で、うまくいくようになりました。
まとめ
API GatewayからLambdaのJava を呼び出すところで、リクエストBODYのjsonの内容をJavaの入力パラメータのPOJOに値を詰める処理が動くわけですが、「Lambdaプロキシ統合の使用」にチェックが入っているとどうもここがうまくいきません。
推測するに、API Gatewayでは、リクエストの情報と一緒にAWSのメタな情報もセットで持ち回っており、「Lambdaプロキシ統合の使用」にチェックが入っていると、メタな情報もLambdaに渡せる反面、Lambda側でもそのつもりで受け取る実装にしておかないとダメで、今回の実装はjsonの内容しか受け取るようにしていなかったので失敗していたようです。
「Lambdaプロキシ統合の使用」のチェックを外すとリクエストBODYのみLambdaに渡すようになり、POJOで受け取れるようになりました。
- 投稿日:2019-08-04T00:59:01+09:00
Macにbrewでmavenインストールしようとしたらエラーが出た
動作環境
macOS Mojave 10.14.5
エラー内容
自分のMacにmavenをインストールしようとしたら、
以下のようなエラーが。。。Terminal$ brew install maven xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun Error: An exception occurred within a child process: CompilerSelectionError: maven cannot be built with any available compilers. Install GNU's GCC: brew install gccGCCを入れろって書いてあるので、「brew install gcc」を打ってみると、
また別のエラーが。Terminal$ brew install gcc Error: Xcode alone is not sufficient on Mojave. Install the Command Line Tools: xcode-select --install対処法
なので言われたとおりに
xcode-select --installを実行してみる。Terminal$ xcode-select --install xcode-select: note: install requested for command line developer toolsすると、自動的にポップアップが立ち上がるので、指示に従って進める。
→「インストール」を選択するとインストールが走るので、完了まで待つ。
改めてmavenのインストールコマンド実行したら、インストールできた!
Terminal$ brew install maven ==> Downloading https://www.apache.org/dyn/closer.cgi?path=maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz ==> Downloading from http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz ######################################################################## 100.0% ? /usr/local/Cellar/maven/3.6.1: 79 files, 10.2MB, built in 15 seconds $ mvn -v Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T04:00:29+09:00) Maven home: /usr/local/Cellar/maven/3.6.1/libexec Java version: 12.0.1, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/openjdk-12.0.1.jdk/Contents/Home Default locale: ja_JP, platform encoding: UTF-8 OS name: "mac os x", version: "10.14.5", arch: "x86_64", family: "mac"補足
MacOSをアップデートするとAppleのコマンドラインツールが使えなくなり、入れ直しが必要になることがあるとのこと。
Homebrewもこのコマンドラインツールを使っているらしく、影響が出たんですね。






