サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
techlog.knocking.co.jp
Posted on 2011年12月28日, 10:00 AM, by Norifumi Homma, under Rails, Ruby, 設計. こんにちは。水曜担当、Norifumiです。 前回に続きRailsのvalidationについて。 はじめに 前回も述べましたが、データは全てmodelが担い、その正当性もmodelが担保すべきです。 しかしながら処理の場面によっては、同じUsermodelのインスタンスであるuser1とuser2、それぞれが別のvalidationを適用したいこともあり得ます。 例として会員登録処理が2段階ある場合を考えます。 最初はメールアドレスと任意のパスワードを登録するだけで無料会員になれ、そのサービスが気に入ったら氏名や住所を入力して有料会員となる場合。それぞれの入力時点で同じUsermodelのインスタンスが作られますが、インスタンスに注目する
としてscaffoldアプリケーションを起動してみましょう。起動できてからが本題です。 ユーザー等を新たに作成する際のフォームの初期値 http://(サーバーの名前/IPアドレス):3000/usersへブラウザでアクセスして、新規ユーザー登録画面を開いてみましょう。 誕生日の欄に現在の日付が表示されています。これはモデルの誕生日の初期値がnilのため、ヘルパーが本日の日付をデフォルトとしているためです。 誕生日が本日の人がwebフォームに登録するはずも無く、ユーザー視点に立てばwebサービスの主な利用者の平均年齢が選び易いように「年」は初期値を入れておきたいところです。 「本日の日付をヘルパーが入れているのであれば、ヘルパーを編集しよう」と思った方、絶対に間違い、とは言い切れませんが、あまり良い方法とは言えません。 先に書いたとおり、Userというモデル自身がデータに責任を持つべきです
こんにちは。水曜担当のNorifumiです。 ゴールデンウィークですね。今年は曜日も天気も良く、この時期らしい、良いシステム構築日和が続いています。 当社も他の多くのサービス同様、提供するwebサービスにほぼ漏れなくデータベースを利用しています。 ほぼ全てオープンソースソフトウェアで構成しており、一定規模以上のシステムではPostgreSQLとMySQLのいずれかを使っています。 特に最近はMySQLを利用することが殆どで、ちょっと応用的な使い方をすることもあります。 そんな応用的な使い方の一つ、MySQLで全文検索が可能になるgroongaについて、まずは利用可能になるところまでご紹介します。 はじめに おそらく最も多く使われているであろう環境、Linux(CentOS)上でMySQLを利用することを想定しています。 実際に試した環境はCentOS5.2、MySQL5.1.56(ソ
Posted on 2011年2月11日, 10:35 PM, by @non_keys, under 未分類. 更新をすっかり忘れていた@non_keysです… 今回はamazonのAPIを試してみようと思います。 以前書いたコードがAPI仕様変更に伴い全く使えなくなってたので書き換えです。 仕様変更は2009年だったので、どれだけ放置していたのか… 変更内容は、 RESTリクエストを送信する際、新たに「Timestamp」と「Signature」というパラメータが必要になりました。 仕様変更 では、早速。 ■前提 AmazonWebServicesに登録し、アクセスキー情報を取得してください。 ■環境 PHP 5.3.2 (PHP4以下だとhash_hmac関数が利用できないかも) ■解説 まず、必要なパラメータです。 ここを参考に、 配列のキー名も下記のとおりです
Posted on 2011年3月11日, 12:23 AM, by @non_keys, under SEO. どうも@non_keys です。 今回は読み物を。 サイトメンテナンス中、どのURLにアクセスしても「メインテナンス中です」というような画面を出す適切な対応方法について書きます。 結論を言うと、 「HTTPステータスコード503を返すように」とのこと。(googleより) では、なぜそのほかのエラーコード「200」「302」「404」を返してはいけないのでしょうか? それぞれ、どのような問題が起こるのかみてみましょう。 ① 200:Rewriteでメンテ中画面を表示 ② 302:リダイレクトでメンテ中画面のURLに転送 ③ 404:NotFound 200:Rewriteでメンテナンス中画面を表示 アクセスするURLはそのままで、メンテンナンス中の画面(HTML)を表
ども、エンジニアのくせに微塵もtechネタを書かない、いや書けない@kururiです。 そろそろプログラマーっぽいこと書かないと仕事をしてない感がでてしまうので 最近どっぷりのCakePHPに触れていて気付いた、 コーディングの効率がほんの少しだけアップするであろう 「細かすぎて伝わらないCakePHP tips」を 自分的効率アップ度順にBEST3として発表します。 第3位 「ClassRegistry使用時の配列への自動Model名付与を任意に変更する方法」 私はもっぱらCakePHP内でModelのインスタンス化する際には //Userモデルのインスタンス化 $objUser = ClassRegistry::init('User'); //データの一括取得 $users = $objUser->find('all');
$message = $_POST['msg']; $title = 'アプリから投稿'; //$target = $_GET['fid']; $response = $facebook->api(array( 'attachment' => array( 'media' => array(array( 'type' => 'image', 'src' => '画像のURL', 'href' => "http://www.facebook.com/", 'description' => '', 'caption' => '', )) ), )); <?php require('./src/facebook.php'); $facebook = new Facebook(array( 'appId' => 'XXXXXXXXXXXXXXXXXXXXXXXXX', 'secret' => 'X
どうも@kururiです。 月曜担当のくせに早速ブッチしまくりですみません。 本日は昨日(2011/01/17)に開催された 「CakePHP新春勉強会 東京」の内容をログっぽく残しておきます。 会場:ジンガジャパン株式会社 募集URL:http://atnd.org/events/11810 議題内容は以下のとおり Story of CakePHP2.0 @hiromi2424さん CakePHP事例紹介: Livlis @camelmasaさん [LT]CakePHP with Designers in 福岡サテライト @k1LoWさん [LT]ACLを高速化する in 福岡サテライト @nojimageさん [LT]コーポレートサイトにちょうどいいCMS「BaserCMS」 @ecworks_masapさん [LT]Lithium+MongoDB+ユニットホスティングで年越しした話
Posted on 2011年1月5日, 6:00 PM, by Norifumi, under ソーシャルアプリ, 設計. こんにちは。今回から記事を書く、水曜を担当するNorifumiです。 弊社はモバイルを中心としたアフィリエイト広告事業が主ですが、そこで培った技術を基にソーシャルアプリの企画・運営や開発業務も行っています。 ソーシャルアプリではよく、「○分で体力が△回復」といった、時間で行動制限を設けることがあります。 今回は、そんな処理をちょっとスマートに書く方法を。まぁ、そんな大したことではないのですが、ひょっとしたら誰かのお役に立てるかと思いまして。 コツ 体力をデータベース上に「日時」として記録します 具体的には 例えば、プレイヤーの体力データを保存するテーブルをこのような定義にします CREATE TABLE player_energies ( player_id INT
このページを最初にブックマークしてみませんか?
『Knockin'on TechLog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く