- 投稿日:2021-01-01T23:39:07+09:00
【Python】PyCharmの環境設定(インストール、インタプリタ設定、パッケージの追加)Mac環境
こんにちは、かをるです。
今回は、GUIツールである【PyCharm】をつかってPythonの環境構築を行なっていきます。
PyCharmとは、Pythonの統合開発環境です。
コマンドラインによる環境開発よりもこういったツールを使いこなすことで、より効率的に開発を進めることができます。
有償と無償とありますが、今回は無償のインストール方法を紹介していきます。
記事を書きました。
https://kaworublog.com/wp-admin/post.php?post=1065&action=edit
- 投稿日:2021-01-01T21:46:19+09:00
たった一つのコマンドで自動でVPN接続とSSH接続し、計算サーバーにログインする。
Abstract
現状
私は通常、計算サーバーを利用するために、Cisco AnyConnect Secure Mobility ClientのGUIによってVPN接続を行い、ターミナル上でSSH接続を行っていた。そして、その都度コマンドやパスワードを求められることに煩わしさを感じていた。
目標
たった一つのコマンド、例えば
$ conと打つだけでCisco AnyConnect Secure Mobility ClientによるVPN接続とSSH接続を自動で完了し、計算サーバーに自動でログインできるようにする。
環境
・MacBook Pro(2020)
・OS:macOS Big Sur
・シェル:zsh
・VPNクライアントソフト:Cisco AnyConnect Secure Mobility Client (version 4.9.01095)自動でVPN接続を行うコマンド
自動でVPN接続を行うために、コマンドをシェルスクリプトにまとめ、aliasを作成する。また、ユーザー名やパスワードを自動入力するために、
expect
コマンドを使う。expectコマンドを導入する。
$ brew install expect・
expect -c
:" "
で囲まれたexpect
の拡張コマンドを上から実行していく。
・spawn
:シェルスクリプト内で初めに実行されるコマンド。
・expect
:spawn
を実行した際に表示されると想定される文字列(Password:
など)を表す。文字列は\"
と"\
で囲む必要がある。
・send
:expect
で想定された文字列が来た際に、入力する文字列(パスワード)を表す。VPN接続のためのシェルスクリプト
ターミナル上でCisco AnyConnect Secure Mobility Client経由のVPN接続を行うためには、コマンド
/opt/cisco/anyconnect/bin/vpn connect
を使う。~/.vpn_sample.sh#!/bin/sh # タイムアウト設定 set timeout=10 # 接続先エイリアスまたはIPアドレス CONNECTION_ALIAS=sample@hoge.com # ユーザー名 USER_NAME='vpn_username' # パスワード PW='vpn_pass' expect -c " spawn /opt/cisco/anyconnect/bin/vpn connect ${CONNECTION_ALIAS} expect \“Username:\” send \"${USER_NAME}\n\" expect \"Password:\" send \"${PW}\n\" expect \"state: Connected\" exit 0 "aliasの設定
最後に、
~/.zshrc
に~/.zshrc#VPN接続するためのコマンド alias vpn_sample='source vpn_sample.sh' #VPN接続を解除するためのコマンド alias disvpn='/opt/cisco/anyconnect/bin/vpn disconnect'を追記すると、
$ vpn_sampleというコマンドでVPN接続できる。また、
$ disvpnで接続解除できる。
注意
Cisco AnyConnect Secure Mobility Clientのアプリを終了する必要がある。起動している場合、
send: spawn id exp6 not open while executing
というエラーが出る。
自動でSSH接続を行うコマンド
CLIで行っていたSSH接続をシェルスクリプトにまとめる。ここでも、
expect
を用いる。SSH接続のためのシェルスクリプト
~/.ssh_sample.sh#!/bin/sh PW='ssh_pass' expect -c " spawn ssh (option) hoge@example.com expect \"Password:\" set timeout 1 send \"${PW}\n\" interact "aliasの設定
~/.zshrc#SSH接続するためのコマンド alias ssh_sample='source ssh_sample.sh'以上を
~/.zshrc
に追記する。VPN接続を完了させ$ ssh_sampleとするとSSH接続ができる。
VPN接続&SSH接続のaliasを作成
複数コマンドのaliasを作成するために
function
を使う。
ここまでに示した~/.zshrc
の変更点をまとめる。~/.zshrc#VPN接続するためのコマンド alias vpn_sample='source vpn_sample.sh' #SSH接続するためのコマンド alias ssh_sample='source ssh_sample.sh' #SSH接続を切断するコマンド alias discon='/opt/cisco/anyconnect/bin/vpn disconnect' #VPN接続とSSH接続を一度に行う function con() { vpn_sample; ssh_sample; } alias con=conまとめ
以上の
~/.vpn_sample.sh
、~/.ssh_sample.sh
、~/.zshrc
の設定により、$ conだけで計算サーバーに自動でログインできるようになり幸せになった。
参考にしたサイト
expectコマンドの導入
https://qiita.com/auto_masanori/items/207412d409fb9971ab43
Cisco AnyConnect Secure Mobility Clientをターミナル上で操作する。
https://qiita.com/mamohacy/items/bcd3f575a9555d2f18a4
シェルスクリプトでSSH接続する。
https://dot-blog.jp/news/shellscript-mac-terminal-command-auto/
複数コマンドのaliasを作成する。
- 投稿日:2021-01-01T17:00:52+09:00
とりあえずMacでVueの環境を整えてみた
スタンドアロン版のVue.js devtoolsをmacに入れていくメモ。
なおNode.JSのインストールまでは
MacにNode.jsをインストール
を参考にさせていただいています。必要なこと
1.Homebrewのインストール(済)
2.nodebrewのインストール
3.Node.jsのインストール
4.Vue.js devtoolsのインストールHomebrew
HomebrewはMacでのソフトウェアや拡張機能の管理を行うパッケージマネージャです。便利です。
Homebrewのインストールについては
Homebrewのインストール
を参照してます。環境
開始段階の環境として
・mac OS Catalina 10.15.7
・Homebrew 2.7.1
はインストール済みです。nodebrewのインストール
・インストール
ターミナルを開いてnodebrewをインストールしていきます。
ターミナル コマンドbrew install nodebrew・確認
インストールできたか確認してみます。
ターミナル コマンドnodebrew -vターミナル 結果nodebrew 1.0.1 Usage: nodebrew help Show this message nodebrew install <version> Download and install <version> (from binary) nodebrew compile <version> Download and install <version> (from source) nodebrew install-binary <version> Alias of `install` (For backward compatibility) nodebrew uninstall <version> Uninstall <version> nodebrew use <version> Use <version> nodebrew list List installed versions nodebrew ls Alias for `list` nodebrew ls-remote List remote versions nodebrew ls-all List remote and installed versions nodebrew alias <key> <value> Set alias nodebrew unalias <key> Remove alias nodebrew clean <version> | all Remove source file nodebrew selfupdate Update nodebrew nodebrew migrate-package <version> Install global NPM packages contained in <version> to current version nodebrew exec <version> -- <command> Execute <command> using specified <version> Example: # install nodebrew install v8.9.4 # use a specific version number nodebrew use v8.9.4こんな感じでツラツラと出てきたらOKです。
Node.jsのインストール
・インストール
今回はとりあえず最新版をインストールしようと思います。
ターミナル コマンドnodebrew install-binary latestターミナル 結果Fetching: https://nodejs.org/dist/v15.5.0/node-v15.5.0-darwin-x64.tar.gz ######################################################################## 100.0% Installed successfully・有効化
最新版をそのまま有効化していきます。
ターミナル コマンドnodebrew use latestターミナル 結果use v15.5.0今回はインストールされている最新版がv15.5.0だったので、これでOKです。
・パスを通す
ターミナルから起動できるようにパスを通します。
ターミナル コマンドecho 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bash_profile確認のためターミナルで以下のコマンドを実行します。
ターミナル コマンドnode -vターミナル 結果v15.5.0先程有効化したv15.5.0が表示されました。
これでNode.jsのインストールは完了です。Vue.js devtoolsのインストール
・インストール
最後に本命のVue.js devtoolsをインストールしていきます。
引き続きターミナルで以下のコマンドを実行します。ターミナル コマンドnpm install -g @vue/devtoolsなんやかんや出てきます。
ターミナル 結果added 201 packages, and audited 202 packages in 21s 6 packages are looking for funding run `npm fund` for details found 0 vulnerabilities・起動
インストールできたようなので、動作確認していきます。
ターミナル コマンドvue-devtools・結果
- 投稿日:2021-01-01T01:40:27+09:00
HHKB買ったら時こそ使いたいショートカットキー(for Mac)
HHKBを更に最高に!!
こんにちは!
先日、念願のHHTB hybrid type-sを購入したのですが、控えめにいって最高です!
HHKBは、プロダクトとしても秀逸で打鍵感やコンパクトな設計など巷のレビュー通り最高のキーボードと実感しているので、買ってかなり満足しています。しかし・・・
個人的には最高のキーボードに満足しているのですが、
巷の声をよく聞くと少なからず賛否の「否」があるようでとても驚きました。
気になったので個人的に調べたところ否定的な意見として、
- 矢印入力がFnキーを伴う操作になる為、矢印キーを多様するユーザーには不便と感じる。
- Fnキーがキーボードの右端にあるので、ホームポジションが崩れる。
- 単純に不便である。
といった原因が主に挙げられていて、結果として独特のキー設計になれず最終的に手放す人も続出しているようですね。
ショートカットキーを紹介する理由
HHKBの独自性を利用するためというのが最大の理由ですが、それを除けば理由は3つあります。
その①:
Controlキーを駆使したカーソル移動を進める理由としては、HHKBのキー配列は本来ならCapsLockキーがある所(Aキーの左隣)が、デフォルトでControlキーになっているのでホームポジションを崩さず非常に押しやすいので、無理なく徐々にキー操作を取り入れることができること。
その②:
インストールの必要がなく、覚える内容が少ないので無理なく初められること。その③:
覚えてしまえば、MacOS上のブラウザやメモなど色々な所で使用可能だから。フリマアプリに出品するなんてもったいない!!
今、この記事を読んでいるあなたが世界最高峰のキーボードHHKBを手放そうと悩んでるならこの記事を読んで実践してからでも遅くないと思いますので、騙されたと思って一度実践してみて下さい。
これから紹介する方法は、既に普遍的な方法でAppleサポートでも掲載されていますが
僕も色々実践した結果、ストレスが減り作業効率が向上したこともあるのでシェアできればと思っています。非常に便利なのでとにかく試しに一週間ほど実践して下さい。
この方法は意識すれば3日ほどで慣れるような簡単なショートカットキーなので、やらない損はあってもやってみて損はないはずです。
僕が実際に使ってみたのは
① Controlキーを駆使したカーソル移動
② karabiner-elementsを導入してviのようなカーソル移動(hjkl)という2つの方法なのですが、
②は非常に便利でMacのキー設計を自由にカスタムできるのですが、今回はインストールの必要のない①の解説のみに留めさせていただきます。マスターすべきショートカットキー一覧
ショートカットキー 移動系 Ctrl+f カーソルを右へ Ctrl+b カーソルを左へ Ctrl+p カーソルを上へ Ctrl+n カーソルを下へ Ctrl+a カーソルを行頭へ Ctrl+e カーソルを行末へ Ctrl+t カーソルの
左右1文字ずつを入替ー 削除・貼付系 Ctrl+d カーソル右側の1文字削除 Ctrl+h カーソル左側の1文字削除 Ctrl+k カーソル右側の文字から
行末/段落末まで削除Ctrl+y Ctrl+kで削除した
文字列を貼り付けCtrl+o カーソル下段に空行挿入 動画解説
このショートカットを実践し始めたときに動画解説(約9分ほど)を作ったので
上記のリストで「イメージしにくい!」という場合は下記にURLを添付しておりますので、動画をご覧になって下さい。
(※動画ではMagic Keyboard日本語仕様で解説していますが、キー配列は同じなので参考になると思います)数ある中のショートカットキーのほんの一部のみの掲載ですが、非常に有効なのでこれさえ押さえておけば今後役立つこと間違いない厳選ショートカットキーです。
ご覧の通り、取っ付きやすく簡単なので是非お試しください!
最後までお読みいただきありがとうございました!!
- 投稿日:2021-01-01T00:03:00+09:00
複数のMacで互いに相手をTime Machineでのバックアップサーバにする
High Sierra 以降のMacOSではTime Machine サーバー機能が標準で提供されている。
これを使って他のMacのTime Machineによるバックアップ先として機能する事が出来る。
このバックアップの応用として、互いに相手をバックアップ先として運用出来たので手順を公開する。背景
今回の事を思いついた背景は以下のとおり。
- バックアップを何らかの形で安価に分散化出来ないか。
- 今回はRAID等は以下の理由で行なわない。
- コントローラ等のSPoFの問題が過去のトラウマ
- バックアップを分散させる事でHDD関連の故障リスクを分散
- 個々のディスクはシングル構成にする事で簡易化と高速化
手順
用意するもの
- High Sierra 以降が動作しているMac
- バックアップ先としてHDDをそれぞれのMacに1台以上
ローカルでの準備
ローカルのディスクを接続しそのディスクをウィルス対策ソフトでの対象から除外する。
→バックアップファイルをウィルス対策ソフトの対象にするとバックアップに時間がかかったりタイムアウトする場合がある為各MacにてローカルディスクにTime Machineでバックアップ設定を行なう。
ローカルの初回バックアップを行なう。
対象ディスク内に Backups.backupdb というフォルダが出来ており、その中にホスト名のフォルダとその下に日付のフォルダが作成されている事を確認する。
対象ディスクにBackups.backupdbとは別のフォルダを新規に作成し、そのフォルダをシステム環境設定 → 共有 で共有する。
- ファイル共有
- 共有フォルダ(+で選択画面が出るので該当のディスクを選択して追加)
- ユーザは任意で設定する。
バックアップのサイズを制限したい場合はバックアップのサイズを制限にチェックを入れ、GB単位で指定する。
OKを押す
リモートでの設定
- システム環境設定 → Time Machine を開く
- バックアップディスクを追加/削除 をクリックする。
今迄1つだけのTime Machineを設定していた場合は「バックアップ作成に〜を使用するのを停止して、代わりに〜〜を使用しますか?それとも両方にバックアップを作成しますか」という表示が出るので両方を使用をクリックする。
リモートでのアクセスで使うユーザとパスワードを指定する。
この設定を行う事でそのとき利用可能なディスクにバックアップされる。1台に集中するのではなく、指定されたディスクに順次バックアップされていく。
またバックアップを自動生成のオプションを外し手動で行う運用でも可能。これを相互で行う事で互いに自分のローカルディスクと相手のリモートディスクの両方にバックアップが保存され分散して管理する事が出来る。
これによりもし片側のMacのバックアップ先ディスクが破損しても相手のディスクで2台共Time Machineで復旧する事が出来る。
また他のMacからのバックアップ先として今回設定した両方のMacを指定する事も可能。注意点
- 初回バックアップの時にはウイルス対策ソフトによる保護を無効にする。特にESETではバックアップに大抵失敗する。
- 初回バックアップでは転送量も多く時間がかかる事から有線LANの使用をお勧めする。
- 2回目以降はバックアップサーバ側も無線LANでの運用も可能。
懸念点
容量が一杯になったときの制御を考えるとローカルのバックアップとリモートのバックアップとでパーティションを分けてそれぞれでバックアップした方がいいか?