Home > Tags > php

php

PHPからTwitterに投稿する

今さら出遅れた感も満載なんですが,Twitter連携のサービスを作ってみたくなったので,どうやったらTwitterAPIを使えるのか調べてみた.

TwitterからPHPに投稿するためには,色々な方法があるみたいなんだけど,とりあえず手っ取り早い方法として,PEARパッケージのServices_Twitterを利用することにしてみた.

続きを読む

MySQLでAuto Increment利用による速度低下

Webアプリを開発する時に切っても切れない関係にあるのがMySQLなどのRBBMSです.これらをいかに上手に扱うかが,エンジニアリングの面白いところでもあり,難しいところでもあります.

私は今までデータベースでテーブルの設計をするときには,各テーブルに通し番号を記憶するためのフィールドを作成して,Auto Incrementで番号を振っていました.

こうしておくと,私が何も考えなくても(Insert文でNULLを指定しておけば),各レコードに連番が付与されるので,非常に便利です.

ただ,知ってる人からすると当たり前じゃんと思われるかもしれませんが,Auto Increment属性を指定すると,Insertの速度が遅くなってしまうんですよね.というわけで,どれぐらい速度が遅くなるのか,実際に調べてみました.

続きを読む

PHPでステップ実行しながらデバッグする方法

「PHPで書かれたソフトウェアのデバッグをするときって,ステップ実行ができないから,print_r関数や,var_dump関数を使わざるを得ず効率が悪い」

こう思ってる人が結構いるようなんですが,実は勘違いです.というかこれは過去の話です.最近は,ZendDebuggerというものを使うことで,PHPでもステップ実行しながらデバッグをすることができるようになっています.

このことって,PHPエンジニアの人でも知らない人が結構いるような気がしてきたので,以下,ローカル環境でPHPをステップ実行しながらデバッグする方法について書いてみます.

続きを読む

Youtube APIを叩いてみる

数日前に,PHPからニコニコ動画のAPIを叩いてみてたんだけど,動画の情報は取得出来ても,動画の再生を行うことが難しいことがわかったので,YoutubeのAPIに手を出してみることにした.

とりあえずやったこととしては,以下の通り.

  • 動画の情報を得る.
  • Webページに動画を挿入する
  • 挿入した動画をJavaScriptで制御する

続きを読む

PHPでニコニコ動画の動画情報を取得する

ここ2年ぐらい,ニコニコ動画の勢いが止まりません.

そんな現状だから,ニコニコ動画と連携させるアプリを作りたいなぁとか思いつく事は,ごくごく自然な発想であり,私も同様の発想に至ったので,色々と調べてみました.

ニコニコ動画は非公式ながら,各種APIを公開しており,動画に関する様々な情報を取得することが出来るようになっている. 今回利用したのは,特定の動画の情報を取得するためのAPIです.

続きを読む

xampp環境でsymfony

近年のWebアプリ開発に欠かせないものと言えば,やはりフレームワーク.

phpのフレームワークってホントに多種多様で,ぱっと思 いつくだけでもMojaviやMapleやethnaやcakeやZendやら色々あるんですが,最近何かとSymfonyの名前を聞くので,ちょっと 触ってみようかなぁとか思いました.もちろん,せっかくxampp環境を構築したので,xampp環境で動かしてみることにします.

続きを読む

XAMPP導入

PHPでWebアプリを開発するぞ!って思ったときにネックとなるのが,開発環境導入の敷居の高さ.

そりゃ,xreaとかsakuraのレンタルサーバであれば,phpファイルをアップロードするだけでphpのスクリプトを動作させることができるんだけれども,何かの間違いで無限ループとか作っちゃうと,負荷が高くなって他の利用者に迷惑だったりするので,一般的なレンタルサーバで,webアプリの開発を行うなんてことは,推奨されてないわけです.

となると普通は,自分のPC上にPHPの開発環境を組み立てて開発するんだけれど,これが意外と面倒くさい.慣れてしまえばどうってことないのかもしれないんだけど,ぱっと思いつくだけでもApacheをインストールして,phpをインストールして,データベースを使うならMySQLやらをインストールしてって,結構大変.

というわけで,私自身も今までWebアプリを開発するときは,自宅のサーバでゴニョゴニョしてて,手元のマシンに環境を構築して開発するってことはあんまりやってこなかったんですが,最近,XAMPPっていう便利なものがあるのを知りました.これは,ApacheFriendsによって開発されているツールで,Apache+PHP+MySQL+phpMyAdmin+αを一気にインストールしてくれるっていうシロモノ.今までこんなものを知らなかったなんて,ちょっと損した気分です.

というわけで,とりあえず手元のWindows XPにインストールしてみました.

続きを読む

Livedoor Authを使ってみる

Livedoor Authってのは,Livedoorが提供するLivedoor IDを使ってWebサービスを構築するためのWebAPI.

Webサービスを組む時に,メンバー管理をしようと思うと,メンバーのデータをサーバで保持する必要があるので,データのCURDサイクルが必要になる.

メンバーデータの登録,変更,削除という処理は一度組んでしまえば使い回しができるものの,たとえばログイン処理をひとつとっても,ブルーフォースやディクショナリをはじめとする攻撃から,データを保護するためには,それなりのロジックが必要になるし,パスワードを忘れたという人のためにパスワード再発行機能を作る必要があったりと,かなり面倒.

そんなわけで,Livedoor Authを使うとID管理と,認証をLivedoorに任せることができるので,簡単なWebアプリを作る時などは便利である(と思う).ちなみに,同様のサービスはhatenaなども提供している. で,このAPIについて簡単に説明すると,

  1. Livedoor Authのサイトに対して,「ある引数」を渡してリンクを張る.リンクには「ログインはこちらから」とでも書いておけばいい.
  2. ユーザはこのリンクを踏むと,当然ながらLivedoor Authのサイトに飛ばされログインフォームが提示される.
  3. ログインが成功すると,あらかじめ登録したWebサイトに「ある引数」を付加されてリダイレクトされる.

といった感じになり,Webアプリ側では,ログインに成功したユーザーを一意に識別できるハッシュを得ることができる.なので,必要であれば,ユーザーごとにユーザーデータを用意すれば,自由にアプリを実装できる.

で,実際に実装してみたんだけど,この「ある引数」ってのが曲者でした. というのも,引っかかった点が2個あって,1つ目は「URLが生成された時間をエポック秒で表したもの」というもの. エポック秒なんて聞いたことがない,と思って調べてみると,こんな感じでした.

ある日時を、1970年1月1日午前0時0分0秒(世界標準時)からの秒数で表したもの

というわけで,Unix時間と同じらしいです.エポック秒なんて初めて聞いたよ.自分の不勉強っぷりを認識しました. で,もうひとつ引っかかったのが,引数のシグネイチャを生成する部分. SHA1でハッシュを生成するんだけど,SHA1関数を使ってもうまくいかない.で,ぐぐってみたらここのサイト

$sig = hash_hmac(“sha1″ , “app_key” . $app_key . “perms” . $perms . “t” . $t . “userdata” . $userdata . “v” . $v , “秘密鍵”);

でいけるという情報を発見.で,実際にやってみるとすんなり通ったんだけど,未だに原因がよくわからない. まぁ,使えるようになったからいいです.

さてと,これを使って何を作ろうかなぁ.

PEAR::Services_Amazon

PEARでServices_Amazonって言うライブラリを発見.

これを使うと,AmazonのAPIをPHPで叩いて色々と面白いことが出来る様子.

たとえば,

< ?php
require_once(“Services/Amazon.php”);

$amazonObj = & new Services_Amazon($Token,$amazonID,$LOCALE,$BaseUrl);
$itemlist = $amazonObj->searchKeyword( “のだめカンタービレ” );
print_r( $itemlist );
?>

こうするだけで, 以下のように$itemlistの中に色んな結果が入ってきます.

続きを読む

Home > Tags > php

Search
Feeds
Meta


Return to page top