投稿者: admin Page 27 of 47

PHPStorm(WebStorm)でのSCSS/Compassの自動コンパイル設定(Mac OS EI Capitan)

メニューの[Prefrerence]からパネルを開く。

コンパスの有効化

978bbc83-13e4-46f0-9e92-b4b34f921207

File Watchersの設定(変更があった場合に自動コンパイルするファイルタイプ関連の設定)

(scss)

52151a2d-060b-460a-9238-b301293c7bd1

(sass)

screen-shot-2016-12-13-at-11-40-19-am

Program : /usr/local/bin/compass
Arguments : compile
Working directory : $FileDir$
Environment variables : (空)
Output paths to refresh : $FileParentDir$/css/$FileNameWithoutExtension$.css

※追記 : sassファイルが多くなって更新時に編集中のファイルのみをコンパイルしたい場合は、Arguments : compile $FileName$ と指定すると良いです。

 

PHPStormでつかってますが、コードヒントが出てくれて便利です。@includeで一覧したり、

screen-shot-2016-12-13-at-11-21-50-am

先頭数文字タイプすると候補が絞込まれて、その引数も見れたり

screen-shot-2016-12-13-at-11-24-54-am

さらに @includeで書いたmixinの部分を Cmd+クリックで compassのソース(mixin)が見れたり。

screen-shot-2016-12-13-at-11-26-51-am

なかなか便利、wordpressなどの関数も数文字タイプで候補に上がったりで便利すぎて
手放せない開発環境になっています。
(Atom,Sublime,Aptanaとかもどうなのか時間があれば調べてみたいがなかなか><)

CakePHPでHasManyのテーブルをカンマ区切りで取得(MySQL GROUP_CONCAT関数)

Modelのバーチャルフィールドに設定しちゃっておくとラク。

public $virtualFields = array(
 'tags' => '(select group_concat(Tag.name) from tags as Tag where Post.id = Tag.post_id)'
);

負荷とか考えて普段ははずしておきたい場合は動的に $Model->virtualFieldsは動的に変更できるのでその都度設定すれば問題なさそうです。

ただ、FIND_IN_SETでの検索が $Model->find() の ‘conditions’パラーメータでは実現できなかった。なにか方法あるのかなぁ。

今回は単純な Yearな数字だったたので 無理やり LIke %%で処理 (うーん。

GoogleChromeの検索結果をキーボードで操作

1 . Googleアカウントの設定のページヘ移動

https://www.google.com/preferences

2 . インスタント検索の結果を常に表示する を選択

Screen Shot 2016-09-04 at 4.50.55 PM

 

 

Macで曲などのスピードを変えて再生する方法(複数の曲を結合して)

Macで英語の教材などトラックが多いCDをスピードを変えて再生したく色々調べたでメモ。

まずは取り込みですが、iTunesでPCに曲を取り込む際に複数トラックを1トラックとして取り込むことができます。

Screen Shot 2016-07-02 at 8.41.28 AM

取り込みができれば、次はiTunesで曲を右クリックして、Finderに表示します。Screen Shot 2016-07-02 at 8.45.44 AM

曲の元ファイルが表示されるので、右クリックで QuicktimePlayerで開きます。

Screen Shot 2016-07-02 at 8.47.47 AM

ウィンドウが表示されるので普通に再生して、早送り、巻き戻しボタンをOptキーを押しながらクリックします。1.1〜2倍速まで選べます。

 

 

 

Screen Shot 2016-07-02 at 8.43.33 AM

さくらインターネットでCakePHPで好きなバージョンのPHPを動かしたいときなど

通常の場合だと。
/www/ドメイン名/.htaccess を作成し以下記述

Action myphp-script /php.cgi
AddHandler myphp-script .php

として  /www/ドメイン名/php.cgi を作成しパーミッションを755とかにして以下を記述

#!/bin/sh
exec /usr/local/bin/php-cgi
#exec /usr/local/php/5.4/bin/php-cgi
#exec /usr/local/php/5.3/bin/php-cgi
#exec /usr/local/php/5.2/bin/php-cgi
#exec /usr/local/php/4.4/bin/php-cgi

とすればうまくいくけど mod_rewrite の絡みでうまくいかなかったので、.htaccessへの記述とphp.cgiを/www/ドメイン名/app/webroot/以下に移動するとうまくいきました。

/www/ドメイン名/app/webroot/.htaccess

Action myphp-script /php.cgi
AddHandler myphp-script .php

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

/www/ドメイン名/app/webroot/php.cgi

#!/bin/sh
exec /usr/local/bin/php-cgi
#exec /usr/local/php/5.4/bin/php-cgi
#exec /usr/local/php/5.3/bin/php-cgi
#exec /usr/local/php/5.2/bin/php-cgi
#exec /usr/local/php/4.4/bin/php-cgi

(2行目のデフォルトのバージョンをコメントアウトして、使いたいバージョンの行のコメントアウトを外す感じで。)

 

さくらレンタルサーバーで独自SSLでディレクトリが指定できない場合のhtaccess設定

さくらレンタルサーバー、WordPress、MWWPFormプラグイン、独自SSL、WordPress HTTPSプラグインで、設定がうまくいかなかった。

一番の問題は。

http://hogehoge.com/ のドキュメントルートは
/home/ユーザー名/www/hogehoge.com/ となっているが、
https://hogehoge.com/ のドキュメントルードが
/home/ユーザー名/www/ となってしまう点。

これは、SSL証明書がIPアドレスベースでなく別のサーバーからの移行してきたもので、さくらコンパネよりディレクトリを指定できなかったため。

Screen Shot 2016-05-31 at 7.58.17 PM(独自SSLの設定で、ご指定ドメインはご利用いただけません。と表示される。)

ので、/home/ユーザ名/www/.htaccessにmod_rewriteで、
ご希望のドメインかつHTTPSがonならそこを参照してくださいとしてあげる。

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteBase /
 RewriteCond %{HTTP_HOST} ^(www\.)?hogehoge\.com$
 RewriteCond %{HTTPS} on
 RewriteRule (.*) hogehoge\.com/$1 [L]
</IfModule>

で解決できました。

 

 

 

 

 

 

CakePHPでセッションCookieがセキュアにならなかった。(CakeSessionコンポネント)

CakePHP + AWSのロードバランサーでCookieがセキュアにならなかった件。

CookieComponentの設定では、secure = true;となっています。
ソースコードを追っかけたところ、CakeSessionComponentで、

if (!isset($sessionConfig['ini']['session.cookie_secure']) && env('HTTPS')) {
 $sessionConfig['ini']['session.cookie_secure'] = 1;
 }

となっている所があり設定にかかわらずenv(‘HTTPS’)が空の場合にはセッションCookieがセキュアにならない設定に。

今回はサイト全てhttpsなのでELB以下のAhache(htaccess)でsetEnvしてセットして対応

setEnv HTTPS 'on'

(本当は、X-Forwardedヘッダー参照して ‘on’ or ”(空)にする対応が必要ですが取り急ぎまで)

 

 

Macでネットワーク環境のTimeMachineバックアップができない件(検証に失敗作り直しetcのメッセージ)

# chflags -R nouchg /Volumes/{Drive}/{Machine}.sparsebundle
(DiskUtilityで一旦マウント外す。)
# hdiutil attach -nomount -readwrite /Volumes/{Drive}/{Machine}.sparsebundle
/dev/disk3 GUID_partition_scheme 
/dev/disk3s1 EFI 
/dev/disk3s2 Apple_HFS 
# fsck_hfs -rf /dev/disk3s2
(数時間)
# hdiutil detach /dev/disk3s2

その後
/Volumes/{Drive}/{Machine}.sparsebundle/com.apple.TimeMachine.MachineID.plist を編集
・<key>VerificationState</key><integer>2</integer> >>2を1に変更
・<key>RecoveryBackupDeclinedData</key>と<data></date>を削除。

Monaca Localkitでビルドが進まなかったけど再起動したらあっさり始まった

Monaca Localkitでビルドが進まなかったけど再起動したらあっさり始まった。
とりあえず再起動ってのはだいたい試すべきだなと考

CakePHPのFileBinderプラグインで日本語ファイル名のアップロードに対応する方法。

サービスで使っているCakePHPのFileBinderプラグインで、日本語の画像ファイルのアップロードに対応してほしいとのリクエスト(まぁそうだよね。。)

//ファイル名をfield名に強制変換
foreach($this->request->data['Detail'] as $key => $file){
   $extension = pathinfo($file['name'], PATHINFO_EXTENSION);
$this->request->data['Detail'][$key]['name'] = $key.'.'.$extension;
}

WordPressみたいにきちんとアップロードすることもできるけど大変なので、
上のように無理やりフィールド名に変換 (特に利用者が画像ファイル一覧を管理したりがないので強引に。)

 

Page 27 of 47

Powered by WordPress & Theme by Anders Norén