20200324のMacに関する記事は5件です。

MacのSafariでQiitaにアクセスできない場合

Qiitaにアクセスできない病

MacのSafariでQiitaにアクセスできなくなることがあります(割と頻繁に)
開発関連のワードで検索すると上位がQiitaの記事ばかりになるのでイライラしますね。
最初はQiitaのサーバーが落ちてるのかと思ってましたが、Windowsでは普通にアクセスできるし、
なんならMacのChromeで普通にアクセスできたので、Safariの問題とわかりました。

解決方法

Safariのメニューから「開発」→「キャッシュを空にする」
これだけで治りました。
(根本的な原因はわかりません。誰か教えて下さい。)

この記事に意味はあるのか?

ここに書いてもこの記事に辿り着けないので意味ない可能性がありますねw

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

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]で展開される。

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

Mac PhpStorm をクリーン削除して初期状態に戻す

問題

日本語化したPhpStormを英語に戻せない問題が発生しました。
設定ファイルがどこかに残ってしまったのかなと思い綺麗にアンインストールしました。

手順

$ brew cask uninstall phpstorm

Homebrew で管理してない場合は普通にファイル削除

$ rm -rf /Applications/PhpStorm.app

PhpStormの設定ファイルを削除
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

参考リンク

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

MacでAWS Glueを実行したい

概要

  • AWS の GlueをMac上で実行するための環境構築を行います

環境情報

  • Mac Catalina 10.15.3
  • Python2.7.16(Mac 標準)
  • JDK(openjdk version "1.8.0_242")

参考

手順

  1. AWS Glue Python ライブラリをダウンロード
  2. Apache Mavenダウンロード
  3. 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.git

Apatch 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.gz

3.Apache Sparkダウンロード

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.tgz

4.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を使うようにすると解決)
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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

実施方法概要

  1. インストール
  2. 設定
  3. 確認

実施方法詳細

  • ローカル開発環境を前提に説明を記載する。
  1. インストール

    1. 下記コマンドを実行してライブラリ「laravel-dompdf」をインストールする。

      $ composer require barryvdh/laravel-dompdf
      
  2. 設定

    1. 下記コマンドを実行して設定を記載するファイルを開く。

      $ vi アプリ名ディレクトリ/app.php
      
    2. 先のコマンドを実行後、viのコマンドモードにて下記のコマンドを入力して設定を追記する行を検索する。

      /'providers' => [
      
    3. 検索にヒットした部分が下記の様な記載になっていることを確認する。

      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,
      
      ],
      
    4. 先に「app.php」ファイルを検索したファイルのApp\Providers\RouteServiceProvider::class,の後に下記の内容を追記する。

      Barryvdh\DomPDF\ServiceProvider::class,
      
    5. 先の内容を追記後、下記の様に「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,
      
      ],
      
    6. 先のコマンドを実行後、viのコマンドモードにて下記のコマンドを入力して設定を追記する行を検索する。

      /'aliases' => [
      
    7. 検索にヒットした部分が下記の様な記載になっていることを確認する。

      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,
      
      ],
      
    8. 先に「app.php」ファイルを検索したファイルの'View' => Illuminate\Support\Facades\View::class,の後に下記の内容を追記する。

      'PDF' => Barryvdh\DomPDF\Facade::class,
      
    9. 先の内容を追記後、下記の様に「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,
      
      ],
      
  3. 確認

    1. 下記コマンドをアプリ名ルートディレクトリで実行してライブラリ導入確認のためのコントローラを作成する。

      $ php artisan make:controller PdfController
      
    2. 先のコマンドで作成されたコントローラを下記の様に修正する。

      アプリ名ルートディレクトリ/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();
          }
      }
      
    3. ルーティングファイルに下記の記載を追記する。

      アプリ名ルートディレクトリ/routes/web.php
      Route::get('/pdf', 'PdfController@test');
      
    4. 下記のリンクにアクセスする。

    5. 下記の様にPDF形式で「test」の文字が表示されていることを確認する。

      スクリーンショット 2020-03-23 17.23.44.png

    6. 上記の様に表示されればLaravelのライブラリ「laravel-dompdf」のインストールは完了である。

参考文献

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