20201114のMacに関する記事は8件です。

MAC Chrome VSCode で使用頻度の高いショートカット 

初投稿です。Qiitaの練習も兼ねています。
自分用のメモに記載しているのを備忘録的にまとめていきます。
間違っている場合はご指摘ください。

概要

MAC Chrome VSCode を併せて使っていると
ショートカットが混在するので自分なりにまとめています。

以下のキーをおもに使用します
command
control
tab
option
shift
space

MAC Chromeなど(共通含む)

D ➡︎消し[delete]キー
開いてるページを確認
^+ ␣ 絵文字パレット
C コピー
V 貼り付け
X 切り取り
Z 取り消し(1アクション戻る)
A 全選択
S 保存
F 検索
N 新規作成
O ファイルを開く
W ウィンドウを閉じる
R 再読み込み
M ウィンドウ最小化
Q アプリを終了
, 設定
# (⇧3) 画面全体キャプチャ
$ (⇧4) 選択範囲キャプチャ
以下は主にChrome用
- 画面縮小(ターミナルでも使用可)
+ (⇧;) 画面拡大(ターミナルでも使用可)
T 新規タブ(ターミナルでも使用可)
D ブックマーク
P ページを印刷
⬆︎or⬇︎ ページ先頭or末尾
⬅︎or➡︎ ページを戻るor進む
^+ I 検証

Finder

⬆︎or⬇︎ ディレクトリの階層移動

VSCode

インデント➡︎(複数可)
インデント⬅︎(複数可)
] or [ インデント ➡︎ or ⬅︎ (複数可)
クリック リンク記述のファイルに移動/なければ作成
/ 選択範囲のコメント化(on/off)
D 選択部分の同名単語を選択/操作(複数可)
L 行を下へ順番に選択(複数可)
⇧L 選択部分の全マッチを選択(そのページのdiv全部など)
⇧K カーソル行削除
↩︎ カーソル行の下に行挿入
⇧↩︎ カーソル行の上に行挿入
⬆︎or⬇︎ 選択行をそのまま移動(複数可)
⇧ ⬆︎or⬇︎ 選択行をそのまま複製(複数可)
⌘ ⬆︎or⬇︎ カーソル追加⬆︎or⬇︎
` (⇧@) 内部ターミナルを開く
⇧ ➡︎ 全選択(⌘Aとおなじ)
⌘ ➡︎ ページを右に分割
ディレクトリ確認

番外編

C(x2) 選択範囲を翻訳 要:DeepL
⇧ V コピー履歴からペースト( ␣で詳細確認) 要:Paste
★日本語入力状態で
zh
zj
zk
zl

一部参考サイト様

【Mac版】 VisualStudioCode キーボードショートカット
https://qiita.com/naru0504/items/99495c4482cd158ddca8
Macのショートカット
https://qiita.com/n350071/items/74d009bf4296ac06a91c

あとがき

これ以外にも有用なショートカットがたくさんありますが、自分がよく使うものである程度限定させていただいてます。
同じような初心者の参考になれば幸いです。

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

[Mac]写真アプリでネットワークドライブに写真を読み込めなくなった

症状

ネットワークドライブ(NAS)上に Mac の「写真」アプリのライブラリファイルを置いているのですが、いつからか iPhone の写真を読み込めなくなってしまいました。
具体的には、写真を読み込むと直後にライブラリの「読み込み」が開くが、いつまで待っても何も追加されない。

試したこと

  • ライブラリの修復 では復旧せず。
  • ローカルドライブにライブラリがある場合は、正常に読み込みができる。
  • 「イメージキャプチャ」でも、ネットワークドライブに読み込もうとすると同様に失敗する。「写真」アプリとは違い、エラーダイアログが出る。

解決方法

Apple サポートコミュニティで解決方法を見つけました。
Image Capture cannot import to network (bug?)

  1. 「セキュリティとプライバシー」を開き、「プライバシー」タブから「フルディスクアクセス」を選ぶ。左下の鍵ボタンでロックを解除しておく。
  2. Finder で Command+Shift+G を入力し、/System/Library/Image Capture/Devices を開く。
  3. PTPCamera.app を 「セキュリティとプライバシー」 の右側のリストにドラッグ セキュリティとプライバシー

これで無事に読み込めるようになりました!

検証環境

macOS Catalina 10.15.7 / MacBook Pro 2016
iPhone XS
(NAS) Buffalo LS510D

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

Windows10 のデスクトップをmac風にするために

mac osのデスクトップいいよね...
https://blog.munieru.jp/entry/2018/10/31/225700
ここら辺に書いてあることをやったうえで以下では更にやったことを備忘録として残しておく.

1時間で背景を移り変わるようにする

wallpaper engineをsteamでインストールし,ワークショップからそれっぽいのを落としてくる.

例えばこういうのがありました
image.png

2スタートアイコンを?にする

openshellをインストールする

https://github.com/Open-Shell/Open-Shell-Menu/releases/download/v4.4.160/OpenShellSetup_4_4_160.exe

インストールされたSetting open-shell Menuでカスタムからアイコンを選択する.
start menu styleタブのreplace start buttonからできる.
image.png

アイコンは自前で作ってもいいけどjpegを三つ結合したものを用意しないといけないので面倒.フォーラムによさげなのがあったので拝借した.
http://www.classicshell.net/forum/viewtopic.php?f=18&t=3086
image.png

最終形はこんな感じになった.機能性を残しつつmacOSを再現できた.
image.png

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

テンプレート: Docker コンテナで Ruby / Rails の開発環境を構築する (Mac版)

手軽に Ruby / Rails の開発環境を構築したいなら Docker が最適です。
ここでは、ホストOSとしてMac OSを使用しています。
(Ubuntuホストの場合はこちらを参照してください)

Dockerコンテナでは、ベースOSをUbuntu 20.04とし、Rails アプリケーションを実行するために必要なライブラリやRuby本体をインストールしていきます。
Railsアプリケーション本体はホストOS上のローカルディレクトリから参照できるようにします。
これはRailsアプリケーションの実行環境をDockerコンテナが担い、エディタによるRailsアプリケーションの編集やソースコード管理をホストOS上で実現するためのものです。

以下のようなメリットがあります。

1.ホストOS上にRubyやRailsを直接インストールする必要がない
2.必要に応じて異なるバージョンのRubyやRailsを別々のコンテナで実行させることも可能
3.RailsソースコードはホストOS上の好みのエディタで編集できる
4.Gitの管理対象をホストOS上のソースコードに限定できる
5.(以下のDockerfile.devもGitの管理対象とすべき)

コンテナの構築と起動

あらかじめDockerサービスをホストOS上にインストールしておいてください。

まずは、任意のディレクトリに以下のファイルを配置します。

Dockerfile.dev
# Docker による Ruby / Rails 開発環境の構築
#
# 任意バージョンの Ruby を Ubuntu ベースのコンテナ上にインストールする
# また、node.js をインストールする
# Rails アプリケーションは、コンテナ内ではなく、ホストOSのローカルディレクトリに生成する

From ubuntu:20.04

ENV DEBIAN_FRONTEND=noninteractive

# Ubuntu にインストールされているソフトウェアを最新にする
RUN apt-get update -y
RUN apt-get upgrade -y

# Ruby のビルドに必要なパッケージを apt-get 経由でインストールする
RUN apt-get install -y build-essential
RUN apt-get install -y libssl-dev libreadline-dev zlib1g-dev
RUN apt-get install -y git wget 

# sqlite3 を利用する場合に必要なライブラリ
RUN apt-get install libsqlite3-dev

# MySQL or MariaDB を利用する場合に必要なライブラリ
RUN apt-get install -y libmysqlclient-dev

# その他の便利ツール
RUN apt-get install -y nano

# ruby-build を使って任意の Ruby バージョンをインストールする
RUN git clone --depth=1 https://github.com/rbenv/ruby-build
RUN PREFIX=/usr/local ./ruby-build/install.sh
RUN rm -rf ruby-build
RUN ruby-build 2.7.2 /usr/local

# node.js, npmをインストール
RUN apt-get install -y nodejs npm
# n packageをインストール
RUN npm install n -g
# n packageを使ってnodeをインストール
RUN n stable
# 最初に入れた古いnode.js, npmを削除
RUN apt-get purge -y nodejs npm
# yarn packageをインストール
RUN npm install yarn -g

以下はコンテナの生成方法
(your_app_nameをあなたのアプリケーション名に変更する)

$ export YOURAPP=your_app_name
$ docker build -t $YOURAPP -f Dockerfile.dev .

コンテナを起動する

$ export REPO=`pwd`
$ docker run -d --name $YOURAPP -v $REPO/:/$YOURAPP/ -p 4000:3000 -ti $YOURAPP

コンテナ内で Rails アプリケーションを生成する

コンテナ上のbashを起動し、Railsアプリケーションを構築していきます。

$ docker exec -ti $YOURAPP bash

あなたのアプリケーションディレクトリに移動する
(your_app_nameをあなたのアプリケーション名に変更する)

$ cd /your_app_name

bundle init を実行して Gemfile ファイルを作成

$ bundle init

Gemfile を編集する(以下ではnanoエディタを使用)

$ nano Gemfile

Gemfile内の # gem "rails" のコメントを外す
(# gem "rails" を gem "rails" に変更する)

bundle install により Rails 関連の Gem を vendor/bundle にインストールする

$ bundle config set path 'vendor/bundle'
$ bundle install

rails new により Rails アプリケーションをこのディレクトリで新規に生成する
Overwrite /example/Gemfile? (enter "h" for help) [Ynaqdhm] と尋ねられたら Y と返答する

$ bundle exec rails new .

Rails アプリケーションを起動する
ホスト OS からアクセスできるようにバインドする IP アドレスを 0.0.0.0 にしておく

$ bundle exec rails s -b 0.0.0.0

コンテナ上の作業が完了したので、改めてホスト OS のブラウザで http://localhost:4000 にアクセスする
ブラウザ上で Yay! You’re on Rails! が表示されたら成功です

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

Homebrewのインストール時にエラー

macOS Big Sur
(2020/11/14にアップデート)

Homebrewのインストール エラー

エラーになる前に3回程パスワードの入力を間違えました。
恐らく、caps lockを押したまま入力していたのが原因です。

以下、エラー内容です。
スクリーンショット 2020-11-14 16.45.07.png

再度、インストールし直してみるとこのように成功いたしました!
==> Installation successful!
スクリーンショット 2020-11-14 16.50.33.png

余談

ターミナルを動かそうと思った時に、色々な記事をみて、$をつければターミナルは動くんだなと勘違いして、$をつけて入力してしまい反応がなく焦ってしまいました。

最低限の操作も、よく分からずに触るのは良くないなと勉強になりました。笑
何かアドバイスなどあればよろしくお願いいたしますっ!

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

細かすぎて伝わらないSlackの文字入力時のショートカットキー

モチベーション

  • 最近Slackに入り浸っており、タッチパッドでの操作がだるくなってきた
  • ショートカットを覚えようとしたらメッセージ入力用のショートカットがMacの標準と、なんか微妙に違う
  • 勢いで調べてしまったのでもったいないから記事した

移動系

Ctrl+F 一文字前へ
Ctrl+B 一文字後へ
Ctrl+P 一行上へ
Ctrl+N 一行下へ
Ctrl+A 行頭
Ctrl+E 行末
Ctrl+V 文末(どこの文化圏?)

編集系

Ctrl+D Delete
Ctrl+H Backspace
Ctrl+K 行末まで削除
Ctrl+U 行頭まで削除…のはずだけど効かない❌
Ctrl+O カーソル行の上に1行挿入のはずだけど...一文字戻るだけ。謎。

変態向け

Ctrl+T カーソルの前後の文字を入れ替え
Ctrl+Y ヤンクペースト(Ctrl+Kで削除したものをペースト)

おまけ

  • 普通のSlackのショートカット一覧はcommand + /で出る (Thanx! Kentaro)
  • メッセージ入力欄にカーソルがある状態で上キーを押すとフォーカスが移動するのでR押すとリアクション用のダイアログが開き、カーソルで選択できるのだが、Enterで決定するとダイアログが閉じてしまうが、Shift+Enterにすると連続的にリアクションを付ける事ができる。(下記スクリーンキャスト参照)

ezgif-5-b7b0291d5124.gif

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

【MATLAB】複数のFigureを一枚の画像として自動で保存する

Intro

MATLABをmacで使っているひと限定の謎記事で恐縮ですが、、
モチベーションとしては、解析の途中で想定通りに処理が進んでいるかを楽にチェックしたい。関数を一つ挟んでおくだけで済むようにしたい。という怠慢からです。

1 App Exposeにホットキーを割り当てる

デフォルトではcontrol+↓で動作するようになっています。押すとApp Exposeが動作する方は飛ばしてください。

システム環境設定→キーボード→ショートカット→Mission Controlから「アプリケーションウィンドウ」にチェックを入れます。

2 Apple ScriptでApp Exposeを起動する

下記のようなapplescriptを作成します。XXXXにはMATLABのバージョンを2020aなど、普段使用するものを入れてください。

tell application "MATLAB_RXXXX"
    activate
    delay 0.5
end tell
tell application "System Events"
    tell application process "MATLAB_RXXXX"
        keystroke (ASCII character 31) using {control down}
    end tell
end tell

screenShot_MATLAB.scptなどの名前でローカルに保存してください。
そのpathを以降path_AppleScriptとします。

3 MATLABのコードを準備する

下記のサポート記事を参考に、スクリーンショットをJava経由で撮影します。
【MATLABからapplescriptを実行する】
【MATLABでスクリーンショットを撮影する】

function screenShot
% getScreenSize
screenSize = get(groot,'ScreenSize');

% app Expose
old = cd(path_AppleScript);
[status, result] = system('unset DYLD_LIBRARY_PATH DYLD_FRAMEWORK_PATH; osascript screenShot_MATLAB.scpt');
cd(old);
pause(1);

% Take screen capture
robot = java.awt.Robot();
pos = screenSize; % [left top width height]
rect = java.awt.Rectangle(pos(1),pos(2),pos(3),pos(4));
cap = robot.createScreenCapture(rect);
% Convert to an RGB image
rgb = typecast(cap.getRGB(0,0,cap.getWidth,cap.getHeight,[],0,cap.getWidth),'uint8');
imgData = zeros(cap.getHeight,cap.getWidth,3,'uint8');
imgData(:,:,1) = reshape(rgb(3:4:end),cap.getWidth,[])';
imgData(:,:,2) = reshape(rgb(2:4:end),cap.getWidth,[])';
imgData(:,:,3) = reshape(rgb(1:4:end),cap.getWidth,[])';
% save to file
imwrite(imgData,sprintf('screenshot_%s.png',datestr(now,'yyyymmdd_HHMMSS')));
end

4 使い方

上記のscreenShot関数のパスを通しておき、実装中のファイルなどで任意の場所に挿入します。
Figureの隙間からデスクトップの画像が残ってしまうので、MATLABを使っているデスクトップのみ黒の背景にしておくと見栄えがよいと思います。
【MATLAB】PowerPoint スライド作成自動化
こちらの記事のパワポへの貼り付けを組み合わせれば、自動で解析結果をまとめてくれるようになって捗るかもしれません。

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

Golangのクロスコンパイル時にsqlite3がundefinedエラーになる問題の解決

やろうとしたこと

GolangのスクリプトをAmazon Linux上で動すためにクロスコンパイルをしようとした

起きたこと

Mac向けにビルドすると普通にビルドできて動くが、linux向けにビルドするとエラーに。
linux向けのクロスコンパイルの設定が間違っているのかと思って調べたら違い、どうもsqlite3のみで起きていそう

MacOS向けは上手くいく

使用したコマンド

$ GOOS=darwin GOARCH=amd64 go build -o main_for_mac ./main.go

ビルドに成功し、動作も正常だった。

linuxはsqlite3でundefinedが出る

使用したコマンド

$ GOOS=linux GOARCH=amd64 go build -o main_for_linux ./main.go

出たエラー

# github.com/dinedal/textql/storage
../{中略}/.go/pkg/mod/github.com/dinedal/textql{中略}/sqlite.go:30:28: undefined: sqlite3.SQLiteConn
../{中略}/.go/pkg/mod/github.com/dinedal/textql{中略}/sqlite.go:49:4: undefined: sqlite3.SQLiteDriver
...

調べて分かったこと:

go-sqlite3を使っているMacユーザーがたくさんはまっていた。
該当のissues
https://github.com/mattn/go-sqlite3/issues/384

原因はC言語のクロスコンパイルにおいては実行環境がOS依存であることだった。
sqliteの実装においてえ使用されている模様。

Cross-compiling C code (and by extension, cgo code) is tricky because the choice of C compiler depends on both the OS (Windows/Linux/Mac) and architecture (x86, x64, arm) of both the host and target. On top of that, there are multiple flavors of compilers for a given combination. I don't think listing all of them is feasible. But I do think it would be helpful to more thoroughly explain what a cross-compiler is and why it is needed, and list out some of the more common options. It would also be helpful to mention using docker as a means of "cross-compiling" (at least when targeting Linux)

解決した方法

MacにおけるC言語のコンパイル環境に問題があるので gcc-4.8.1-for-linux32-linux64 をインストールすることで解決する。

手順

Mac用のgccをインストール

gcc-4.8.1-for-linux32-linux64 をダウンロードしてインストール。

オプションをつけて実行

実行するコマンドは以下

build as usual env GOOS=linux GOARCH=amd64 CGO_ENABLED=1 CC=/usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-gcc go build

参考

多くの人が上記issueで問題にぶつかっていたため、親切な方が手順を別のissueにまとめてくれていた。

install [http://crossgcc.rts-software.org/download/gcc-4.8.1-for-linux32-linux64/gcc-4.8.1-for-linux64.dmg]gcc-4.8.1-for-linux32-linux64
build as usual env GOOS=linux GOARCH=amd64 CGO_ENABLED=1 CC=/usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-gcc go build
```

該当のissue
https://github.com/mattn/go-sqlite3/issues/797

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