MacBook Pro 2016 13インチのキーボードを掃除した
10分くらいで対応できた。
対象
- MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)
- キーボード修理プログラム実施済み
現象
- Qのキーが鈍い
- ←キーが鈍い
方法
必要なもの
- テレホンカードくらいの薄くて硬めのカード
手順
参考サイトが詳しい。保証が切れているから自前で対応したが、保証がある人はジーニアスバーに持ち込んだほうが良い。
- カードキーの上側の隙間に差し込む。
- ゆっくり斜めに傾けて上部左右の引っ掛けからキーを外す。その際は弱い音でカチッ、カチッと音がする。
- 上側を外した後、キーを下側にずらし下側の引っ掛けも外す。
- 掃除する。
- 掃除後に下側からはめていく。
経緯
ガリガリ君を袋から開けた際に一部がキーボードにこぼれた。 キーの周りにガリガリ君が入り込みキー押下がねちょねちょするようになった。
キーボードの不具合が良くニュースに上がるので「またかー?」と思ったけど完全に自分のせいだった。
参考サイト
ポートを使用中のプロセスを特定する
MacのDockerで80番ポートを使おうとしたら使用中だった。試しにlocalhostにアクセスしたら It works! なる表示が出た。どうもapacheが建っているみたいだ。 使用していたMacは複数人に渡って受け継がれてきたもので誰かがapacheを動かしていてもおかしくない。
80番ポートを使用しているプロセスを表示
$ sudo lsof -i:80 | grep LISTEN httpd 110 root 4u IPv6 0x**************** 0t0 TCP *:http (LISTEN) httpd 374 _www 4u IPv6 0x**************** 0t0 TCP *:http (LISTEN) httpd 1470 _www 4u IPv6 0x**************** 0t0 TCP *:http (LISTEN) httpd 1471 _www 4u IPv6 0x**************** 0t0 TCP *:http (LISTEN) httpd 1472 _www 4u IPv6 0x**************** 0t0 TCP *:http (LISTEN)
やはりhttpdが使っている。
httpdのプロセスを確認
$ ps -ax | grep httpd 110 ?? 0:00.46 /usr/sbin/httpd -D FOREGROUND 374 ?? 0:00.03 /usr/sbin/httpd -D FOREGROUND 1470 ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND 1471 ?? 0:00.00 /usr/sbin/httpd -D FOREGROUND 1472 ?? 0:00.01 /usr/sbin/httpd -D FOREGROUND 1671 ttys001 0:00.00 grep httpd
/usr/sbin/httpd、どうもMac標準のapacheが動いているみたい。
自動起動の設定の確認と解除
確認
$ sudo launchctl list | grep httpd 110 0 org.apache.httpd
解除
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
参考
Docker で Laravel の開発環境を作りたい 3 PhpStormでデバッグできるまで
以下の続き vtorica.hatenablog.com
Dockerfile 前回からの改良
参考: https://github.com/docker-library/docs/blob/master/php/README.md
# 元となるイメージを指定 FROM php:7.2-apache # イメージを作る際に実行するコマンド RUN apt-get update RUN apt-get install -y vim # php.iniが無いため、コピーして作成する RUN cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini # xdebugをインストールする RUN pecl install xdebug-2.6.1 \ && docker-php-ext-enable xdebug RUN echo xdebug.remote_enable=1 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini RUN echo xdebug.remote_autostart=1 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini RUN echo xdebug.remote_host=192.168.0.202 >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini # ホストのIPを設定 RUN echo xdebug.remote_log=/tmp/xdebug.log >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
PhpStormでデバッグ
- PhpStorm上の電話アイコンを押してデバッグを開始する (メニューからはRun -> Start Listening for PHP Debug Connections)
- ブラウザでPHPファイルにアクセスする
- XdebugとPhpStormが接続される
次は
- composerのインストール
- Laravelに必要なextentionの確認とインストール
Docker で Laravel の開発環境を作りたい 2 Dockerfile化
Dockerfileの作成
# 元となるイメージを指定 FROM php:7.2-apache # イメージを作る際に実行するコマンド RUN apt-get update RUN apt-get install -y vim # php.iniが無いため、コピーして作成する RUN cp /usr/local/etc/php/php.ini-development /usr/local/etc/php/php.ini # xdebugをインストールする RUN pecl install xdebug
Dockerfileをもとにイメージ・コンテナの作成
$ docker build -t hogehoge . # カレントディレクトリのDockerfileを元にイメージを作成 $ docker run -d -p 80:80 --name myapp -v $(pwd):/var/www/html hogehoge # 実行
Docker で Laravel の開発環境を作りたい
魔法のように見えるDocker・・・を学習して Laravel の開発環境を作っていきたい
最終的に作りたい開発環境
- Linux
- Apache
- PHP 7.2
- MySQL 5.7
- Laravel 5.5
- ローカルからコンテナのファイルいじりたい
- ローカルのPHP開発環境からデバッグしたい
- ローカルのMySQLクライアントからコンテナのMySQLへアクセスしたい
環境
ホスト
- macOS 10.14 Mojave
- Docker 18.09
とりあえずコピペから
$ docker run -d -p 80:80 --name myapp -v $(pwd):/var/www/html php:7.2-apache
- phpinfo()などのファイルを置いて動作確認
後片付け
$ docker stop myapp # コンテナ停止、その後 $ docker rm myapp # コンテナ削除
コマンドの意味
- Docker Hubからphp:7.2-apacheのイメージを取得
- myappというコンテナを作成
- コンテナをバックグラウンドで起動
- ホストの80ポートをコンテナの80ポートに接続する
- ホストのカレントディレクトリをコンテナの /var/www/htmlにマウントする
$ docker \ run # コマンドを新しいコンテナで実行 -d # コンテナをバックグラウンドで実行、コンテナIDを出力する -p 80:80 # コンテナのポートをホストに公開する。ホスト:コンテナ。 -v $(pwd):/var/www/html # ホストのディレクトリをコンテナのディレクトリにマウントする。ホスト:コンテナ。$(pwd)はシェルのコマンド置換で現在のディレクトリとして展開される php:7.2-apache # イメージを指定
参考
- マンガでわかるDocker
- マンガでわかるDocker2
Laravel 5.5 手動でデプロイする (Lolipop マネージドクラウド)
以下の続き vtorica.hatenablog.com
環境
ローカル
テストサーバー
2018年末まで無料で使えるLolipop マネージドクラウドを使用した。 PHPのバージョンは異なる。
ローカルでの作業
テストサーバー用の.envファイルを作成する
$ cp .env.example .env.staging
テストサーバー用にAPP_KEYを生成する
$ php artisan key:generate
テストサーバー用にDB接続設定を変更する
ここまでの修正をgitでcommitしておく
$ git init $ git add . $ git commit -m "initial"
リポジトリをアーカイブしてテストサーバーへコピーする
アーカイブ
$ git archive HEAD > Sample.tar
テストサーバーへコピー
SCPでコピー
ファイル・ディレクトリ構成
$ pwd;find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/| /g' /var/www |--.bash_history |--Sample.tar |--html
展開
$ tar xvf Sample.tar $ rm Sample tar $ mv public/* html $ mv public/.htacess html # ドットファイルは通常 mv * で移動できない $ rm -rf public
ディレクトリ構成
$ pwd;find . -type d | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/| /g' /var/www |--app | |--Console | |--Exceptions | |--Http | | |--Controllers | | | |--Auth | | |--Middleware | |--Providers |--bootstrap | |--cache |--config |--database | |--factories | |--migrations | |--seeds |--html | |--css | |--js |--resources | |--assets | | |--js | | | |--components | | |--sass | |--lang | | |--en | |--views | | |--auth | | | |--passwords | | |--layouts |--routes |--storage | |--app | | |--public | |--framework | | |--cache | | |--sessions | | |--testing | | |--views | |--logs |--tests | |--Feature | |--Unit
.env.staging ファイルをリネーム
$ mv .env.staging .env
composerをインストール
- /var/www/bin/ ディレクトリを作成して、そこにインストールする
$ mkdir bin $ cd bin $ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" $ php composer-setup.php $ php -r "unlink('composer-setup.php');"
composer install
- /var/www/ で実施する
$ php bin/composer.phar install
migrate
$ php artisan migrate
動作を確認する
- 確認して終了