ECサイト運営開発記

PHPフレームワーク Laravelの使い方を中心とした通販サイトの開発日記

Stripe APIで決済手数料を取得する方法

Stripe APIで決済(Charge)の手数料の取得方法がわからず、四苦八苦していましたが、Balance Transactionで取得するらしいので、 その方法を残しておくことにする。 フレームワークはLaravelを使用 LaravelでStripeを使う方法は前エントリーを参照 nohohox.ha…

Laraveを使ってStripeの決済を導入する

Laravelで利用可能なインターネット決済APIの「Stripe」を試してみたので、基本的な利用方法をまとめておく。 「Stripeの特徴」 月額固定料金なし 1取引あたり3.6%の手数料 JavaScriptのコードを貼り付けるだけで、ネット決済システムを導入可能 定期支払も…

祖師ヶ谷大蔵の麻婆麺 あかずきん

祖師ヶ谷大蔵に麻婆麺が食べられるお店が出来たらしいので、小田急線 祖師ヶ谷大蔵駅まで遠出。新宿から各駅停車に乗って12駅、意外と疲れる距離。 「あかずきんの外観」 店の入口にある券売機で麻婆麺の食券を購入して店員さんに渡すと、辛さを選べます。1…

買うとキメていたはずのZenbook3ががっかりな値段

ASUSの日本法人がZenbook3を発表。6月に台湾で発表されてから、4ヶ月近く経過し、いつ日本で発売されるのか待ちに待って、ようやく、9月28日に日本国内での発売が正式に発表された。 しかし、その内容はZenfone3の価格と同様に少々残念な結果となった。一体…

GMOのVPSサービスConoHaが素晴らしい

GMOのConoHaを使ってみてると、これが以外と使い勝手がいい。 www.conoha.jp 以下、ConoHaオススメのポイント シンプルで簡単な管理画面。もちろん日本語。 仮想サーバーをすぐに立ち上げられる。 データ転送量の課金がない。無制限。 負荷分散も簡単。 メー…

Surface Pro3/4で3本指仮想デスクトップの切り替えが可能に。

Windows 10 Anniversary updateで待望の3本指による仮想デスクトップの切り替えが可能になった。ブラウザ←→エディタ間をスムーズに切り替える事が可能になるので、これによって、作業効率がアップするはず。 設定方法は 「設定」→「タッチパッドで検索」→「…

AngularJS のng-optionsのvalue値でデータ型が表示されてしまったら

AngulrJSでng-optionsを使ってると、value値にデータ型も一緒に表示されてしまい、期待通りの動きになってくれなかった。 http requestで取得したJSONデータ 取得したJSONデータは$scope.itemListにセット。 [ {"item_id":"ITM000000001","item_name":"バタ…

それはついてくる 映画「イットフォローズ」 ややネタバレあり

キネカ大森にて、怖いと評判のホラー映画「イット フォローズ(原題:It follows)」を見てきた。「それはついてくる」というタイトル通りの映画だったが、「それ」とは一体何なのか? 「イット フォローズ」 の簡単な説明 大学生に通う主人公の女性ジェイが好…

Laravel5でAWSのSQSを使う 複数のキューを処理する方法

Laravel5でAWSのQueueサービスであるSQSに2つのキューを作成して、処理を実行させる。[下準備] AWSの管理画面にログイン SQSに移動して、2つのキューを作成する 注文メールの送信処理をするORDER_MAIL_QUEUEというキューを作成。 商品在庫が少ないことを管理…

ASUS JapanがVivoBookの新型を発表するも、EeeBookとの違いがわからない

ASUSの日本法人がVivoBookの新型を3月に発売すると発表。Windows10搭載モデルのVivoBookはたぶん初めてなので「どんな物か?」GBと期待して、ニュースを読んでみると、落胆の内容。 現在、発売中のEeeBook X205TAとほとんど変わらないものだった。 そもそも…

『クリード チャンプを継ぐ男』 の感想(ややネタバレあり)

映画ロッキーシリーズの新章として銘打たれた作品「クリード チャンプを継ぐ男」が予想よりいい映画だったので、簡単に紹介。 「クリード チャンプを継ぐ男」特別映像 この映画を見る前に ロッキーシリーズは見てなくてもたぶん大丈夫だけど、1~4までのあら…

【銀座】おろちょんラーメン 激辛【ど・みそ】

銀座で激辛味噌ラーメンが食べられるということで、有楽町に立ち寄るついでに、ど・みそ京橋本店まで足を運んでみた。味噌オロチョンラーメンの激辛を注文。激辛ということだったが、蒙古タンメン中本の北極や鬼金棒の辛シビ増しと比べると物足りなさを感じ…

【使用感】Surface Pro4 は上の下くらいのマシン

SurfacePro2のACケーブルが断線してしまい、やむなく、SurfacePro4を購入することに。使用して、1ヶ月経つので、購入してみて良かった点、不満な点などを記述していこうと思います。 購入したSurface Pro4の主なスペック 256GB / Intel Core i5 - 8GB RAMモ…

Bootstrap4とLaravel5.1でネットショップをリニューアルした

カレンダーの通販サイト E-カレンダー.comをリニューアルしたので、記録とし、まとめておこうと思います。 以下、リニューアル前の環境。[リニューアル前] サーバーはGMOクラウドPublicのVPS Apache1.3系、PHP5.3、MySQL5系のよくある環境。 Webアプリケーシ…

初の日本語書籍「Laravel エキスパート養成読本」

4月21日 技術評論社から「Laravel エキスパート養成読本」が発売されるようで、著者の一人でもある川瀬裕久さんから 1冊献本していただきました。内容に関しては、なんとな〜くLaravelを使っているユーザーにはうれしい内容で「IoCコンテナって何のためにあ…

ADAちいさな水辺セット

売り切れ続出でずっと欠品だったADAの「ちいさな水辺セット」がペンギンビレッジ有楽町店に入荷、早速買ってきた。 佗び草*1、20cmのキューブ水槽、砂利がセットになって、4,500円(税抜)。激安というわけではないけれど、手軽にアクアリウムを始めることがで…

Kindleで読める 今のところ、面白いマンガ −ヒナまつり、予告犯、となりの関くん、僕だけがいない街

「ヒナまつり」 電子書籍版1巻〜4巻が発売中。未完の作品。 大武政夫のデビュー作。 芦川組の若手ヤクザ・新田義史が超能力少女・ヒナに振り回されるギャグ漫画。 ヒナが一体、どこの世界から来たのかは未だに不明だが、ヒナを中心とした人物模様がとにかく…

Laravel4でArtisanによるCLI開発

Laravel4の便利機能のひとつにArtisanというコマンドラインツールが存在します。 プロジェクトルートにて、php artisan ***** とコマンドを打つことで、様々な命令を実行させることができる機能です。 今回は、とりあえず、CSVデータを読み込んで、DBにデー…

ORM Eloquentに追加された新機能

Laravel4の正式リリースまであと1ヶ月ちょっとらしい。現在はBeta5の開発段階。 フレームワークとしての仕様もほぼ固まってきて、おそらく、大幅な変更点は無いだろうということでEloquentの新しい機能を紹介します。 コレクション Laravel4のEloquentでは、…

Laravel4で廃止されたdd()関数みたいなものを組み込む

Laravel3系で結構、重宝していた関数であるデータダンプ用の関数=dd関数。 しかし、残念ながら、Laravel4では廃止になったようです。「Laravel4ではComposerという便利機能があるので、欲しい人は、自分で探してインストール下さい。」おそらく、そういう方…

Laravel4でコントローラーの作成とモデルの作成に関する簡単なまとめ

Laravel4のBeta4がリリースされ動きが活発なLaravel。Laravel4のコントローラーの作成とモデルの作成に関する簡単なまとめを残しておこうと思います。[下準備] Laravel4のインストールについては前のエントリーを参照して下さい。 Laravel4で「HelloWorld」…

Laravel4で「HelloWorld」を表示させるまで

最近、ようやく、注目が集まってきたPHPのWebアプリケーションフレームワークLaravelのLaravel4 Beta4が リリースされたので、HelloWorldを出力するまでの流れを簡単に書いていこうと思います。【Laravel4のインストール】 Laravel4はLaravel3とは違ったイン…

LaravelのORM Eloquentで括弧を使ったクエリーのグループ化する方法

商品テーブルから削除フラグが0で公開ステータスが1の商品で、更に入力されたキーワードに該当する商品を取得したい where("item_public_status", "=", 1) ->where(function($query) use($keyword) { $query->where("item_name", "LIKE", "%$keyword%"); $qu…

LaravelのキャッシュでRedisを使う

PHPフレームワークのLaravelでキャッシュエンジンをRedisにしてみた。以外と、すんなり言ったので、記事を残しておく。 Redisの概要 オープンソースのkey/valueなデータストア インメモリデータベースで非常に高速に動作する ファイルキャッシュするよりいい…

LaravelのORM機能 Eloquent の EagerLoading

LaravelのORM Eloquentには、Eager Loadingという機能がある。 モデル内に定義されたメソッドを元に自身以外の他テーブルからデータを引っ張りだしてくれる便利な機能。 例えば、以下の様なECサイトのテーブル構成でイメージしてみる。商品テーブルにはimage…

LaravelでSQLの実行結果が簡単にわかるプロファイラー機能

Laravel3.1になり、Bandle(プラグイン)として提供されていたSQLプロファイラーのAnbuが標準で組み込まれることになり、LaravelでもCakePHPのようなSQL実行結果が簡単にわかるようになったようです。このプロファイラーはCake同様、ページの下部に固定される…

LaravelのELOQUENTの便利なSETTERとGETTER

LaravelのORMには特定のフィールドに対して、ちょっとした処理を加えて、データを保存できたりする便利な メソッドがあります。わかりやすいのは、パスワードを暗号化して保存したい場合。 $user->password="password" としてやるだけで、文字列が暗号化され…

Laravelのバリデーションの日本語化など。

Webアプリでは欠かせない重要な機能。入力値の検証いわゆるバリデーション。もちろん、Laravelにも、バリデーション機能があるわけで。 一応、備忘録として、日本語化の方法なども含めて、簡単に残しておこうと思う。 下準備 application/config/application…

LaravelでUndefined variableが出てうざい場合

application/config/error.php array(E_NOTICE), ?> と書いてやればいい。

LaravelのBladeテンプレート

PHPのフレームワーク「Laravel」のコントローラーの簡単な使い方とBladeテンプレートについて、備忘録も兼ねて残しておく。 Laravelのインストール方法については、割愛。ダウンロードして、この辺を参考にすれば、基本どうにかなるので。 コントローラーを…

MVCフレームワーク Laravel 3.0

PHP

FuelPHPを勉強してみたが、ORMがなんとなく、気に入らなかったので、他のフレームワークを探してみると、気になるフレームワークを発見。それがLaravel。なんて、読むのかは知らない。ララヴェル?公式サイトは以下のとおり。 http://laravel.com/[概要] Lar…

Twitter Bootsrap2.0でタブナビゲーションを使う

CSS&JavaScriprフレームワークのTwitter Bootsrap2.0がリリースされ、各所で注目を浴びているようですが、早速、試してみました。1.4からの変更点なども多く、まだ悪戦苦闘していますが、タブナビゲーションで躓いたので、備忘録も兼ねて、記事を書こうと思…

FuelPHPで気になるあの情報の取り出し方

リクエスト関連の情報 http://example/index/list/でアクセスした場合 コントローラー名の取得 Request::main()->controller "index"ではなく"Controller_Index"というコントローラークラス名が返ってくる。 "index"という名前を取りたい場合はRequest::main…

PHPフレームワークYiiを使ったので、とりあえずメモ

Yiiでオリジナルの設定項目を記述 PATH_TO_PAPP/protected/config/main.phpに "params"=>"params"=>require(dirname(__FILE__)."/params.php") を記述。 同じディレクトリにparams.phpを作成 params.phpで連想配列を返すようにする。 "Yii PHP Framework", /…

GMO クラウド Public は 結構素晴らしいサービスかもしれない

GMO クラウド Public サービス概要カレンダーの通販サイトを運営しているのですが、ぶっちゃけた話、忙しいのって11月〜翌1月くらいなわけです。 つまり、それ以外の月は割と暇なわけです。そうなると、毎月同じサーバー料金でいいのか?と思うことが多々あ…

jQuery Mobileを使ったカレンダーの通販サイト

カレンダーの通販サイト E-カレンダー.comをiPhone&Androidスマートフォン対応サイトとして作り直してみた。 正直、まだまだ、やることはありそうだけど、とりあえず開発のまとめを残しておくことにする。スマートフォンで確認してください。 カレンダーの…

SONYとSHARPの電子書籍端末をまだ買う気になれない

SONY READERの特徴 ターゲットの顧客はおそらく40代以上の男女。 画面が白黒 目には優しいし、電池も長持ちするけど、楽しくない。 写真なども白黒で表示される SHARPのGALAPAGOSよりは安く購入できるが、電子書籍としてしか楽しめない。 端末単体で電子書籍…

入荷情報や在庫情報をTwitterにつぶやいて、ECサイト上にも表示する

ECサイトを運営していると、入荷情報や在庫の情報はこくこくと変わっていきます。 そのたびに、サイトの更新情報として、1ページ書き上げるわけにもいきません。 で、今更ではありますが、Twitterでなにかできないかと思い、ECサイト×Twitterの簡単なサンプ…

findManyToManyRowsetメソッドでトラブった

PHP

Zend_Db_Table_RowクラスのfindManyToManyRowsetメソッドの仕様が変わってしまったため、中間テーブルのデータが取得できないという事態に陥った。 原因はZend_Db_Table_Row_AbstractのfindManyToManyRowsetメソッド内にある一行。 以前は、Zend_Db_Select::…

BingでXML Sitemapを送信する方法

SEO

ブラウザを開いて以下のアドレスを入力してENTERキーをターン! www.YourWebAddress.com/sitemap.xmlをサイトマップのアドレスに変更。 http://www.bing.com/webmaster/ping.aspx?sitemap=www.YourWebAddress.com/sitemap.xml

iPhoneサイトをHTML5で作り直した。

EC

カレンダー通販のE-カレンダーcomのiPhone版を再度作り直しました。 縦向きの横幅:320px、横向きの横幅:420pxでも閲覧可能。 リキッドレイアウト(可変レイアウト) ユーザーエージェントで判別 AndroidとPSPでも閲覧可能に ヘッダーのデザイン変更 HTML5で…

ECサイトでPHP×MongoDBを使ってみた

PHP

ここ最近よく見かける言葉で「ドキュメント指向型データベース」なんてのがありますが、正直、従来のRDBMSとどう違うのかさっぱりわからない。 で、このドキュメント指向型データベースの代表格がCouchDBとMongoDBなんですが、自分なりに調べてみた結果、Mon…

REC2

DVD

POVゾンビ映画のRECの続編ということで非常に楽しみにしていた作品。REC2は前作RECの直後の話で、感染が蔓延したアパートに4人の部隊と専門家の視点を中心に描かれる。感染者を次々に殺害していくのか?と思いきや、ストーリーはかなりオカルトな路線へ。「…

Smarty3から変わったものなど...

Smarty2系で使用されていた関数名はcamelCase形式になる。 代表的な例 assign_by_ref($tpl_var, &$value) assignByRef($tpl_var, &$value, $nocache = false, $scope = SMARTY_LOCAL_SCOPE) nocacheがtrueだとキャッシュされない。携帯サイトのセッションID…

Smarty3のinsertプラグインに変わる機能

PHP

nocacheブロックでキャッシュを無効にする {nocache} {$var} {/nocache} 変数出力の際にnocache属性をつける {$var nocache=true} または {$var nocache} asssignの際の第三引数をtrueにする $smarty->assign("var","Grate!",true); {$var}

焼肉小倉優子新宿歌舞伎町支店食べ放題のまとめ

大晦日にこんなエントリー書くとは思いませんでしたが、昨日、行ってみて、ちょっと変わったお店だったので、まとめておきます。 焼肉小倉優子はタレントの小倉優子のお店 本店は大阪にある 株式会社ももじろうという会社が母体らしい 小倉優子自身も経営者…

Zend_Db_TableでIN句を指定する方法

SELECTでIN()を使う場合 tableオブジェクトに対してWhereの指定を行う fetchAll($table->select()->where("item_id IN(?)",$idList)); var_dump($rowset); ?> UPDATEでIN()を使う場合 tabl…

東京都で電子申請をするまでの手順

住民票の写しが欲しかったので、本籍地の練馬区のホームページを見ていたら、どうやら、「電子申請」なるものがあったので、チャレンジしてみた。 結論から言えば、挫折で終わったわけですが、このシステムなんとかならないものだろうか・・・。 東京都で電…

Zend FrameworkのZend_Db_Tableで商品同士の関連付けを行う。

Zend FrameworkのO/RマッパーでもあるZend_Db_Tableを使ってテーブルの連結を行う。 商品テーブルと関連テーブルを連結して、関連商品を取得するサンプル。

Zend_Db_Table_Rowを使ったログの保存

_table->getAdapter()); $lm->doInsertLo…