- 投稿日:2020-03-24T23:15:42+09:00
MacのSafariでQiitaにアクセスできない場合
Qiitaにアクセスできない病
MacのSafariでQiitaにアクセスできなくなることがあります(割と頻繁に)
開発関連のワードで検索すると上位がQiitaの記事ばかりになるのでイライラしますね。
最初はQiitaのサーバーが落ちてるのかと思ってましたが、Windowsでは普通にアクセスできるし、
なんならMacのChromeで普通にアクセスできたので、Safariの問題とわかりました。解決方法
Safariのメニューから「開発」→「キャッシュを空にする」
これだけで治りました。
(根本的な原因はわかりません。誰か教えて下さい。)この記事に意味はあるのか?
ここに書いてもこの記事に辿り着けないので意味ない可能性がありますねw
- 投稿日:2020-03-24T18:47:41+09:00
VSCode Tips
備忘録です。
すでに知ってるものは割愛。
英字キーボードで説明。Windowの[Alt]はMacで[option]で読み替える。
基本的にはVSCodeの[ヘルプ]+[対話型プレイグラウンド]に載っているもの。
エディタ分割
- エクスプローラーから[Option]+ファイルクリック
- [command] + [\](バックスペースキー)で現在カーソルがあるファイルをタブ複製
- キーボードで操作しているときに[control]+[Enter]でタブ分割
- [command] + [1],[2]・・(開いているエディタ)でアクティブなタブを切り替え
- [command] + [W] でタブを閉じる
- 同じファイルを同時に開くことも可。上下に離れたコードを見る場合等
- [control] + [tab]でタブの切り替え可
ターミナル
キーボードショートカット
- [control]キー + [`]キーでターミナル表示/非表示
カーソル操作
- [option]+[↑]、[↓] 選択行を入れ替え
- 対象を選択した状態で[shift]+[option]+[↑][↓] その場に複製
マルチカーソル
- [option]+[command]+[↑]、[↓] でカーソル追加
- 上の操作時に[shift]を加えて[shift]を押しながらカーソルを移動すると選択状態のままマルチでいける
- [option] + クリックでカーソル追加
[shift]+[cmd]+[L] 同じ単語が選択状態でマルチカーソル
リネーム
[F2]キー
インデント調整
[shift]+[option]+[F]
折りたたみ(Code Folding)
[option]+[command]+[]]・・・開く
[option]+[command]+[[]・・・閉じる
[command]+[K]→[0]スニペット
何文字か入力した際に表示されるインテリセンスの中で四角いアイコンがスニペット。そこをキーボードで選択して[tab]で展開される。
- 投稿日:2020-03-24T16:29:27+09:00
Mac PhpStorm をクリーン削除して初期状態に戻す
問題
日本語化したPhpStormを英語に戻せない問題が発生しました。
設定ファイルがどこかに残ってしまったのかなと思い綺麗にアンインストールしました。手順
$ brew cask uninstall phpstormHomebrew で管理してない場合は普通にファイル削除
$ rm -rf /Applications/PhpStorm.appPhpStormの設定ファイルを削除
macOSの場合は下記のディレクトリを削除すればokです。$ rm -rf ~/Library/Application\ Support/PhpStorm* $ rm -rf ~/Library/Preferences/PhpStorm* $ rm -rf ~/Library/Caches/PhpStorm* $ rm -rf ~/Library/Logs/PhpStorm*PhpStorm を再インストールします。
$ brew cask install phpstorm参考リンク
- 投稿日:2020-03-24T00:18:45+09:00
MacでAWS Glueを実行したい
概要
- AWS の GlueをMac上で実行するための環境構築を行います
環境情報
- Mac Catalina 10.15.3
- Python2.7.16(Mac 標準)
- JDK(openjdk version "1.8.0_242")
参考
- Classmethodさん https://dev.classmethod.jp/articles/aws-glue-local/
- aws 公式 https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-programming-etl-libraries.html
手順
- AWS Glue Python ライブラリをダウンロード
- Apache Mavenダウンロード
- Apache Sparkダウンロード
1.AWS Glue Python ライブラリをダウンロード
- 任意の場所にライブラリをダウンロードします。
- 今回はデスクトップのlocal_glueディレクトリにダウンロードします
- Glue バージョン 1.0 の場合は、glue-1.0をcheckoutします
- 今回は0.9を使用するため、checkoutは行いません
mkdir ~/Desktop/local_glue/ cd ~/Desktop/local_glue/ git clone https://github.com/awslabs/aws-glue-libs.gitApatch Mavenのダウンロード
- こちらも
~/Desktop/local_glue/
にダウンロードしておきます。- wget入れてないので、curlコマンド
curl -OL https://aws-glue-etl-artifacts.s3.amazonaws.com/glue-common/apache-maven-3.6.0-bin.tar.gz tar -xzvf apache-maven-3.6.0-bin.tar.gz3.Apache Sparkダウンロード
- こちらも
~/Desktop/local_glue/
にダウンロードしておきます。- glueバージョン1.0の方はこちら : https://aws-glue-etl-artifacts.s3.amazonaws.com/glue-1.0/spark-2.4.3-bin-hadoop2.8.tgz
curl -OL https://aws-glue-etl-artifacts.s3.amazonaws.com/glue-0.9/spark-2.2.1-bin-hadoop2.7.tgz tar -xzvf spark-2.2.1-bin-hadoop2.7.tgz4.PATHの設定
- ~/.bashrcへ以下を設定する
vi ~/.bashrc ↓ 以下を記載 ## set glue local export JAVA_HOME=`/usr/libexec/java_home -v 1.8` export PATH=$JAVA_HOME/bin:$PATH export M2_HOME=$HOME/Desktop/local_glue/apache-maven-3.6.0 export PATH=$M2_HOME/bin:$PATH export SPARK_HOME=$HOME/Desktop/local_glue/spark-2.2.1-bin-hadoop2.7 source ~/.bashrc環境構築編はここまでとさせていただきます。次回はGlue実行を記載していきます。
ハマりところ
- Anacondaをダウンロードしていたりすると、Python3系をデフォルトで使用する設定になっているかと思います
- Glueバージョン0.9ではPython2系が動きます
- そのためGlueバージョン0.9をPython3系で動かそうとすると・・・
no module found error
で怒られ続けました。。。(Python2を使うようにすると解決)
- 投稿日:2020-03-24T00:06:48+09:00
Mac Laravelでライブラリ「laravel-dompdf」をインストールする
目的
- Laravelのライブラリインストールが初めてだったので実施方法をまとめる
- ライブラリ「laravel-dompdf」のインストール方法をまとめる
実施環境
- ハードウェア環境
項目 情報 OS macOS Catalina(10.15.3) ハードウェア MacBook Air (11-inch ,2012) プロセッサ 1.7 GHz デュアルコアIntel Core i5 メモリ 8 GB 1600 MHz DDR3 グラフィックス Intel HD Graphics 4000 1536 MB
- ソフトウェア環境
項目 情報 PHP バージョン 7.4.3 Laravel バージョン 7.0.8
- ライブラリ環境
項目 情報 備考 laravel-dompdf v0.8.6 アプリ名ディレクトリに移動後コマンド`composer show -i 実施方法概要
- インストール
- 設定
- 確認
実施方法詳細
- ローカル開発環境を前提に説明を記載する。
インストール
下記コマンドを実行してライブラリ「laravel-dompdf」をインストールする。
$ composer require barryvdh/laravel-dompdf設定
下記コマンドを実行して設定を記載するファイルを開く。
$ vi アプリ名ディレクトリ/app.php先のコマンドを実行後、viのコマンドモードにて下記のコマンドを入力して設定を追記する行を検索する。
/'providers' => [検索にヒットした部分が下記の様な記載になっていることを確認する。
app.php'providers' => [ /* * Laravel Framework Service Providers... */ Illuminate\Auth\AuthServiceProvider::class, Illuminate\Broadcasting\BroadcastServiceProvider::class, Illuminate\Bus\BusServiceProvider::class, Illuminate\Cache\CacheServiceProvider::class, Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, Illuminate\Cookie\CookieServiceProvider::class, Illuminate\Database\DatabaseServiceProvider::class, Illuminate\Encryption\EncryptionServiceProvider::class, Illuminate\Filesystem\FilesystemServiceProvider::class, Illuminate\Foundation\Providers\FoundationServiceProvider::class, Illuminate\Hashing\HashServiceProvider::class, Illuminate\Mail\MailServiceProvider::class, Illuminate\Notifications\NotificationServiceProvider::class, Illuminate\Pagination\PaginationServiceProvider::class, Illuminate\Pipeline\PipelineServiceProvider::class, Illuminate\Queue\QueueServiceProvider::class, Illuminate\Redis\RedisServiceProvider::class, Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, Illuminate\Session\SessionServiceProvider::class, Illuminate\Translation\TranslationServiceProvider::class, Illuminate\Validation\ValidationServiceProvider::class, Illuminate\View\ViewServiceProvider::class, /* * Package Service Providers... */ /* * Application Service Providers... */ App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, ],先に「app.php」ファイルを検索したファイルの
App\Providers\RouteServiceProvider::class,
の後に下記の内容を追記する。Barryvdh\DomPDF\ServiceProvider::class,先の内容を追記後、下記の様に「app.php」ファイルが記載されていることを確認する。
app.php'providers' => [ /* * Laravel Framework Service Providers... */ Illuminate\Auth\AuthServiceProvider::class, Illuminate\Broadcasting\BroadcastServiceProvider::class, Illuminate\Bus\BusServiceProvider::class, Illuminate\Cache\CacheServiceProvider::class, Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, Illuminate\Cookie\CookieServiceProvider::class, Illuminate\Database\DatabaseServiceProvider::class, Illuminate\Encryption\EncryptionServiceProvider::class, Illuminate\Filesystem\FilesystemServiceProvider::class, Illuminate\Foundation\Providers\FoundationServiceProvider::class, Illuminate\Hashing\HashServiceProvider::class, Illuminate\Mail\MailServiceProvider::class, Illuminate\Notifications\NotificationServiceProvider::class, Illuminate\Pagination\PaginationServiceProvider::class, Illuminate\Pipeline\PipelineServiceProvider::class, Illuminate\Queue\QueueServiceProvider::class, Illuminate\Redis\RedisServiceProvider::class, Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, Illuminate\Session\SessionServiceProvider::class, Illuminate\Translation\TranslationServiceProvider::class, Illuminate\Validation\ValidationServiceProvider::class, Illuminate\View\ViewServiceProvider::class, /* * Package Service Providers... */ /* * Application Service Providers... */ App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, Barryvdh\DomPDF\ServiceProvider::class, ],先のコマンドを実行後、viのコマンドモードにて下記のコマンドを入力して設定を追記する行を検索する。
/'aliases' => [検索にヒットした部分が下記の様な記載になっていることを確認する。
app.php'aliases' => [ 'App' => Illuminate\Support\Facades\App::class, 'Arr' => Illuminate\Support\Arr::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, 'Auth' => Illuminate\Support\Facades\Auth::class, 'Blade' => Illuminate\Support\Facades\Blade::class, 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, 'Bus' => Illuminate\Support\Facades\Bus::class, 'Cache' => Illuminate\Support\Facades\Cache::class, 'Config' => Illuminate\Support\Facades\Config::class, 'Cookie' => Illuminate\Support\Facades\Cookie::class, 'Crypt' => Illuminate\Support\Facades\Crypt::class, 'DB' => Illuminate\Support\Facades\DB::class, 'Eloquent' => Illuminate\Database\Eloquent\Model::class, 'Event' => Illuminate\Support\Facades\Event::class, 'File' => Illuminate\Support\Facades\File::class, 'Gate' => Illuminate\Support\Facades\Gate::class, 'Hash' => Illuminate\Support\Facades\Hash::class, 'Http' => Illuminate\Support\Facades\Http::class, 'Lang' => Illuminate\Support\Facades\Lang::class, 'Log' => Illuminate\Support\Facades\Log::class, 'Mail' => Illuminate\Support\Facades\Mail::class, 'Notification' => Illuminate\Support\Facades\Notification::class, 'Password' => Illuminate\Support\Facades\Password::class, 'Queue' => Illuminate\Support\Facades\Queue::class, 'Redirect' => Illuminate\Support\Facades\Redirect::class, 'Redis' => Illuminate\Support\Facades\Redis::class, 'Request' => Illuminate\Support\Facades\Request::class, 'Response' => Illuminate\Support\Facades\Response::class, 'Route' => Illuminate\Support\Facades\Route::class, 'Schema' => Illuminate\Support\Facades\Schema::class, 'Session' => Illuminate\Support\Facades\Session::class, 'Storage' => Illuminate\Support\Facades\Storage::class, 'Str' => Illuminate\Support\Str::class, 'URL' => Illuminate\Support\Facades\URL::class, 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, ],先に「app.php」ファイルを検索したファイルの
'View' => Illuminate\Support\Facades\View::class,
の後に下記の内容を追記する。'PDF' => Barryvdh\DomPDF\Facade::class,先の内容を追記後、下記の様に「app.php」ファイルが記載されていることを確認する。
app.php'aliases' => [ 'App' => Illuminate\Support\Facades\App::class, 'Arr' => Illuminate\Support\Arr::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, 'Auth' => Illuminate\Support\Facades\Auth::class, 'Blade' => Illuminate\Support\Facades\Blade::class, 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, 'Bus' => Illuminate\Support\Facades\Bus::class, 'Cache' => Illuminate\Support\Facades\Cache::class, 'Config' => Illuminate\Support\Facades\Config::class, 'Cookie' => Illuminate\Support\Facades\Cookie::class, 'Crypt' => Illuminate\Support\Facades\Crypt::class, 'DB' => Illuminate\Support\Facades\DB::class, 'Eloquent' => Illuminate\Database\Eloquent\Model::class, 'Event' => Illuminate\Support\Facades\Event::class, 'File' => Illuminate\Support\Facades\File::class, 'Gate' => Illuminate\Support\Facades\Gate::class, 'Hash' => Illuminate\Support\Facades\Hash::class, 'Http' => Illuminate\Support\Facades\Http::class, 'Lang' => Illuminate\Support\Facades\Lang::class, 'Log' => Illuminate\Support\Facades\Log::class, 'Mail' => Illuminate\Support\Facades\Mail::class, 'Notification' => Illuminate\Support\Facades\Notification::class, 'Password' => Illuminate\Support\Facades\Password::class, 'Queue' => Illuminate\Support\Facades\Queue::class, 'Redirect' => Illuminate\Support\Facades\Redirect::class, 'Redis' => Illuminate\Support\Facades\Redis::class, 'Request' => Illuminate\Support\Facades\Request::class, 'Response' => Illuminate\Support\Facades\Response::class, 'Route' => Illuminate\Support\Facades\Route::class, 'Schema' => Illuminate\Support\Facades\Schema::class, 'Session' => Illuminate\Support\Facades\Session::class, 'Storage' => Illuminate\Support\Facades\Storage::class, 'Str' => Illuminate\Support\Str::class, 'URL' => Illuminate\Support\Facades\URL::class, 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, 'PDF' => Barryvdh\DomPDF\Facade::class, ],確認
下記コマンドをアプリ名ルートディレクトリで実行してライブラリ導入確認のためのコントローラを作成する。
$ php artisan make:controller PdfController先のコマンドで作成されたコントローラを下記の様に修正する。
アプリ名ルートディレクトリ/app/Http/Controllers/pdf.Controller.php<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use PDF; class PdfController extends Controller { public function test(){ $pdf = PDF::loadHTML('<h1>test</h1>'); return $pdf->stream(); } }ルーティングファイルに下記の記載を追記する。
アプリ名ルートディレクトリ/routes/web.phpRoute::get('/pdf', 'PdfController@test');下記のリンクにアクセスする。
下記の様にPDF形式で「test」の文字が表示されていることを確認する。
上記の様に表示されればLaravelのライブラリ「laravel-dompdf」のインストールは完了である。
参考文献