VSCodeからPhpStormに乗り換えて良かったこと・悪かったこと – エイリーの備忘録 この記事の デフォルトだと日本語に対応していない という一文を見てPhpStormって日本語化できるの?と思って調...
The post PleiadesでPhpStormを日本語化してみた first appeared on HappyQuality.
]]>VSCodeからPhpStormに乗り換えて良かったこと・悪かったこと – エイリーの備忘録
この記事の
デフォルトだと日本語に対応していない
という一文を見てPhpStormって日本語化できるの?と思って調べたところ、Pleiades All in Oneというパッケージを利用すると日本語化できることがわかった。
JetBrains 製品の日本語化マニュアル – IntelliJ IDEA
オープンソースとして無料公開している Pleiades というツールで、PhpStorm や Android Studio のような IntelliJ IDEA ベースのデスクトップ製品を日本語化することができます。 これは AOP (横断的関心事を解決するテクノロジー) で実行時に Java クラスローダーをフックし、クラスをバイトコードレベルで動的に書き換えて対象の Java アプリケーションを日本語化するもので、10 年以上利用され、今も随時更新されています。
だそうだ。
早速やってみたが簡単に実現できた。
Pleiades – Eclipse、IntelliJ などの日本語化プラグインから対応OSのインストーラをダウンロード(私はMac)して、インストーラーを実行する。私の環境では開発元が未確認のため起動することができなかったので、Macのシステム環境設定...
> セキュリティとプライバシー
> 一般
のタブに表示されている、開発元が未確認だがそのまま開く(うろ覚え)
的な項目を選択して開いた。
アプリケーションの場所は、私の場合~/Applications/PhpStorm.app
だったので、appファイルを直接選択。
完了メッセージが表示された後PhpStorm
を立ち上げたところ無事日本語になっていた。
ただ、今まで英語で使ってきて慣れてきているし、PhpStormの使い方を調べるときも英語の記事がほとんどなので、以下の手順で英語に戻した。
PhpStormを起動して、ようこそ画面の右下のConfigure▼(構成)
> Edit Custom VM Options...(カスタム VM オプションの編集...)
で、以下の行頭に#
でコメントアウトして起動し直すと英語に戻る。
※PhpStorm2019.2
の部分はバージョンによって異なる。
-javaagent:/Users/astha2/Library/Preferences/PhpStorm2019.2/jp.sourceforge.mergedoc.pleiades/pleiades.jar ↓ # -javaagent:/Users/astha2/Library/Preferences/PhpStorm2019.2/jp.sourceforge.mergedoc.pleiades/pleiades.jar
The post PleiadesでPhpStormを日本語化してみた first appeared on HappyQuality.
]]>ヘルプメニューから「トラブルシューティング情報を」開く。 「プロファイルフォルダー」と書かれた行の右側にある「Finderで開く」ボタンを押す。 表示されたFinderのchromeディレクトリ下にあるuserChrom...
The post Firefoxですべてのタブを閉じるタブメニューを非表示にする first appeared on HappyQuality.
]]>ヘルプメニューから「トラブルシューティング情報を」開く。
「プロファイルフォルダー」と書かれた行の右側にある「Finderで開く」ボタンを押す。
表示されたFinderのchrome
ディレクトリ下にあるuserChrome.css
を開き、下記の記述を追加。
menuitem[label="他のタブをすべて閉じる"] { display: none !important; }
出典 : Firefox 3.5 で「他のタブをすべて閉じる」を非表示にする – メモの日々(2009-09-30)
The post Firefoxですべてのタブを閉じるタブメニューを非表示にする first appeared on HappyQuality.
]]>JWT(JSON Web Token)を使う方法もあるけど、JWTに対応するためのJWT Authentication for WP REST APIのDescriptionが.htaccessを使用したApacheの設...
The post BoostnoteからWordPressに記事を投稿する。 first appeared on HappyQuality.
]]>JWT
(JSON Web Token)を使う方法もあるけど、JWT
に対応するためのJWT Authentication for WP REST API
のDescriptionが.htaccess
を使用したApacheの設定方法しか書かれていなかったので、Nginxを利用している私はユーザ認証で利用することにした。
WordPress管理画面メニュー > プラグイン > 新規追加 からユーザにアプリケーションごとのパスワードを発行することができるApplication Passwordsというプラグインを検索してインストールする。
Application Passwords
で発行されたアプリケーションパスワードは、REST APIやXML-RPCなどのAPIリクエストの認証のみに使用でき、通常のサイトログインはできないため、漏洩したときの被害を限定することができる。
また、パスワードが不要になればアプリケーションごとに即座に削除できる。
WordPress管理画面メニュー > ユーザ > ユーザ一覧 > 編集 を開き、最下部に追加されているApplication Passwords というセクションの入力欄に、アプリケーションの名前(Boostnoteなど)を入れてAdd New
する。
※導入しているプラグインの構成によっては
Application Passwords
のセクションが最下部ではないこともあります。
すると4桁ごとに区切られたパスワードが表示されるのでこれをコピーしておく。
このパスワードは1度しか表示できないため、もしコピーに失敗するとRevoke
して再度追加するはめになる。
BoostnoteのBlog投稿がうまくいくまで表示し続けることをおすすめする。
Boostnoteの設定メニュー(MacならCmd + ,
)を開く。
ディレクティブ | 設定値 |
---|---|
ブログの種類 | wordpress |
ブログのアドレス | https://[自分のブログのドメイン]/wp-json |
認証方法 | ユーザ |
パスワード | 先ほど発行した4桁ごとに区切られたパスワードをコピペ |
を設定して保存する。
Boostnoteを3ペインにしているのであれば、真ん中の記事タイトルが表示されている箇所を右クリックして、ブログを公開を選択するとWordpressに記事を公開してくれる。
成功すると以下のようなポップアップが表示されるので、Open Blogで投稿されたブログを開くことができるし、確認ボタンで閉じることができる。
ちなみにMarkdownを解釈するプラグインが入っていなくても、きちんとHTMLに置き換えられたコードが転送されているように思えた。
The post BoostnoteからWordPressに記事を投稿する。 first appeared on HappyQuality.
]]>macOSアップデート前のVagrantの環境は以下の通り。 macOS 10.13.x → 10.14 VirtualBox 5.1.10 Vagrant 1.8.7 だいぶ古い組み合わせで使っていたので、Mojave...
The post macOS10.14 MojaveにアップデートしたらVagrantが動作しなくなった問題の対処 first appeared on HappyQuality.
]]>macOSアップデート前のVagrantの環境は以下の通り。
macOS 10.13.x → 10.14
VirtualBox 5.1.10
Vagrant 1.8.7
だいぶ古い組み合わせで使っていたので、MojaveへのアップデートでVirtualBoxが起動できなくなってしまいました。
そのためVagrantが動作するように各ソフトウェアをアップデートしていきます。
Downloads ? Oracle VM VirtualBox
こちらから最新のVirtualBoxをダウンロードしました。現時点で5.2.20です。
.pkgファイルからインストールしてください。
すると今度は、Vagrant 1.8.7はVirtualBoxの5.1までしか動作しないというエラーがでました。
The provider 'virtualbox' that was requested to back the machine 'default' is reporting that it isn't usable on this system. The reason is shown below: Vagrant has detected that you have a version of VirtualBox installed that is not supported by this version of Vagrant. Please install one of the supported versions listed below to use Vagrant: 4.0, 4.1, 4.2, 4.3, 5.0, 5.1 A Vagrant update may also be available that adds support for the version you specified. Please check www.vagrantup.com/downloads.html to download the latest version.
Vagrantをアップデートします。
Download – Vagrant by HashiCorp
こちらでから最新のVagrantをダウンロードをしました。現時点で2.2.0です。
コマンドラインからアップデートできるかと思ったのですが、私が調べた限りだとインストーラからアップデートするのが一般的のようです。
同じように.pkgからインストールするとプラグインが正しく初期化出来ないというエラーが出ました。おそらくアップデートしたvagrantのバージョンと合わないのでしょう。
Vagrant failed to initialize at a very early stage: The plugins failed to initialize correctly. This may be due to manual modifications made within the Vagrant home directory. Vagrant can attempt to automatically correct this issue by running: vagrant plugin repair If Vagrant was recently updated, this error may be due to incompatible versions of dependencies. To fix this problem please remove and re-install all plugins. Vagrant can attempt to do this automatically by running: vagrant plugin expunge --reinstall Or you may want to try updating the installed plugins to their latest versions: vagrant plugin update Error message given during initialization: Unable to resolve dependency: user requested 'sahara (> 0)'
先ほどのエラーメッセージには色々と対処方法が示されていましたが、とりあえずプラグインのアップデートを試してみます。
$ vagrant plugin update Updating installed plugins... Fetching: open4-1.3.4.gem (100%) Fetching: Platform-0.4.1.gem (100%) Fetching: popen4-0.1.2.gem (100%) Fetching: sahara-0.0.17.gem (100%) Fetching: vagrant-hostsupdater-1.1.1.160.gem (100%) Fetching: vagrant-share-1.1.9.gem (100%) Fetching: vagrant-cachier-1.2.1.gem (100%) Updated 'sahara' to version '0.0.17'! Updated 'vagrant-cachier' to version '1.2.1'! Updated 'vagrant-hostsupdater' to version '1.1.1.160'! Updated 'vagrant-share' to version '1.1.9'!
うまくいきました。
これでブラウザからhost設定したサイトを開いてみたところ正常に表示することが出来ました。
更新内容は以下の通り。
macOS 10.13.x → 10.14
VirtualBox 5.1.10 → 5.2.20
Vagrant 1.8.7 → 2.2.20
Vagrant plugins
sahara (0.0.17, global)
vagrant-cachier (1.2.1, global)
vagrant-hostsupdater (1.1.1.160, global)
vagrant-share (1.1.9, global)
※Vagrant pluginsはupdate前のplugin listがエラーで実行できなかったので元のバージョンはわかりませんでした。
なのでmacOSをアップデートしてVagrantが動作しなくなったら
という手順で対応すると動くんじゃないかな。と思います。
The post macOS10.14 MojaveにアップデートしたらVagrantが動作しなくなった問題の対処 first appeared on HappyQuality.
]]>久しぶりにCakePHP2系の案件なので、アプリケーションの骨組みとなるスケルトン構築手順についてメモします。 ComposerでCakePHP2系のインストール composer.pharにPATHが通っている前提で進...
The post [CakePHP2]アプリケーションのスケルトン構築手順メモ first appeared on HappyQuality.
]]>久しぶりにCakePHP2系の案件なので、アプリケーションの骨組みとなるスケルトン構築手順についてメモします。
composer.phar
にPATHが通っている前提で進めます。*1
基本的には「応用インストール – 2.x」このページの通り進めますが、異なるやり方をする箇所は都度記述します。
CakePHPをcomposerインストールするためのcomposer.jsonを作成します。
コンソールから
composer require cakephp/cakephp "<3.0.0"
上記のようにインストールすることも出来ますが、Cookbookにならってvendor-dir
をVendor
に変更*2 するため、マニュアル通りすすめます。
ちなみにインストールするパスは/var/www/
とし、cakephpのバージョンは"<3.0.0"
で2系の最新となるように設定します。
/var/www/composer.json
{ "name": "example-app", "require": { "cakephp/cakephp": "<3.0.0" }, "config": { "vendor-dir": "Vendor/" } }
さらに、PHPUnitやCakePHPのプラグインDebugkitなどのライブラリもcomposer.json
に追加します。
PHPUnit ? The PHP Testing Framework
cakephp/debug_kit at 2.2
cakephp/cakephp-codesniffer: CakePHP Code Sniffer
CakeDC/users at 2.x
slywalker/cakephp-plugin-boost_cake: Bootstrap Plugin for CakePHP
{ "name": "astha/example-app", "description": "The CakePHP2 Skeleton for Astha", "authors": [ { "name": "Astha co.ltd.", } ], "require": { "php": ">=5.3.0", "cakephp/cakephp": ">=2.7.9,<3.0.0", "cakedc/users": "2.*" }, "require-dev": { "phpunit/phpunit": "3.7.*", "cakephp/debug_kit" : ">=2.2.4,<3.0.0", "slywalker/boost_cake": "*", "cakephp/cakephp-codesniffer": ">=1.0.0" }, "config": { "vendor-dir": "Vendor/" }, "extra": { "installer-paths": { "./Common/plugins/{$name}/": [ "cakephp/debug_kit", "slywalker/boost_cake", "cakedc/users" ] } } }
注目すべきはconfig
ではvendorのディレクトリを指定していることに、extra
でCakePHPのプラグインのインストールパスを指定していることです。
※/Common/plugins/{$name}/
というパスは、複数のアプリケーションでプラグインやモデルを使い回せるように弊社で行っている独特な指定なので、通常の環境には当てはまらないことに注意してください。
コンソールからcomposer install
を実行。
cd /var/www composer install
今までの作業で/var/www/Vendor/bin
にcake
コマンドが置かれているので以下のコマンドでapp
プロジェクトを作成する。
Vendor/bin/cake bake project /var/www/app
/var/www
にapp
ディレクトリが作成され、必要なファイルが一式揃う。
bakeで作成されたプロジェクトから参照されるCAKE_CORE_INCLUDE_PATH
が正しくないので、次の箇所を修正する。
app/webroot/index.php
DS . APP_DIR
が不要。
define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . APP_DIR . DS . 'Vendor' . DS . 'cakephp' . DS . 'cakephp' . DS . 'lib'); ↓ define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'Vendor' . DS . 'cakephp' . DS . 'cakephp' . DS . 'lib');
app/Config
内のファイルを設定していきます。
このファイルで必ず触らなければならないのはSecurity.salt
とSecurity.cipherSeed
です。直前のコメントに従ってそれぞれ任意の文字列を指定します。
弊社ではModel
、Helper
、Component
、Plugin
を複数のアプリケーションで使い回せるように、ルートディレクトリにCommonディレクトリを作成して*3 格納しています。
そのためApp::build
を以下のように設定します。
App::build(array( 'Model' => array(ROOT . DS . 'Common' . DS . 'Model' . DS), 'Model/Datasource' => array(ROOT . DS . 'Common' . DS . 'Model' . DS . 'Datasource' . DS), 'Model/Behavior' => array(ROOT . DS . 'Common' . DS . 'Model' . DS . 'Behavior' . DS), 'View/Helper' => array( ROOT . DS . 'Common' . DS . 'Helper' . DS, APP . DS . 'View' . DS . 'Helper' . DS, ), 'Controller/Component' => array(ROOT . DS . 'Common' . DS . 'Component' . DS), 'Plugin' => array(ROOT . DS . 'Common' . DS . 'plugins' . DS, APP . DS . 'Plugin' . DS), ));
プラグインのロードの記述。
CakePlugin::load('DebugKit'); CakePlugin::load('BoostCake'); CakePlugin::load('Users', ['routes' => true]);
// Users設定 Configure::write('Users.emailConfig', 'default'); Configure::write('App.defaultEmail','[email protected]'); Configure::write('Users.roles', array( 'admin' => '管理者', 'user' => '一般ユーザ' )); // ユーザ自身の登録を許さない Configure::write('Users.allowRegistration', false);
データベースの設定
メール送信設定
composer
を/[設置場所]/composer.phar
に読み替えてくださいvendor
となるThe post [CakePHP2]アプリケーションのスケルトン構築手順メモ first appeared on HappyQuality.
]]>