2012年に購入した技術書 9/5時点

 

はじめてのフレームワークとしてのFuelPHP

はじめてのフレームワークとしてのFuelPHP
はじめてのフレームワークとしてのFuelPHP【電子書籍
鈴木憲治
達人出版会
発行日: 2012-07-02
対応フォーマット: EPUB, PDF

* 上記の商品は達人出版 様で電子書籍版のみ購入出来ます。 2012/9/5時点

 

効率的なWebアプリケーションの作り方 ~ PHPによるモダン開発入門 ~

効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門

効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門



JavaScriptクックブック
JavaScriptクックブック

JavaScriptクックブック



体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践



JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技
JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技

JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技



リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

 

読み途中のものが多いため、

後で感想を書くと自分へのプレッシャーを与えておく、、

 

http://nanapi.jp/1642/

↑ここを見てアウトプットするんだ(`・ω・´)シャキーン

Sublime Text 2 初期設定メモ(`・ω・´)シャキーン

f:id:greenwakame:20120831143218p:plain

公式でダウンロード
http://www.sublimetext.com/2


設定ファイル編集

Preferences -> sttings Default // Userで変更したほうが良いのかも

# "trim_trailing_white_space_on_save" true // 保存時に行末のスペースを削除

# "highlight_line": true // カーソル行をハイライト

# "ignored_packages" [この中の記述を削除] // 使用しないパッケージを設定する箇所、今は全て使用するように設定。

# control + shift + @ //コンソールを表示

import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())

再起動後に

# command + shift + p //コマンドパレットを表示

# install

インストールしたパッケージ一覧

html5

jQuery

・ SublimeCodeIntel //入力候補を自動補完

・ SublimeTagMather //htmlのシンタックスハイライト

・ IndentGuides //インデントに沿ってガイドラインを表示

・ Local History //ファイル履歴


細かく設定し始めたら、設定ファイルをGithubにアップしよう。

* 文字コードUTF-8のみ対応なので、textwranglerから以降しきれない(´;ω;`)「shift_jis、、EUE」

FuelPHP 勉強会 東京 vol.1に参加しました(´・ω・`)b

 

 

FuelPHP 勉強会 東京 vol.1
日程: 2012年07月08日(日) 13時00分 ~ 2012年07月08日(日) 17時00分

会場 VOYAGE GROUP 8F パンゲア

f:id:greenwakame:20120708214045j:plain

 

本日中に感想まで書くのが目標でしたのでメモ程度に書かせて頂きます。

 

Mac Air多い、、欲しくなるな(; ・`д・´)

 

 

自己紹介、、\(^o^)/二番目にやってゴニョゴニョ、、

 

独自FW , CI , Cakephp , Symphony , ZendFW , 

 

Cake多いなーー , 趣味でCakeって人もいるのか、、

CIから乗り換え組多し、、

こりゃアウトプットしたらアクセス稼げるな(・∀・)

ニコ生主いたw

やっぱり軽量&勉強コストでFuel選んでる人多し←私もだけど

趣味でやってたり本職じゃない人多い、勉強熱心やなー

独自って会社用にカスタマイズされたもの?、元は何使ってるんだろう?

MacVim使ってる人多し

 

**************** 以下 セッションのメモです ********************

はじめてのFuelPHP @akagisho さん

 http://www.slideshare.net/akagisho/fuelphp-13573981

 

 岡山バスの乗換えの検索サイトをCIで構築

 

前半は会場の人がFWを使用しているメンバーだったのでSKIP

 

Fuelphpの説明

 

・ oilが強力なコマンドライン * 使用しなくてもいい

 

・認証システムが簡単に実装可能

 

・様々なテンプレートに対応

 

 namesaceを使用して定数などの衝突をさける namesapce <ディレクトリ名?>

 

 * インストラーは危険かも(。´-ω・)ン? gitにアクセスしてcodeをダウンロードするため

 

 デフォルトの設定はDeveloperなので、.htaccesファイルで読み込み先を変更する

 

 * __tostrting() というメソッドを持つオブジェクトはstringにキャストしてリターンする

 常識らしい、、

 

 コンスタントみたいなことは、before() でやるべし←コンスタントみたな動作をする

 

 after←action_*()の後に実行される

 

 外部ファイルを読み込む際は、絶対パス

 Asset::◯◯◯

 

 uri::base() ←index.phpまでのパスを返してくれる

 

 SQLクエリもFuelに任せたほうがセキュリティ的に安全(インジェクション対策)

 

 Model_Crud便利

 

 Controller_Restクラス

 

 ・HTTPメソッドによって動作を変更(GET,POST,PUT)

 

 ・指定されたフォーマットで出力(xml,json,csv,html)

 

 

 

 

Unit Testのお話 @NEKOGETさん

 https://speakerdeck.com/u/nekoget2/p/fuelphp1

 

 FuelPHP日本語化プロジェクト(1.2はcoreまで)

 

 google group Fuelphpもある

 

 DBの値が固定されていないと、テストコードは書けない?

 

テストコードを書いて置いて、後で確認するってことかな?

 いつも書いてる確認の流れを別の関数か何かでラップすればいいかな?

 

 まとめてテストコードを呼び出して確認が出来るのもメリットかも

 

テストコード大事φ(`д´)メモメモ...

 

 

Validationの話 @wakuworksさん

 https://speakerdeck.com/u/2no/p/fuelphp-validation

 

ルールは種類があって、ユーザ or Fuel側で指定出来る

 

独自フィルタクラスがあるといい←ないけど

 

trimした値とtirmする前の値を比較していて

エラーになるフィルタあり。

独自ルールで解決するしかない。

 

同じバリデーションで複数のエラーメッセージを出したい時は、

エラーメッセージを作成し、読み込ませる。

 

配列をバリデートするには?

 

$val->add('hoge.0') * hoge[0]ではなく hoge.0と . で繋ぐ。

 

配列の場合は、エラーメッセージも毎回設定する必要がある

 

ZENDFWのバリデーションを読み込んで利用も出来る

* 公式の読み込み方法じゃ未確認

 

 

 

タイトルメモ忘れ(´;ω;`)

@peketamin さん

 https://speakerdeck.com/u/peketamin/p/fuelphp

 

引越し比較ガイドをFuelで作成

 

サーバはZendServer CEで構築(Apahe系)

 

StationWagonのソースが参考になるみたい

 

はてぶでタグ検索

 

Orm modelじゃ足りないこともある

 

show_errors 引数 open~があるらしい

 

ポピュレイト * CIでいうsetvalue()

 

passwdなどは再表示させたくない時は、ポピュレイトに当てはめない

 

DBから値取得 → ポピュレイト -> view

 

まとめて取得するとテーブルで返ってくるが

個別に表示されることも可能。

 

バックアップは圧縮しgmailのゴミ箱へ

30日経過しましたら自動で削除されるので利用している

 

 

 

******************** 私的メモ ***********************

 

勉強会に参加すること自体

久しぶりになっていましたが

素晴らしい勉強に参加出来たと感じています。

 

まだ業務ではPHP 5.3 ~の環境が少ないので

次回の勉強会までにはプライベートで頑張っていきたいです。

 

企画者の @mukaken さんが

「月一で開催していきたい」

と仰られていましたので

ぜひ次回も参加したいと考えています。

 

yum updateすると、iptablesの自動起動がonに(´;ω;`)なぁ〜ぜ?

タイトル通りの事件発生\(^o^)/

 

yum update後は、

 

# /sbin/chkconfig をして自動起動の確認を(;・∀・)

*CentOSの場合

 

今回は、nagios先生がアラートメールくれたので九死に一生を得ました。

レンタルサーバだったからか、SSHだけは許可されてたから気づかなかった、、

でも、、勝手に設定変わることあるのかな、、疑問、、

お久しぶりです「CodeIgniter」今更(´;ω;`)すいません、Cakephp 2.X系の変更点で爆死したので、、

会社よりサクサク&いつもどおりメモ程度に(・∀・)ニヤニヤ

 

f:id:greenwakame:20120112180557j:plain

・ index.phpをURLから除去するために

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

が記述された .htaccess を作成、index.phpと同じ階層に置く。

* <IfModule mod_rewrite.c> </IfModule>←がないとindex.php除去されない(MANPのせいかも)

 

・URLで直接たたいて見るには

NG : www.domein.com/フォルダ/コントローラー/ファイル名.php

OK : www.domein.com/フォルダ/ファイル名(.phpはいらない)/

直接たたくと403で返って来る

 

・データベースから持ってきたデータの処理の仕方

多次元配列に整形されて帰ってくるので、

中身がarray→array→dataみたい。

 

コントローラー側

    public function index()
    {
        $res['list'] = $this->client_Model->client_all(); ←$resだとNG
        $this->load->view('client_View',$res);
    }

ビュー側

<?php foreach ($list as $row):?>
<tr>
<td><?=$row['industry']?></td>
<td><?=$row['client']?></td>
<td><?=$row['clientIn']?></td>
<td><?=$row['Timestamp']?></td>
</tr>
<?php endforeach;?>

 

でループで回す感じ。

 

正規表現(;・∀・)

where フールド名 REGEXP ^(ア|イ|ウ|エ|オ)

*ア~オが先頭にあれば系

 

何故か2.1に嫌われてます(´;ω;`)modelの使用変わったみたで、記述分かりません\(^o^)/

CodeIgniterのライセンス問題の投票報告は、大阪都市構想の批判と同じ匂いした、、

 

 

TitaniumでiPhoneアプリ開発(Mac編) 開発環境構築の巻

去年一度、挫けそうになったアプリ開発をしていこうと思います(・∀・)

 

さっそくつまずいていますがメモ程度に書き残してきます。

 

1 . 公式でダウンロードするためにアカウント作成

f:id:greenwakame:20120108183703p:plain

 

http://www.appcelerator.com/products/titanium-mobile-application-development/

上記のUPL先でダウンロード出来ますが、ログインを求められるので

アカウント持ってない人は新規で作成する必要があります。

ダウンロードする際は、MacでしたらZIP版だと面倒だと思います。

 

2 . インストールする前にXcodeSDKをインストールする

TitaniumはXcodeSDKを利用しますので必須です。

Androidも一緒に開発するぜって人は、Android SDKもインストールする必要があります。

*普通はjava 6入ってると思いますが、javaも必要です。現時点はjava 6です。

 

上記は先にやったほうがいいので書きましたが、

Titaniumをインストールした後でもTitaniumからインストール先にもいけました。

 

これだけで開発がスタート出来ます(´・ω・`)b

 

今後は開発していくblogを書けたら、、いいなー( ・´ω・`)

 

 

CentOS6 新規設定 続(´;ω;`)

なんかlogwatchのメールが飛ばなくて四苦八苦したお話、、

 

確認したこと

・/var/log/cron でログチェック

まったく実行されたログが確認出来なかった。メールが飛ばない?

 

・/etc/cron.daily/0logwatch でメールを飛ばしてみる。

受信出来た=メールは飛ぶ状態。

 

・vi /etc/crontab あれ? パスは記述されてるけど、実行する時間&フォルダ指定されてねぇ、、これデフォなの?

 

・34 0 * * * root run-parts /etc/cron.daily を /etc/crontab に記述。

 

多分、これで実行されるようになったはず(;・∀・)

cron.dailyのフォルダは一日一回、実行して欲しいスクリプトを入れるとか記述してあったから、、

 

まぁ明日からメールくればいいぉ(´;ω;`)

 

φ(`д´)メモメモ...

 

・less /etc/crontab 現在設定されているcrontabを確認

・crontab -l crontabは作成したユーザ毎のファイルが作られるので、その一覧を確認

・vi /etc/crontab 直で設定を書く場合はこのファイルに記述(rootのみ)

・crontab -e ユーザごとにcrontabを記述する場合はこれ

・/etc/cron.* ←普通はインスコすると自動系はそこら辺のフォルダにスクリプト入るらしい(;・∀・)