- 投稿日:2019-08-29T23:43:45+09:00
Mac(Catalina)でHHKBのキーマッピング変更
MacでHHKBを使いたいが、デフォルトのキーマッピングが使いづらい
Karabinerのインストール
をして、キーのマッピングを行う遭遇した問題
[2019-08-29 23:32:34.798] [error] [observer] grabber_client error: No buffer space available [2019-08-29 23:32:34.951] [error] [console_user_server] grabber_client error: No buffer space available類似Issue
https://github.com/tekezo/Karabiner-Elements/issues/1932解決策
karabinerのプロセスを再起動することで治るらしい(原因は未調査
sudo killall karabiner_grabber sudo killall karabiner_observer
- 投稿日:2019-08-29T22:25:04+09:00
macOS に Homebrew で MySQL 8.0 をインストールしてデータベースを作成する
Homebrew で MySQL をインストール
$ brew install mysql (中略) We've installed your MySQL database without a root password. To secure it run: mysql_secure_installation MySQL is configured to only allow connections from localhost by default To connect run: mysql -uroot To have launchd start mysql now and restart at login: brew services start mysql Or, if you don't want/need a background service you can just run: mysql.server start ==> Summary ? /usr/local/Cellar/mysql/8.0.17: 284 files, 272.5MBMySQL サーバを起動
brew services start mysql で MySQL サーバを起動する。
$ brew services start mysql ==> Tapping homebrew/services Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services'... (中略) ==> Successfully started `mysql` (label: homebrew.mxcl.mysql)MySQL の初期設定を実施
mysql_secure_installation で対話型の初期設定を開始する。
$ mysql_secure_installationいくつかの設定について尋ねてくるのでそれに答えていく。
MySQL root ユーザーのパスワードもここで設定できる。データベースを作成
mysql コマンドを実行する。
$ mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 8.0.17 Homebrew Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.CREATE DATABASE でデータベースを作成する。
ここでは testdb という名前のデータベースを作成する。mysql> CREATE DATABASE IF NOT EXISTS testdb -> DEFAULT CHARACTER SET utf8mb4 -> DEFAULT COLLATE utf8mb4_general_ci -> ; Query OK, 1 row affected (0.01 sec)ユーザーを作成
CREATE USER でユーザーを作成する。
ここではユーザー名に java、パスワードに cafebabe を指定する。mysql> CREATE USER 'java'@'localhost' IDENTIFIED BY 'cafebabe'; Query OK, 0 rows affected (0.04 sec)ユーザーに権限を設定する。
mysql> GRANT CREATE, DROP, SELECT, INSERT, UPDATE, DELETE ON testdb.* TO 'java'@'localhost'; Query OK, 0 rows affected (0.01 sec)参考資料
- MySQL :: MySQL 8.0 Reference Manual :: 10 Character Sets, Collations, Unicode
- MySQL :: MySQL 8.0 Reference Manual :: 6.2.4 Specifying Account Names
- MySQL :: MySQL 8.0 Reference Manual :: 13.7.1 Account Management Statements
- MySQL :: MySQL 8.0 Reference Manual :: 13.7.1.3 CREATE USER Syntax
- MySQL :: MySQL 8.0 Reference Manual :: 13.7.1.6 GRANT Syntax
- 投稿日:2019-08-29T22:18:47+09:00
Macで『Hacking - 美しき策謀 第2版』のLive CDを動かす
概要
『Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際』
https://www.amazon.co.jp/dp/4873115140脆弱性攻撃を実際にしてみてハッキングを学ぶ本なので,極力仮想環境を使って隔離したところで動かしたい気持ちがある.
この本ではUbuntuのLive CDイメージを配布して実行環境を得られるようにしているのでそれをMacでVirtualBoxを使って動かす備忘録.※私はまだ少し動かしただけです.この記事の内容を実行していかなる損害が生じても責任を負いかねます.
実行環境
- MacBook Pro
- 2.3 GHz Intel Core i5
- 16GBメモリ
- OS Mojava (バージョン10.14.6)
LiveCD イメージのダウンロード
以下のリンクの 「関連ファイル」 > 「LiveCD」 からダウンロード.
https://www.oreilly.co.jp/books/9784873115146/VirtualBoxのインストール
このあたりを参考にインストール.
VirtualBoxでの設定
ハードサイズも好きに選ぶ
もっと小さくしてもよかった気がする.
これで最初の画面に戻るはず.
次にできたやつを選んで「設定」 > 「ストレージ」
こんな感じの画面が出てくる.
「コントローラー:IDE」の下の「空」となっているCDマークをクリック.
この「IDEセカンダリマスター」とか書いている右側のCDマークをクリックして,先ほどダウンロードしたisoファイルを選択.
さらにLive CD/DVDにチェックを入れる.
仮想マシン上での設定
キーボード設定
JISキーボードを使っている場合,キーボードの割り当てがめちゃくちゃになっているので左上の「System」 > 「Preference」 > 「Keyboard」から適当に直したかったのだが,なんだかうまくいっていない.
うまいこと直せている人がいたら教えてください.実行ファイルダウンロード
以下のコマンドをUbuntu上で打って実行ファイルをダウンロード.
なんだか妙に証明書にうるさい初期設定になっているのでそこを無視するようにする.
wget --no-check-certificate http://www.oreilly.co.jp/pub/9784873115146/HackingJ.zip
unzip HackingJ.zip
コード実行
- 投稿日:2019-08-29T22:18:47+09:00
Mac & VirtualBoxで『Hacking : 美しき策謀 第2版』のLive CDを動かす
概要
『Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際』
https://www.amazon.co.jp/dp/4873115140脆弱性攻撃を実際にしてみてハッキングを学ぶ本なので,極力仮想環境を使って隔離したところで動かしたい気持ちがある.
この本ではUbuntuのLive CDイメージを配布して実行環境を得られるようにしているのでそれをMacでVirtualBoxを使って動かす備忘録.※私はまだ少し動かしただけです.この記事の内容を実行していかなる損害が生じても責任を負いかねます.
実行環境
- MacBook Pro
- 2.3 GHz Intel Core i5
- 16GBメモリ
- OS Mojava (バージョン10.14.6)
LiveCD イメージのダウンロード
以下のリンクの 「関連ファイル」 > 「LiveCD」 からダウンロード.
https://www.oreilly.co.jp/books/9784873115146/VirtualBoxのインストール
このあたりを参考にインストール.
VirtualBoxでの設定
ハードサイズも好きに選ぶ
もっと小さくしてもよかった気がする.
これで最初の画面に戻るはず.
次にできたやつを選んで「設定」 > 「ストレージ」
こんな感じの画面が出てくる.
「コントローラー:IDE」の下の「空」となっているCDマークをクリック.
この「IDEセカンダリマスター」とか書いている右側のCDマークをクリックして,先ほどダウンロードしたisoファイルを選択.
さらにLive CD/DVDにチェックを入れる.
仮想マシン上での設定
キーボード設定
JISキーボードを使っている場合,キーボードの割り当てがめちゃくちゃになっているので左上の「System」 > 「Preference」 > 「Keyboard」から適当に直したかったのだが,なんだかうまくいっていない.
https://dooluka.hatenadiary.org/entry/20120623/1340377518
このリンクとか見ればなんとかなるかも画面サイズの調整
ウィンドウサイズに合わせてUbuntuの画面サイズが変わるようにする.
Ubuntuを立ち上げているウィンドウをクリックして,Macの画面上部のメニューバーで
「View」 > 「Scaled Mode」にチェック.
または Command + C でも多分できる.実行ファイルダウンロード
~/booksrc
にも置かれているのでぶっちゃけダウンロードいらない気もするけれど,ダウンロードすると章ごとにディレクトリ分けされたものが得られてちょっと整理がつく.以下のコマンドをUbuntu上で打って実行ファイルをダウンロード.
なんだか妙に証明書にうるさい初期設定になっているのでそこを無視するようにする.
wget --no-check-certificate http://www.oreilly.co.jp/pub/9784873115146/HackingJ.zip
unzip HackingJ.zip
コード実行
とりあえず0x200の最初のコマンドを実行してみる
動いた!嬉しい!注意点
仮想マシン落とすときは「Save the machine state」を選ばないと多分Ubuntu内のデータとか諸々全部吹っ飛ぶ気がする.
- 投稿日:2019-08-29T18:48:08+09:00
Docker For Macが遅い:対策の実験
前回のまとめた資料から実際テストしてみた内容をまとめてみました。(人^─^)会社のLaravelプロジェクトのdockerの開発環境で試してました。
問題になりそうなところ
先ずdocker-compose.ymlを分析して同期する対象を決めてみました。
docker-composer.ymlversion: '2' services: mysqldata: <- *1 image: busybox volumes: - ./docker/mysql/storage:/var/lib/mysql mysql: build: ./docker/mysql volumes_from: - mysqldata <- *1 ports: - ${DOCKER_NUM}4306:3306 environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_DATABASE=app_db php: container_name: web_php build: ./docker/php ports: - ${DOCKER_NUM}8888:80 - ${DOCKER_NUM}443:443 volumes: - .:/var/www/html <- *2 links: - mysql smtp: image: phpdockerio/mailhog:latest ports: - ${DOCKER_NUM}1025:1025 - ${DOCKER_NUM}8025:8025「*1」 : DBA
DBのファイルをDocker化する場合はvolumesが適切かと思います。SyncするとDatabaseファイルの構成上、大変なことになると思います。
Docker for Macの場合はvolumesが遅いのでMacに直接にインストールしてDockerから接続するか、Docker化するがvolumnsはしない(DB内容はDBAに接続してみるかDockerの中に入ってみる)と思います。
「*2 」: 今回はこれだけdocker-syncの対象にしてみいます。
現在の速度
Top画面を表示してみました。全体的に遅い(google developer toolsでみると20秒以上)です。特にHtml(DB関連かな)が遅いですね。Σ(´Д`)ハッ!!
100Mのファイルを作成します。Docker内部で実行します。
# time dd if=/dev/zero of=speedtest bs=1024 count=102400 102400+0 records in 102400+0 records out 104857600 bytes (105 MB, 100 MiB) copied, 86.2196 s, 1.2 MB/s real 1m26.162s user 0m1.110s sys 0m8.190sウヒャ━━ヽ(゚Д゚)ノ━━!!
では、docker-syncを利用して同期してみましょう。
同期するように変更
先ず、docker-syncをインストール
# gem install docker-sync Fetching: thor-0.20.3.gem (100%) ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.つ〜〜 ( ´з`)・∵.ブッ
# sudo gem install docker-sync次は監視するための物ですが、今回は使ってません。
# brew install fswatch自分のPCはrsyncがインストールされているので、省略します。(´∀`*)ウフフ
実際、テストしてみると大きく同期なのでファイルの権限的な部分の問題が多かったので他のファイルも一部修正しました。
docker-sync.ymlversion: '2' syncs: document-root: sync_strategy: rsync notify_terminal: true sync_host_ip: 'auto' sync_host_port: 10872 sync_excludes: [ '.git', '.idea', 'vendor', 'docker', '*.yml' ] sync_args: '-v' src: ./ sync_userid: '33'「sync_userid」についてはContainerのユーザー番号です。
docker-composer.ymlversion: '2' services: mysqldata: image: busybox mysql: build: ./docker/mysql ports: - ${DOCKER_NUM}4306:3306 environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_DATABASE=app_db php: container_name: web_php build: ./docker/php ports: - ${DOCKER_NUM}8888:80 - ${DOCKER_NUM}443:443 environment: - APACHE_RUN_USER=www-data - APACHE_RUN_GROUP=www-data volumes: - document-root:/var/www/html links: - mysql smtp: image: phpdockerio/mailhog:latest ports: - ${DOCKER_NUM}1025:1025 - ${DOCKER_NUM}8025:8025 volumes: document-root: external: true修正後の速度
DBを同期&マウントしてないので、「初期のデータベースを更新」が比較的に早い(25分くらい)ですね。キタ━━(p゚∀゚q)━━!!
では、100Mのファイルを作成します。
# time dd if=/dev/zero of=speedtest bs=1024 count=102400 # time dd if=/dev/zero of=speedtest bs=1024 count=102400 102400+0 records in 102400+0 records out 104857600 bytes (105 MB, 100 MiB) copied, 1.41639 s, 74.0 MB/s real 0m1.432s user 0m0.140s sys 0m1.240s同じくTop画面を表示してみました。全体的に2秒くらいで画面が表示されました。♪(´ε` )
課題&疑問点
- ログファイルやコンテイナーのファイルを見るのが面倒で、速度に問題がないまま共有する方法が必要かと思います。
- 結局DBの問題ではないのか?DB以外はマウント(volumes)を利用しても使えるレベルではないか? 検証しないとわかりません。(;´v_v)ゞ
- 次回は「CE 17.12 (edge) 」を試してみましょう!! -> 初期状態の「docker-composer.yml」で試してみました。結果としては4・5秒くらいでTop画面が表示されました(DBの使用頻度にもよると思います)。テストはできるレベルですね。
- 投稿日:2019-08-29T17:55:39+09:00
Docker For Macが遅い
「クソみたいに遅いじゃん。」自分の経験ではないですが、今後の為に資料を調査して理由・対応方法を咲くってみました。
遅い理由
結論としては「Docker For Mac」がosxfsを採用している。あ!!それよりosxfsがOSXのFSEvents APIとLinux’s inotify APIをマッピングさせているのが原因です。
参考:https://forums.docker.com/t/file-access-in-mounted-volumes-extremely-slow-cpu-bound/8076/158
- osxfsの throughput は250 MB/s -> これはほとんどのAPPで問題にならないはず
- コンテナ内からosxfsに対するファイルIOのシステムコールはlatencyが遅い。書き込み時で200μs -> 通常のファイルシステムであれば under 10μs(クソやられた感じ)
対応方法
じゃ、簡単!!「Docker For Mac」を使えなければ良い。( ゚Д゚)ヴォケ!!
VirtualBoxを利用
docker-machineでVirtualBox上に立ち上げたdocker環境で開発環境を構築する。うん、面倒だ〜〜〜(;^ω^)
Docker For Macを使わない
CE 17.12 (edge) チャンネルを使うこと。(・д・)チッ
参考:https://blog.hanhans.net/2017/05/10/docker-user-guided-caching/
コンテイナ間を爆速で同期する
例としてはdocker-syncをおすすめします。rsyncで設定が簡単かな。
対策の実験
- 投稿日:2019-08-29T16:27:24+09:00
macの環境構築
この記事について
mac book pro(2019)(OSはmac OS Mojave 10.14.6)の環境構築ガイドです.
理系大学生(物理系?)向けです.この夏, 7年間お世話になったmac book proからmac book pro(2019)に買い換え, 一から環境構築することになったので, そのメモです.
- Python3
- VTK
- OpenCV
- ROOT(cernの解析ソフト)
が使える環境を目指します.
Xcodeのインストール
まずはXcode.
AppStoreからXcodeをインストール(Xcode自体はあんまり使わないけど, 一応インストール).
Terminalでxcode-select --install
でcommand line toolsをインストール.Homebrewのインストール
Homebrewの公式に従って, Terminalで
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"を実行.
homebrew-cask
もこれで使えるようになる.Homebrew, Homebrew Cask で必要なアプリケーションをインストール
Homebrewで以下をインストール.
- cmake
Homebrew Caskで以下をインストール
- Google Chrome
- Slack
- atom
- xquartz
Gitのインストール, 設定
brew install git
を実行.
gitの設定$ git --global user.name "your name" $ git --global user.email "your_email@example.com" $ git config --global color.ui autossh keyの生成.
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f "$HOME/.ssh/github_rsa" $ eval "$(ssh-agent -s)"
$HOME/.ssh/config
を作成し, 以下の内容を書き込む.Host github github.com AddKeysToAgent yes UseKeychain yes HostName github.com IdentityFile ~/.ssh/github_rsa User git
ssh-add
を実行.$ ssh-add -K ~/.ssh/guthub_rsagithubにssh keyを追加.
$ pbcopy < ~/.ssh/github_rsa.pubクリップボードにコピーした公開鍵の内容をgithubのSSH keysにペーストする.
$ ssh -T git@github.comとして
Hi your_github_account_name! You've successfully authenticated, but GitHub does not provide shell access.と表示されればOK.
C/C++開発環境
学生の特権を使ってiccを入れる.
ここからC++ macOSを選んで, インストーラをダウンロードして, インストーラの指示に従って, インストール.
mkl
,tbb
も一緒にインストールされる.
intelpython3
も一緒にインストールしたけど, これ使わない気がする...
mkl
,tbb
の環境変数を設定するために.bash_profile
にsource /opt/intel/mkl/bin/mklvars.sh source /opt/intel/tbb/bin/tbbvars.shを追加(これをしないと
numpy
,scipy
が使えなかったりする).iccだとbuildできないものもあるので, gccも入れる.
$ brew install gccFortran開発環境
iccと同じようにifortranを入れる.
ここからFortran macOSを選んで, インストーラをダウンロードして, インストーラの指示に従って, インストール.
gfotran
は$ brew install gcc
で一緒にインストールされてる.Python開発環境
今まではAnacondaを利用していたけど, 他の環境を壊しちゃったり, Anacondaとbrewで重複して入っちゃったパッケージがあったりとか, ROOTがAnaconda Pythonでは使えなかったりとか... 大変なので使うのやめます.
普通にPythonとpipで環境構築します.
Python3のインストール
まずはPython3のインストール(イマドキPython2は使いませんよ).
$ brew install python
pip
も一緒に入るので大丈夫.numpy, scipyのインストール
普通に
pip
でnumpy
,scipy
をインストールすると,openblas
が使われるので遅い.
なので,mkl
とリンクさせてbuildする.
$HOME
に以下の内容の.numpy-site.cfg
を作る.[mkl] library_dirs = /opt/intel/mkl/lib include_dirs = /opt/intel/mkl/include mkl_libs = mkl_rt lapack_libs =また,
$HOME
に次の内容で.config/pip/pip.conf
を作る.[install] no-binary = numpy,scipy [wheel] no-binary = numpy,scipyこれでコンパイル済みのバイナリをインストールすることなく, buildされるようになる.
あとは普通にnumpy
,scipy
をインストールする.pip install numpy pip install scipyJupyterのインストール, 設定
jupyter labのインストール
$ pip install jupyterlabだいたいこれでいける.
あとは細かな設定.$ jupyter notebook --generate-configを実行して,
~/.jupyter/jupyter_notebook_config.py
を作成.
これをちょっと編集する.
safariとjupyterの相性がよろしくないので,c.NotebookApp.browser = '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome %s'としてGoogle Chromeで開くようにする.
ちなみに--new-window
とつけると, 新しくウインドウで開く.
jupyter lab
はnode
を使うので,brew install nodeを実行.
jupyter lab
でR
を使いたい場合は,R
を起動して,R
のインタプリンタで以下を実行.> install.packages('IRkernel') > IRkernel::installspec()その他のインストール
- pandas
- matplotlib
- plotly
- Pillow
- Cython
- PyQt5
をインストール.
plotly
をjupyter lab
で使えるようにするためには, 次をインストールする必要がある.jupyter labextension install @jupyterlab/plotly-extensionROOTのインストール(build)
$HOME/ROOT
ディレクトリを作る.
$HOME/ROOT
下のsrc
にROOT
のソースをおく.$ git clone https://github.com/root-project/root.git src
$HOME/ROOT
でcmakeを実行.
このとき,PYTHON_EXECUTABLE
でpython3
を指定する.$ cmake src -D PYTHON_EXECUTABLE=/usr/local/bin/python3必要に応じて
ccmake src
を実行してからmake.$ sudo make -j8このとき, コンパイラの関係で失敗するときは, 以下の内容で
clang.cmake
をつくり,cmake -C clang.cmake -D PYTHON_EXECUTABLE=/usr/local/bin/python3 src
を実行.set(CMAKE_C_COMPILER "/usr/bin/clang" CACHE string "clang compiler" FORCE) set(CMAKE_CXX_COMPILER "/usr/bin/clang++" CACHE string "clang++ compiler" FORCE)
make install
をする必要はないかな.
.bash_profile
に次を追加.source "$HOME/root/bin/thisroot.sh"これでROOTが使えるようになる.
jupyter
でROOTを使いたい場合は,$ cp -r $ROOTSYS/etc/notebook/kernels/root /Users/$USER/Library/Jupyter/kernels/を実行する.
Qtのインストール
qtの公式からOpen Source版をダウンロードしてきて, あとはインストーラの指示に従ってインストール.
フルでインストールすると, 20GBくらいになるので, 使いそうにないiOS(これだけで9GB...)やAndroid用のものはインストールしない.後のOpenCVとかVTKとかのbuildでcmakeがQtを認識できるように
export CMAKE_PREFIX_PATH=/Users/takayuki/Qt/5.12.4/clang_64/lib/cmakeを
.bash_profile
に追加する.OpenCVのインストール(build)
opencvとopencv_contribのソースをgitで落としてくる.
$ git clone https://github.com/opencv/opencv.git $ git clone https://github.com/opencv/opencv_contrib.gitそして, cmakeでconfigureして
make
,make install
のいつもの流れ.$ cd opencv $ mkdir build $ cd build $ cmake `cd ..; brew diy --version=4.1.1` \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules/ \ -D BUILD_EXAMPLES=ON \ -D WITH_QT=ON \ -D Qt5Core_DIR=/Developer/Qt/5.12.4/clang_64/lib/cmake/Qt5Core/ \ -D Qt5Gui_DIR=/Developer/Qt/5.12.4/clang_64/lib/cmake/Qt5Gui/ \ -D Qt5Test_DIR=/Developer/Qt/5.12.4/clang_64/lib/cmake/Qt5Test/ \ -D Qt5Widgets_DIR=/Developer/Qt/5.12.4/clang_64/lib/cmake/Qt5Widgets/ \ -D Qt5Concurrent_DIR=/Developer/Qt/5.12.4/clang_64/lib/cmake/Qt5Concurrent/ \ -D Qt5OpenGL_DIR=/Developer/Qt/5.12.4/clang_64/lib/cmake/Qt5OpenGL/ \ -D WITH_OPENGL=ON \ -D Qt5_DIR=/Users/takayuki/Qt/5.12.4/clang_64/ ..このあと
$ ccmake ..
でBUILD_EXAMPLES
をONに,MKL
やTBB
,Python
の設定がうまくできてるか確認してから,$ make -j8 $ make install最後に
brew link opencv
.VTKのインストール(build)
必要かもしれない
hdf5
,netcdf
をインストール.$ brew install hdf5 $ brew install netcdf
$HOME
にvtkのディレクトリを作り, sourceをgitで落としてくる.$ mkdir vtk $ git clone https://github.com/Kitware/VTK.git src
git checkout refs/tags/v8.2.0
とした方が良いのかもしれないけど, こうすると, bugがある(Pythonでimport vtk
をすると失敗する.詳しくはここ)のでmaster
のままでbuildする.そして
cmake
.$ cmake -D CMAKE_INSTALL_PREFIX=/usr/local/Cellar/vtk/8.2.0 \ -D PYTHON_EXECUTABLE=/usr/local/bin/python3 \ -D VTK_WRAP_PYTHON:BOOL=ON \ srcccmakeでもうちょっとConfigure
$ ccmake src
build examples
やVTK_Group_Qt
をONにしてc
でConfigure.$ make -j8 $ make install最後にbrew link.
$ brew link vtkParaViewのインストール
5.7.0がRC版なので, 5.6.2を公式からインストール.
homebrew caskのやつはGUIがイマイチ(見た目が古かった)だったのでやめました.buildしないのかって?
結構大変なんすよ...TeX環境の構築
basictexとghostscriptをインストール.
$ brew cask install basictex $ brew install ghostscriptアップデートしてから日本語を使えるようにする.
$ sudo tlmgr update --self --all $ sudo tlmgr paper a4 $ sudo tlmgr install collection-langjapaneseヒラギノを使えるようにする.
$ sudo tlmgr repository add http://contrib.texlive.info/current tlcontrib $ sudo tlmgr pinning add tlcontrib '*' $ sudo tlmgr install japanese-otf-nonfree japanese-otf-uptex-nonfree ptex-fontmaps-macos cjk-gs-integrate-macos $ sudo tlmgr install cjk-gs-integrate adobemapping $ sudo cjk-gs-integrate --link-texmf --cleanup $ sudo cjk-gs-integrate-macos --link-texmf $ sudo mktexlsr sudo kanji-config-updmap-sys --jis2004 hiragino-highsierra-pronTeXshop, latexitをインストール.
$ brew cask install texshop $ brew install latexittexshopの設定を開いてtexwikiを参考にして設定する.
ユーティリティー
Terminal起動のショートカット設定
- Automater → クイックアクション.
- アプリケーションを起動, Terminalを起動を選択. ワークフローが受け取る項目を入力なしに設定.
ComeOnTerminal
の名前で保存.- システム環境設定 → キーボード → ショートカット → サービス → 一般 →
ComeOnTerminal
→ ショートカットキー(ctrl + option + t)を追加.Automatorスクリプトは
~/Library/Services/ComeOnTerminal.workflow
にある.アプリケーションを起動中はそのアプリケーションのショートカットが優先されるため, Terminalが起動しないことがある.
Touch BarからSiriを消す
Touch BarにSiriがいるのなんか嫌.
間違って押しちゃいそうになるし...
- システム環境設定 → キーボード → Touch Barをカスタマイズ.
- Siriを消す.
フォントRictyのインストール
Ricty Diminishedの公式からRicty Diminishedをダウンロードしてインストール.
Rictyは前のMacBookProで生成したものを移植(サボりました...).参考
- Generating a new SSH key and adding it to the ssh-agent
- Adding a new SSH key to your GitHub account
- IRkernel/IRkernel
- ROOT for High-Energy Astrophysics (RHEA)
- ROOT
- JupyROOT
- Building ROOT
- Install and Build ROOT
- Linuxbrew 若しくは Homebrew を用いた野良ビルドパッケージの管理手法
- OpenCV Installation in Linux
- OS X El CapitanにOpenCV最新版をインストールする手順 without Homebrew
- Install OpenCV 4.0.1 from Source on MacOS with Anaconda Python 3.7 to Use SIFT and SURF
- Install OpenCV4 on macOS
- VTK/Configure and Build
- texliveのセットアップ
- ヒラギノフォントのセットアップ
- 投稿日:2019-08-29T16:15:39+09:00
MacBookPro MojaveTouch Barが急に表示されなくなった時に再起動する方法
MacBookPro Mojave(2019 13-inch)に替えてからTouchBar使いにくいな
Esc押しづらいな、十字キー使いづらいな、タイピングの打鍵が気持ちよくないなとか色々思ってましたが、
画面ロックしようとしたら急に「あれ、TouchBarが何も表示されない」って黒い状況でボタンがない状態になりました。
スリープできへんやん。
ということでTouchBar再起動する方法があったのでメモです。ActivityMonitorからタスクキルする方法
- Spotlight検索(Cmd + space)やアプリケーションフォルダから「Activity Monitor」を起動する
- 「TouchBarServer」というプロセス名を見つけて終了(Quit)させる
プロセス名は
Mojaveの場合:TouchBarServer、 High Sierra、Sierraの場合:Touch Bar agentターミナルからコマンド実行する方法
- ターミナルを開く
- コマンド実行する
MacOS Mojaveの場合:
sudo pkill TouchBarServer
MacOS High Sierra、Sierraの場合:
pkill "Touch Bar agent"
コントロールストリップ(Control Strip)部分のみを手動で再起動する方法
Touch Barのを強制的にリロード
- ターミナルを開く
- コマンド実行する
killall ControlStrip
OS再起動
と、ここまでやってもダメなことがあったので
最終的にはOSを再起動するだけで治りました。
なのでOS再起動でも良いと思います。なんでやねん
蛇足
調べてみるとTouchBarがたまに表示されない状況になるのはまあある状況みたいでした。
ただでさえ使いづらいのに元の物理ボタンに戻して欲しいです。
プログラミング的にEsc押しづらい・打鍵感がないってのはviもそうだし非常に使いづらいです。ちなみにTouchBarが表示されていない状況の時は
設定画面からTouchBarに関するメニューがごっそり消えていたのでそこはちゃんとしてるんだ?と思いました。参照
http://osxdaily.com/2017/01/11/manually-refresh-touch-bar-mac/
- 投稿日:2019-08-29T16:15:39+09:00
MacBookPro(Mojave)のTouch Barが急に表示されなくなった時に再起動する方法
MacBookPro Mojave(2019 13-inch)に替えてからTouchBar使いにくいな
Esc押しづらいな、十字キー使いづらいな、タイピングの打鍵が気持ちよくないなとか色々思ってましたが、
画面ロックしようとしたら急に「あれ、TouchBarが何も表示されない」って黒い状況でボタンがない状態になりました。
スリープできへんやん。
ということでTouchBar再起動する方法があったのでメモです。ActivityMonitorからタスクキルする方法
- Spotlight検索(Cmd + space)やアプリケーションフォルダから「Activity Monitor」を起動する
- 「TouchBarServer」というプロセス名を見つけて終了(Quit)させる
プロセス名は
Mojaveの場合:TouchBarServer、 High Sierra、Sierraの場合:Touch Bar agentターミナルからコマンド実行する方法
- ターミナルを開く
- コマンド実行する
MacOS Mojaveの場合:
sudo pkill TouchBarServer
MacOS High Sierra、Sierraの場合:
pkill "Touch Bar agent"
コントロールストリップ(Control Strip)部分のみを手動で再起動する方法
Touch Barのを強制的にリロード
- ターミナルを開く
- コマンド実行する
killall ControlStrip
OS再起動
と、上記までをやってもダメなことがあったので
最終的にはOSを再起動するだけで治りました。
なのでOS再起動でも良いと思います。ここまでやって、なんでやねん
蛇足
調べてみるとTouchBarがたまに表示されない状況になるのはまあある状況みたいでした。
ただでさえ使いづらいのに元の物理ボタンに戻して欲しいです。
プログラミング的にEsc押しづらい・打鍵感がないってのはviもそうだし非常に使いづらいです。ちなみにTouchBarが表示されていない状況の時は
設定画面からTouchBarに関するメニューがごっそり消えていたのでそこはちゃんとしてるんだ?と思いました。参照
http://osxdaily.com/2017/01/11/manually-refresh-touch-bar-mac/
- 投稿日:2019-08-29T14:50:18+09:00
[Rails6.0.0]Rails 6で新しいアプリを作成、サーバー起動して初期画面を表示する
はじめに
Rails 6.0.0がリリースされたので、Railsアプリを新規作成してみました。
この記事では、localhost:3000に接続して初期画面が表示されるまでをゴールとします。前提
- Homebrewインストール済み
- rbenvでRubyのバージョンを管理している
- Bundlerを使ってGemを各Railsアプリ内にローカルインストールしている
ここでは
Homebrew
,rbenv
,Ruby
,Bundler
のインストール、各種設定は省略させていただきます。
私は下記のサイトを参考にしました。Homebrew公式
rbenvの使い方と仕組みについて
rbenv や Bundler を用いた Ruby環境構築
Rails開発環境の構築(複数バージョン共存可能)(Homebrew編)(個人的に一番参考にさせて頂いた記事)環境
- macOS Mojave バージョン 10.14.5
- Homebrew 2.1.10
- rbenv 1.1.2
- Ruby 2.6.3
- Bundler version 2.0.2
Railsのインストールの前に
Rails6では
webpacker
が標準でインストールされるようになりました。
これによりyarn
のインストールが必要になりました。
まだインストールされていない方はHomebrewからyarnをインストールしておきましょう。$ brew install yarn下記のサイトが参考になるかと思います。
https://yarnpkg.com/ja/docs/install#mac-stable
Rails6 開発時につまづきそうな webpacker, yarn 関係のエラーと解決方法Railsのインストール
ディレクトリの作成
まず、新しく作成したいアプリの空のディレクトリを作成します。
今回はtest_app
という名前のアプリを作っていきます。$ mkdir test_appディレクトリが作成できたら、そのディレクトリに移動します。
$ cd test_appGemfileの作成
Railsアプリで使用するGemが記述された
Gemfile
ファイルを作成します。$ bundle init上記のコマンドによって作成されたGemfileファイルを下記のように編集します。
# frozen_string_literal: true source "https://rubygems.org" git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } gem "rails" # コメントアウトを外すTerminalから編集する方法がわからない場合は、Finderから
test_app/Gemfile
を探して編集しても大丈夫です。Bundlerを使ってRailsをインストール
先ほど編集したGemfileを元に、Railsをインストールしていきます。
この時にpathオプションでインストールする場所を指定することで、Railsをローカルインストールします。
ここではpathオプションにvendor/bundle
を指定します。$ bundle install —path vendor/bundle Fetching gem metadata from https://rubygems.org/............. Fetching gem metadata from https://rubygems.org/. Resolving dependencies... Fetching rake 12.3.3 Installing rake 12.3.3 Fetching concurrent-ruby 1.1.5 Installing concurrent-ruby 1.1.5 Fetching i18n 1.6.0 Installing i18n 1.6.0 以下略…インストールが成功していれば、test_app内に
Gemfile.lockファイル
vendorフォルダ
が作成されています。これでRailsがインストールできました。nokogiriエラーが出てしまったら
bundle install時に
nokogiri
のインストールエラーがよく起こります。
もしこのエラーが起きた時は、以前このエラーに遭遇した時のメモや参考にさせて頂いた記事を参考にしていただければ幸いです起きたbundle install時にnokogiriエラー(nokogiriのバージョン1.10.4)
nokogiri を嫌いにならないで 〜インストール時のエラーを乗り越えろ〜Railsアプリの新規作成
次に、インストールしたRailsを使ってRailsアプリを新規作成します。
rails new
rails new
コマンドでRailsアプリを新規作成します。$ bundle exec rails new . exist create README.md create Rakefile create .ruby-version create config.ru create .gitignore conflict Gemfile Overwrite /Users/[ユーザー名]/test_app/Gemfile? (enter "h" for help) [Ynaqdhm]Gemfileを上書きしていいですか?と聞かれるので
y
とEnter
を入力して上書きします。
これで色々とファイルが作成されます。Overwrite /Users/sasakuranaoya/aaaaa/Gemfile? (enter "h" for help) [Ynaqdhm] y force Gemfile run git init from "." Initialized empty Git repository in /Users/sasakuranaoya/aaaaa/.git/ create package.json create app create app/assets/config/manifest.js create app/assets/stylesheets/application.css create app/channels/application_cable/channel.rb create app/channels/application_cable/connection.rb create app/controllers/application_controller.rb create app/helpers/application_helper.rb create app/javascript/channels/consumer.js create app/javascript/channels/index.js create app/javascript/packs/application.js create app/jobs/application_job.rb …中略 # 上書きしたGemfileを元にbundle install The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`. Fetching gem metadata from https://rubygems.org/............ Fetching gem metadata from https://rubygems.org/. Resolving dependencies... Using rake 12.3.3 Using concurrent-ruby 1.1.5 Using i18n 1.6.0 Using minitest 5.11.3 Using thread_safe 0.3.6 Using tzinfo 1.2.5 Using zeitwerk 2.1.9 Using activesupport 6.0.0 …以下略これでRailsアプリが新規作成できました。
データベースの作成
rails new
が終了したら、Railsアプリで使用するデータベースを作成しておきましょう。$ bin/rails db:createサーバーを起動
あとはサーバーを起動して、
localhost:3000
へアクセスすれば終了です。$ bin/rails s手順まとめ
# インストールしていなければ $ brew install yarn # ディレクトリ作成 $ mkdir test_app $ cd test_app # Railsのインストール # ここでGemfileを編集する $ bundle init $ bundle install —path vendor/bundle $ bundle exec rails new . # データベース作成 $ bin/rails db:create # サーバー起動 $ bin/rails s