20201223のMacに関する記事は11件です。

Nuxt.jsの環境構築してみた!

きっかけ

先日のボーナスで欲しかったMacbookを買いました。
元々はiOSアプリの勉強と思って購入しましたが、
興味のあったNuxt.jsで何かアプリ作ってみよう、ということでまずは環境構築から!!

準備

Nuxt.jsを動かす

まずnuxtのプロジェクト作成コマンドを叩くためのNpmを入れる。
以下の手順で構築する
1. Command Line Tools

$ xcode-select --install  
  1. Homebrew install
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew -v でバージョン確認出来たらOK!

  1. Nodebrew install
$ brew install nodebrew

nodebrew -vでバージョン確認出来たらOK!

  1. Node.jsとNpm install
# このディレクトリを作っておかないとエラーになる
$ mkdir -p ~/.nodebrew/src

# latestは最新版という意味
$ nodebrew install-binary latest

# インストールした後で使用を宣言
$ nodebrew use latest

#パスを通す
$ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile

Nuxt.jsのプロジェクトを作成して、動かす

以下のコマンドで作成

$ npx create-nuxt-app <project-name>

動作確認

$ cd <project name>
$ npm run dev

できた!

スクリーンショット 2020-12-23 21.14.22.png

次回からはTODOリスト作成を進めてきます!

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

最速で綺麗なLaTeX環境を構築する手順をまとめてみた(MacOS)

前書き

卒業論文を書くために構築した自分のLaTeX環境をこの記事では紹介します。LaTeXをほとんど使ったことがない状態から構築したので、特に初心者の方に役に立つと思います。また、この記事で環境構築が完結するようにそれぞれの操作を丁寧に解説したので最速で綺麗なLaTeX環境が作れると思います1

環境の確認

macOS BigSur 11.1

LaTeXとは

LaTeXとは組版システムのTeX上で開発された文書処理システムのことです。CUIで操作することができるので、慣れればワープロソフトより格段に速く表現力の高い文書を作ることができます

Homebrewのインストール

TeXはパッケージ管理システムのHomebrew2を利用してインストールすると良いです。Homebrewのインストールについてはこちらの記事の前半を参考にしてください3

すでにインストールしている方は、以下のコマンドを実行してください4。それぞれのコマンドの意味についても以下の通りです5

% brew update && brew upgrade && brew cleanup
  • % brew update:Homebrew自体を更新する
  • % brew upgrade:Homebrewでインストールしたパッケージを更新する
  • % brew cleanup:Homebrewでインストールした以前のバージョンのパッケージのキャッシュなどを削除する

MacTeXのインストール

次に、Homebrewを利用してMacTeXのインストールを行います。MacTexにはGUIアプリケーション(LaTeXitとTexShop)とTeXLiveとGhostScriptの三つが含まれます。一つ目のコマンドでMacTexをインストールすることができ、二つ目のコマンドでMacTexからGUIアプリケーションを除いたものをインストールすることができます。今回はGUIアプリケーションが必要ないので、二つ目のコマンドを実行すれば良いです

% brew install --cask mactex 
% brew install --cask mactex-no-gui 

また、インストール後にtlmgrなどのTeXに関わるコマンドを実行するには環境変数のPATHに/usr/local/texlive/2020/bin/x86_64-darwinを追加する必要があります6% echo $PATHの出力に/usr/local/texlive/2020/bin/x86_64-darwinが含まれていない場合は以下のコマンドを実行してください6。ちなみに、exportは環境変数を設定するコマンドです。

% export PATH=$PATH:/usr/local/texlive/2020/bin/x86_64-darwin

また、その後に以下のコマンドでTeXLiveのアップデートをしてください7$^,$8

% sudo tlmgr update --self --all

確認

LaTeXのサンプルファイルhoge.texを用意して% platex hoge.tex% dvipdfmx hoge.dviを順に実行してPDFができることを確認してください。

Latexmkの設定

ここまででLaTeX環境を作成することができました。次に、毎回コマンドをいくつも打たなくても済むように、文書の作成時に必要回数だけタイプセットするためのツールとしてLatexmkを使います。Latexmkの説明は省略しますが、ホームフォルダ(~)に設定ファイルの.latexmkrcを作成しておくとLatexmkの使用時に読み込んでくれます9$^,$10

従って、以下では.latexmkrcを作成して編集していきます。まずは% touch ~/.latexmkrcを実行して.latexmkrcを生成してください。その後はエディタで編集すれば良いですが、編集できない場合はfinderの"フォルダへ移動"の検索画面に~を打ち込んで移動した後に隠しファイルを見れるようにすると10、直接ファイルを開いて編集できます。

編集できる状態になったら.latexmkrcに以下を貼り付けてください。それぞれのコードの意味は書いてある通りで、%Sはソースファイル,%Oはオプション,%Dは出力ファイルにそれぞれ置き換えられることを表します9

~/.latexmkrc
#最大のタイプセット回数
$max_repeat = 5;
#DVI経由でPDFをビルドすることを明示
$pdf_mode = 3;

#pLaTeXを使う
#-halt-on-error:初めのエラーで終わらせる
$latex = 'platex %O %S -halt-on-error';

#pBibTeXを使う(参考文献)
$bibtex = 'pbibtex %O %S';

#Mendexを使う(索引)
$makeindex = 'mendex %O -o %D %S';

#DVIからPDFへの変換
$dvipdf = 'dvipdfmx %O -o %D %S';

確認

LaTeXのサンプルファイルhoge.texを用意して%latexmk hoge.texと実行してPDFができることを確認してください。

VSCodeのインストール

VSCodeのインストール方法をまとめてみた(MacOS)に従ってインストールしてください。

この記事にもある通り、Homebrewでのインストールをお勧めします。

VSCodeの設定

先にLatexmkをVSCodeと組み合わせるとさらに便利になり、変更して保存するだけでPDFの生成と更新を行うことができます。また、タブでPDFとLaTeXのソースファイルを同時に見ながら作業することもできます

VSCodeでLaTeXを使うには拡張機能のLaTeX Workshopをインストールすると良いです。インストール後にsettings.json11$^,$12でLaTeX Workshopの設定をします。VSCodeを開いた状態でcommand,を同時に押すと設定が出てくるので、画面右上に出てくる下記のマークを押して開いたファイルを編集します。

スクリーンショット 2020-12-29 10.48.01.png

また、settings.jsonに以下のLaTeXの設定の部分を貼り付ければ問題なく動きますが、変えたい部分は自分でカスタマイズしてください。

settings.json
{
    //----other settings----

    //----latex settings----
    //viewerをタブで開く
    "latex-workshop.view.pdf.viewer": "tab",
    //intellisenseを有効にする
    "latex-workshop.intellisense.package.enabled": true,
    //生成ファイルを格納するディレクトリ名
    "latex-workshop.latex.outDir": "latex_out",
    //自動でPDFを更新
    "latex-workshop.latex.autoBuild.run":"onFileChange",
    //生成ファイルで削除するファイル
    "latex-workshop.latex.autoClean.run": "onBuilt",
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux","*.bbl","*.blg","*.dvi","*.fdb_latexmk","*.fls","*.synctex.gz","*.toc"
    ],
    //ビルドの動作
    "latex-workshop.latex.recipes": [
        {
            "name": "latexmk",
            "tools": ["latexmk"]
        },
    ],
    //ビルドのコマンド
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": ["-outdir=%OUTDIR%","%DOC%.tex"]
        },
    ]

    //----other settings----
}

確認

LaTeXのサンプルファイルhoge.texを開いて保存するだけでhoge.pdfhoge.logのみがlatex_outに保存されることを確認してください。

Mathpix

もう一つ便利なツールとしてMathpixを紹介します。このツールは論文中の数式をスクショするとLaTeXの数式に変換してくれます

以下のコマンドを実行するとHomebrew経由でインストールすることができます。もちろん公式サイトからdmgファイルをダウンロードしてインストールすることもできます。

また、使い方については難しくないので、公式サイトを眺めてください。

% brew install --cask mathpix-snipping-tool

参考にすべきサイト

TeX Users Group

  • TeXの本家のサイトなので、全て載っている
  • ただし、英語

TeX Wiki

  • Texに関することが日本語で書かれている
  • 読者参加型なので大抵の内容は書いてある

Latexのサンプルファイル

環境構築の確認用のサンプルファイルです。

hoge.tex
\documentclass[dvipdfmx]{jreport}

\begin{document}

\title{test}
\author{hogefuga}

\maketitle

\section{hoge1}

This is sample.

\section{hoge2}

これはサンプルです。

\end{document}

  1. LaTeXの環境構築に焦点を当てるために省略した部分がある点はご了承ください。 

  2. Homebrewの概要はhomebrewとは何者か。仕組みについて調べてみたを読むと把握できます。 

  3. Homebrewのインストールについてまとめた記事を近いうちに投稿する予定です。 

  4. これ以降、% コマンド名で実行するコマンドを示します。シェルによっては%が$ですが、適宜読み替えてください。 

  5. 詳しくはmanコマンドで確認してください。 

  6. 2020x86_64-darwinの部分は環境により異なるので、確かめるようにしてください。 

  7. 環境によりますが、5分~15分程度はかかると思います。 

  8. --selfがtlmgrのアップデートで,--allがインストールしたパッケージのアップデートを表します。詳しくはmanで確認してください。 

  9. 詳しくはLatexmkのドキュメントを参照することをお勧めします。 

  10. .がついているファイルを隠しファイルと呼びます。finder上でcommandshift.を同時に押すと、開いているディレクトリにある隠しファイルが表示されます。 

  11. 自分の環境では~/Library/Application\ Support/Code/User/settings.jsonにあるものです。ワークスペースの.vscode配下にあるものを編集しないよう注意してください。 

  12. JSONファイルの読み方を簡単に把握しておくと良いです。JSON入門に簡潔にまとまっているので、参考にすると良いです。 

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

[wip] Mac 設定

基本設定

カーソルを操作しやすくする

  • マウスカーソルの動きを速くする
    • [システム環境設定] > [トラックパッド]
    • 「軌跡の速さ」を調整する
  • マウスカーソルを大きくする
    • [システム環境設定] > [アクセシビリティ]
    • 「ディスプレイ」の「カーソル」タブを選択して、「カーソルのサイズ」を調整する
  • キーボードカーソルの動きを速くする
    • [システム環境設定] > [キーボード]
    • 「キーのリピート」と「リピート入力認識までの時間」を調整する

スリープモードにするキーを設定する

  • [システム環境設定] > [キーボード]
  • 「ショートカット」タブを選択して、「アプリケーション」を選択
  • 「+」を押して、メニュータイトルに「スリープ」、ショートカットに「Command+Option+s(好きなキー)」を設定して「追加」を押す

スリープモードにするまでの時間を設定する

  • [システム環境設定] > [省エネルギー]

アプリ

Clipy

Sequel Pro

開発環境

隠し設定ファイル関連

.bashrc

# rbenv
[[ -d ~/.rbenv  ]] && \
  export PATH=${HOME}/.rbenv/bin:${PATH} && \
  eval "$(rbenv init -)"

# pyenv
# 現状入っていないので一旦コメントアウト
# eval "$(pyenv init -)"
# if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi

# git
alias g='git'

# rails
alias bgen='bundle exec rails generate'
alias bmg='./bin/rails db:migrate'
alias bbk='./bin/rails db:rollback'
alias bmgre='./bin/rails db:migrate:reset'
alias bseed='./bin/rails db:seed'
alias brs='./bin/rails server'
alias brc='./bin/rails console'
alias broutes='./bin/rails routes'

# rspec
alias brspec='bin/rspec'

# rubocop
alias brcop='bundle exec rubocop'

# bundle install
alias bi='bundle install --path vendor/bundle'

# capistrano
alias bcap='bundle exec cap'
alias bcaps='bundle exec cap staging'
# ステージング環境にデプロイ(rake db:migrate込み)
alias bcapsdc='bundle exec cap staging deploy:cold'
# ステージング環境にデプロイ
alias bcapsd='bundle exec cap staging deploy'
# 5世代前以降のreleaseを削除する
alias bcapsclean='bundle exec cap staging deploy:cleanup'

# mysql2
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/

# ghq
function get_target_repo() {
  if [ $# -eq 1 ]; then
    echo $1
  else
    echo $(repos)
  fi
}
function sublime() {
  open -a Sublime\ Text $(get_target_repo $1)
}
alias repos='ghq list -p | peco'
alias repo='cd $(repos)'

# peco
peco_search_history() {
    local l=$(HISTTIMEFORMAT= history | \
    sort -r | sed -E s/^\ *[0-9]\+\ \+// | \
    peco --query "$READLINE_LINE")
    READLINE_LINE="$l"
    READLINE_POINT=${#l}
}
bind -x '"\C-r": peco_search_history'

.gitconfig

[user]
    name = xxx
    email = xxx
[ghq]
        root = /Users/tomita/Desktop/work/src
[alias]
    co = checkout
    ci = commit
    cia = commit -a
    cm = commit --amend --no-edit
    cam = commit -a --amend --no-edit
    s = status
    st = stash
    stp = stash pop
    a = add
    un = reset HEAD
    cb = checkout -b
    d = diff
    dc = diff --cached
    b = branch
    ba = branch -a
    lo = log
    la = log --oneline
    l = log -10 --oneline
    f = fetch --prune
    pl = !git pull origin `git rev-parse --abbrev-ref HEAD`
    plo = pull origin
    plom = pull origin master
    ps = push
    pso = push origin
    psfo = push -f origin
    psom = push origin master
    r = rebase
    ta = log --oneline --all --decorate --graph
    t = log -10 --oneline --all --decorate --graph
    p = !git push origin `git rev-parse --abbrev-ref HEAD`
    delete-merged-branch = !git branch --merged | grep -v \\* | grep -v master | xargs -I % git branch -d %
[core]
    excludesfile = /Users/tomita/.gitignore_global
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【mac】PythonでRealSense D415のサンプルを動かす

RealSense D415とは

Intel社の提供するRealsenseは奥行き知覚機能を有するカメラデバイス.公式ではmacのサポートをしていないが,librealsenseという非公式のライブラリで動かすことができる.

環境

  • macBookPro(13-inch, 2017, Twoo Thunderbolt 3ports)
  • macOS Catalina 10.15.7
  • zsh
  • Homebrewインストール済
  • PyenvでPythonの環境構築済

環境構築手順

必要なライブラリをインストール

ターミナルを開きホームディレクトリで以下のコマンドを一行ずつ実行する

ターミナル
$ brew install python
$ brew install libusb pkg-config
$ brew install homebrew/core/glfw3
$ brew install cmake
$ brew install boost
$ brew install flann
$ brew install vtk5 –with-qt
$ git clone https://github.com/PointCloudLibrary/pcl
$ cd pcl
$ mkdir build && cd build
$ cmake ..
$ make
$ sudo make install

librealsenseのソースコードをインストール&build

cdコマンドでホームディレクトリに戻り,librealsenseの本体をインストールする
3行目の使用しているPythonの絶対パスの部分はwhich pythonで出力されたパスに置き換える

ターミナル
$ git clone https://github.com/IntelRealSense/librealsense.git
$ cd librealsense
$ mkdir build && cd build
$ cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false -DBUILD_PYTHON_BINDINGS=true -DPYTHON_EXECUTABLE:FILEPATH=使用しているPyhtonの絶対パス -G "Unix Makefiles"
$ make -j2
$ sudo make install

私の環境ではPythonのバージョンが3.8系では動かなかったため事前に3.6系へバージョンを変えておく(今回はpython3.6.7を使う)
/libresenseディレクトリに戻り

ターミナル
$ pyenv install 3.6.7
$ pyenv local 3.6.7

pyenv versionsコマンドで/libresenseディレクトリ以下がpython3.6.7になっていることを確認する
また,このままだと動かないと思うので以下の手順でsoファイルがおいてある場所(以下A)を確認する

  1. VSCode等でlibrealsense/build/CMakeCache.txtを開く
  2. command + Fで検索窓を開きPYTHON_INSTALL_DIR:PATHを検索する
  3. PYTHON_INSTALL_DIR:PATH:PATH=xxxとかいてある.xxxがsoファイルの置いてあるディレクトリ(A)

シンボリックを置く場所(以下B)を確認する

ターミナル
$ python3
>>>import site; site.getsitepackages()

その後確認した場所(B)へ移動し,シンボリックを作成する

ターミナル
$ cd Bへの絶対パス
$ ln -s 確認したsoファイルのパス(A)/pyrealsense2.cpython-36m-darwin.so pyrealsense2.so
$ ln -s 確認したsoファイルのパス(A)/pybackend2.cpython-36m-darwin.so pybackend2.so

pyrealsense2のインポートが通るか確認

ターミナル
$ python
>>> import pyrealsense2
>>>

このようにimportが通ればOK

サンプルを動かす

macとRealsenseをUSB接続し,サンプルファイルが置いてあるディレクトリに移動し実行する

ターミナル
$ cd ~/librealsense/wrappers/python/examples
$ python 動かしたいファイル名

参考
(参考Qiita1)[https://qiita.com/mizumasa/items/c6ca2c73fa86c9a5a39c]

(参考Qiita2)[https://qiita.com/comachi/items/14b358568365bc5ee474]

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

Excel 2019 for Mac のファイルアクセス権限

Excel 2019 for Mac のファイルアクセス権限

MacOS Mojave から Mac のアプリはセキュリティが強化され、操作毎にアプリが初めてアクセスするファイルやフォルダに権限を与える作業が必要になりました。

特にVBAを利用される方はDir関数等でフォルダ内のデータをピックアップするや別のブックを参照するなどで初めてアクセスするファイル、フォルダにはVBAが中断され、ファイルアクセス権の付与作業が求められます。

dir1_mac.png

例えば、ファイルの移動をするNameステートメントを使っても、初めてアクセスするファイル、フォルダの場合はVBAが中断され、ファイルアクセス権の付与作業が求められます。

Sub FileMove()

Dim file As String
Dim dir As String

file = Range("B2").value

dir = Range("B3").value & Application.PathSeparator & "sample.csv"

Name file As dir

End Sub

設定 > セキュリティーとプライバシー > プライバシー でファイルとフォルダのアクセス権を与えても個別に許可する必要があります。ただし、一度アクセス権を付与すると別のExcelファイルでもアクセス権は維持されます。

access.png

回避方法

大変煩わしいだけでなく、別のブックへの参照をするVBAを実行する際はそこで処理が停止してしまうのでできれば避けたいところですが、回避するためにはAppleScriptで同様の機能を実装するしかありません。

VBAからAppleScriptを利用するにはAppleScriptTask関数(Excel2016 for Macから)を利用する必要があります。

詳しい情報はこちらのブログにも書いています。もしよかったらご覧ください。

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

Macの不調にはSMCリセットが効くぞぉ・・・(Intel Mac)

はじめに

買って2ヶ月程経つ私のお気に入りMacbook Pro(16インチ)。
途中でM1 Macbookの登場とかありましたが、別に欲しくないもん・・・(欲しい)
で、まぁ2ヶ月間不調無くしばらく動作していたのですが、急遽初期化をしなければならない事情が出てきたので初期化を行ないました。
すると・・・
初期化が終了し、起動後キーボード向かって右上のUSB Type-C端子が効かんやん!!って状態になって大焦りしたのでここに対処法をメモ書きしておきます。
買って2ヶ月、Apple Careにも加入していないのでマジで顔が真っ青になりました。

症状

キーボード向かって右上のTypeC端子だけが反応しない。逆に言うと他は反応する。
ケーブルが壊れているのかと思い、AnkerのUSBハブを取り付けるも反応せず。
コネクタ側が故障しているのかとも思ったが、大してコネクタに対し負荷のかかる使い方をしていないので不思議だなぁと思いながら、高額な修理代を思い浮かべながら顔が真っ青になっていった(俺の症状言ってどうするんダ)

SMCリセットという魔法

intel系Macには、System Management Controllerと呼ばれるシステム管理機能が搭載されています。
これらは主に電源管理やバックライトなどを管理しているもので、これに何らかの異常が発生すると各パーツとの連携が取れなくなり、給電を停止したりファンを高速回転させたりという措置をとるようです。
どうやらこれは「電源周りが故障したまま給電をして火災発生などのトラブルが起きないようにする」「ファンを停止させてCPUが異常加熱するのを防ぐ」というように連携が取れなくなれば必ず安全な方に転ぶようなシステムになっているからだそうです。

で、大抵は本当に壊れているわけではなく、システム構成から変な動作になっているだけなので、この類のトラブルはSMCをリセットすると治ることが多いようです。
以下ではMacbookを例にご紹介します。

Apple T2チップが搭載されているMacでは

  • Macを終了(電源を落とす)
  • Shift(右)とOptionとcontrolを7秒間押し付ける
  • 追加で電源ボタンも加え、さらに7秒間押し続ける
  • キーを離してMacを普通に起動

簡単ですね。

T2チップ非搭載のMacでは

  • Macを終了(電源を落とす)
  • ShiftとOptionとcontrolと電源ボタンを同時に10秒間押し付ける
  • キーを離してMacを起動

デスクトップでは手順が異なるようなので、詳しくはこちらのサイト様が非常に分かりやすいです。

nvram/PRAMリセット

SMCリセットでも治らない場合はnvram、またはpramのリセットにより改善する可能性があります。
nvramとpramは設定を保存しているメモリだそうで、古い言い方がPRAM、最近のMacでの呼び名がnvramだそうです。

nvram/PRAMリセット方法

Optionとcommandと「P」「R」キーを同時に20秒くらい長押しすると完了します。
この間Macは2回再起動します。起動音が鳴るMacや鳴る設定にしているMacでは、起動音が2回流れるので、それを合図に手を離します。

補足

nvram/PRAMをリセットすると、一部設定情報もリセットされるので、起動後に画面の輝度等が変わっている場合があります。

まとめ

今回の事件で学んだことは

  • USBが効かなくなったりファンが高速回転し出しても慌てず騒がず落ち着いて
  • 顔青ざめるな
  • nvram/PRAMのリセットとSVCリセットを試してみるのだ。

ということでした。
これでもだめなら・・・青ざめるしか無い・・・

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

MySQL基本構文一覧

<使用環境>

  • macbook air (2020 M1)

<開発環境>

  • homebrew (homebrew 2.6.2)
  • MySQL (mysql Ver 14.14 Distrib 5.7.32, for osx10.16 (x86_64) using EditLine wrapper)
  • ターミナルを使用

<基本構文一覧>

データーベース作成(CREATE DATABASE)
CREATE DATABASE DB名;
データーベース削除(DROP DATEBASE)
CREATE DATABASE DB名;
テーブル作成(CREATE TABLE)
CREATE TABLE テーブル名 (フィールド名1 データ型,フィールド名2 データ型...);
テーブルの削除(DROP TABELE)
DROP TABLE テーブル名;
データの挿入(INSERT)
INSERT INTO テーブル名 (値1,値2,値3...)
データの検索(SELECT)
SELECT カラム名1,カラム名2... FROM テーブル名
カラム名に「*」を使用する事で全データを取得
データの更新(UPDATE)
UPADATE テーブル名 SET カラム名=更新したい値 WHERE 条件;
データの削除(DELETE)
DELETE FROM テーブル名 where 条件;
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[備忘録]パワポが死んだ時の対処

 起動時の謎のエラー

起動時に
SCR 2020-12-23 at 8.17.28.png

Run-time error '53':
File not found:/Library/Application Support/Adobe/MACPDFM.MacPDFM.framework/Versions/A/MacPDFM

が出るようになって、PowerPointが使えなくなった。

環境

macOS Big Sur
Version 11.1

原因

Adobe Acrobat DCをアンインストールしたのが問題らしい。

ちゃんとCreative Cloudからアンインストールしたんだけどなぁ

対処

~/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Startup.localized/PowerPoint
に行って
SaveAsAdobePDF.ppam
を削除する。

ターミナルで

rm ~Library/Group\ Containers/UBF8T346G9.Office/User\ Content.localized/Startup.localized/PowerPoint/SaveAsAdobePDF.ppam

を実行しても良い。

なお、ここら辺のパスは微妙に変わるっぽいので(参考にしたサイトは.localizedがなかった)
- 適宜確認しつつそれっぽいところに行く、
- User\ Content.localized/Startup.local下でfind(fd) SaveAsAdobePDF.ppamをする
などすると良い

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

2020/12/23現在.MACでのAVR開発

概要

AVRマイコン(Arduinoなどに積まれているマイコン)をMACで開発するための手順をまとめました.

インストールするもの

  • Cross Pack for AVR :https://www.obdev.at/products/crosspack/index.html
    以前はこれで,makefileの生成,コンパイルなどいろいろできたが,MACOSのバージョンアップでコンパイラのバージョンが合わなくなり,使えなくなった.現状更新は止まっている模様.
  • Arduino
    MACベージョンアップにより,Cross Pack for AVRのコンパイラが利用できなくなったため,Arduino内のコンパイラを利用する.[1]
  • avrdude
    マイコンにプログラムを書き込むためのもの.brewで公開されている.[2]

手順

1. Arduinoをインストール
最新版のArduinoをインストール.
2. コンパイラ類のパスを見つける
以下のパスに,Arduinoが利用するコンパイラ類が配置されている.

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin

3. AVR Toolchainへのシンボリックリンクを/usr/localに作成

cd /usr/local
sudo ln -s /Applications/Arduino.app/Contents/Java/hardware/tools/avr avr

4. パスを通す

export PATH=/usr/local/bin:/usr/local/avr/bin:$PATH

5. avrdudeのインストール

brew install avrdude

使い方

以下のmakefileをコピー

# Name: Makefile
# Author: <insert your name here>
# Copyright: <insert your copyright message here>
# License: <insert your license reference here>

# This is a prototype Makefile. Modify it according to your needs.
# You should at least check the settings for
# DEVICE ....... The AVR device you compile for
# CLOCK ........ Target AVR clock rate in Hertz
# OBJECTS ...... The object files created from your source files. This list is
#                usually the same as the list of source files with suffix ".o".
# PROGRAMMER ... Options to avrdude which define the hardware you use for
#                uploading to the AVR and the interface where this hardware
#                is connected. We recommend that you leave it undefined and
#                add settings like this to your ~/.avrduderc file:
#                   default_programmer = "stk500v2"
#                   default_serial = "avrdoper"
# FUSES ........ Parameters for avrdude to flash the fuses appropriately.

DEVICE     = atmega328p
CLOCK      = 8000000
PROGRAMMER = -c avrispmkII -P usb #usbasp
OBJECTS    = main.o Timer1.cpp Servo.cpp
FUSES      = -U hfuse:w:0xd9:m -U lfuse:w:0xd2:m -U efuse:w:0xff:m 

# ATMega8 fuse bits used above (fuse bits for other devices are different!):
# Example for 8 MHz internal oscillator
# Fuse high byte:
# 0xd9 = 1 1 0 1   1 0 0 1 <-- BOOTRST (boot reset vector at 0x0000)
#        ^ ^ ^ ^   ^ ^ ^------ BOOTSZ0
#        | | | |   | +-------- BOOTSZ1
#        | | | |   +---------- EESAVE (set to 0 to preserve EEPROM over chip erase)
#        | | | +-------------- CKOPT (clock option, depends on oscillator type)
#        | | +---------------- SPIEN (if set to 1, serial programming is disabled)
#        | +------------------ WDTON (if set to 0, watchdog is always on)
#        +-------------------- RSTDISBL (if set to 0, RESET pin is disabled)
# Fuse low byte:
# 0x24 = 0 0 1 0   0 1 0 0
#        ^ ^ \ /   \--+--/
#        | |  |       +------- CKSEL 3..0 (8M internal RC)
#        | |  +--------------- SUT 1..0 (slowly rising power)
#        | +------------------ BODEN (if 0, brown-out detector is enabled)
#        +-------------------- BODLEVEL (if 0: 4V, if 1: 2.7V)
#
# For computing fuse byte values for other devices and options see
# the fuse bit calculator at http://www.engbedded.com/fusecalc/

# ATTINY2313の場合
# Fuse high byte:
# 0xd9 = 1 1 0 1   1 0 0 1 <-- RSTDISBL PA2がIOピンか(0)、RESET設定か(1)
#        ^ ^ ^ ^   ^ ^ ^------ BODLEVEL1
#        | | | |   | +-------- BODLEVEL2 >> 100:4.3Vリセット
#        | | | |   +---------- BODLEVEL3
#        | | | +-------------- WDTON ウオッチドッグ有効(0使用する、1:使用しない)
#        | | +---------------- SPIEN (if set to 1, serial programming is disabled)
#        | +------------------ EESAVE チップ消去からEEPROM内容保護(0:保護、1:未保護)
#        +-------------------- DWNEN デバッグWIRE機能許可(0:有効、1:無効)
# Fuse low byte:
# 0xA4 = 1 0 1 0   0 1 0 0
#        ^ ^ \ /   \--+--/
#        | |  |       +------- CKSEL 3..0 (8M internal RC)
#        | |  +--------------- SUT 1..0 (slowly rising power)
#        | +------------------ BODEN (if 0, brown-out detector is enabled)
#        +-------------------- CKDIV8 システム クロック 8分周選択。 0:8分周 1:分周なし


# Tune the lines below only if you know what you are doing:
AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE)
COMPILE = avr-g++ $(INCLUDES) -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) 

# test:
#   echo $(COMPILE)

# symbolic targets:
all:    main.hex

.c.o:
    $(COMPILE) -c $< -o $@ 

.S.o:
    $(COMPILE) -x assembler-with-cpp -c $< -o $@
# "-x assembler-with-cpp" should not be necessary since this is the default
# file type for the .S (with capital S) extension. However, upper case
# characters are not always preserved on Windows. To ensure WinAVR
# compatibility define the file type manually.

.c.s:
    $(COMPILE) -S $< -o $@

flash:  all
    $(AVRDUDE) -U flash:w:main.hex:i

fuse:
    $(AVRDUDE) $(FUSES)

# Xcode uses the Makefile targets "", "clean" and "install"
install: flash fuse

# if you use a bootloader, change the command below appropriately:
load: all
    bootloadHID main.hex
clean:
    rm -f main.hex main.elf $(OBJECTS)

# file targets:
main.elf: $(OBJECTS)
    $(COMPILE) -o main.elf $(OBJECTS) $(LIBINCLUDES)
    rm *.o

main.hex: main.elf
    rm -f main.hex
    avr-objcopy -j .text -j .data -O ihex main.elf main.hex
    avr-size --format=avr --mcu=$(DEVICE) main.elf
# If you have an EEPROM section, you must also create a hex file for the
# EEPROM and add it to the "flash" target.

# Targets for code debugging and analysis:
disasm: main.elf
    avr-objdump -d main.elf

cpp:
    $(COMPILE) -E main.c

4. makefileの編集
makefileの以下の部分は,利用するマイコン,ライタに応じて書き換える必要がある.

DEVICE     = atmega328p # 利用するマイコン
CLOCK      = 8000000    # CPUのクロック
PROGRAMMER = -c avrispmkII -P usb  # 利用するライタ
OBJECTS    = main.o                # コンパイルするプログラム 
FUSES      = -U hfuse:w:0xd9:m -U lfuse:w:0xd2:m -U efuse:w:0xff:m # マイコンのヒューズビット

詳細については,[3]で詳しく解説されている.

5.プログラムの作成
LEDを点滅させるプログラムを載せておきます.

#include <avr/io.h>
#include <util/delay.h>

#define TRUE 1
#define FALSE 0
#define NULL '\0'

// ビットをオンオフするマクロ
#define SBI(reg,bit) reg |= (1 << bit)
#define CBI(reg,bit) reg &= ~(1 << bit)

int main() {
    int T=1000;
    while(1){
      SBI(PORTB,DDB0);
      _delay_ms(T);
      CBI(PORTB,DDB0);
      _delay_ms(T);
    }

    return 0;
}

6.コンパイル+マイコンへの書き込み

make # プログラムをコンパイル
make fuse #ヒューズ設定をマイコンに書き込み
make flash # コンパイル済みのプログラムをマイコンに書き込み.

備考

手順3のmakefileは,Cross Pack For AVRによって生成したもの.しかし,インストールする必要はない.

参考

  1. https://bytes.usc.edu/ee109/macos-64-bit-toolchain/
  2. https://formulae.brew.sh/formula/avrdude
  3. https://synapse.kyoto/tips/ArduinoISP_AVRWriter/page002.html
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Mac版Chromeの検索窓でキーワード入力中に変換確定のEnterを押した時点で検索されてしまう問題

はじめに

MacのGoogle Chromeで新しいタブを作成し、画面中央の検索窓に複数のキーワードを入力しようとするが、ローマ字の変換を確定しようEnterキーを押した時点で検索が開始されてしまって、とっても不便なのです。

2020年の8月頃からGoogleのコミュニティ上に症状は報告されている。

使用環境

  • Mac OS Big Sur バージョン 11.1
  • バージョン: 87.0.4280.88

使用環境は現時点ですが、OSとChromeがバージョンアップする以前から発生している。

行なった対処

Chrome の設定をデフォルトに戻したり、再インストールしても解消しなかった。

解決方法

ゴーゴー ゴム銃
私も同じ症状で使いづらさを感じていて解決法を探していました。
新しいタブのページはなぜか変換で検索してしまうのであきらめて、
choromeの拡張機能で「あたらしいタブで任意のページを開く」というのを発見しましたのでそちらを使い https://www.google.com/webhp?hl=ja こちらのページを開くようにして、とりあえず解決しました。

New Tab Redirect 
https://pc-karuma.net/google-chrome-new-tab-redirect/
[新しいタブの画面中央の検索窓にキーワードを入力中、変換確定のEnterを押すと自動的に検索されてしまう]>(https://support.google.com/chrome/thread/67105054?hl=ja)

2020年の8月頃からGoogleのコミュニティ上に症状が報告されているが、いまだ改善されない。そのうちアップデートで解消されると思われるが、それまでの対応方法として、ゴーゴー ゴム銃さんの解決方法で対応する。

拡張機能の「New Tab Redirect」を登録します。
https://chrome.google.com/webstore/detail/new-tab-redirect/icpgjfneehieebagbmdbhnlpiopdcmna?hl=ja-jp

  1. 「その他のツール」→「拡張機能」をクリックします。
  2. 「New Tab Redirect」の「詳細」をクリックします。
  3. 「拡張機能のオプション」をクリックします。
  4. Redirect URLに「https://www.google.com/webhp?hl=ja」を入力し「Save」ボタンをクリックします。
  5. 新しいタブを表示します。
  6. ブックマークバーが非表示になってしまった場合、ブックマークバーを表示するようにしてください。

4番のRedirect URLまでの図入りの説明は下記サイトを参考にしてください。
Google Chrome - 新しいタブに特定のページを表示 - 拡張機能「New Tab Redirect」

Chrome不具合.png

最後に

解決方法で不便なのは解消されたのですが、不具合なのでとっとと直して欲しい。

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

M1 Mac でWindows10を使おう!

はじめに

Armアーキテクチャを搭載したMac(通称 M1 Mac)が出たということでとても話題になっています。
課題のひとつとしてWindowsが使えない、というものがありましたが、Arm版Windows10が動作するParallelsDesktop(Preview Version)が出たということで、さっそく試してみました。

前提

  • M1 Mac が使えること
    • MacBook Air / MacBook Pro / MacMini どれか
    • これがないと始まりません
    • 今回はMacBook Airを使用しています
  • Paralellsのアカウントを持っていること
    • 持っていなければ作成すれば問題ないです
  • Windows Insider Program に参加していること
    • 無償なので手持ちのマイクロソフトアカウントから参加してみてください

手順

  1. Parallels Desktop for Mac with Apple M1 chip (Apple Silicon)​ をここからダウンロード
    • .dmg形式のファイルがダウンロードできますので、普通にMacにインストールしましょう
    • アクティベーションキーが表示されますので、どこかに保存しておきましょう
  2. WindowsInsiderPrebiewARM64 をここからダウンロード
  3. Parallels Desktopを起動し、アクティベーションキーを入力します スクリーンショット 2020-12-22 23.58.18.png
  4. .VHDXファイルをダウンロードしていると見つけてくれますので、そのまま「作成」へ。 スクリーンショット 2020-12-22 22.34.23.png
  5. 作成開始 スクリーンショット 2020-12-22 22.36.30.png しばらく待ちます スクリーンショット 2020-12-22 22.38.37.png スクリーンショット 2020-12-22 22.46.29.png
  6. なんと!できあがってしまいました。ここまで15分程度しかかかりませんでした。

使ってみたらどんな感じ?

  • Windowsにはこんな感じで認識されていました。 スクリーンショット 2020-12-22 22.50.27.png
  • Parallels側の設定がこちら。デフォルトでプロセッサが2つ、メモリが3Gのようです。
  • 割当数など変更できますが、プロセッサを8個割り当てたら起動しませんでした。 スクリーンショット 2020-12-22 22.51.53.png
  • このへんを参考に日本語化するとよいと思います。
  • Edgeを起動してみましたが、特にもたつくこともなくスムーズに動いていますね。
  • ベンチマークをとってみました。
    スクリーンショット 2020-12-22 23.25.42.png

  • 比較対象がないと全然わかりませんね。自宅にあったThinkCentreで同じベンチマークをとってみます。
    スクリーンショット 2020-12-22 23.35.32.png

  • おお。シングルコアでは仮想環境でありながらThinkCentreよりも上ってことになりました。
    マルチコアではコア数の違いで負けていますが、設定を変えれば簡単に凌駕できそうですね。

課題

動作が不安定

  • いいところばかり書いてきましたが、さすがプレビュー版ということで、突然再起動がかかったり、アップデートしたときにこんな画面になってしまうことがあります。 スクリーンショット 2020-12-22 23.08.11.png

利用できるアプリに制約がある

  • Arm版Windows10では、ARM32,ARM64アプリはネイティブ実行でき、x86(32bit版)アプリはOSのエミュレーション機能(WOW64)を使って実行できます。
  • しかし、現在のWindows10で主流となっているx64(64bit版)アプリは実行できないため、x64アプリしか提供していないものは使えないという状況になっています。

最後に

  • 当初M1 Macの大きな欠点のひとつとして、『(仮想環境にせよデュアルブートにせよ)Windowsが使えない』が挙げられていました。今までのIntel Macとはアーキテクチャが変わってしまうので仕方ないかなと諦めていたのですが、まさかこんなに早い段階でWindowsが使えるようになるとは思ってなかったので、びっくりしました。
  • ライセンス周りだけ解決していただければ胸を張って使い続けることができるので、Microsoftには頑張ってほしいものです。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む