ラベル Zend_Gdata_Spreadsheets の投稿を表示しています。 すべての投稿を表示
ラベル Zend_Gdata_Spreadsheets の投稿を表示しています。 すべての投稿を表示

2012年6月18日月曜日

2012年06月18日 講義083日目

2012年06月18日
講義083日目
------------------------------1H------------------------------
★最終課題
●zend AuthSubの実装
------------------------------2H------------------------------
●zend AuthSubの実装
・find ./ -name "*.php" | xargs grep ""
でそのディレクトリにある.php内のキーワードを絞り込んで探せる
Zendまで行って関数を見に行くとかする
------------------------------3H------------------------------
●zend AuthSubの実装
・結局、マニュアルのAuthSubの説明のソースを使ったらうまくできた
・セッションに作成したトークンがモジュール間で重複していたのが原因の一つとしてありそうだったので、
そのあたりを解消できたっぽいので解決したという予想(結局原因は不明)
・echoされてる部分をheader()でリダイレクトに変更
------------------------------4H------------------------------
●zend AuthSubの実装
・ログアウトするとAuthSubで使ったセッションを消去したりするロジックを追加
  $_SESSION = array();
  セッションを空にするとか
  マニュアルではなんか色々と複雑なことをやってるっぽい感じだったけど
------------------------------5H------------------------------
●ドキュメント
FeedからspreadsheetKeyを取得するために試行錯誤してみるとか
------------------------------6H------------------------------
●ドキュメント
・spreadsheetKeyの取得
  strlen()で文字列の長さを取得
  str()でその文字列の長さ分削る
・メニューをスプレッドシート一覧にしてドキュメントの数だけループさせメニュー作成
  問題点→表示の上限をどうやって設定するか→登録したシートのみ表示させるとか
         
  ドキュメントは表示させるだけにしようか
・検索フォームも使いたい
-----------------------------memo------------------------------

2012年6月14日木曜日

2012年06月13日 講義081日目

2012年06月13日
講義081日目
------------------------------1H------------------------------
★svn
●リポジトリの準備の流れ
・プロジェクトをサーバ側に作る
・クライアント側でバージョン管理したいプロジェクトを作成する
・クライアントとサーバを紐付ける.svnファイルを作成する(チェックアウト)
  svn checkout
・ひとまず空のプロジェクトをコミットする
  svn ci * -m ""
  リビジョンは1となる、中身はまだ無い
・クライアント側で開発が進行したら、差分を確認する
  svn stat -u
・コミットする
  svn ci * -m ""
  リビジョンは2となる
・symfonyで開発してる場合、cacheやlogをいちいちコミットするのは非効率なのでリポジトリにコミットされないように設定する
  svn propedit svn:ignore ./cache
  viの中に対象外にするファイルを指定する
  全ての場合は*/*(cacheフォルダの下のファイルまで全部)と記述して保存
  やり直したい場合はコマンドをもう一度打って編集
  svn propedit svn:ignore ./log
  viの中に対象外にするファイルを指定する
  全ての場合は*と記述して保存
  やり直したい場合はコマンドをもう一度打って編集
・.svnを編集したのでリポジトリにコミットする
  svn ci * -m ""
  リビジョンは3となる
・symfony側のcache、logを更新する
  symfony fix-permes
  symfony cc
  これでリポジトリとの差分が発生
・リポジトリとの差分を確認
  svn stat -u
・!の表示はリポジトリに存在しない発生したcache、logなので、それらを消去
  svn rm 「svn stat -uで表示された!のついたフォルダ」
  stat -uで表示される!をD(消去)にする
・cache、logの無い状態のプロジェクトをコミットする
  svn ci * -m ""
  リビジョンは4となる
●リポジトリを使う
・共同で開発してる場合は、開発を始める前にsvn up
  自分の開発がひと段落したらコミットするsvn ci -m ""
--------------------------------------------------------------
★.htaccessについて(これだと通らないので後で修正)
●sakuraのwwwに配置する.htaccessについて
/www  ←webルート
/www/project/web  ←frontのパス
/www/project/web/backend  ←他のアプリのパス
の場合

/www/.htaccess
RewriteEngine On
RewriteBase   /
RewriteRule ^(backend/.*)$ /project/web/backend/backend.php
            ↑どんなurlか  ↑どのディレクトリに飛ばすか
RewriteRule ^(.*)$ /project/web
            ↑RewriteRuleの一番最後には、それ以外のアドレスを打たれたらどうするかを指定
           
☆RewriteRuleは上から優先
☆sakuraの本ドメインを使うことにしたらプロジェクトのディレクトリを指定して、
  それ以外のディレクトリにアクセスできないようにする必要がある
------------------------------2H------------------------------
★最終課題
・ログインページに新規登録を追加
  新規登録のactionを増やす
・helpモジュールの作成
  bbsと連動させたいけど今は保留
  わからないことがあったらbbsにいって質問してねフォームを作るとかで対応
  開発者にメールする機能も作ろうかどうしようか、メールが来ても答えられない気がするからどうしよう
・tourモジュールの作成
  外部から専用ページなのでレイアウトはloginlogout.phpを使う
・bbsモジュールの作成
  actionでなんとかなるっぽい
☆カベージコレクト
  サイトの余分なデータをどうにかすること
  cronでtempのデータを消去したりする
  phpではgc~~()などで関数が用意されてる
------------------------------3H------------------------------
●googledocsのspredsheetのfeed
・資料を読むなど
------------------------------4H------------------------------
●googledocsのspredsheetのfeed
・feedの内容を取得してみるなど
------------------------------5H------------------------------
●Zend_Gdata_Spreadsheets
・色々と接続してみる
------------------------------6H------------------------------
●Zend_Gdata_Spreadsheets
・google chart toolsはWEBに公開してないと
  直接Spreadsheetsで作ったガジェットを表示できない
・というか、ガジェットを作るという手間を導入する意味が基本的に無いということに気が付いた
  どーしたもんかなー楽に表を作れるんじゃないかというイメージとは程遠かった
・Zend_Gdata_Spreadsheetsの構造化問い合わせで取得したい値をgoogle chart toolsで表示していく感じか
・google chart toolsのscriptに<php ?>を埋め込んで動的に表示させる方向で
-----------------------------memo------------------------------

2012年6月13日水曜日

2012年06月12日 講義080日目

2012年06月12日
講義080日目
------------------------------1H------------------------------
★最終課題
●backendのurl直打ち対策など
・default:
  is_secure: on
  credentials: [member, admin]
  に設定、is_secure: をonにし忘れて/backendに進入できるというミスをするなど
  とりあえず権限を持ってないとbackendには入れない状態
------------------------------2H------------------------------
●バックエンドのページ遷移を整えるなど
・404エラーページの表示
・defaultに申し訳程度にリンクを作る
・memberのcrudは基本的なバリデーションとかかける程度で放置の予定
・seculityは多分大丈夫な気がする
------------------------------3H------------------------------
------------------------------4H------------------------------
★バージョン管理ソフトの導入
●リポジトリの保存に際してキャッシュを対象外にする
・svnで使うエディターを設定する
  [ユーザ名@localhost ~]$ vi .bash_profile
  export SVN_EDITOR="vi"
  を最後の行に追加
  [ユーザ名@localhost ~]$ source .bash_profile
  で変更を有効にする

・キャッシュとログを弾く.svnの設定を書き換える
  リポジトリにコミットされない様に設定
  svn propedit svn:ignore ./cache
  viの中に対象外にするファイルを指定する
  全ての場合は*/*(cacheフォルダの下のファイルまで全部)と記述して保存
  やり直したい場合はコマンドをもう一度打って編集
  svn propedit svn:ignore ./log
  viの中に対象外にするファイルを指定する
  全ての場合は*と記述して保存
  やり直したい場合はコマンドをもう一度打って編集
・svn stat -u
  M→変更がある
  A→新たに追加
  ?→リポジトリに無い
  !→リポジトリにしかない
  D→削除予定
  C→コンフリクト
・開発したソースをリポジトリにコミットするための準備
  svn add *で?をAする
  svn delete *で!をDにする
・
------------------------------5H------------------------------
●google docsのフィードの表示を試行錯誤してみる
・カレンダーと同様にClientAuthで接続(後日Auth subに変更する)
          //スプレッドシートの一覧の取得
        $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
        $spreadsheetService = new Zend_Gdata_Spreadsheets($client);
        $feed = $spreadsheetService->getSpreadsheetFeed();

        foreach($feed->entries as $entry){
            echo $entry->title->text;
            echo "<br>";
        }
------------------------------6H------------------------------
●google docsのフィードの表示を試行錯誤してみる
・spreadsheetKey
  どうやらURLらしい
  すでに取得してるらしい
-----------------------------memo------------------------------