- 投稿日:2020-07-08T20:04:28+09:00
Macでコマンドラインからsleep
コマンドラインからMacをスリープさせる時(ターミナル使ってる時、いちいちマウスとかに手を伸ばしてメニューからスリープを呼び出すのがめんどくさいダメ人間)、
よくこのコマンドが紹介されています。$ osascript -e 'tell application "Finder" to sleep'Finderを呼び出してスリープさせるのですが、10.9以降ではosascriptを使わなくてもスリープさせられるんですね。
$ pmset sleepnow Sleeping now...(コマンドを実行した時点で画面が真っ暗になります。"Sleeping now..."はスリープから復旧した時ターミナルに表示されています)
(良い子のみんなはしないと思いますが)sshとかでリモートでログインしていて、うっかり上記コマンドを実行すると「あ…」ってことになると思います。
「システム環境設定」の「ネットワークアクセスによるスリープ解除」にチェックを入れて、そとからsshで入ろうとしたのですが、反応ありませんでした。
pmsetのmanを見るとnetworkoversleep - this setting affects how OS X networking presents shared network services during system sleep. This setting is not used by all platforms; changing its value is unsupported.とあるので、すべての環境で「ネットワークアクセスによるスリープ解除」は有効になるとは限らないようです。手元の環境(iMac+10.13)ではスリープ後、外部からsshで入れませんでした(Port Scanしたらポートも開いてなかったので完全に寝落ちしてましたね)
リモートでディスプレイだけオフにする場合は以下コマンド(使い状況はあまり無いと思いますが)。
$ pmset displaysleepnowちなみにsleepコマンドは、あくまでもコマンド実行の際、次のコマンドまで待機させるだけ。
$ date +%H:%M:%S && sleep 5 && date +%H:%M:%S 20:00:55 20:01:00
- 投稿日:2020-07-08T16:44:49+09:00
RabbitMQをインストールする(Windows/Mac/Docker)
最終更新日
2020年7月8日
検証を行ったOS/Dockerのバージョンは下記です。
- Windows 10 Home 64bit 2004 19041.329
- macOS Catalina 10.15.5
- Docker Desktop for Mac 2.3.0.3
インストールするもののバージョンは下記です。
- RabbitMQ 3.8.5
この記事が古くなった場合、下記の手順は最新のインストール手順とは異なっている可能性があります。その場合は公式ドキュメントをご確認ください。
Windowsの場合
Erlangのインストール
(1) https://erlang.org/download/otp_versions_tree.html からEralngのインストーラーをダウンロードしてください。
(2) インストーラーをダブルクリックしてください。
(3) [はい]をクリックしてください。
(4) [Next]をクリックしてください。
(5) [Next]をクリックしてください。
(6) [Install]をクリックしてください。
(7) [Close]をクリックしてください。
RabbitMQのインストール
(1) https://www.rabbitmq.com/install-windows.html#installer からRabbitMQのインストーラーをダウンロードしてください。
(2) インストーラーをダブルクリックしてください。
(3) [はい]をクリックしてください。
(4) [Next]をクリックしてください。
(5) [Install]をクリックしてください。
(6) [Windows セキュリティの重要な警告]が表示されたら[アクセスを許可する]をクリックしてください。
(7) [Next]をクリックしてください。
(8) [Finish]をクリックしてください。
(9) 環境変数
PATH
に、RabbitMQがインストールされたフォルダ\sbin
(例:C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.5\sbin
)を追加してください。RabbitMQの設定(必要に応じて)
(1) コマンドプロンプトで
rabbitmq-plugins enable rabbitmq_management
を実行してください。(2) コマンドプロンプトで
rabbitmq-plugins enable rabbitmq_tracing
を実行してください。macOSの場合
RabbitMQのインストール
(1) ターミナルで
brew install rabbitmq
を実行してください。Homebrewがインストールされていない場合は、公式サイトを参考にインストールしてください。
(2) 環境変数
PATH
に/usr/local/sbin
を追加してください。(3) ターミナルで
rabbitmq-server
を実行してください。これでRabbitMQが起動します。Ctrl + Cで停止します。
RabbitMQの設定(必要に応じて)
(1) ターミナルで
rabbitmq-plugins enable rabbitmq_management
を実行してください。(2) ターミナルで
rabbitmq-plugins enable rabbitmq_tracing
を実行してください。Dockerの場合
Dockerのインストール方法は別記事にて紹介しています(Windows 10 Proの場合 、 macOSの場合)
(1) 次のようなDockerfileを作成してください。
DockerfileFROM rabbitmq:3.8.5-management-alpine RUN rabbitmq-plugins enable rabbitmq_tracing EXPOSE 5672 15672(2) ターミナル(orコマンドプロンプト)でDockerfileを作成したフォルダに移動して、
docker image build -t rabbitmq-scd .
を実行してください。$ docker image build -t rabbitmq-scd . Sending build context to Docker daemon 2.048kB Step 1/3 : FROM rabbitmq:3.8.5-management-alpine 3.8.5-management-alpine: Pulling from library/rabbitmq df20fa9351a1: Pull complete 6a4ed0140701: Pull complete d144d94e32f5: Pull complete 4d0a1f15085c: Pull complete 3efe37eb67c8: Pull complete 21fb2255fd06: Pull complete 8d1fc732c7d2: Pull complete ebf280fe3644: Pull complete 947f27a4fe95: Pull complete Digest: sha256:7bb012930d5fa185ad5a52e0693096eb4628fba48b9ad7303edb09b80c47ad0c Status: Downloaded newer image for rabbitmq:3.8.5-management-alpine ---> 4e6d459e4748 Step 2/3 : RUN rabbitmq-plugins enable rabbitmq_tracing ---> Running in beba71787921 Enabling plugins on node rabbit@beba71787921: rabbitmq_tracing The following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_tracing rabbitmq_web_dispatch Applying plugin configuration to rabbit@beba71787921... The following plugins have been enabled: rabbitmq_tracing set 4 plugins. Offline change; changes will take effect at broker restart. Removing intermediate container beba71787921 ---> 8aacc20abf9a Step 3/3 : EXPOSE 5672 15672 ---> Running in f84d57362063 Removing intermediate container f84d57362063 ---> 0ab7f38dc713 Successfully built 0ab7f38dc713 Successfully tagged rabbitmq-scd:latest(3) ターミナル(orコマンドプロンプト)で
docker container create -p 5672:5672 -p 15672:15672 --name rabbitmq-scd rabbitmq-scd
を実行してください。$ docker container create -p 5672:5672 -p 15672:15672 --name rabbitmq-scd rabbitmq-scd 67473dcbed40bee46c5f9b3531763ed71fd6cd5b6a6cb1364b90da21d621ce59(4) ターミナル(orコマンドプロンプト)で
docker container start rabbitmq-scd
を実行してください。これでRabbitMQが起動します。$ docker container start rabbitmq-scd rabbitmq-scd
docker container stop rabbitmq-scd
で停止します。
- 投稿日:2020-07-08T14:55:30+09:00
【jQuery】 scroll スクロールすると浮き上がってくるやつ はじめました。
【ゴール】
【メリット】
■ リッチなサイト構築
■ jQuery理解度向上【実装】
手順
*jQueryのgem、もしくわ、ライブラリの読み込みが必要です!
HTML記述
jQuery記述HTML記述
*JSが読み込めるように「id」をつけます。
hoge.html. . . . <h2 id="text" style="display: none;">文字が遅れて見えてきます</h2> . . . .jQuery記述
*「window」に対して、スクロールイベントを発火
*「if」による条件分岐
→*「.scrollTop」が一定の数値で発火(今回は1100で設定。)
→*「fadeIn」でフワッと現れます。hoge.js$(window).scroll(function () { if ($(this).scrollTop() > 1100) { $('.text').fadeIn(1000); } });以上、jQuery記述少なくてとても便利です。。。。
【合わせて読みたい】
■ 【jQuery】初心者でもよく理解できたやつ
https://qiita.com/tanaka-yu3/items/a03734b248c3f2ee8461■ 【raty.js】 星付き 評価機能 実装 rails view表示まで
https://qiita.com/tanaka-yu3/items/6aab71a46764370c00d0■他、スクロールイベントについて
https://yuyauver98.me/scroll-show-hide-btn/
- 投稿日:2020-07-08T05:44:17+09:00
Karabiner-Elementsでwindows-likeとemacs-likeの2つのキーバインドを使い分ける
MacのKarabiner-Elementsでwindows-likeとemacs-likeの2つのキーバインドを使い分けるにはどうするのかに関するメモ。
やりたいこと:普段のWEBブラウザ等ではwindows-likeなキーバインド(Ctrl-c,Ctrl-vでコピーペーストCtrl-fで検索)を使い、terminalやEmacsではそのキーバインドをやめたい(Ctrl-w,Ctrl-yでコピーペースト、Ctrl-sで検索)。
手順1: Karabiner-Elementsをインストールする
Karabiner-Elementsをインストールする。
https://karabiner-elements.pqrs.org/
上記のURLからダウンロードしてくる。手順2: Karabiner-Elementsの使い方を理解する
まず、Karabiner-Elementsを起動してComplex modificationsタブを選択する。
次にAdd ruleボタンを押したのちImport more rules form the Internet(open a web browser)ボタンを押すとキーバインドのサンプル集が見つかる。この中から目的のものをImportする。今回は Windows shortcuts on macOSを選択。
これでルール集を取り込めるが、まだそのルール集の中のどのルールを実際に使うのかを決めていない。実際に使うルールをEnableする。例えばCtrl+C, Ctrl+P, Ctrl+X => Cmd+C (Copy), Cmd+v (Paste), Cmd+X (Cut)をEnableにするとその瞬間からばCtrl+CがCmd+Cに変換されて、ブラウザ等のテキストがコピーできるようになる。まずはそこまで確認すること。
そして、この設定でEmacsを開いて編集しようとするとおかしなことになることに気づくはず。例えばCtrl-x Ctrl-fでファイルを開こうとすると最初のCtrl-xがCmd-xに変換されてしまうのでうまく開けなくなる。
手順3: アプリケーションごとにキーバインドを変えるためルールを編集する
先ほども開いたキーバインドのサンプル集のページにいく。
https://ke-complex-modifications.pqrs.org/今回はWindows shortcuts on macOSのImportでEdit JSONを選択する。
ここでタブを開いて見ていくと、Rule Conditions, Frontmost application unlessという項が見つかる。これはこのキーバインドのルールを適用しないアプリケーション一覧が書かれている。ここにEmacs等を加えれば良い。実は^com.apple.Terminal$という項目がすでにありterminalはこのキーバインドから除外されていることがわかる。このようにアプリケーションの名前はアプリケーションのBundle Identifierを調べてその名前を書く必要がある。
アプリケーションのBundle Identifierを調べるには、Karabiner-Elementsをインストールしたときに同時にインストールされるKarabiner-EventViewerを使用する。このアプリケーションを起動し、Frontmost applicationタブを選べばクリックしたアプリケーションのBundle Identifierを教えてくれる。Emacsはorg.gnu.Emacsであり、Xquartzは org.macosforge.xquartz.X11である。
これを先ほどのWindows shortcuts on macOSの編集ページでBundle Identifierに加えれば良い。他の例を真似て以下のように書く。
^org\.gnu\.Emacs$
^org\.macosforge\.xquartz\.X11$
なかなかの手作業だが、使用するキーバインドの全てでこのBundle Identifierを追加する。最初の項Ctrl+C, Ctrl+P, Ctrl+X => Cmd+C (Copy), Cmd+v (Paste), Cmd+X (Cut)のように複数のキーバインドがまとめて書かれている場合にはキーバインドごとにBundle Identifierを追加する必要がある。この場合は3箇所に書く。一通り編集が終わったら、あとで間違いがあったとき直せるようにSHARE!ボタンを押し、URLを保存しておく。
手順4: 編集したルールを適用する
最後にINSTALL!を押して Karabiner-Elementsに登録し、実際にルールをEnableすれば完了である。具体的なやり方は手順2を参照のこと。
リファレンス
- 投稿日:2020-07-08T00:20:43+09:00
MacbookにpyenvをHomebrewを使ってインストールしたけど、pythonのバージョンが切り替わらないときの対処法
問題
mac osでHomebrew(パッケージ管理ツール)を使って、pyenvをインストールし、pythonのバージョンをglobalに設定してみたけど、pythonのバージョンが切り替わらない。
$ brew install pyenv # pyenvのインストール $ pyenv install 3.8.0 # pythonのバージョンのインストール $ pyenv global 3.8.0 # pythonのバージョンをglobalに設定 $ python -V # バージョンを確認 2.7.7 # デフォルトのバージョンと変わらない問題解決法
ホームディレクトリの
.bash_profile
または.zshrc
にeval "$(pyenv init -)"を加え、source
コマンドで適応させる$ vim .zshrc $ source .zshrc
- 投稿日:2020-07-08T00:20:43+09:00
Mac OSにpyenvをHomebrewを使ってインストールしたけど、pythonのバージョンが切り替わらないときの対処法
問題
mac osでHomebrew(パッケージ管理ツール)を使って、pyenvをインストールし、pythonのバージョンをglobalに設定してみたけど、pythonのバージョンが切り替わらない。
$ brew install pyenv # pyenvのインストール $ pyenv install 3.8.0 # pythonのバージョンのインストール $ pyenv global 3.8.0 # pythonのバージョンをglobalに設定 $ python -V # バージョンを確認 2.7.7 # デフォルトのバージョンと変わらない問題解決法
ホームディレクトリの
.bash_profile
または.zshrc
にeval "$(pyenv init -)"を加え、source
コマンドで適応させる$ vim .zshrc $ source .zshrc
- 投稿日:2020-07-08T00:16:54+09:00
mysqlclientをpip installできないときの対処法
環境
macOS Catalina 10.15.5 pipenv 2020.6.2 Homebrew 2.4.3エラー
mysqlclientをインストールしようとすると、長い長いエラーメッセージが出てきてインストールできませんでした。
※ pipenv でインストールしていますが、pipでバージョン指定ナシでも同様の現象があるようでした。
※ Catalinaにアップグレードしたら起こったという情報もありました。$ pipenv install mysqlclient==1.4.6 . . . ERROR: Couldn't install package: mysqlclientこうしたらいけた
mysql-connector-cをインストール
$ brew install mysql-connector-copensslのパッケージ情報を表示
$ brew info openssl openssl@1.1: stable 1.1.1g (bottled) [keg-only] Cryptography and SSL/TLS Toolkit https://openssl.org/ /usr/local/Cellar/openssl@1.1/1.1.1g (8,059 files, 18MB) Poured from bottle on 2020-05-03 at 16:19:23 From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openssl@1.1.rb ==> Caveats A CA file has been bootstrapped using certificates from the system keychain. To add additional certificates, place .pem files in /usr/local/etc/openssl@1.1/certs and run /usr/local/opt/openssl@1.1/bin/c_rehash openssl@1.1 is keg-only, which means it was not symlinked into /usr/local, because macOS provides LibreSSL. If you need to have openssl@1.1 first in your PATH run: echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> /Users/あなたのホームディレクトリ/.bash_profile For compilers to find openssl@1.1 you may need to set: export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib" export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include" For pkg-config to find openssl@1.1 you may need to set: export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig" ==> Analytics install: 583,299 (30 days), 2,291,367 (90 days), 6,244,922 (365 days) install-on-request: 72,656 (30 days), 337,989 (90 days), 825,813 (365 days) build-error: 0 (30 days)上記コマンドで表示される以下の3つを実行
※ 環境によって異なります.$ echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> /Users/あなたのホームディレクトリ/.bash_profile$ export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"$ export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"参照
https://stackoverflow.com/questions/35190465/virtualenvpython3-4-pip-install-mysqlclient-error