php

php・mysqlでミリ秒単位でタイムスタンプを保存する方法メモ

めったにやることもないとは思うけど、今回必要だったのでメモ やりたかったことはphpからmysqlにデータを登録する場合でミリ秒単位でdatetime型のカラムに登録したかったことですmysqlのスキーマ定義 CREATE TABLE table_name (ttt DATETIME(6));DATETIME型…

【php】パスワードを保存する機能の実装方法について考えてみた

はじめに ログイン画面でよく目にする「パスワードを保存する」チェックボックス これの実装を依頼されて、よく考えてみたらやったことないなと気づきました・・・ 基本的なこと機能ではあるとは思うのですが・・・・案1・・・クッキーにログインIDとパスワ…

サードパーティクッキーの使い方・使い分けまとめメモ

はじめに 今回やりたかったこととしては ・Googleアナリティクス ・各社の広告用トラッキングタグ みたいに他サービスに自分が作ったタグなりJSのコードを埋めてもらってクッキーを扱いたかったことですで、大きく分けて上記のタグの形式(Googleアナリティ…

【Aws】Elastic Beanstalk(Worker)を使ってみた

はじめに 今回、少しアクセスの大きいサービスの開発をawsで行っています。 で、とにかくレスポンスはなるべく早めに返したいということで以下のユーザーへのレスポンスへ影響のない処理を非同期に行うことを検討しました ・メール送信 ・ログデータなどの登…

【fuelphp】MySQLのIN句の使い方メモ

使いたいときはいつも忘れてるので自分用にメモやりたいSQL select * from users where id in (1, 2, 3);fuelphp $user_ids = array(1, 2, 3); $query = "select * from users where id in :user_ids; $params = array("user_ids" => $user_ids); DB::query(…

【fuelphp】APIバージョンを意識したAPI設計について考えてみた

はじめに アプリリリース後にバグが見つかり、アプリ(ios,androidoともに)とAPIを改修する必要がある場合がありました。 対応としては 1. アプリを強制アップデートさせる(最新バージョンでないとアプリを使えないようにする) 2. 過去のアプリのバージョンと…

【aws】phpからdynamodbを使う方法メモ

はじめに awsのdynamodbをログ保存用として使用 今回は他の人が作った環境での作業だったのでコントロールパネル等の設定は記載しません不慣れなのもあると思うけど、データの取得と登録する調査をするだけでけっこう時間かかってしまった、、、 今回はIAMロ…

【fuelphp】Paginationをカスタマイズして使う手順

はじめに 仕事でちゃんとWebページ作ると避けて通れないのがページングかと思います。 で、過去にはやったことあるとは思うのですがやっぱり少し時間かかりました。 次回、同じことがないようにメモしておきます configの設定 まず、 fuel/config/pagination…

【fuelphp】共通処理をPackage化して複数サイトで使う方法

はじめに 1つのfuelphpで複数サイト(一般ユーザが見るサイトと管理者が見るサイト等)を共存させるというのは僕はよくやります。 で、以前に以下の記事で共通処理をシンボリックリンク化してしまう方法を紹介しました。 fuelphpで複数サイトを構築する方法 …

【fuelphp】MySQL接続エラー[HY000/2002]と[Call to undefined function Fuel\\Core\\mysqli_init]

はじめに 今更感のある内容ですがけっこうハマったのでメモしておきます。 環境としてはAwsのEC2をWebサーバーにRdsをDBサーバーとする構成で Webサーバーにはmysql-serverをインストールしていない状況です。mysql-clientはWebサーバーにインストール済みで…

YoutubeAPIで再生回数順の動画リストを取得する方法

はじめに YoutubeAPIを使って何かできないかなと思って、サンプルを作ってみたのでそのときのメモ。ちなみに本当にやりたかったことは日別、月別などの再生回数順のリストを取得して簡単なランキングサイトでも作りたかったのですが、今のところやり方がわか…

【fuelphp】セッション保存先をredisにする方法メモ

はじめに 検索したらいっぱい出てきました。いちおう自分用にもメモ 手順 config/session.phpの準備 「fuel/core/config/session.php」を「fuel/app/config/session.php」にコピーfuel/app/config/session.phpを編集 // 32行目くらいにのdriverをcookieからr…

【fuelphp】ログを分割(複数ファイルに出しわけ)する方法

はじめに 今回やりたかったのは、デフォルトでは1ファイルにまとめられているログファイルを複数ファイルに分割したいということでした。デフォルトの以下のところを fuel/app/logs/YYYY/MM/DD.php以下のように用途別に出し分けたけたかったです fuel/app/lo…

webエンジニアが新しいmacを購入してはじめにやった設定メモ

はじめに 会社で作業用にmacbook airを買ってもらって、とりあえず作業に支障がないように設定なりをやった作業をメモ。 個人でもmacは2回買ったことがあるけど、だいたいやってる作業は同じかなぁと思います ちなみに今の作業は主にLAMP環境でのサーバーサ…

【PHP】コマンドラインでサイトへのログイン処理を実装する方法

php

はじめに 今回やりたかったことは、APIなどが公開されていないサービスでのログイン処理をバッチなどで行って処理するということ。イメージとしては ・会員制サイトへの自動書き込み ・オークションサイトへの自動出品とかでしょうか。大手のサイトだったらA…

【php】ssh2_scp_sendでファイル転送する方法メモ

php

はじめに あんまりやる機会なさそうだけど、次やるときのために一応メモ。はまったこととしては、エラーは出ないのに一部のファイルが65536バイトまでしか転送できていなかったということ・・・転送でファイルサイズの上限があるのかなとか思ったんですけど…

【fuelphp】クエリビルダでinsert select構文を実行する方法メモ

はじめに sqlを直接かいちゃえば、以下のような感じで簡単にかけるんですけど今回はこれをfuelphpのクエリビルダで実現してみたのでメモしておきます insert into table1 (colum1, colum2, ・・・) select colum1, colum2, ・・・ from table2 where ・・・o…

【fuelphp】クエリビルダでSQL_CALC_FOUND_ROWSを実現する方法メモ

はじめに クエリビルダを無理やり使ってみて、少し慣れてきたらすごい複雑なSQLを書かない限りそこまで困らないかなと思ってきました。ただcoreの中を覗いてみた感じだとページングなどでよく使われるSQL_CALC_FOUND_ROWSを実現する方法がなさそうで、強引に…

fuelphpでのsqlのログ出力する方法

はじめに fuelphpで必ずやってる設定などまとめ - とりあえずphpとか 僕がメインでやれる案件では上記の形で開発をしています。こちらにも書きましたが、基本的にsqlをゴリゴリ書くのが好きなのでクエリビルダなどは使わないで開発することが多いです。その…

fuelphpとsocket.ioでのチャットシステムの作り方まとめ

はじめに 何度かまとめようと思ってたんですけど、なかなかちゃんとまとめられなかったので今回再度まとめてみようと思います。socket.io単体での実装方法はよく見かけるのですが、LAMP環境で構築されたシステムと一緒に構築されるサンプルがあまり見かけら…

phpからs3にアップロードしたファイルが14byteになっていてハマったのでメモ

はじめに fuelphpからs3(aws)を利用する方法メモ - とりあえずphpとか こちらでfuelphpからs3を利用する方法を書きましたが、画像をアップロードしたファイルが14byteになってしまってブラウザから見ようとしてもエラーに、、、 というところでハマったので…

fuelphpからs3(aws)を利用する方法メモ

はじめに やりたかったことは、ec2上で構築したwebサーバーからプログラムでs3へ保存、削除したかったことです。AWSのS3を使う手順 - とりあえずphpとか こちらでs3を使う手順をまとめましたが、その際にs3fsを使ってec2にs3をマウントしたのですが実際にプ…

AWSでLAMP環境を構築する手順

やりたいこと awsを使ってLAMP環境の構築。 使用するサービスはEC2、S3、CloudFrontの3つ。 EC2の1インスタンス(1サーバー)にLAMPをインストール。 S3には画像等の静的コンテンツをアップロードして、CloudFrontからS3へとコンテンツを取得。 CloudFrontか…

cordova + phpでセッションを維持する方法

はじめに 本当は今、これについての具体的な実装例を書きたかったというか試してみたかったのですが無理そうなので、具体的な実装・実験は明日以降に行うとして理屈だけメモします。まずcordovaアプリでセッション処理を行う場合、以下の様な環境になると思…

fuelphpで複数DBに対応する方法 - 大規模サービスも想定して

やりたいこと ある程度の規模のサービスや構成上db自体を分けた方が効率よく開発、運用できることがあるかと思います。 その際にfuelphpではどのように開発するか考えてみる想定している構成 ・マスタdbA ・スレーブdbA ・マスタdbB ・スレーブdbB db設定 今…

fuelphpでセッションidをurlパラメータで引き回す方法

やりたいこと タイトルのとおりですが、http://example.com/?session_id=*** のようにurlでセッションidを引き回してセッションを使用したかった。 ガラケー(フューチャーフォン)時代はcookieが使えない端末が多かったのでこのようなやり方はよくやってまし…

fuelphpでエラー処理を実装する方法

はじめに 意外とおろそかになってしまうこともあるのですが、サービスの規模によってはちゃんとしておかないと後々問題になるのでできる範囲で僕がやっていることをまとめておきます。とりあえず最低限やっておきたいこと ・sqlのエラーなど致命的なエラーが…

Yahoo形態素解析APIを使って文章を解析する方法

はじめに やりたかったのは、こちらで書いたようにtwitter apiなどから取得したテキストからどんなキーワードが多く使われているかを取得したかったmecabというフリーのツールでも実現できるのだが、yahooの形態素解析APIを使用すれうばアプリのキーを登録す…

webサーバ設定作業メモ - 私用

はじめに webサーバを設定する作業があったのですが、いつも同じこと調べながらに作業になるので作業メモとして残しておきます。やりたいことは ・一般ユーザの作成 ・webサーバの設定(バーチャルホストの設定) ・phpのインストールと設定 ・mysqlのインスト…

動画のメタ情報(width、height、video bitrate、audio bitrate)を取得する方法

php

動画ファイルからファイルのwidth、height、video bitrate、audio bitrateを取得する必要があったのでそのときのメモです。 ちなみにphpの実装例で、よく使いそうな値を取得しています。 またffmpegを使用しています。