- 投稿日:2020-07-28T22:06:13+09:00
Mac×Laravel×MAMPで環境構築からデータベース接続まで
さっそくタイトルにある通り進めていきましょう。
MAMPのインストール
MAMPの公式サイトにアクセスします。
Free Downloadをクリックします。
macアイコンの下「MAMP & MAMP PRO 5.~」をクリックするとダウンロードが開始されます。
無事インストールされたら、アプリケーションフォルダ内のMAMPアイコンをクリックして起動します。
MAMPが起動後、Start Servers をクリックすることで、
Apacheサーバー・・Webサーバー
MySQLサーバー・・データベースサーバー
を同時に起動できます。しばらくすると、Apacheサーバー、MySQLサーバーともに緑色のランプがついたら起動できています。
MAMPの設定
メニュー内 MAMP から Preferences をクリックします。
Portsをクリックすると、ApacheやMysqlが使用するポート番号が表示されます。
初期設定ではApacheのポート番号が8888、MySQLのポート番号が8889になっていますが、
一般的には、
Apacheのポート番号は80
MySQLのポート番号は3306
を使うことが多いですので、特に問題がなければ、画面中央の「Set Web & MySQL ports to 80 & 3306」をクリックします。
Apacheのポート番号は80
MySQLのポート番号は3306
になっていればOKです。以上でMAMPのインストールおよび設定が完了です。
composerのインストール
PHPのライブラリやパッケージを管理するcomposerというツールがあります。
Laravelもcomposerを使ってインストールしますので、下記リンクよりダウンロードしインストールしてください。
インストール後、コマンドプロンプトでcomposer --versionと入力してください。
$ composer --version Composer version 1.4.2このようにバージョンが表示されればOKです。
Laravelのインストール
composerがインストールされている状態で、htdocsディレクトリに移動します。
初期設定でインストールした場合は下記フォルダになるかと思います。
$ cd /Application/MAMP/htdocshtdocsフォルダに移動後、下記のコマンドを入力してください。
$ composer create-project --prefer-dist laravel/laravel 任意のアプリケーション名Laravelの起動
作成したプロジェクトフォルダへ移動して、簡易サーバーを立ち上げてみます。
$ php artisan serveと入力し、
$ php artisan serve Laravel development server started: <http://127.0.0.1:8000> [Tue Apr 23 20:24:32 2019] 127.0.0.1:51707 [200]: /favicon.icoと表示されたら、グーグルクロムなどのブラウザでhttp://127.0.0.1:8000
と入力します。こんな画面が表示されればOKです。
phpmyadminでデータベース作成
「Open WebStart page」をクリックしてください。すると、以下のようなブラウザに飛びます。
下にスクロールして、
「phpMyAdmin」をクリック。すると以下のブラウザに飛びますので、
ここで、任意の名前のデーターベースを作成しましょう。MAMPの情報を控える
そうしましたら、先ほどのWelcome to MAMPのページでMAMPの情報をメモしてください。
.envの修正
デフォルトだと以下のようになっています。
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_USERNAME=root DB_PASSWORD=これを、MAMPの情報を元に、以下のように変えます。
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock DB_DATABASE=先ほど作ったデータベース名 DB_USERNAME=root DB_PASSWORD=root次はdatabase.phpです。
database.phpの修正
デフォルトのdatabase.phpはこうなっています。
'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''),それを、以下のように変えます。
'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', '先ほど作ったデータベース名'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', 'root'),以上で環境構築とデータベース接続まで行えるはずです!
では、良き開発ライフを!!!
- 投稿日:2020-07-28T22:06:13+09:00
Mac×Laravel×MAMPで開発環境構築からデータベース接続まで
さっそくタイトルにある通り進めていきましょう。
MAMPのインストール
MAMPの公式サイトにアクセスします。
Free Downloadをクリックします。
macアイコンの下「MAMP & MAMP PRO 5.~」をクリックするとダウンロードが開始されます。
無事インストールされたら、アプリケーションフォルダ内のMAMPアイコンをクリックして起動します。
MAMPが起動後、Start Servers をクリックすることで、
Apacheサーバー・・Webサーバー
MySQLサーバー・・データベースサーバー
を同時に起動できます。しばらくすると、Apacheサーバー、MySQLサーバーともに緑色のランプがついたら起動できています。
MAMPの設定
メニュー内 MAMP から Preferences をクリックします。
Portsをクリックすると、ApacheやMysqlが使用するポート番号が表示されます。
初期設定ではApacheのポート番号が8888、MySQLのポート番号が8889になっていますが、
一般的には、
Apacheのポート番号は80
MySQLのポート番号は3306
を使うことが多いですので、特に問題がなければ、画面中央の「Set Web & MySQL ports to 80 & 3306」をクリックします。
Apacheのポート番号は80
MySQLのポート番号は3306
になっていればOKです。以上でMAMPのインストールおよび設定が完了です。
composerのインストール
PHPのライブラリやパッケージを管理するcomposerというツールがあります。
Laravelもcomposerを使ってインストールしますので、下記リンクよりダウンロードしインストールしてください。
インストール後、コマンドプロンプトでcomposer --versionと入力してください。
$ composer --version Composer version 1.4.2このようにバージョンが表示されればOKです。
Laravelのインストール
composerがインストールされている状態で、htdocsディレクトリに移動します。
初期設定でインストールした場合は下記フォルダになるかと思います。
$ cd /Application/MAMP/htdocshtdocsフォルダに移動後、下記のコマンドを入力してください。
$ composer create-project --prefer-dist laravel/laravel 任意のアプリケーション名Laravelの起動
作成したプロジェクトフォルダへ移動して、簡易サーバーを立ち上げてみます。
$ php artisan serveと入力し、
$ php artisan serve Laravel development server started: <http://127.0.0.1:8000> [Tue Apr 23 20:24:32 2019] 127.0.0.1:51707 [200]: /favicon.icoと表示されたら、グーグルクロムなどのブラウザでhttp://127.0.0.1:8000
と入力します。こんな画面が表示されればOKです。
phpmyadminでデータベース作成
「Open WebStart page」をクリックしてください。すると、以下のようなブラウザに飛びます。
下にスクロールして、
「phpMyAdmin」をクリック。すると以下のブラウザに飛びますので、
ここで、任意の名前のデーターベースを作成しましょう。MAMPの情報を控える
そうしましたら、先ほどのWelcome to MAMPのページでMAMPの情報をメモしてください。
.envの修正
デフォルトだと以下のようになっています。
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_USERNAME=root DB_PASSWORD=これを、MAMPの情報を元に、以下のように変えます。
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock DB_DATABASE=先ほど作ったデータベース名 DB_USERNAME=root DB_PASSWORD=root次はdatabase.phpです。
database.phpの修正
デフォルトのdatabase.phpはこうなっています。
'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''),それを、以下のように変えます。
'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', '先ほど作ったデータベース名'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', 'root'),以上で環境構築とデータベース接続まで行えるはずです!
では、良き開発ライフを!!!
- 投稿日:2020-07-28T18:59:32+09:00
Appleに開発者登録をしたときに、まずすること・してはいけないこと
Appleは最近セキュリティーに厳しく、開発者登録を行い、公証を受けたアプリケーションでないとこのアプリケーションは悪意を持つソフトの可能性がある旨のメッセージが出るようになりました。
そこで開発者登録し、公証を受けた野良アプリを作る際に最初にやるべき事、やってはいけない事を自分の失敗から、同じ失敗をしないように、この記事を読んで下さった方のために纏めたいと思います。
開発者アカウントをXcodeに追加する
証明書の作成はdeveloper.apple.comのサインイン後のページからもできますが、
Xcodeのアカウント環境設定から行うのが確実で良いかと思います。まずは、環境設定の
Accounts
タブへ移動し、画面一番したの+
ボタンで開発者登録したメールアドレスを追加します。
開発者証明を作成する
AppStore
のアカウント作成は色々資料があると思うので割愛します。
今回の目的は、公証を受けた野良アプリ(自サイトで配布するアプリケーション)なので、作成する証明書は、Developper ID Application
になります。
これをXcode
から作成するには、追加したアカウントの右側のペインの右下にあるManage Certificate
ボタンを押します。
すると表示されるのが下の様なウィンドウになると思います。
僕の場合は、すでにアカウントを作成しているので黒文字・グレイ文字の行がいくつかありますが最初は行が一つも存在しないかと思います。ここで、画面左下の
+ ∨
ボタンを押して、Developper ID Application
を選んで下さい。作成した開発者証明書を保存する
上の作業で、
Developer ID Application
に黒文字で証明書が一つ追加されたと思います。
ここで、まず最初にこの証明書をエクスポートして保存しておきます。
証明書の保存方法は黒地のDeveloper ID Application
を右クリックして、Export Certificate...
を選びます。
保存場所は自分がわかる場所ならどこでも構いません。パスワードも人に渡すものでもないのでそう難しいパスワードで無くても良いと思います。
パスワードと、チェック用にもう一度同じパスワードを入力したら、Save
ボタンを押すと付けた名前.p12
というファイルが作成されます。これがプライベートキー付き証明書になりますエクスポートした証明書から証明を復旧する
作成された
.p12
ファイルをダブルクリックすると、KeyChain
に証明書が追加されます。
確認は、KeyChain Access
アプリケーションのログイン
→証明書
で右側のペインに読み込んだ証明書が表示されます。
余談かつ戒め
注意すべきはこの開発者証明書、取り消しが出来なくて、しかも作成できる上限が5つと少し少なめです。
そのため、マシンをクリーンインストールした・買い換えたなどで証明書を発行しまくると、あっという間にパンクしてしまいます。
それを防ぐためにも証明書はこの、プライベートキーがある状態で保存しておき、特別な理由がない限りそれを再インポートして使うべきです。なぜ、Appleの開発者ページで証明書を作成し、ダウンロードしたものをダブルクリックでキーチェーンに追加しないか?というと、ダウンロードされた証明書にはプライベートキーが含まれていないため、ダウンロードした証明書をバックアップして安心してしまうのが危険だからです。
そこで、Xcodeでプライベートキー付きの証明書をダウンロードして、余計なファイルを作らず、それをエクスポートした「プライベートキー付き証明書」(=
.p12
ファイルで.cer
ファイルではないことに注意)を管理することを強くお勧めします。証明書の復旧が必用なときはこのファイルをダブルクリックして
KeyChain
に追加して下さい。
そして、このファイルはマシンが不慮の事態でクラッシュしたときに影響を受けないように、物理的に別なディスクやUSBメモリーカードなどにコピーを作っておくのが良いと思います。お付き合い下さりありがとうございました
- 投稿日:2020-07-28T16:01:14+09:00
【Mac】インストールしたPWAを削除する
apiの検証でpostman使うことが多いのだが、ある日LaunchPadからフィルタするとこんなことになっていた。
postmanが2つある!?
ってなんのことはなくて片方(多分左の見慣れてないアイコン)がPWAなのである。
PWA側を起動するとPWA版は非推奨だからNative使えって警告が出たので削除しようということでアイコン長押ししてみる。アイコンぷるぷるするけど✕ボタンが出ない…
この手順で消せるのはプリインアプリかAppStoreからインストールしたアプリだけらしい、知らんかった。じゃFinderのアプリケーションフォルダからダイレクトに削除してやるぜって思ったのだが
PWAはここにアプリケーションファイルが入るわけではない。find掛けて探してみたらここにあるようである。
(ちなみに*.appは-type fではなく-type dなのでここでもややハマった)/Users/myname/Applications/Chrome Apps.localized/Postman.appこれまた「Chrome アプリ」 = 「Chrome Apps.localized」なのでややこしい話である。
ここにあるPostman.appを削除して完了。
たまにLaunchPadにアイコンが残ったままの場合があるがリストをリセットすればOKらしい。rm /Library/preferences/com.apple.dock.plist
もしくは
defaults write com.apple.dock ResetLaunchPad -bool true; killall Dockおわり。
- 投稿日:2020-07-28T15:47:40+09:00
MacにOpenCV(C++)環境を構築する
環境
- macOS Catalina version 10.15.6
- Homebrew 2.4.8
- cmake 3.18.0
OpenCVのインストール
ソースコードからビルドしたほうが詳細なオプションを変更することが可能ですが、依存関係など面倒な点が多いのでbrewでインストールします。
brew install opencv2020.7.28現在、上のコマンドを実行するとOpenCV4.4.0がインストールされます。2系3系をインストールしたい場合はそれぞれ以下のようにします。
2系
brew install opencv@23系
brew install opencv@3テスト
正常にインストールできているかテストします。
以下のようなディレクトリ構造をとります。opencv_test/ ├── CMakeLists.txt ├── build ├── main.cpp └── sample.jpgsample.jpgはてきとうに画像ファイルを用意してください。
画像を読み込んで表示するだけのシンプルなプログラムです。
main.cpp#include <opencv2/opencv.hpp> int main() { cv::Mat img = cv::imread("sample.jpg"); if(img.empty()) { return -1; } cv::namedWindow("test", cv::WINDOW_AUTOSIZE); cv::imshow("test", img); cv::waitKey(0); cv::destroyWindow("test"); return 0; }CMakeLists.txtcmake_minimum_required(VERSION 3.1) project (test) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall") find_package(OpenCV REQUIRED) include_directories( ${OpenCV_INCLUDE_DIRS} ) add_executable(main main.cpp) target_link_libraries(main ${OpenCV_LIBS})実行
cmakeをインストールしていなかった人は
brew install cmakeでインストールしてください。
cd build cmake .. . make cd .. ./build/main画像が表示されれば成功です。
- 投稿日:2020-07-28T11:47:08+09:00
Macでopencv-python
ブログにあったちょっと前(2020/01/25)の記事を転載。
pythonで画像認識を思い、環境を構築しようとしたところ詰まったので構築メモ。
python環境はpipenv
を使っています。opencvインストール
$ pipenv install opencv-python Installing opencv-python… Adding opencv-python to Pipfile's [packages]… ✔ Installation Succeeded Pipfile.lock not found, creating… Locking [dev-packages] dependencies… Locking [packages] dependencies… ✘ Locking Failed! ...(中略) [pipenv.exceptions.ResolutionFailure]: pipenv.exceptions.ResolutionFailure: ERROR: ERROR: Could not find a version that matches opencv-python [pipenv.exceptions.ResolutionFailure]: No versions found [pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies. First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again. Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation. Hint: try $ pipenv lock --pre if it is a pre-release dependency. ERROR: ERROR: Could not find a version that matches opencv-python No versions found Was https://pypi.org/simple reachable? ...(中略) [pipenv.exceptions.ResolutionFailure]: pipenv.exceptions.ResolutionFailure: ERROR: ERROR: Could not find a version that matches opencv-python [pipenv.exceptions.ResolutionFailure]: No versions found [pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies. First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again. Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation. Hint: try $ pipenv lock --pre if it is a pre-release dependency. ERROR: ERROR: Could not find a version that matches opencv-python No versions found Was https://pypi.org/simple reachable?大量のエラー。
メッセージに従って$ pipenv lock --clearも無意味。
別の案内に従って
$ pipenv install --skip-lock opencv-python Installing opencv-python… Adding opencv-python to Pipfile's [packages]… ✔ Installation Succeeded Installing dependencies from Pipfile… An error occurred while installing opencv-python! Will try again. ? ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 1/1 — 00:00:08 Installing initially failed dependencies… ...(中略) [pipenv.exceptions.InstallError]: ['Could not fetch URL https://pypi.org/simple/opencv-python/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=\'pypi.org\', port=443): Max retries exceeded with url: /simple/opencv-python/ (Caused by SSLError("Can\'t connect to HTTPS URL because the SSL module is not available.")) - skipping'] ...(略)
"Can\'t connect to HTTPS URL because the SSL module is not available."
なるほどー。
ナニコレ。(参考)pip install でSSL関連のエラーが出たらこれを読め!!!
pythonを最新にしたらいいらしい。
今インストールされているのは3.7.1。
現在(2020/01/25)の最新版は3.8.1なので、入れ直そう。$ rm -rf Pipenv* .venv $ pipenv --python 3.8.1 $ pipenv shell $ pipenv install opencv-python Installing opencv-python… Adding opencv-python to Pipfile's [packages]… ✔ Installation Succeeded Pipfile.lock not found, creating… Locking [dev-packages] dependencies… Locking [packages] dependencies… ✔ Success! Updated Pipfile.lock (ee14b3)! Installing dependencies from Pipfile.lock (ee14b3)… ? ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 2/2 — 00:00:02できたわー。
- 投稿日:2020-07-28T04:51:32+09:00
【Mac】Pythonの仮想環境の構築
- 投稿日:2020-07-28T01:53:32+09:00
Docker ローカルのファイルをコンテナ内にコピーする
目的
- MacやWindowsなどのローカルにあるファイルをDockerのコンテナの中にコピーするコマンドを紹介する。
- ※筆者の環境はMacのためMacのローカルからコンテナ内にファイルをコピーする方法を記載する。
実施環境
- ハードウェア環境
項目 情報 OS macOS Catalina(10.15.5) ハードウェア MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) プロセッサ 2 GHz クアッドコアIntel Core i5 メモリ 32 GB 3733 MHz LPDDR4 グラフィックス Intel Iris Plus Graphics 1536 MB 例
Macのローカルのターミナルで下記コマンドを実行する
$ docker cp コピーしたいファイル コンテナID:コンテナ内のコピー先パス/コピーしたファイルを設置する時のファイル名具体例
Macのローカルの
~/Download
直下にあるmy_dump.sqlというファイルを、「docker_mysql_1」というCONTAINER IDのコンテナの/root/dump
ディレクトリ直下に同じファイル名でコピーしたい時のコマンドを下記に記載する。$ docker cp ~/Download/my_dump.sql docker_mysql_1:/root/dump/my_dump.sql