Mac,Windows,環境構築

こんにちは、しきゆらです。
今回は、MacからWinへSSH接続してWinにあるスクリプトを編集したい場面があったので、タイトル通りVSCodeを使って環境をつくってみたのでメモしておきます。

これまでWinで開発というとPowerShellとかWinでしか動かないもの以外はあまりやってきていませんでした。
最近はWSLやWindows Terminalの登場により便利にはなりつつありますが、メインはどうしてもMacでやってしまいます。
今回も、PowerShellを書く必要があったのでしょうがなくWinでポチポチしていましたが、キーボードやマウスの操作にイライラしたので、Mac側でWinにアクセスできないかと思って調べたら、意外と簡単にできたのでやってみました。

なお、接続先のWinPCにはWSL2が動いていることが前提となります。
環境がない場合は「【Win/WSL】Windowsで開発環境を整える」あたりを参考に作っておいてください。

Mac

こんにちは、shikiyuraです。
今回は、タイトル通りMacでcronを使わずにコマンドを定期実行する方法をメモしておきます。

コマンドを定期実行するためによく使われるものは、cronだと思います。
私も、今回のことがなければ真っ先に思い浮かぶものはcronです。
Macにもcronはあるようですが、権限やOSのセキュリティの壁などにふさがれて気軽に動かせないようです。

参考

では、どうすればいいのか。
Macに入っているlaunchdというものを使えばいいのです。
launchdとは、デーモンとエージェントを管理してくれるものです。
Macの「ターミナル」でのlaunchdを使ったスクリプトの管理 – Apple サポート | https://support.apple.com/ja-jp/guide/terminal/apdc6c1077b-5d5d-4d35-9c19-60f2397b2369/mac

裏側で自動起動させたり、定期的にコマンド実行させたりすることも可能です。
では、こいつらを使ってcronの代わりに特定コマンドを定期実行できるようにしてみます。

Linux,Mac

こんにちは、しきゆらです。
今回は、screenコマンドを知ったのでメモしておきます。

Linux等を触っていると、時々時間がかかる処理を走らせることがありますよね。
私の場合は、aptやyum、dnf等のパッケージマネージャでのアップデート関係やrbenvなどで環境を整えるときなどです。
このようなコマンドをSSH越しに実行しているときに、途中で接続が切れると悲しいことになりますよね。

そんなことが起きても大丈夫なようにしてくれる魔法のコマンドが「screen」コマンドです。
できることはいくつかあるようですが、よく使うのがセッションの管理でしょう。
今回は、簡単に使い方をまとめておきます。

 

Mac,環境構築

こんにちは、しきゆらです。
今回は、ターミナルのシェルをbashからfishへ変更したので、その方法などをメモしておきます。
シェルに関しては、下記サイト等調べると様々な情報が出てくるのでそのへんで確認してみてください。

  1. シェルとは・・・

シェル(shell)とは、UNIX系OSでコマンド操作の基本的なルールを示すもののことです。

シェル入門

今回は、複数あるシェルの中でもfishというものを導入していきます。

Mac

こんにちは、しきゆらです。

今回は、(ほぼ)外部からアプリをインストールせずにデフォルトで入っているアプリだけで画像にモザイク・ぼかしをかける方法をメモしておきます。
念のために書いておくと、画像編集専用のアプリを使わずにモザイクをかける、ということを目指しているのがこの記事。
こまこまとたくさんのアプリを入れたくない!という人は是非。

今回は、以下のサイトを参考にコードを修正したりしています。

macで画像加工はプレビュー.appで決まり!文字の回転やぼかし(ガウス)加工の方法 | mac野郎なのか

http://fanblogs.jp/macyarounanoka/archive/268/0#clipboard-image-gaussian-blur

Mac

こんにちは、しきゆらです。
改めて、本年もよろしくお願いします。

 

今回は、Macでのメーラである3種類のアプリ

  • Mac純正メール
  • AirMail
  • Spark

を実際に使ってみて、個人的感想をメモしておきます。
メーラーを探している人の参考になれば、と思います。

 

なお、何度か登場していますが、私が使用しているMacのスペックを書いておきます。
参考程度に。

  • MacBook Pro Retina, 13-inch, Early 2015
  • CPU: Intel Core i5(2.7GHz)
  • メモリ:8GB DDR3 1867MHz

 

Mac,Ruby

こんにちは、しきゆらです。

毎年、この時期はRubyの最新版リリースが熱いですよね。

ということで、早速環境を作っていきましょう。


Rubyは、Ruby3x3という目標のもと、高速化のための改良が続けられています。

今回は、高速化のための変更としてJITコンパイラが導入されました。

オプションとして–jitをつけると、JITを使って動作するようです。

詳しい更新内容については、以下を参照して下さい。

高速化以外の変更でよく使いそうなものとしては、「終端なしRange」の追加でしょうかね。

あとは、何気にCSVファイルの扱いも高速になっているようです。

さて、それでは実際にコンパイルしてみて、どのくらい早くなったのかを、簡単なベンチマークを取りながらみてみましょう。

Mac,環境構築

こんにちは、しきゆらです。

今回はGithubを使うための下準備の部分をメモしておきます。

 

主な内容は、以下の通り。

  • Githubとの連携のための公開鍵作り
  • 公開鍵の登録方法
  • ssh/configファイルの設定

 

公開鍵づくり

この部分は、Githubに限らずSSH接続するような場合によく行う作業なので、覚えておきたい内容ですね。

以下、全てMac環境で行っていきます。

 

以下コマンドで、鍵の生成を行います。

ssh-keygen -t rsa -b 4096

最低限rsa指定は必要です。

「-b 4096」部分に関しては、鍵のbit数になります。

このサイズは、簡単に言えば鍵の強度の部分になります。

参考

SSHでリモートホストに接続する前にやっておくと便利なことは? ssh-keygenコマンド – @IT

2017年版 SSH公開鍵認証で使用する秘密鍵ペアの作り方 – Qiita

 

今は2048bitがデフォルトで生成されるようですが、計算機性能が上がっているので高めに指定しておくと良いかと。

 

実行したときの流れは以下の通り。

$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザ名/.ssh/id_rsa): Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

「Enter〜」の部分は入力を求められます。

面倒であれば3回何も入力せずEnterを押すと終わり。

 

重要なのは、一番はじめのファイル名。

デフォルトでは「/Users/ユーザ名/.ssh/」という場所にid_rsaとして生成されます。

しかし、複数の鍵を生成する場合は名前をつけて分けておく必要があるでしょう。

ということで、今回はファイルを「github_rsa」として生成しました。

 

これにて、公開鍵づくりは完了です。

 

次からは、作成した鍵をGithubへ登録していきます。

 

Mac,環境構築

こんにちは、しきゆらです。

今回は、Githubにあるブランチのすべてをローカルリポジトリへpullしてくる方法を知ったのでメモしておきます。

 

状況

まずは、こんなことをしようと思った経緯をメモしておきます。

先日、メインで利用しているMacbook ProのOSアップグレードをしました。

はい、「High Sierra」から「Mojave」へのアップグレードです。

 

毎回、OSの名前が変わるたびにクリーンインストールしていた私。

今回も例に漏れず、アップグレード後にクリーンインストールしました。

SSDによりPC本体に記録できる容量がHDDに比べて少なくなりましたが、オンラインストレージ等のおかげでほぼ不便なく利用できています。

Mac標準のiCloud、Windowsでも利用しているOneDrive、普段遣いのDropboxと3つを併用しています。

基本的なファイルは、これらの場所においているため、クライアントソフトをインストールすればすぐに利用できるようになります。

 

開発しているプログラムも、殆どはGit/Githubで管理しています。

そこで、クリーンインストールした後homebrewでGitをインストール。

あとはGithubからリポジトリをcloneしてくれば全て解決。

・・・と思ったら、デフォルトでクローンしてくれるのはmasterブランチだけなんですね。

知らなかった。

 

・・・長々と書いてきましたが、ここまでが前置き。

Githubにあるmaster以外のブランチを全てローカルリポジトリにpullしたい。

ということで本編です。

 

解決方法

本編のほうが短いです。

なんと3回コマンドを打つだけなので。

 

調べてみると、こんな記事が。

全部ランチをリモートリポジトリからpullする – Qiita

https://qiita.com/muraikenta/items/e590a380191971f9c4c3

まさにほしい情報でした。

古い記事でしたが、この手順で完了できました。

$ for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done
$ git fetch --all
$ git pull --all

何をやっているのかよくわかりません。

git branch -rでリモートのブランチを取得し、--trackの部分はわかりませんが、取得したブランチ全てを指定しているのかな?

そして、fetchとpullして取得。

・・・わからん。

 

まとめ

調べてみると、やはり似たようなことをしたい人がいて一安心。

GitやGithubはそれなりに使っていましたが、未だによくわからない部分が多いです。

特に、pullとかcloneとか。

プルリクエストもいまいちわかっていません。

まぁ、基本的に1人で使うことが多いので使う部分が限られるのですが・・・。

 

では、前置きが本編の記事でした。

今回はここまで。

おわり

Linux,Mac

こんにちは、しきゆらです。

今回は、特定のバックグラウンド処理をログアウト後も継続してほしいときに使えるコマンドを知ったのでメモしておきます。

 

何らかの処理をバックグラウンドで処理させていて、ログアウトすると

そのタイミングでバックグラウンドの処理は止まってしまいます。

処理が終わるまで継続してほしいが、自分はログアウトしたい。

そんなときには、「nohup」コマンドを使いましょう。

【 nohup 】コマンド――端末を閉じてもログアウトしても処理を続ける

http://www.atmarkit.co.jp/ait/articles/1708/24/news022.html

ログアウトしてもバックグラウンド ジョブを継続する方法

https://www.codereading.com/nb/ignore-the-hangup-signal.html

 

nohupコマンドの使い方

バックグラウンドで処理させたいときは、こうすると思います。

command &

これだと、ログアウトしたときに止まってしまうようです。

 

nohupコマンドは、この前につけてあげます。

nohup command &

これにて、commandはバックグラウンドで実行されて、ログアウトしても処理が終わるまで続けてくれます。

 

 

まとめ

簡単ですが、バックグラウンド処理をログアウトしても止めずに続けて貰う方法でした。

SSH接続時などでは威力を発揮しそうなコマンドでしたね。

 

今回は、ここまで。

おわり