いまさらながらphpのif文を確認

ふと、基本に戻って確認した

if (isset($data['a']) && $data['a']) {
    //
}

って最初しか評価されないよな、と

var_dump(true && true);
// true                                         
var_dump(false && true);
// false
var_dump(true && false);                                                     
// false
var_dump(isset($data['a']) && $data['a']);
// false
$data['a']
// NOTICEエラー

phpのif文は、最初の方から評価して、用が住めば後ろは評価しません
だから、動作を早くするには、早く解決する順でif文を組むといいですね

UbuntuでLineを使ってみる

Ubuntu 14.04 でLineを使ってみました
wineというソフトを使えば、Windowsアプリが動かせたりします

準備として、パソコンでログインできるようにLineの設定をしておくことが必要です

まずは、リポジトリ登録

$ sudo add-apt-repository ppa:ubuntu-wine/ppa
$ sudo apt-get upgrade

インストール

$ sudo apt-get install wine1.7 winetricks

truetype core fonts for the web eula
のライセンスに同意しないと使えないので、同意します

wineのバージョン確認

$ wine –version
$ wine-1.7.34

このバージョンだと大丈夫でした

Lineを入れてみます

http://line.me/ja/download
からWindows用をダウンロード

line-download

ダウンロードしたインストーラーEXEを実行

lineinstall1

指示に従っていきます

lineinstall2

lineinstall3

lineinstall4

インストール場所を指定

lineinstall5

lineinstall6

パソコンでログインするときのメールアドレス、パスワードを打ちこみ

lineinstall7

スマホ側で認証

lineinstall8

いけた

lineinstall-success

スタンプが押せなかったりするので、また調べます

(補足) wineのバージョンが 1.6.2 のとき

スマホアプリの認証後、フリーズしました

$ wine –version
wine-1.6.2

lineinstallcrash

一旦削除
$ sudo apt-get purge winetricks
$ sudo apt-get install wine1.7 winetricks

でLineインストールをやり直すといけました

2015/02/27 追記

スタンプが押せないみたいです..

Gimpでツールボックスが消えた

Ubuntu で Gimp 2.8.10 を使っていて、ツールボックスがなくなった..

gimp

で探すの、ちょっとはまったのでメモ

メニュー>ウィンドウ>ドックを隠す
にチェックが入っていると隠れます
Tabキーがショートカットに割り当たってるので、Tabを押せば隠したり出したりできます

gimp2

cakephpの「シンプルな認証と承認のアプリケーション 」チュートリアルをやってみた

シンプルな認証と承認のアプリケーション — CakePHP Cookbook 2.x ドキュメント
のチュートリアルをやってみました

環境などは
cakephp cookbook のチュートリアルをcomposerを使ってやってみた
でやったのでこの続きです

http://book.cakephp.org/2.0/ja/tutorials-and-examples/blog-auth-example/auth.html#id2
のsqlをmysqlに流して、usersテーブルを作成します

bakeでソースコードを用意
$ Console/cake bake all

Welcome to CakePHP v2.5.8 Console
---------------------------------------------------------------
App : cake-tutorial
Path: /vagrant/cake-tutorial/
---------------------------------------------------------------
Bake All
---------------------------------------------------------------
Possible Models based on your current database:
1. Post
2. User
Enter a number from the list above,
type in the name of another model, or 'q' to exit  
[q] > 2

PHPUnit is not installed. Do you want to bake unit test files anyway? (y/n) 
[y] > y

Bake All complete

これだけで、
http://localhost/users/
にアクセスすると、ユーザー一覧が表示され、追加も編集も削除もできます

$ vim Controller/AppController.php
でAuthとSessionのコンポーネントを用意します

Sessionは、画面にエラーメッセージを出すのに使っていて
Authはログイン認証で使っているようです

Authは認証 — CakePHP Cookbook 2.x ドキュメントに詳しく書いてあります

$this->Auth->allow(’index’)

ってなに?とか思ったら認証 — CakePHP Cookbook 2.x ドキュメントを見ましょう

AppControllerに

public function beforeFilter() {
    $this->Auth->allow('index', 'view');
}

を書くと、beforeFilterが画面アクセス時に最初にうごいて、Allow->allowで指定してあるアクションは認証を許す(ログイン不要)となります
といった感じでマニュアル見ながら進めると理解深まると思います