- 投稿日:2019-08-28T22:34:57+09:00
MAC OS Xのスリープ方式(ハイバネーション)を変更する方法(要点のみ)
macOS High Sierraにアップデートしたらスリープから復帰しなくなることがたまに起きるので
うちのMacBook Pro(Mid 2015)のOSをmacOS High Sierraにしてからか?スリープから復帰が遅くなった気がしてて、TouchPadは行きてるんだけど「遅いなー」と思うことが多かった気がします。
まさにこれを感じて居たので、設定を変更しました。
僕のPCは、MacbookAir(Mid2018)です。
(本記事は、参考サイトの要点を抜粋したものでほぼ引用です)TL;DR
今回試してみたのはhibernatemodeの変更です。
対象読者
ディスクメンテを検討している方や、
最近なんだか、スリープ復帰が遅いと感じている方スリープの種類
MAC OS Xのスリープ方式(ハイバネーション)を変更する方法
OS Xのスリープモードは3種類ある。
スリープ (0)
所要時間:スリープ、復帰共に1〜3秒程度
スリープ移行時:メモリ内容をHDDに待避せず、メモリの内容はバッテリーが続く限りメモリで保持
復帰時:メモリから復帰のため高速、バッテリーが無くなった場合は忘れてしまうため通常のOS起動となるセーフスリープ (3)
所要時間:スリープ移行まで、3〜10秒程度、復帰は1〜3秒程度
スリープ移行時:メモリの内容をHDDに退避して、メモリの内容はバッテリーが続く限り保持
復帰時:メモリから復帰のため高速、バッテリーが無くなった場合はHDDの内容を読み込むディープスリープ (25)
所要時間:スリープ移行、復帰共に5〜10秒程度
スリープ移行時:メモリの内容をHDDに退避し、メモリの内容を忘れてスリープ
復帰時:HDDの内容を読み込み復帰のため低速MBA,MBPの標準設定は
スリープ(0)とディープスリープ(25)のいいとこどりの
ハイブリッドモードな「セーフスリープ(3)」です。
そのため、画面を閉じたあとすぐに画面を開くと、なかなか画面が表示されません。これはメモリ内容をHDD(SSD)に書き込んでいるため。スリープモードの変更方法・確認方法
(ここからの操作をする場合、自己責任でお願いします)
sudo pmset -a hibernatemode XXの引数部分には設定したいスリープモードの値を入力。
今回高速起動にしたい場合は「0」。
デフォルトに戻したい場合は「3」です。ターミナルで現在のスリープモードを確認するには…
pmset -g確認してみた。
$ pmset -g System-wide power settings: Currently in use: standbydelaylow 10800 standby 1 halfdim 1 hibernatefile /var/vm/sleepimage proximitywake 0 powernap 0 gpuswitch 2 disksleep 10 standbydelayhigh 86400 sleep 1 (sleep prevented by sharingd) hibernatemode 3 ttyskeepawake 1 displaysleep 2 tcpkeepalive 1 highstandbythreshold 50 acwake 0 lidwake 1MacBook Air はスリープ状態でも30日間持つよ!
という売り文句がその昔あった関係で、
ある時間以上スリープが続くとHDD(SSD)からの復帰に移るような設定(省電力モード、もう御察しの通りデフォルト3のね)になっているのかも。その他参考
まとめ
MacOSのスリープモード(ハイバーネートモードの設定値)-
通常スリープ [hibernatemode 0]
スタンバイ状態でメモリデータの退避は行わない。
すぐ復帰出来る反面、バッテリ枯渇時には作業状態が全て消去される。ディープスリープ [hibernatemode 1]
休止状態でメモリデータの退避を行う。
復帰に時間が掛かる反面、バッテリが枯渇しても作業状態は保持されている。セーフスリープ [hibernatemode 3]
バッテリ容量が十分あるうちはスタンバイ状態、
バッテリの消耗が進むとディープスリープへ移行。
バッテリが十分にあるうちはすぐに復帰出来るし、
万一の場合にも作業状態を失わない。
- 投稿日:2019-08-28T22:29:15+09:00
Macのショートカット覚えてる?
この記事について
先日今使っているMacを購入したのですが、キーボードのキーの位置が違くて困っていました。
今まで生きてきてWindowsしか触ったことがなかったので打ちたい、出したいものがすぐに出せなかったのでここに備忘録かけて残しておきます。
(ショートカット見つかり次第アップデートします)入力補助
ひらがな変換する
^control ➕ j
(WindowsだとF6)全角カタカナ変換する
^control ➕ k
(WindowsだとF7)半角英数変換する
^control ➕ :
(WindowsだとF8)全角英数変換する
^control ➕ l
(WindowsだとF9)文字入力の確定をする
^control ➕ m
(WindowsだとF9)終わりに
ここはキー1つで変換できるWindowsの勝ち。
また更新します。
- 投稿日:2019-08-28T19:21:33+09:00
【Mac】各種ハッシュ関数を使う方法 - sha256, md5, ... -
- 投稿日:2019-08-28T19:03:12+09:00
MacでFinderのアイコンプレビューが表示されないときの対処法
軽く調べた結果がどれも動かなかったときの対処法です。
qlmanage -tでプレビューが表示されない画像を開いてみます。$ qlmanage -t ~/Desktop/適当な画像.pngすると何やら
Google Drive File Stream関連のエラーが表示されます。Google Drive File Stream.appを削除すると、無事プレビューが表示されるようになりました。以下の回答に感謝。https://apple.stackexchange.com/questions/338215/mojave-quicklook-stuck-at-loading#answer-338528
- 投稿日:2019-08-28T15:12:26+09:00
初心者がMacのローカル環境にMySQL 8.0をインストールしてSequel PROで接続するまでの注意点。
はじめに
会社でMySQLを使用する業務を行うことになりました。
ProgateのSQLコースを修了しただけの低レベルの僕に合わせて、
上司がMySQLの基礎を固めるための簡単なトレーニングメニューを組んで下さいました。
簡単そうだからすぐに終わらせようと思っていたのに、最初の段階でちょっと躓いて、一週間以上かかってしまいました。
今後同じ道を辿る初心者を生み出さないために、注意点をまとめました。Google先生が教えてくれる既存の資料は、Homebrewを使用する方法だとか、
MySQL5.6 や 5.7 のやり方のものがほとんどです。
この記事は、きちんと現時点での最新版 MySQL8.0 でのやり方を記録しています。記事のターゲット
下記のようなキーワードでGoogle検索している方に、ぜひこの記事を見つけてほしいです。
「MySQL 接続できない」
「the server quit without updating pid file」
「No such file or directory」
「Access denided for user」
「server command not found」
「Authentication plugin 'caching_sha2_password' cannot be loaded」今回の目的
上司から頂いたトレーニングメニューは以下です。
参考資料:MySQL5.6リファレンスマニュアル(日本語版) をもとに、
1. ローカル環境もしくは仮想環境を用意してMySQLをインストールする。
2. 起動したMySQLへクライアントツール(なんでもよし)で接続する。
3. リファレンスマニュアル実施(3.3 データベースの作成と使用 )
4. リファレンスマニュアル実施(3.6 一般的なクエリーの例 )上記ミッションのうち、 1~2 を遂行する際に少し躓いたため、これを遂行する際の注意点をここにまとめています。
※ MySQLはローカル環境にインストールします。
※ MySQLは最新版の8.0をインストールします。
※ MySQL8.0の資料は英語表記のため、唯一日本語資料が用意されているMySQL5.6のマニュアルを参考に進めております。結論
申し訳有りません。
Sequel PROでログインできた段階で、舞い上がってこんな記事を作成してしまいましたが、
Sequel PRO上で操作しようとすると必ずエラーがでて進まなくなってしまいました。
そこで再度調べた所、認証方式がどうこうではなく、そもそもSequel PROはMySQL8.0に非対応とのことで、どうあがこうと無理という結論に達しました。僕がこの結論にたどり着くまでの苦労の軌跡を残すため、この記事は削除せずに置いておくことにします。
どうか、おなじく無駄な時間を過ごす初心者が1人でも減ってくれますように…。おわり。
【要点】 クライアントツールの選定
さて、今回の重要ポイントを先に説明させていただきます。
今回、クライアントツールはなんでもよいというミッションだったので、評判の良いSequel PROを選択しているのですが、ここが最大のワナなのでした。
なんとSequelPROは、MySQLが採用している最新のログイン認証方式(caching_sha2_password)に非対応だったのです。
以下の記録は、そのことを頭に入れてから読み進めてください。
ローカル環境にMySQLをインストールする。
注意点:
接続に躓いてGoogle検索してみると、Homebrewを使用するインストール方法が沢山ヒットしますが、それは大抵の場合 MySQL5.6 や 5.7 向けの方法かと思われます。
この記事では、公式サイトからダウンロードできる MySQL8.0 用のディスクイメージ(.dmgファイル)を使用してインストールします。
MySQL公式ページの DOWNLOADSメニュー > Communityタブ > MySQL Community Server(GPL) から、DMG Archive をダウンロードして、実行する。
インストーラでUse Strong Password EncryptionかUse Legacy Password Encryptionを選ぶ画面になったらUse Legacy Password Encryptionを選択する。
あとは通常通りインストールを完了させる。
(Google検索してみると、このあとTerminalでmysql.server startをさせるような記事が多い。
しかし、今回の方法でインストールしている場合、システム環境設定からサーバーの起動が可能。
さらに、基本は自動でサーバーを起動してくれているため、上記の操作は不要である。)
Terminalでmysql -vと入力してみた際、コマンドがmysql: command not foundとなる時は、ターミナルで下記を実行。echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile
試しにTerminalでmysql -u root -pと入力して、パスワードを入力すると、問題なくMySQLが実行できると思われる。
(MySQL8.0以前はrootユーザのパスワードを設定するかどうかは任意だったようだけど、今回の方法でインストールしている場合、パスワード設定は必須なので、-pというオプションを使用しないでログインすることは不可能です。)
以上。
既に失敗してしまった方へ。
上記のような手順を踏まず、既にドツボにハマってしまった方。
まだやり直せる状況であれば、MySQLのクリーンインストールを行う事が一番安全だと思います。
Google検索すると、MySQLのアンインストールをする際に、Terminalから関連ファイルの削除を行う情報が多くヒットします。
しかし、今回の方法でインストールしている場合、システム環境設定から完全にアンインストールを行うことが可能です。Terminalを使用してアンインストールをする必要は恐らくありません。
(間違っていたらコメントください。)
システム環境設定からアンインストールをする際に、Also uninstall this preference pane, and launchd support files.にチェックをして下さい。
既にMySQLを運用してしまっている等で、クリーンインストールをすることが出来ない場合、ユーザごとに認証方式を変更する方法もあるようです。
参考:MySQL8.0 認証方式を変更する(Laravel5)
僕はこれを行った際、rootユーザの認証方式を変更してしまい、再度MySQLに接続できなくなる事象が発生しているので、
認証方式を変更する場合は、rootユーザではなく、新規作成されたユーザの設定を変更したほうが安全だと思います。
おわり。
- 投稿日:2019-08-28T15:12:26+09:00
初心者がMacのローカル環境にMySQL 8.0をインストールしてSequel PROで接続したかった奮闘記。
はじめに
会社でMySQLを使用する業務を行うことになりました。
ProgateのSQLコースを修了しただけの低レベルの僕に合わせて、
上司がMySQLの基礎を固めるための簡単なトレーニングメニューを組んで下さいました。
簡単そうだからすぐに終わらせようと思っていたのに、最初の段階でちょっと躓いて、一週間以上かかってしまいました。
今後同じ道を辿る初心者を生み出さないために、注意点をまとめました。Google先生が教えてくれる既存の資料は、Homebrewを使用する方法だとか、
MySQL5.6 や 5.7 のやり方のものがほとんどです。
この記事では、現時点での最新版 MySQL8.0 でのやり方を記録しています。記事のターゲット
下記のようなキーワードでGoogle検索している方に、ぜひこの記事を見つけてほしいです。
「MySQL 接続できない」
「the server quit without updating pid file」
「No such file or directory」
「Access denided for user」
「server command not found」
「Authentication plugin 'caching_sha2_password' cannot be loaded」今回の目的
上司から頂いたトレーニングメニューは以下です。
参考資料:MySQL5.6リファレンスマニュアル(日本語版) をもとに、
1. ローカル環境もしくは仮想環境を用意してMySQLをインストールする。
2. 起動したMySQLへクライアントツール(なんでもよし)で接続する。
3. リファレンスマニュアル実施(3.3 データベースの作成と使用 )
4. リファレンスマニュアル実施(3.6 一般的なクエリーの例 )上記ミッションのうち、 1~2 を遂行する際に少し躓いたため、これを遂行する際の注意点をここにまとめています。
※ MySQLはローカル環境にインストールします。
※ MySQLは最新版の8.0をインストールします。
※ MySQL8.0の資料は英語表記のため、唯一日本語資料が用意されているMySQL5.6のマニュアルを参考に進めております。結論
申し訳有りません。
Sequel PROで接続できた段階で、舞い上がってこんな記事を作成してしまいましたが、
Sequel PRO上で操作しようとすると必ずエラーがでて進まなくなってしまいました。
そこで再度調べた所、認証方式がどうこうではなく、そもそもSequel PROはMySQL8.0に非対応とのことで、どうあがこうと無理という結論に達しました。僕がこの結論にたどり着くまでの苦労の軌跡を残すため、この記事は削除せずに置いておくことにします。
どうか、おなじく無駄な時間を過ごす初心者が1人でも減ってくれますように…。おわり。
【要点】 クライアントツールの選定
さて、今回の重要ポイントを先に説明させていただきます。
今回、クライアントツールはなんでもよいというミッションだったので、評判の良いSequel PROを選択しているのですが、ここが最大のワナなのでした。
なんとSequelPROは、MySQLが採用している最新のログイン認証方式(caching_sha2_password)に非対応だったのです。
以下の記録は、そのことを頭に入れてから読み進めてください。
ローカル環境にMySQLをインストールする。
注意点:
接続に躓いてGoogle検索してみると、Homebrewを使用するインストール方法が沢山ヒットしますが、それは大抵の場合 MySQL5.6 や 5.7 向けの方法かと思われます。
この記事では、公式サイトからダウンロードできる MySQL8.0 用のディスクイメージ(.dmgファイル)を使用してインストールします。
MySQL公式ページの DOWNLOADSメニュー > Communityタブ > MySQL Community Server(GPL) から、DMG Archive をダウンロードして、実行する。
インストーラでUse Strong Password EncryptionかUse Legacy Password Encryptionを選ぶ画面になったらUse Legacy Password Encryptionを選択する。
あとは通常通りインストールを完了させる。
(Google検索してみると、このあとTerminalでmysql.server startをさせるような記事が多い。
しかし、今回の方法でインストールしている場合、システム環境設定からサーバーの起動が可能。
さらに、基本は自動でサーバーを起動してくれているため、上記の操作は不要である。)
Terminalでmysql -vと入力してみた際、コマンドがmysql: command not foundとなる時は、ターミナルで下記を実行。echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile
試しにTerminalでmysql -u root -pと入力して、パスワードを入力すると、問題なくMySQLが実行できると思われる。
(MySQL8.0以前はrootユーザのパスワードを設定するかどうかは任意だったようだけど、今回の方法でインストールしている場合、パスワード設定は必須なので、-pというオプションを使用しないでログインすることは不可能です。)
以上。
既に失敗してしまった方へ。
上記のような手順を踏まず、既にドツボにハマってしまった方。
まだやり直せる状況であれば、MySQLのクリーンインストールを行う事が一番安全だと思います。
Google検索すると、MySQLのアンインストールをする際に、Terminalから関連ファイルの削除を行う情報が多くヒットします。
しかし、今回の方法でインストールしている場合、システム環境設定から完全にアンインストールを行うことが可能です。Terminalを使用してアンインストールをする必要は恐らくありません。
(間違っていたらコメントください。)
システム環境設定からアンインストールをする際に、Also uninstall this preference pane, and launchd support files.にチェックをして下さい。
既にMySQLを運用してしまっている等で、クリーンインストールをすることが出来ない場合、ユーザごとに認証方式を変更する方法もあるようです。
参考:MySQL8.0 認証方式を変更する(Laravel5)
僕はこれを行った際、rootユーザの認証方式を変更してしまい、再度MySQLに接続できなくなる事象が発生しているので、
認証方式を変更する場合は、rootユーザではなく、新規作成されたユーザの設定を変更したほうが安全だと思います。
おわり。
- 投稿日:2019-08-28T12:50:57+09:00
Macアプリ初心者:NSTableView でカスタムした一覧を作ってみる
今回は前回作成したプロジェクトを元にしてカスタム Cell を作成して見た目を変えていきます。
株価一覧を表示するイメージのサンプルアプリを作ってみます。完成イメージ
環境
- macOS Mojave:10.14.6
- Xcode:10.3
カスタムセルの作成
今回は StoryBoard を利用してカスタムセルを作成しました。
個人的には大きいプロジェクトでは XIB を利用して個々のパーツに分解して作った方がメンテしやすいと思います。カスタムセルのイメージ
株価のステータス表示用の ImageView が左側に配置されていて、右側に企業名と株価を表示する TextField を配置するシンプルな構成です。
StoryBoard でアイテムを配置
TableView の見え方を変更
表示するだけのViewのため、Clickした時に選択できないようにし(Highlight:None)、見やすいように縞模様表記にし(Alternating Rows:チェック)、水平のグリッド線を表示(Horizontal Grid:Solid)します。
カスタムセルクラスを作成
それぞれのアイテムを持っているだけの単純なクラスです。
CustomNSTableCellView.swiftimport Cocoa class CustomNSTableCellView: NSTableCellView { @IBOutlet weak var stockImage: NSImageView! @IBOutlet weak var companyName: NSTextField! @IBOutlet weak var stockPrice: NSTextField! }StoryBoard とカスタムセルクラスを紐づける
ソースコード:カスタムセルクラスの利用
下準備としてセルの高さと表示するアイテムデータを作成
ViewController.swift@IBOutlet weak var tableView: NSTableView! { didSet { self.tableView.dataSource = self self.tableView.delegate = self self.tableView.rowHeight = 88 } } // MARK: - private variables private var values = [ ["name" : "○○株式会社", "price": 1000, "status": "up"] ,["name" : "○×水産", "price": 12345, "status": "down"] ,["name" : "株式会社□○", "price": 345, "status": "flat"] ,["name" : "×△ホールディングス", "price": 321, "status": "up"] ,["name" : "ABC BANK", "price": 20, "status": "down"] ,["name" : "▼○重工", "price": 98000, "status": "up"] ]状態によってテキストやイメージ画像を差し替える
CustomNSTableCellView.swiftfunc tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { let result = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "MyView"), owner: self) as? CustomNSTableCellView // Set the stringValue of the cell's text field to the nameArray value at row switch self.values[row]["status"] as! String { case "up": result?.stockImage.image = NSImage(named: NSImage.Name("up")) result?.stockImage.contentTintColor = NSColor.red result?.companyName.textColor = NSColor.red case "down": result?.stockImage.image = NSImage(named: NSImage.Name("down")) result?.stockImage.contentTintColor = NSColor.green result?.companyName.textColor = NSColor.green case "flat": result?.stockImage.image = NSImage(named: NSImage.Name("flat")) result?.stockImage.contentTintColor = NSColor.gray result?.companyName.textColor = NSColor.gray default: break } result?.companyName.stringValue = self.values[row]["name"] as! String let formatter = NumberFormatter() formatter.numberStyle = .decimal let commaString = formatter.string(from: self.values[row]["price"] as! NSNumber) result?.stockPrice.stringValue = commaString ?? "-" // Return the result return result }
全ソースコード(ViewController)
ViewController.swiftimport Cocoa class ViewController: NSViewController { // MARK: - IBOutlet @IBOutlet weak var tableView: NSTableView! { didSet { self.tableView.dataSource = self self.tableView.delegate = self self.tableView.rowHeight = 88 } } // MARK: - private variables private var values = [ ["name" : "○○株式会社", "price": 1000, "status": "up"] ,["name" : "○×水産", "price": 12345, "status": "down"] ,["name" : "株式会社□○", "price": 345, "status": "flat"] ,["name" : "×△ホールディングス", "price": 321, "status": "up"] ,["name" : "ABC BANK", "price": 20, "status": "down"] ,["name" : "▼○重工", "price": 98000, "status": "up"] ] // MARK: - override func override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } override var representedObject: Any? { didSet { // Update the view, if already loaded. } } } extension ViewController: NSTableViewDataSource, NSTableViewDelegate { // MARK: - NSTableViewDataSource func numberOfRows(in tableView: NSTableView) -> Int { return self.values.count } // MARK: - NSTableViewDelegate func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { let result = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "MyView"), owner: self) as? CustomNSTableCellView // Set the stringValue of the cell's text field to the nameArray value at row switch self.values[row]["status"] as! String { case "up": result?.stockImage.image = NSImage(named: NSImage.Name("up")) result?.stockImage.contentTintColor = NSColor.red result?.companyName.textColor = NSColor.red case "down": result?.stockImage.image = NSImage(named: NSImage.Name("down")) result?.stockImage.contentTintColor = NSColor.green result?.companyName.textColor = NSColor.green case "flat": result?.stockImage.image = NSImage(named: NSImage.Name("flat")) result?.stockImage.contentTintColor = NSColor.gray result?.companyName.textColor = NSColor.gray default: break } result?.companyName.stringValue = self.values[row]["name"] as! String let formatter = NumberFormatter() formatter.numberStyle = .decimal let commaString = formatter.string(from: self.values[row]["price"] as! NSNumber) result?.stockPrice.stringValue = commaString ?? "-" // Return the result return result } }よかったら いいね してください。
- 投稿日:2019-08-28T03:16:11+09:00
Ubuntuで全角/半角の切替をMac風にする
概要
Ubuntuでは全角/半角の切替がWindows風になっています。これをMac風にしていきます。具体的には、無変換キーで半角英数入力に、変換キーでひらがな入力に切り替えます。
結論
変換キーでひらがな入力にするために、xmodmapを使用します。変換キーをひらがなキーにしてしまいます。
無変換キーで半角英数入力にするために、Mozcの設定をいじります。IMEを無効化することで半角英数入力にすることができます。
環境
Ubuntu 18.04.3
xmodmap 1.0.9方法
変換キーでひらがな入力
~/.Xmodmapに以下を記述します。~/.Xmodmapkeycode 100 = Hiragana NoSymbol Hiragana次のコマンドを実行します。
xmodmap ~/.Xmodmap無変換キーで半角英数入力
右上のメニューから、日本語(Mozc) -> ツール -> プロパティをクリックします。
キー設定の選択で「ことえり」を選択します。
その横にある「編集...」をクリックします。編集 -> エントリーを追加から、以下のように指定します。「IMEを無効化」によって半角英数に切り替えます。
最後に「OK」をクリックすれば完了です。
おわりに
変換キーと無変換キーの設定方法が異なるのは気に食わないですが、どちらか片方の方法だけでは実現できませんでした。もっといい方法があるかもしれません。
Fcitxを使った方法は以下にありました。
Ubuntuの入力モード切り替えのキーバインドを変更してMac風にする関連リンク








