20200706のMacに関する記事は7件です。

Macのコマンドラインで明日を表現する方法

macのdate表現で困った

macユーザーになってまだ3ヶ月の私にとっては、bashのdateコマンドすら手強い相手でした。
今回、目的にあった形で日付の表現をするのに、小一時間以上かかってしまい軽く自分にショックを受けてしまいました。

他のmacビギナーにとっても日付の表現で時間を多く無駄にしてしまうことはショッキングなことだと思ったので、ここにナリッジをまとめておきたいと考えました。

そもそも:macのコマンドラインで日付表現をしたかったわけ

macにはautomatorという非常に便利なツールがあることを最近になって知りました。
これを使えば、macに最初から入っているツールを組み合わせて、自分好みの自動化アプリケーションを簡単に作ることができます。

今回は、毎日の日記を自動で作成するアプリケーションを作るために、bashで日付表現を使う必要がありました。

date -d '1 days'では明日を表せない?

検索ボックスで、「bash 日付」と打ってでてきたのが、見出しのワンライナーでした。

bash
date -d '1 days' 

これで、明日の日付を取得して自動でファイルの作成ができる!
と思ったら...これがうまく行かないのです。

というのも、この表記はGNUとよばれるパターンの表記方法だったのです。

GNUって?

GNUはwindowsのコマンドラインでの書き方になります。
ところが、私はmacユーザー。
どうりでこの表現ができないわけですね。

windowsがGNUならMacは

もちろんmacにも明日の表現方法はあります。
macの表現方法はBSDと呼ばれる表記方法になるそうです。

BSD表記になると、明日を表すコマンドは以下の通り。

bash
date -v+1d

よかった!macでも簡単に表現できました!

こうして、``(バッククォーテ)を組み合わせたところ、
念願の「本日付けのファイルをコピーして明日の日付のファイルを作成する」ことができました!

bash
cp `date +%Y%m%d`.txt `date -v+1d +%Y%m%d`.txt
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

gulp エラー対応:SyntaxError: Cannot use import statement outside a module

環境

・MacOS
・gulp v4.0.2
・node.js v14.4.0

エラー発生タイミング

package.json作成、npm iコマンドでモジュールインストール後にgulp実行でエラー(SyntaxError: Cannot use import statement outside a module)発生

コンソール エラー
[21:29:01] Requiring external module babel-register
/Applications/MAMP/htdocs/fuelphp/gulpfile.babel.js:1
import gulp from 'gulp';
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:1116:16)
    at Module._compile (internal/modules/cjs/loader.js:1164:27)
    at loader (/Applications/MAMP/htdocs/fuelphp/node_modules/babel-register/lib/node.js:144:5)
    at Object.require.extensions.<computed> [as .js] (/Applications/MAMP/htdocs/fuelphp/node_modules/babel-register/lib/node.js:154:7)
    at Module.load (internal/modules/cjs/loader.js:1049:32)
    at Function.Module._load (internal/modules/cjs/loader.js:937:14)
    at Module.require (internal/modules/cjs/loader.js:1089:19)
    at require (internal/modules/cjs/helpers.js:73:18)
    at requireOrImport (/usr/local/lib/node_modules/gulp/node_modules/gulp-cli/lib/shared/require-or-import.js:19:11)
    at execute (/usr/local/lib/node_modules/gulp/node_modules/gulp-cli/lib/versioned/^4.0.0/index.js:37:3)

原因

ディレクトリ配下に.babelrcを作成していなかった

.babelrc
{
  "presets": ["env"]
}

対策

.babelrc作成後、再度gulpコマンド実行で問題なく動作した

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

ラズビアンを確実にインストールする方法

はじめに

この記事は、ラズビアンのインストールを何回やっても成功できなかった僕が確実にラズビアンをインストールする方法を調べてまとめた物です。

ラズベリーパイが起動しない

電源を入れたし、SDカードも刺したし、HDもしっかり刺さっているのにラズパイの赤いライトが光るだけで起動しないと悩んでいる人やどうやってラズビアンをインストールすれはいいか分からないという人はぜひ最後まで見ていってください。

SD Card ForatterとRaspberry Pi Imagerをインストールする

工程1

このSD Card Foratterは完全にSDカードの情報をフォーマットするためのソフトなので、新品のSDカードやラズビアンをインストールしたことがないSDカードを使う場合はインストールする必要はありませんが、念の為SDカードの中身はカラにしてから次の工程に移って下さい。インストールするにはこのサイトに飛んでスクリーンショット 2020-07-06 15.12.18.png上のような所までスクロールして、自分の使っているOSをクリックする。今回僕はmacを使っているので右をクリック。そうしたら利用規約のページに飛ばされるので一番下までいって同意しますをクリック。少し待つとzipファイルがダウンロードされるので展開するとインストーラーが出てくるのでそれに従って進めるとインストールが完了する。アプリを開くとスクリーンショット 2020-07-06 15.25.00.png
上のようなウィンドウが出て来るので、今回ラズビアンをインストールするSDカードを選択してフォーマットオプション設定がクイックフォーマットになっているかを確認してフォーマットを押すだけプロセスが終了したらこのアプリを閉じて次の工程に進んで下さい。

工程2

このRaspberry Pi ImagerとはSDカードに任意のOSを書き込み専用ソフトです。今回はこれでOSをインストールして行きます。まずラズベリーパイの公式にアクセスしますスクリーンショット 2020-07-06 14.39.50.png
そうしたら今回はmacを使うので黄色で囲んだリンクをクリックして下さい(ウィンドウズの人は一つ上のリンクをクリック)。そうしたら自動でimager.dmgがダウンロードされるのでそれを開いてインストールを進めて下さい。インストールが完了すると、スクリーンショット 2020-07-06 14.51.57.png
このようなウインドウが立ち上がります。そうしたら今度はOperating Systemをクリックして、次にRasperry Pi OS(other)をクリック更にRasperry Pi OS Fullを選択します。最後にSD Cardで任意のSDカードを選択してWlRITEをクリックしてあとは待つだけ。すべてのプロセスが終了したら、SDカードを安全に取り出したら準備は終了です。後はラズパイにSDカードを差し込み電源を入れたらラズベリーパイが無事に起動するはずです。

それでも起動しなかった時にやる事

①エアダスターなどでホコリを飛ばす
②SDカードを変える(ラズパイを使うならSDカードは32G以上がおすすめ)
③SDカードを刺したり、抜いたり、電源を入れたり消したりを何回か繰り返す(これが一番おすすめ)

最後に

最後まで見てくれてありがとう。これからはラズパイ関連の記事も書いていく予定なのでよかったらフォローして下さい。もし間違いを見つけたら気軽にコメントで教えて下さい。
次の記事ですよけれは一緒に見て下さい!!
ラズベリーパイを起動したらやるべき3つの事

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacOS Catalina でpyenv install できない時の対処

備忘録として

MacOS Mojaveの時にも似たようなエラー pyenv install で Module Not Found Error :Zlib とかあったのですが、Catalina でも似たようなエラーがあったのでメモ。

エラー内容と対処法

BUILD FAILED (OS X 10.14 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/3h/68w9_bcx139176n71cbbbdg00000gn/T/python-build.20181003001910.1083
Results logged to /var/folders/3h/68w9_bcx139176n71cbbbdg00000gn/T/python-build.20181003001910.1083.log

Last 10 log lines:
  File "/private/var/folders/3h/68w9_bcx139176n71cbbbdg00000gn/T/python-build.20181003001910.1083/Python-3.5.4/Lib/ensurepip/__main__.py", line 4, in <module>
    ensurepip._main()
  File "/private/var/folders/3h/68w9_bcx139176n71cbbbdg00000gn/T/python-build.20181003001910.1083/Python-3.5.4/Lib/ensurepip/__init__.py", line 209, in _main
    default_pip=args.default_pip,
  File "/private/var/folders/3h/68w9_bcx139176n71cbbbdg00000gn/T/python-build.20181003001910.1083/Python-3.5.4/Lib/ensurepip/__init__.py", line 116, in bootstrap
    _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/private/var/folders/3h/68w9_bcx139176n71cbbbdg00000gn/T/python-build.20181003001910.1083/Python-3.5.4/Lib/ensurepip/__init__.py", line 40, in _run_pip
    import pip
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1

がこんな感じであれば、

$ CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install {version}

で解決する。




関連リンク

https://medium.com/music-and-technology/macos-catalina-%E3%81%A7python3-5%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%9F%E3%82%89%E8%A9%B0%E3%81%BE%E3%81%A3%E3%81%9F-9480751e0416

https://teratail.com/questions/149770

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Macでデュアルディスプレイのスクリーンショットを自動化する。

while true ; do  screencapture -x `date +%s`.png ; sleep 60; done

ターミナルに以上のコマンドを打てば、60秒ごとにスクリーンショットを撮ることができます。
-xでシャッター音を消しています。

参考サイト(そのままです。ありがとうございます!)
Macで定期的にスクリーンショットを撮る

その他オプションについては以下のサイトがわかりやすかったです。
Mac スクリーンショットコマンド「screencapture」の使用方法まとめ


上の手法だと、メインモニターしかスクリーンショットされません。よってデュアルディスプレイの方のスクリーンショットを撮りたい場合は、下の記事にしたがって、メインモニターをもう一つのディスプレイに移すことで、撮ることができます。

【Mac】マルチディスプレイのメインモニターを切り替える方法

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

PostgreSQLに接続できなくなった時の対処法

エラーの詳細

Railsで昨日まで問題なくサーバーにアクセスできたのに、電源を切ってから次の日にアクセスするとエラーが出てアクセスできなかった。

PG::ConnectionBad 
could not connect to server: No such file or directory
Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

image.png

実行環境

  • macOS Catalina 10.15.5
  • PostgreSQL 12.3
  • Homebrewを使っている

解決策

Homebrewとポスグレをアップデートする。

$ brew update
$ brew upgrade

ポスグレを再起動する。

$ brew services restart postgresql

自分はこの手順で解決できた。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【アロー関数】 javascript () => {}  意味 一言で、 入門 

【ゴール】

アロー関数理解

【コード】

■JSを学んでいくと出てきた「 () => {} 」

hoge.js
const name = () => {
  console.log('名前は太郎です');
}

■関数の省略
■下記と同じ意味(fucntionが有る、無い)
■function無しが推奨みたいです。

hoge.js
const name = () => {
  console.log('名前は太郎です');
}

const hoge = function(){
  console.log('名前は太郎です');
}

【まとめ】

■「() => {}」はアロー関数という

■推奨されている記述

【合わせて読みたい】

■ 【javascript】 テンプレートリテラル とは 一言で。
https://qiita.com/tanaka-yu3/items/9b07bd9fc4126291be28

■ 【Javascript】JS 変数 定数 違い  一言でまとめました
https://qiita.com/tanaka-yu3/items/51b8b0630a1e4e2d52c8

■ 【Javascript】 メソッド まとめ 基礎基本コード メモ
https://qiita.com/tanaka-yu3/items/2438798d159fa402b1d5

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む