20200103のMacに関する記事は9件です。

AWS Cloud9のプレビュー機能を使おうとしたら「サードパーティクッキーが無効です」?

正月休みの間にRuby on Railsチュートリアルを終わらせようとしたら、3日くらいハマって計画がご破産になりました。

0.クリアしたい問題

AWS Cloud9の「Preview Running Application」を使おうとすると「third party cookies disabled」と出てOops画面。
これを消してプレビューを使おうと思います。
https://qiita.com/Pyama_5555/items/140f3eddbdb2b41a66ae
この人と同じ症状ですね。

OS:macOS Catalina 10.15.2(19C58)
ブラウザ:Safari 13.0.5(15608.5.5)

1.試してダメだった方法

1-1.「サイト越えトラッキングを防ぐ」のチェックを外す。
1-2.「すべてのCookieをブロック」のチェックを外す。
1-3.「Webサイトのデータを管理」→全て削除
1-4.ブラウザのスーパーリロード
1-5.PC再起動。
1-6.EC2インスタンスの再起動。
1-7.Cloud9の環境を削除。

基本的にここらへんは全部試しましたが、安定してエラーを抜けられる方法はありませんでした。
時々クリアできたりするのでタチが悪い。

2.解決方法

以上の経緯から、私が立てた仮説は
「Cloud9側は正常、ブラウザ側がきちんとサードパーティクッキーを有効化できてないのではないか」
です。
グーグル検索をかけていると、畑違いのブログが引っかかりました。
https://ringosuki.hateblo.jp/entry/2019/11/09/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%EF%BC%9AmacOS_Catalina_10.15.2_Beta%E3%81%A7%22Cookie%E3%81%8C%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%22

image.png

OS依存のバグか!
https://corriente.top/how-to-install-macos-catalina/
こちらのページを参考に、OSをパブリックベータにアップデート。
macOS Catalina 10.15.3 Beta 1(19D49f)では、今の所プレビュー機能が使用可能です。

3.試してないけど多分行けた方法

ブラウザ変更は試していません。パブリックベータが怖い人は先に別ブラウザを試してください。

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

XCodeを使わず、MacApp「Tranceporter」でipaをAppStoreConnectに簡単にアップロード

納品されたiOSアプリケーションのipaファイルをXCode使わずにAppStoreConnectにアップロードすることができるTranceferというMac Appが公開されてたので使ってみます。

前提

  • Apple Developerアカウントを保有している
  • App Store ConnectのマイAppに新規アプリ作成していること

Mac App「Trancefer」

Mac App StoreでTransporterを入手できるようになりました
https://developer.apple.com/jp/news/?id=10152019a

Appのリンクはこちら。期待できそう!
image.png

はいはーい同意します。
image.png

サインイン画面が表示されます。
image.png
AppStoreConnectのアカウントでサインインします。
image.png

あら。シンプルな画面。
image.png

ipaファイルをドラッグ&ドロップすると、以下のようにアプリがデリバリできる状態になります。
image.png

このままデリバリしてもいいのですが、デリバリ失敗すると証明書の中のバージョンを上げて再度デリバリし直したりしないといけなくなるので、デリバリ前に検証を行います。デリバリボタン横のオプションボタンをクリックし、[検証]を実行します。
image.png

検証が問題ない場合には正常に検証が終了します。
image.png

もし検証失敗した場合にはエラーが表示しますので、エラーログで原因調べられます。エラーログの見方はこちらこちら参考。
image.png

では、AppStoreConnectにデリバリ転送します。[デリバリ]ボタンをクリックします。
image.png

電源につながった状態になっていないと警告が表示されるみたいです。
image.png

4,5分くらいかかります。
image.png

正常に終わると以下のようにデリバリ済みという表示に変わります。
image.png

AppStoreConnectのApp画面を見ると、ちゃんと転送されてます。
image.png

参考リンク

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

開発関連ツール整理(メモ)

Mac上の開発で利用しているツールのメモ

新しい、あるいは課題を解決しているものがあれば乗り換え予定

1.テキスト関連

  1. Bear(テンプレート保管、開発メモ)
    〜 Markdown、シンプル、ソースコードハイライト対応、タグ付けで管理。
    https://bear.app/

  2. MacVim(Unix関連ファイル編集)
    〜 vi系、terminalと連携、シンプル。
    https://qiita.com/schroneko/items/e9cf2957531b8ad32fff

2.IDE

  1. Xcode(iOS, Mac)
    〜 Mac上の開発ツールとしても必要
    https://developer.apple.com/jp/xcode/

  2. Android Studio(Android)
    〜 Java関連, Kotlinなど、EclipseよりInteliJ系が合っているので
    https://developer.android.com/studio

  3. Visual Studio(.NET Core, Xamarin)
    〜 C#などWindows系開発、Mac版が思ったよりも使いやすかった
    https://visualstudio.microsoft.com/ja/vs/mac/

  4. Visual Studio Code(Web系、Python、その他)
    〜 プラグインの充実から、できるだけこれで開発
    https://code.visualstudio.com/

3.バージョン管理

基本はIDEに連動させる

  1. Git
    〜 CUIではXcodeデフォルトのコマンドのみ
    https://git-scm.com/

  2. SourceTree
    〜 GUIではMac,Windows共通インターフェイスなのでSourceTree
    https://www.sourcetreeapp.com/

4.Linux関連ツール

  1. iTerm2(ターミナルとして)
    〜 設定の自由度、コマンド補完、検索、コピペ便利
    https://iterm2.com/

  2. Fish(CatalinaでデフォルトがZSHになった契機に)
    〜 入力コマンドのハイライト、コマンド補完
    brew install fish

  3. FileZilla(SFTP、バックアップなどのGUIとして)
    〜 サーバ情報の一括管理など便利
    https://filezilla-project.org/

5.編集関連

  1. Skitch(スクリーンキャプチャ)
    〜 影追加できないけれどv2.8.1で利用中。使いやすかったv1.0.12がCatalinaで動かない(2020/01現在)
    https://evernote.com/intl/jp/products/skitch

  2. QuickTimePlayer(画面収録→動画)
    〜 MacやiOSデバイスの画面収録に、プリインストールなのでお手軽

  3. GIPHY CAPTURE(画面収録→アニメーションGIF)
    〜 Mac上の操作をGIFアニメーションとして収録
    https://giphy.com/apps/giphycapture

  4. iMovie(動画編集)
    〜 動画の簡易的な編集、加工に、プリインストールなのでお手軽

  5. Pixelmator(Photoshop的に)
    〜 無料で利用できるので人に薦めやすい
    https://www.pixelmator.com/pro/

  6. Inkscape(Illustrator的に)
    〜 無料で利用できるので人に薦めやすい
    https://inkscape.org/ja/

6.開発補助

  1. Reflector3(MacをAirPlay,ChromeCast機器にできる。iOS,Android画面をMac上に表示)
    〜 モバイル機器の画面をMac内で表示できるので、音楽系アプリなど開発、キャプチャなどにも便利
    https://www.airsquirrels.com/reflector
    ※有料、Trial有

  2. Parallels Desktop(Mac上でWindows環境同時利用)
    〜 Windows関連の開発でも、Mac1台で行える。BootCamp環境も利用可能
    https://www.parallels.com/jp/
    ※有料、Trial有

  3. Wine(Mac上でWindowsOS無しでexeアプリ利用) ← Catalinaで利用不可(2020/01現在)
    〜 Windowsツールを単体でMac上で動作できる(場合がある)
    https://wiki.winehq.org/MacOS

  4. TeamViewer(リモート操作)
    〜 WindowsPC,Mac,スマホなどを相互にリモート操作可能
    https://www.teamviewer.com/ja/
    ※個人利用無料、ビジネス有料

7.Mac環境

  1. ControlPlane(Mac各種設定自動化)
    〜 Macで勝手に起動するアプリなど、気に入らない動作の制御に
    brew cask install controlplane

  2. AppCleaner(アンインストール補助)
    〜 アプリ本体だけでなく設定ファイルなどを根こそぎ削除できる
    https://freemacsoft.net/appcleaner/

  3. CopyClip(クリップボード履歴)
    〜 【⌘+C】などでコピーした情報が履歴で保存される

  4. GrandPerspective(ディスク占有率チェック)
    〜 お世話になっていた「Disk Inventory X」をCatalinaで使えなかったので
    http://grandperspectiv.sourceforge.net/

  5. iStumbler(Wifi,Bluetoothなどの電波状況チェック)
    〜 出先でシグナルの強いWifiをチェックしたり、干渉チャンネルをチェックしたりできる
    https://istumbler.net/

8.その他オンラインなど

  1. GoogleComputingEngine(IaaSとして)
    https://cloud.google.com/?hl=ja

  2. trello(タスク管理として)
    https://trello.com/kmurata3/boards

  3. DesignEvo(ロゴメーカー)
    https://www.designevo.com/

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

【第1回】pythonでCPUとメモリの使用率を取得する

作成環境

スクリーンショット 2020-01-03 15.01.16.png
スクリーンショット 2020-01-03 15.03.40.png

pythonで何か作りたい。

  • CPU使用率とメモリ使用率を取得したい。
  • どうせならGUIで作りたい。
  • ボタンを押したときに取得したい。

プログラムを組み上げる前に考慮すること

  • CPUとかメモリとかだからOSに依存するでしょ。→import sysが必要だな。
  • CPUとかメモリ→import psutilも必要だな。
  • GUIにしたいから→import tkinterを使おう。(多分他の方法でもできる)
  • CPUの表示とメモリの表示であることのラベルが必要だな。
  • 取得のきっかけになるボタンがいる。
  • ボタンを押したときに値を表示するBOXがいる。

実際のソース

#!/usr/bin/env python
import psutil as psu
import tkinter as tk
import sys

# tkinterでwindowの作成とタイトルを作る
# windowサイズの指定
root = tk.Tk()
root.title(u"CPU&メモリ使用率")
root.geometry("600x300")

# cpu用ラベル
Static1 = tk.Label(text=u'CPU:')
Static1.pack()
# CPUの取得した値を表示する
txtcpu = tk.Entry(width=20)
txtcpu.pack()

# memory用ラベル
Static2 = tk.Label(text=u'memory:')
Static2.pack()

# memoryの取得した値を表示する
txtmem = tk.Entry(width=20)
txtmem.pack()


def btn_click():
    # テキストボックスをクリア
    txtcpu.delete(0, tk.END)
    txtmem.delete(0, tk.END)
    # メモリの利用情報を取得
    memory = psu.virtual_memory()
    txtcpu.insert(0, memory.percent)
    # debug_cpu使用率をTerminalに表示
    #print('メモリ使用率:', memory.percent)

    cpu_percent = psu.cpu_percent(interval=1)
    txtmem.insert(0, cpu_percent)
    # debug_memory用の使用率をTerminalに表示
    #print('CPU使用率:', cpu_percent)


# ボタンの生成
Button = tk.Button(root, text='使用率取得', command=btn_click)
Button.pack()

root.mainloop()

考慮不足であとから直しながら追加したもの

  • テキストボックスをクリアをしないと数字がどんどん連ねられてわけがわからなくなるのでボタンが押されたら値をクリアする。

まだ進化させたいことがあるので今回は第1回とします。

  • 現時点でやりたいことが2つくらいあるので次回また進化版の記事を書く予定です。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

macOSにGoの開発環境をインストール(備忘録)

Goのインストール

Homebrewでgoをインストール

ターミナル
$ homebrew install go
$ go version
  go version go1.13.4 darwin/amd64

ちゃんとhomegrew(自家醸造)して、Cellar(貯蔵庫)に入ったgoが使われていることを確認。

ターミナル
$ which go
  /usr/local/bin/go
$ ls -al /usr/local/bin/go
  lrwxr-xr-x  1 shizuku  admin  26 11 17 19:23 /usr/local/bin/go -> ../Cellar/go/1.13.4/bin/go

GOPATHとPATHの設定

  • ホームディレクトリにgoディレクトリを作成してGOPATHに設定。
  • PATHにGOPATH/binを追加。

下記の2行を.bash_profileに追加しておく。

.bash_profile
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

Visual Studio Code (vscode) のインストール

vscodeのアンインストール

vscodeの環境をクリーンにしたかったので、すでにインストールされているvscodeと設定ファイルをアンインストール。

  • vscodeの本体はFinderのApplicationフォルダからゴミ箱に移動
  • vscodeの設定ファイルはターミナルで削除
ターミナル
$ rm -rf  ~/Library/Application\ Support/Code
$ rm -rf ~/.vscode

vscodeのインストール

vscodeの最新版をダウンロードしてインストール
https://code.visualstudio.com/

Goプラグインのインストール

vscodeで"go"キーワードでプラグインを検索。Microsoft製のms-vscode.goを選択してインストール。
go_plugin.png

vscodeのコマンドパレットで"> Go: Install/Update Toolsを実行して、Goの各種ツールを全て選んでインストール。
go_tools.png

Goのツールは、GOPATHに設定したディレクトリにインストールされる。

ターミナル
ls ~/go/bin/
bolt        go-symbols  goimports   gore        impl
dlv     gocode      gomodifytags    gorename    kuzusi
fillstruct  godoc       gopkgs      gotests
go-outline  godoctor    goplay      guru

ここまでの設定でvscode上でGoの実行、デバッグが可能。

vscodeのキーマップ設定

キーマップ設置はデフォルのまま。
Macの場合は、デフォルトでControlキーを使ってEmacsライクなカーソル移動ができるので。

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

MacBook のバックライトをオフにするショートカットキーを作る

自分は MacBook を外部ディスプレイに繋ぐときは内蔵ディスプレイは使わないスタイルなので、外部ディスプレイにつないでいる間は内蔵ディスプレイを切っておきたい。(開いた状態で画面を切るのは無理なので、バックライトをオフにしておきたい)

image.png

スリープから復帰するたびに内蔵ディスプレイが明るくなってしまうので、毎回 Touch Bar を触って画面を暗くするのが面倒くさい。ショートカットキーいっぱつでバックライトをオフにできないものかと考えた。

内臓ディスプレイの輝度を操作する方法

ググっていくつか試したもののうまくいかなかった方法。

NVRAM の値をいじる方法

Mac には NVRAM という記憶領域があり、ここに画面輝度の情報が保存されているらしい。

NVRAM (不揮発性ランダムアクセスメモリ) は、Mac がすばやくアクセスできるように所定の設定情報を記憶しておく小容量のメモリです。
NVRAM に記憶される設定情報には、音量、画面解像度、選択されている起動ディスク、時間帯、最近起きたカーネルパニックの情報などが該当します。

Mac で NVRAM または PRAM をリセットする - Apple サポート

NVRAM の値は nvram というコマンドで取得と変更ができるらしいので、これを使えばバックライトが操作できるのではないか。

$ nvram backlight-level

と実行すると、輝度によって違う値が返ってくることがわかる。

輝度が最低 (バックライトオフ) のときの値はどうやら %00%00 らしいので、これを設定してみる。

$ sudo nvram backlight-level='%00%00'

が、画面輝度には反映されない・・・。

どうやら NVRAM の値を書き換えられるだけでハードウェアを操作することはできないらしい。
諦め。

Brightness Down キーを送る方法

Mac の画面輝度を下げる物理キー (Brightness Down) はキーコードが 0x91 なので、これを仮想的に押したことにすれば輝度が下がるのではなかろうか。

$ osascript -l JavaScript -e 'const app = Application("System Events"); app.keyCode(0x91)'

お、少し暗くなった。

(物理キーは1回押せば輝度が1段階下がるので) あとはこれを16回送信すれば輝度最小になるじゃ〜ん!

$ osascript -l JavaScript -e 'const app = Application("System Events"); for (let i = 0; i < 16; i++) { app.keyCode(0x91); }'

と思ったのも束の間、全然うまくいかないんだなこれが。

全然輝度が変わらないことがあったり、中途半端に暗くなったり、思うような挙動をしない。
delay(1.0) を挟んでみたりしてもダメ。

どうやら物理キーを押すのと 0x91 を送信するのとでは何か振る舞いが異なるらしい。
諦め。

最終的に採用した方法

brightness というコマンドを入れた。

brew install brightness で入る。

実装を読むと、C から CoreDisplay の API を呼んでいるようだ。
https://github.com/nriley/brightness/blob/master/brightness.c

最初からそれでよかったのではという気もしなくもないが、できれば何もツールを入れずに実現したかった・・・。

$ brightness 0.0

と実行するだけで画面輝度が最小になるが、これだと接続されているすべてのディスプレイの輝度を下げられてしまうので、内蔵ディスプレイ (built-in) の輝度だけを下げるようにする。

builtin-display-brightness.sh
#!/bin/bash -eu

BUILTIN_DISPLAY_ID=$(brightness -l 2>/dev/null | grep built-in | sed -E 's/^.*ID (0x.+)$/\1/g')
brightness -d $BUILTIN_DISPLAY_ID $1
$ ./builtin-display-brightness.sh 0.0

できた。
便利かよ・・・。

ショートカットキーを割り当てる

Karabiner-Elements の Complex modifications を使って、option + [ で画面輝度が最小になるように設定した。

karabiner.json
{
    "description": "option + [ で内臓ディスプレイのバックライトを消す",
    "manipulators": [
        {
            "from": {
                "key_code": "open_bracket",
                "modifiers": {
                    "mandatory": [
                        "option"
                    ]
                }
            },
            "to": {
                "shell_command": "PATH=$PATH:/usr/local/bin /path/to/builtin-display-brightness.sh 0.0"
            },
            "type": "basic"
        }
    ]
}

注意点としては、Karabiner-Elements の shell_command は /usr/local/bin に PATH が通っていない ので、PATH=$PATH:/usr/local/bin と書いておかないと「brightness コマンドが見当たらない」とエラーになってしまう。

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

macOS High SierraにXCode 10.1をインストール(備忘録)

macOS High SierraにXCodeをインストールする。

XCode 10.1のインストール

2020年1月時点で最新のXCode11はインストールできない。XCode10.1をAppStoreではなく、Developer向けダウンロードサイトから入手してインストールする。
https://developer.apple.com/download/more/

Command Line Toolsのインストール

XCodeと同じダウンロードサイトからCommand Line Tools (macOS 10.13) for XCode 10.1をダウンロードしてインストールする。
xcodebuildコマンド実行時にエラーが出る場合は、下記のコマンドでパスの更新をやってみる。

sudo xcode-select -r

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

LogicoolのメカニカルキーボードをMacで使いやすいように設定する(備忘録)

Logicool Pro Gaming キーボード(Y-U0031)をMacBook Airで使いやすいようにセットアップ。

keyboard.png

  • CAPS LOCKキーをCONTROLキーに変更
  • CTRLキーをCOMMANDキーに変更
  • 無変換キーを英数キーに変更
  • 変換キーをかなキーに変更
  • ApplicationキーをFnキーに変更

Mac環境設定

デフォルトのまま変更なし
Mac_Environment.png

Karabiner

Karabiner_Settings.png

Logicoolドライバ

ゲーム用には使わないので、Logicoolのキーボードドライバはインストールしない。
LEDのパターンはキーボードについているLEDボタン+数字キーで変更する。
(LED+5が打鍵に合わせて光るのでたのしい)

MacBook Air 内臓キーボードの設定

外付けキーボードのレイアウトに合わせて、Commandキーの割り当てだけ変更。
この位置にCOMMANDキーがあると、コピー&ペースト操作がらくちん。
- CAPSキーをCOMMANDキーに変更。
Mac_Enviroment_Embedded.png

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

MacにKerasを導入する際に気をつけるべきこと

はじめに

MacにKeras(tensorflow)導入時に,色々と突っ掛かったので,その備忘録としてまとめました.

環境

Mac OSX Mojave(10.14.6)
Python3.7.3

tensorflowとkerasのインストール

以下のコマンドをターミナルで実行.pipのバージョンが古いとうまく機能しないので,先にpipのバージョンを上げておく必要があります

pip install --upgrade pip
pip3 install --upgrade tensorflow
pip3 install keras

上記のあと,実際にpython3を立ち上げて動作を確認してみます.

Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>> import keras
Using TensorFlow backend.
>>> 

無事導入ができました.

mnist.load_data()がうまくいかない

import keras
from keras.datasets import mnist
(train_images, train_labels), (test_images, test_labels) = 
mnist.load_data()

などと言う表記でおなじみのmnistですが,python3でmnist.load_data()を行うと,以下(省略表記ですが)

Exception: URL fetch failure on https://s3.amazonaws.com/img-
datasets/mnist.npz : None -- [SSL: CERTIFICATE_VERIFY_FAILED] 
certificate verify failed: unable to get local issuer certificate 
(_ssl.c:1056)

とのエラーが出る.これはcifar10.load_data()なんかでも同様です.こちらを参照に解決しました.
原因は

macOSに標準でインストールされているOpenSSLが古すぎるため、Python 3.6以降ではmacOS用のインストーラーにはOpenSSLが同梱され、システムのOpenSSLは参照されなくなりました

とのこと.
以下のコードをターミナルで実行することでcertifiモジュールをダウンロードしそこに含まれるルート証明書を参照可能になります.

cd /Applications/Python\ 3.7/Install\ Certificates.command

今後

Pythonでの深層学習については,こちらのまとめを参考にさせてただきました.
また問題が発生したら随時更新していきます.

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