- 投稿日:2020-10-19T22:21:03+09:00
Macのメモアプリで検索できなくなった時の対処法
環境
macOS 10.14.5 Mojave
-> 10.15.7 Catalinaメモアプリのバグ
いつ頃からか覚えていないが、メモの中身には書いてあるのに検索してもでてこなくなった。
iphoneでの同様のバグ
iPhoneメモアプリの検索機能で検索できない見つからない時の対処法
iOSの方はiOS 13.2.3で修正された模様
Apple、iOS13.2.3 リリース。メール・ファイル・メモ検索ができない問題を修正動くようになるまでにやったこと
手動で見つけたが検索にヒットしないメモの内容を更新する
=> 更新された記事が検索にヒットするようになる。このことから、キャッシュが原因であることが予想できる。
メモの再起動
=> 治らないOSのアップデート
macOS 10.14.5 Mojave -> 10.15.7 Catalina
=> 治らない検索条件の一部を古いメモに記述 (Timelineと検索してたのでtimeと入力した)
=> 治った(全てのメモから検索できるようになったっぽい)考察
メモの検索対象のキャッシュに問題があったと仮定する。
その時以下の対応のどれかで治ったのではないかと予想する。
予想1 OSをCatalinaにアップデートした上で、なんらかのメモを更新する
OSのアップデートでは治らなかった。
更新したら治ったというところから、以下が考えられる。
- OSをアップデートすることによってキャッシュの作り方が更新されるが、キャッシュそのものは更新されない
- メモの更新を行ったことでキャッシュの更新が走った
予想2 古いメモを更新すると治る
- OSのアップデート更新関係なく、古いメモを更新すると治る?
予想3 検索条件をいれたまま更新すると治る
- 検索条件を入れたままにするとキャッシュの更新が走る?
まとめ
どうしてなおったのかが確定せずにすっきりしないが、動くようになった。
私と同様のバグに遭遇したら是非上記の対応を試してみてください。何かわかったらコメントいただけると幸いです。
- 投稿日:2020-10-19T21:10:20+09:00
【 情報圧縮ノート002 】$PATHを通さないと $conda で Anacondaが使えない
なぜか英語を使ってますが、理由は、まぁその、早い話が自分のインスタグラムの使い回しの画像だからです。
*情報圧縮ノートは、今まで文章で説明されたいた概念(Knowledge)を1枚のjpegで表現するものです。
- 投稿日:2020-10-19T20:56:14+09:00
【 情報圧縮ノート001 】TerminalとShell(石原さとみ)とKernel(おじさん)の関係性
わざわざShellに石油会社の画像を使う理由は、
こないだ東京証券取引所を破壊した「石原さとみショック」の原因たる
<< GS社員 >> というTwitterのトレンドを見たとき、
小学5年から石原さとみを追っかけてきた自分ももれなく「ガソリンスタンド」を思い浮かべたからです。*情報圧縮ノートは、今まで文字で説明されていた概念(Knowledge)を1枚のjpegで表現するものです。
- 投稿日:2020-10-19T19:19:45+09:00
Dockerのコンテナとホストとの関係の条件付け
はじめに
Dockerは多くのIT開発企業で導入されている環境構築を楽にする技術です。
Dockerで作成したコンテナはホスト(自身のPCやAWSなどのクラウド)に対して、ファイルを読み込んだり、また、ホストのサーバーからコンテナへ接続したり、というような関係を持ちます。
それらの関係の条件を指定するために、docker runにオプションを付けて、実行します。
今回はコンテナとホストとの関係の条件付けのためのオプションを紹介します。今回紹介する内容(docker runコマンドとオプション)
- コンテナからホストのファイルに接続できるようにする (docker run -v)
- ユーザーIDやグループIDの指定する (docker run -u)
- ホストのポートとコンテナのポートをつなげる (docker run -p)
- コンテナがアクセスできるCPUやメモリの上限を設定する(docker run --cpus)(docker run --memory)
コンテナからホストのファイルに接続できるようにする (docker run -v)
ホストのファイルをコンテナの中にも存在するように振舞わせることをマウントと言います。
コンテナは誰かに使ってもらったり、手軽に実行させたりできるように、サイズが小さいことが望ましいので、可能な限りコンテナ自体にファイルを設置しないようにします。
例えば、コードのファイルはホストに置いておき、コンテナからホストのコードのファイルを読み込ませるという場合、コードのファイルをコンテナにマウントさせる、と言います。docker run -it -v (ホストのパス):(コンテナのパス) (DockerImageの名前 or ID) bash 例) docker run -it -v /Desktop/sample_dir:/new_dir (DockerImageのID) bash => コンテナのnew_dirというディレクトリにホストのDesktopに存在するsample_dirというディレクトリがマウントされます。 (コンテナにnew_dirというディレクトリが存在しない場合は、コンテナにnew_dirというディレクトリが自動で作成されます。)ユーザーIDやグループIDの指定する (docker run -u)
ホストのファイルをコンテナでマウントさせる場合、ユーザーIDやグループIDを指定しないと、コンテナがルート権限を持ってアクセスすることができてしまいます。
ルート権限がコンテナ側にあると、コンテナからホストのファイルを作成したり、編集したり、様々なことができてしまいます。
ルート権限を持たせたくない場合には、ユーザーIDやグループIDを指定して、マウントさせます。docker run -it -u (ユーザーID):(グループID) 例) docker run -it -u $(id -u):$(id -g) -v /Desktop/sample_dir:/new_dir (DockerImageのID) bash => ユーザーIDとグループIDが指定して、ホストのファイルをマウントしたコンテナが作成される。ホストのポートとコンテナのポートをつなげる (docker run -p)
ポートとはサーバーの中の特定の場所です。
例えば、サーバーに複数のサービスがあった場合、IPアドレスだけではどのサービスに接続するか分からないため、ポートを指定します。
作成したコンテナを一つのWebサービスとする場合、コンテナのポートとホストのポートをつなげる必要があります。docker run -it -p (ホストのポート):(コンテナのポート) 例) docker run -it -p 3000:3000 rails bash => railsというDockerImageからコンテナが作成され、railsのデフォルトのポート3000に繋がるため、ホスト側でlocalhost:3000にアクセスするとrailsにアクセスすることができます。コンテナがアクセスできるCPUやメモリの上限を設定する(docker run --cpus)(docker run --memory)
コンテナが動く時、ホストのCPUやメモリを使います。
例えば、一つのコンテナが限界までCPUやメモリを使ってしまった場合、メモリが枯渇してシステム全体が落ちてしまう可能性があります。
そのようなリスクを避けるために、それぞれのコンテナに対して、CPUやメモリの上限設定をします。docker run -it --cpus (論理コア数) --memory (メモリ容量) 例) docker run -it --cpus 4 --memory 2g ubuntu bash => ubuntuというDockerImageからコンテナが作成され、このコンテナが使えるCPUの論理コアの上限は4つで、メモリの上限は2ギガとなります。 (コンテナのCPUやメモリを確認したい時は、"docker inspect (コンテナID)"を入力します。)※自身のPCのCPUやメモリが知りたい場合はターミナルに以下の入力をすると確認できます。
- sysctl -n hw.logicalcpu_max => CPU(論理コア数)
- sysctl hw.memsize => メモリ(byte)
参考
Udemy
かめれおん講師 「米国AI開発者がゼロから教えるDocker講座」
有料ですが、初学者の私にも非常に理解しやすかったです。
最後に
本投稿が初学者の復習の一助となればと幸いです。
- 投稿日:2020-10-19T19:11:09+09:00
MacでExcelのファイルを編集するには、OneDriveを使う。
久しぶりですが、新しい就職先での書類のやりとりにハマったので記事にします。
会社から送られてきたExcelのファイルを編集して、上司に送り返しました。
ですが、Excelのソフトでうまくファイルが開けないとのこと。MacでExcelのファイルを開こうとすると、「Keynote」のアプリを使って開かれるのですが、
編集しようとすると拡張子が変わってしまうため、Excelで開けなくなってしまったことが原因。互換性があるという記事を見かけたので勘違いしてましたが、閲覧する際には
互換性が保てても編集する際には拡張子がかわって互換性が保てなくなるようです。https://www.stay-minimal.com/entry/introduceonedrive
こちらの記事を参考に、MacでもOneDriveというオンラインストレージを使えば、
Excelのファイルを編集することができることをしりました。使用するには、MicroSoftのアカウントを作成する必要があります。
有料プランもありますが、無料でも簡単な編集ならできるので問題ありません。ただ、ルビをふるボタンが実装されておらず、ふりがなを記入することができませんでした。
振り仮名は会社でお願いして記入してもらう形に。いくら調べても出てこなかったので、おそらくOneDriveではふりがなをふることはできないようです。
とても使いやすく感じたのですが、そこだけ少し残念でした。
- 投稿日:2020-10-19T18:19:50+09:00
【GitHub】GitHub入門<10/19作成中>
はじめに
(参考①) 【超入門】初心者のためのGitとGitHubの使い方
↑本記事の執筆にあたって参考とした記事1
(参考②) サル先生のGit入門
↑本記事の執筆にあたって参考とした記事2
(参考③) よく使う基本Gitコマンド集【厳選19選】
↑本記事の執筆にあたって参考とした記事3
(参考④) Git - Book
↑Gitを隅々まで理解したい方へ
(参考④) Markdown記法 チートシート
↑Qiitaでの記事投稿を検討している方へ目次
作成中
GitHub入門
GitHubとは
Git(バージョン管理を行うためのシステム)のHubと書いてGitHub(ギットハブ)と読みます。
その名の通り、Gitで人同士を繋ぐためのWebサービスです。自身の書いたソースコードを世界中に公開することができます。
バージョン管理の必要性については、参考①を参照してください。多くの記事で「駆け出しエンジニアはGitHubを使え」と推奨されていますが、これには以下のような理由があります。
・開発現場で一般に用いられている
→ チーム開発では使えることが必須
・就職/転職活動の武器になる
→ 自分自身のポートフォリオとしてアピール材料にできるなお、GitHubはCUI(Character User Interface; コマンドによる操作)で行いましょう。この理由は以下の通りです。
・OS(Windows/macOS(Linux))のコマンドを覚えられる
→ cd, mkdirといった基本的な操作コマンドを使えるようになる
→ 異なる開発環境でも普遍的に操作することができる
・GUI(Graphical User Interface; マウスやボタンによる操作)よりも難しい
→ CUIで管理ファイルの流れを知っておくことで、GUIによるGitHub連携ツールの仕組みを理解できるようになるGitHubの仕組み
GitHubで管理するファイルの流れは、以下のようになります。
図における各要素の説明は、下記の通りです。
Repository(リポジトリ) ・・・ファイルやディレクトリ(フォルダ)の保管場所
Local Repository(ローカルリポジトリ) ・・・ローカル環境(=自身のPC)上に存在するリポジトリ。リモートリポジトリにアップロードする際は、必ずローカルリポジトリ上にファイルをコミットしておかなければならない。
Remote Repository(リモートリポジトリ) ・・・GitHubのサーバー上に存在するリポジトリ。
Index/Stage(インデックス/ステージ) ・・・変更後ファイルの一時的な保管場所
Working Tree(ワークツリー) ・・・実際に作業するディレクトリ(フォルダ)
ファイルの移動コマンド(ローカル→リモート)
add(登録) ・・・ワークツリー上のファイルを一時的にインデックスに保存する
commit(コミット) ・・・インデックス上のファイルをローカルリポジトリに保存する
push(プッシュ) ・・・ローカルリポジトリ上のファイルをリモートリポジトリにアップロードする
ファイルの移動コマンド(リモート→ローカル)
clone(クローン) ・・・リモートリポジトリにあってローカルリポジトリにないファイルをコピーする
pull(プル) ・・・リモートリポジトリ上にあるファイルの変更箇所をローカル上にダウンロード(fetch)し、その変更をワークツリー上のファイルに適用(merge)する
※横文字が並んで見づらい方は、上の図を参照していただければ結構です。「ターミナル」で使用するコマンド
Macを使っている方は、「ターミナル」というプリインストールされたアプリを使用してGitHubでのバージョン管理を行います。
私が購入した「iMac (Retina 5K, 27-inch, 2020)」にはGitが標準でインストールされていましたが、お持ちのMacに標準搭載されていない場合はこちらを参照してインストールしてみてください。よく用いるGitコマンドは、以下の通りです。
ターミナルで使うコマンドについて詳しく知りたい方は、「UNIXコマンド」と検索してみてください。ローカルリポジトリの作成
Gitを使う前に、ローカルリポジトリを作成する必要があります。
ここで使用するコマンドについての説明は以下の通りです。% cd (change directory) ・・・現在のディレクトリから移動
% git init (initialize) ・・・ローカルリポジトリ(.gitディレクトリ)の作成% cd <ローカルリポジトリを作成したいディレクトリのパス> % git init // ローカルリポジトリ(.gitディレクトリ)の作成インデックスへのステージング
ファイルを作成・編集した際は、コミットする前にインデックスに一時保存しておきましょう。
インデックスを利用することで、コミットするファイルをコミット前に確認することができます。% git add <ファイル名1> <ファイル名2> <ファイル名3> ... // ファイル名を指定して登録 % git add . // 全てのファイルを登録ローカルリポジトリへのコミット
インデックスに登録したファイルをローカルリポジトリにコミットします。
% git commit -m "<コミットメッセージ>"リモートリポジトリからローカルリポジトリへの複製
リモートリポジトリにある「他人が作成・編集したファイル」をローカルリポジトリにコピーします。
一度コピーすれば、作業する前に差分だけリモートリポジトリから引っ張ってくればよいため、このコマンドを実行するのは初回だけで構いません。% cd <ローカルリポジトリを作成したいディレクトリのパス> % git clone <複製したいリモートリポジトリのURL>
- 投稿日:2020-10-19T15:04:35+09:00
[Mac]外部GPUを追加したが使われてなさそうだったときの対処法
https://www.amazon.co.jp/gp/product/B07CQG2K5K/背景
ちょっと前に外付けGPUを購入したのですが、GPU使う系の処理をしてもなんか早くなってない気がする、、、と思ったら、アプリケーション側で下記の設定が必要なケースだったようで、備忘録。
対処方法
以上です。
参考
https://support.apple.com/ja-jp/HT208544
※ というか下記にかいてるのをほぼそのまま書いてます
- 投稿日:2020-10-19T00:45:51+09:00
Node.jsのインストール
概要
- MacにNode.jsをインストールする。
- ターミナルでHomebrewを使ってインストールする。
前提
- Homebrewをインストール済
- ログインシェルがzsh
手順
- nodebrewをインストールする
- Node.jsをインストールする
- パスを通す
1. nodebrewをインストールする
下記を実行する
terminalbrew install nodebrew
※補足:nodebrewのバージョン確認
terminalnodebrew -v
2. Node.jsをインストールする
2.1 nodebrewでNode.js(安定版)をインストールする
下記を実行する
terminalnodebrew install-binary stable※補足:下記のような結果が出て、インストールができなかった場合
terminal(結果)Fetching: https://nodejs.org/dist/v14.14.0/node-v14.14.0-darwin-x64.tar.gz Warning: Failed to create the file Warning: /Users/[username]/.nodebrew/src/v14.14.0/node-v14.14.0-darwin-x64.tar Warning: .gz: No such file or directory curl: (23) Failed writing body (0 != 980) download failed: https://nodejs.org/dist/v14.14.0/node-v14.14.0-darwin-x64.tar.gz下記を実行する(.nodebrewディレクトリがない場合、-pオプションをつける)
terminalmkdir -p ~/.nodebrew/srcその後、再度2.1を実行
2.2 インストールしたバージョンを使用するようにする
2.2.1 インストールしたバージョンを確認する
下記を実行する
terminalnodebrew ls
terminal(結果)v14.14.0 current: none※「current: none」は、現在使用に指定しているバージョンはないという意味
2.2.2 インストールしたバージョンを使用するようにする
下記を実行する
terminalnodebrew use v14.14.0再度下記を実行
terminalnodebrew ls
下記の通り、インストールしたバージョンが使用に指定されていることを確認
terminal(結果)v14.14.0 current: v14.14.03. パスを通す
3.1 Node.jsを使えるように、下記を実行しパスを通す
terminalecho "export PATH=$HOME/.nodebrew/current/bin:$PATH" >> ~/.zshrc下記を実行し、ファイルを読み直す
terminalsource ~/.zshrc
3.2 使用可能かを確認する
下記を実行する
terminalnode -v
下記のような結果が出れば完了
terminal(結果)v14.14.0
- 投稿日:2020-10-19T00:03:49+09:00
ラズパイにSSHするときに毎回パスワードを入力するのが面倒くさいので鍵認証の設定をしてみた。(mac/Windows)
やってみると意外と簡単。
パスワード入力が不要になるので、やって見る価値はあるかと。SSHされる側(ホスト側のRaspberry Pi)での設定
SSHサーバーの設定変更
デフォルトでは鍵認証が有効になっていないので、設定を変更します。
RaspberryPisudo sed -i 's/#PubkeyAuthentication/PubkeyAuthentication/g' /etc/ssh/sshd_config sudo sed -i 's/#AuthorizedKeysFile/AuthorizedKeysFile/g' /etc/ssh/sshd_config sudo systemctl restart sshd.serviceSSHで使用する鍵の作成
RaspberryPipi@raspberrypi4:~ $ ssh-keygen -t rsa -b 4096 -C "moritalous" Generating public/private rsa key pair. Enter file in which to save the key (/home/pi/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/pi/.ssh/id_rsa. Your public key has been saved in /home/pi/.ssh/id_rsa.pub. The key fingerprint is: SHA256:xxxxxxxxx The key's randomart image is: +---[RSA 4096]----+ |xxxxxxxxxxxxxxxxx| |xxxxxxxxxxxxxxxxx| |xxxxxxxxxxxxxxxxx| |xxxxxxxxxxxxxxxxx| |xxxxxxxxxxxxxxxxx| |xxxxxxxxxxxxxxxxx| |xxxxxxxxxxxxxxxxx| |xxxxxxxxxxxxxxxxx| |xxxxxxxxxxxxxxxxx| +----[SHA256]-----+ pi@raspberrypi4:~ $
~/.ssh/
にid_rsa(秘密鍵)とid_rsa.pub(公開鍵)が作成されます。公開鍵の方をauthorized_keysに登録します。
RaspberryPicat .ssh/id_rsa.pub >> ~/.ssh/authorized_keysSSHする側(クライアント側のmac/Windows)での設定
秘密鍵の配置と権限変更
ホスト側で作成したid_rsa(秘密鍵)を持ってきます。
私は~/.ssh/raspberrypi4/
の配下(Windowsの場合は%USERPROFILE%\.ssh\raspberrypi4
)に保存しました。権限変更はmacの場合のみ。Windowsの場合は不要でした。
macのみchmod 600 ~/.ssh/raspberrypi4/id_rsa
設定ファイルの作成
macの場合もWindowsの場合も、IdentityFileの指定は同じです。Windowsだからといって
%USERPROFILE%
と書いたり、エスケープ文字が\
(円)になったりしません。~/.ssh/configHost raspberrypi4.local HostName raspberrypi4.local User pi IdentityFile ~/.ssh/raspberrypi4/id_rsa Host raspberrypi3.local HostName raspberrypi3.local User pi IdentityFile ~/.ssh/raspberrypi3/id_rsaこれで、パスワードなしでSSH接続できます。
mac/Windows$ ssh pi@raspberrypi4.local Linux raspberrypi4 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. You have new mail. Last login: Sun Oct 18 16:26:01 2020 from 192.168.0.8 pi@raspberrypi4:~ $VSCodeのSSH接続の拡張機能(Remote - SSH)を使った場合もパスワード無しで、接続されます。
わーい
EC2の接続に必要な鍵もこうやって管理すればいいんですね。