最近開発をするときに、ローカルでdockerを使うっていう感じであったり。
で、その中でfuelphp案件もそろそろローカルでやったほうがいいんじゃないかと思った。
ということで今日はローカルで開発するためのdocker-compose的ななお話をば。
phpとかjavascriptとかgolangとかreactを中心につらつら適当に書いてたりなんだり。
Home > Posts filed under fuelphp
2017年4月24日月曜日
2016年8月11日木曜日
【※どちらかというと非推奨】fuelphpでDB::selectしたときの結果で数値型が文字列型になってしまうのを直してみた的なお話
fuelphpに限らずPDOを使っていると直面する問題ではあるらしいけれど、
とりあえず結果として出てきたものが全てstringになっているっていう深刻な問題がある。
ちなみにintがstringになるだけはなく、boolすらstringになるっていう。
特にこれがやっかいになるのがrestを使ってjsonとして出した際に、hoge?"foo":"bar"みたいにjs側で処理をしたいのにできないっていう。
hoge === "1"?"foo":"bar"なんていう変な書き方をしないといけないっていう。
ってなわけで今回はこれの直し方をば。
2016年6月10日金曜日
FuelPHPでLambdaのAPI Gatewayに対してpostを送信する際に、paramでエラーが出てくる的なお話
とりあえずなんていうかLambdaを使用してAPIを作っちゃおうっていうことをしてみたんだけど、
「Could not parse request body into json: Unrecognized token うんちゃら」っていうエラーが出てきてうまくpostができない状況となってしまった。
原因を調べたらLambda側でそういう趣旨のレスポンスをしているということだった。
とりあえず対策としてはそもそもpostする際のパラメータを普段とは違う形で投げる必要があった的な。
ってことで今日はそのお話をば。
2015年11月1日日曜日
インラインルーティングを使って、fuelphpの動的ルーティングを簡単に設定する方法的なお話
なんのこっちゃって話だけど、fuelphpのルーティング設定の仕方。
http://hogehoge.com/1みたいな形でとあるテーブルのid=1のデータを表示したいということがある。
その場合はconfig/routes.phpに'(:num)' => 'detail/index/$1'みたいな感じで設定してあげればいい。
この場合は1だからわかりやすいんだけど、http://hogehoge.com/(任意のページ)みたいな形のときは、
'(:any)' => 'detail/index/$1'と書くと、他のページとバッティングするとかそういう問題が出てきてしまう。
で、そのバッティングを封じるには全ページのルーティング内容を表示しないといけないけどそれって面倒。
特にページが増えてしまったときとかはいちいちroutes.phpに設定を書かないといけないのでもう最悪。
ってことで今回はそれでいちいち全ページにルーティングを書かないで済む方法的なお話をば。
2015年10月30日金曜日
fuelphpでPresenterから、ベースとなるテンプレートの変数を代入する的なお話
fuelphpでheaderやfooterが記載されたbase-template.phpをテンプレートとしたbase.phpというController_Templateを用意し、
それを継承したcontrollerで$this->template->contents = Presenter("index")みたいな感じでやって、
なんか面倒な処理をPresenter内でやるみたいな事はすごく便利ではあったりする。
けどこれってbase-template.phpのheader部分やfooter部分の変数を代入する事が出来ないっていう問題が発生する。
その場合base.phpのafterなりでごにょごにょするっていう方法もあるけど、動的なサイトの場合titleとかがんがん変わるわけで。
その度modelからControllerなりPresenterなりで処理したものをもう一度やるってなると無駄なわけで。
ってことで今回はそれを解決するための荒技を見つけたのでそのお話をば。
2015年10月26日月曜日
fuelphpでエラーをslackに送ってくれるpetsというパッケージを作ってみた的なお話
fuelphpでサーバサイドを開発している際に、もちろんエラーを確認するわけだけど、
DEVELOPMENT環境であるならばどういったエラーが出てるとかそういう事は見れるわけだけど、
PRODUCTION環境ではoopsだったりviews/errors/production.phpに設定しているファイルが出るから見れないわけで。
で、そういった場合はfuel/app/logs/を見ればわかるんだけど、中々に面倒だし、
そもそもスケーリングしてる環境だとどのサーバで起きた問題なんだとかそういうこともあるわけで。
というかそもそも本番環境でエラーが出すなよっていう話ではあるんだけれども、まぁ見たいよねと。
ってことでそれをslackに送ってしまえばそもそもいつでも確認できるしリアルタイムに見れるわけだし。
ってことでそのためのパッケージを作ったので今日はその紹介をば。
ちなみにpush error to slackってことでpetsっていう名前。
2015年10月25日日曜日
fuelphpのImageクラスでThe library does not support this filetype for /tmp/*って出てしまう問題を解決する的なお話
ファイルをアップロードして、そこからcropするなりresizeするなりしておきたい場合がある。
fuelphpにはUploadクラスやImageクラスで簡単にそこら辺が使えて便利だったりはするけど、
なんかいちいちアップロードして一時的なフォルダにおいて、
そのファイルをごにょごにょして格納したいフォルダにおいて、
一時的なフォルダに逃がしておいたファイルを消すという作業は面倒なわけで。
ってことで今回はその面倒な過程を省略するんだけど、
その途中でエラーが出てしまう問題を解決する的なお話をば。
2015年9月17日木曜日
fuelphpで日本語メールを送る際に文字化けしてしまう問題を、文字数云々問わず解決する的なお話
随分前にfuelphpでメールを送る際に文字化けしてしまうみたいな記事を書いたけど、結局のところタイトルの文字数を短くすればっていうよくわからない解決方法になった。
けど、そんなんじゃちょっと微妙だよねと思うわけで。
で、今回はそれをちゃんと解決しましょう的な方法を見つけたのでそのお話をば。
2015年9月12日土曜日
iOSから送られてくるバイナリ画像(base64エンコードされた画像)をfuelphpでS3にアップロードする的なお話
なんかアプリとかそういうのを作っていると、画像をサーバに送信したいとかそういうときがある。
そういうときは画像をサーバ上というかS3上に保存する必要があるんだけど、
これってwebサイトのinput type="file"とは違ってファイルがそのまんま送られるわけではないのそう単純なことではなかったりする。
バイナリというかバイナリ文字列がポストされてくるみたいな。
で、そのバイナリを保存してさらに拡張子を付ける必要があるんだけど、簡単にやろうというのが今回のお話。
一応fuelphpでって書いてあるけどfuelphpを使ってる部分は少ないので、
PHPでちゃんとプログラムを書ける人であればしっかりと理解出来るんじゃないか的なお話をば。
2015年7月1日水曜日
S3のあるバケットにファイルがアップされたら違うバケットにコピーするのを、SQS+fuelPHPのtasksを使ってやってみる的なお話
S3のあるバケットにファイルがアップされたら違うバケットにコピーしたいってことをしたいときに、
通常だったらcronで定期的にS3のあるバケット内を監視するなりなんなりが考えられるけど、
それってまぁあまりエコじゃなかったりとかそもそもそこまでする必要はないんじゃないかとか、
というかそもそもとあるバケットからとあるバケットにコピーする場面ってぶっちゃけあまりないよねとは思うけど。
けどまぁそこらへんをうまく解決するにはS3のイベント通知をSQSに向けてあげることで解決出来るかと。
ということで今日はその辺のお話をば。
2015年4月6日月曜日
facebookのプロフィール写真など、外部URLの画像をS3にアップする際に注意すること的なお話
Webサービスを作る際に、facebookのプロフィール写真をユーザーの顔写真にしたいことってあると思う。
もちろんその際に単純にfacebookの写真のURLをデータベースに格納すれば良いとは思うけど、
facebook連携が任意の場合だと結局のところ画像サーバー上に画像を保存しないといけない。
なので今回はfacebookの画像をS3上に保存する方法的なお話をば。
2015年4月5日日曜日
2015年4月4日土曜日
2015年2月10日火曜日
fuelphp+Facebook SDK for PHP v4+App Roleでサイト管理画面を楽に作る方法的なお話
新しくサービスを作るなりなんなりするときにやっぱり作る必要がある管理画面。
fuelphpのmigrationなりを使えばさくっと作れるんだけど、そこで権限の付与とかなるとconfigの設定なりで面倒だったり。
というかそんなのはもっと簡単にやりたいぞ!っていう人にオススメなのがFacebookのログイン機能を使う的な。
Facebookのアプリにはサンドボックスモードがあるので誰もがアプリを使う事が出来ないようにするとか、
Roleという形で役割を付与する事が出来たりする。
で、これを使えばサイトの管理画面でもその権限を継承したままアプリをインストールした人しか見れないので楽だったり。
ということで今日はアプリの権限を確認する方法だったり、管理画面の認証機能だったりの作り方のお話をば。
2015年2月5日木曜日
fuelphpで保存されるsessionで、Twitterbot/1.0やfacebookexternalhit/1.1といったbot系を保存させないようにする方法的なお話
fuelphpでsessionの保存先をDBに変更する的なお話でDBにセッションを保存するといいよ的なお話を書いたけれども、
Twitter CardsやFacebook OGPなどのクローラーがアクセスした際に、そのセッション情報も保存してしまうということがある。
特にTwitterは中々の数クロールされるので、いらないデータがDB内に多くたまってしまう。
ということで今回はそのいらないセッションデータを溜まらないようにするにはという方法をば。
2015年2月4日水曜日
fuelphpでsessionの保存先をDBに変更する的なお話
fuelphpでSession::set("hoge","hogehoge")みたいな形でセッションを保存出来る。
これは中々に便利でSession::set_flash("hoge","hogehoge")みたいな形でやると、
次のページでしかそのセッション値を取得出来ないといったことが出来る。
というのはまぁ置いといてこのSessionクラスだけど初期の保存先はCookieになってしまっている。
Cookieだとブラウザに保存されるからセキュアではないとかっていう形になってしまう。
ということで今日はSessionの保存先をDBにしてセキュアにしてみる的なみたいな。
2014年9月13日土曜日
fuelphpでAWSのSESを使ったメール送信システムを作りたい的なお話
fuelphpを使ってサイトを構築するってなると、ある程度の規模のwebサイトやアプリだったりするわけで。
大体会員登録だとかなんだとかでメールを送る必要があったりする。
サーバーをレンタルサーバーとかでやっていれば何も関係ないんだけど、
AWSでサーバーを構築する場合はサーバーリソースを考えると、webサーバー・DBサーバー・メールサーバーと分けたいわけで。
postfixを入れたサーバーを立ててもいいけど、それだと値段的なものとか考えても無駄だし、
SESを使うことによって節約になったりそもそもメールサーバーを立てないでいいというなんという便利な感じ。
ということで今日はSESをfuelphpで使うには的な話をば。
2014年9月8日月曜日
THE FASHIONHACK IN TOKYOに、エンジニアとして参加してきて賞が取れた的なお話
六本木のGoogle Japanオフィスで行われた「THE FASHIONHACK IN TOKYO」に参加してきた。
FASHIONHACKは海外で2013年から行われていて、日本初上陸みたいな感じ。
ファッションに関するハッカソンが日本で初めてってことで中々注目されていたり。
主催はハースト婦人画報社とiQONを運営しているVASILY。
自分の中で今回は二回目のハッカソンということで、
初めてのハッカソンにあたる「Music Hack Day Tokyo 2014」とはこれまた違った感じで中々面白かった。
ちなみに自分たちのチームが作った「bonjour」はこちらから。
ということで今日はそのお話をば。
2014年7月15日火曜日
fuelphpでFacebook SDK for PHP v4を使って、ログイン処理と情報取得を実装してみた的なお話
コロコロ仕様が変わって大変面倒なFacebook API。
今までは内部的なところだったりなどして、APIを使うエンジニア側としてはそんなでもなかったけど、
ここにきて遂にFacebookが本気出したのかGraph APIをv2.0にアップデートさせてきた。
これによって何か変わるかというと、/meでやっていたものをv2.0/meにしないといけないみたいな。
もちろんこれだけではないんだけど細々と取り方とかが色々と変わり、
さらにSDKのメジャーアップデートがなされてPHPはv4になったという。
で、PHP SDK v4を使ってログインとか自分のデータを取り出すとかやってみたので、今日はその話をば。
ちなみにちょっと長いので要注意的な。
2014年6月28日土曜日
ViewModel内でPaginationが2回実行されてしまう問題的なお話(ViewModelが2回呼び出される問題)
なぜかPaginationを二回呼び出してることになってるっぽい
fuelphp1.7を使ってwebアプリやサービスを作ってる際に、
Controllerが汚れるのが面倒だし、可読性やらなんやらとかを考えた際に、
Modelを使うのは当然だけどModelよりもViewModelを使ってあげると色々とはかどる。
ViewModelはViewに対して諸々処理をしてあげるって感じで、
ControllerがModelからデータを引っ張って来て、そのデータをViewModelで処理してViewに表示するといった流れ。
ということでかなりいい感じで分離させることが出来るのでよかったりする。
ってことで今日はViewModelのサンプル的なものと、ViewModelを1.7で使うとバグがあるのでその対処法的なお話をば。
Adsense
Adsense
Popular Posts
- ブラウザの閉じるイベント時に何かしたいのでbeforeunloadを使ってみる
- 面倒なテーブルタグの簡単な作り方
- jquery.hashchange.jsを使ってDOMの状態記録?的なことをする
- XMLを読み込んだときにエラーが出る、もしくは読み込めない。(EntityRef問題)
- Macの起動ディスクの容量を確保するために、sleepimageの削除および設定
- json_decodeをする際になぜかエラーが発生してちゃんとデコードしてくれない的なお話
- javascriptで子ウィンドウが閉じているかどうかを確認して、閉じてたら何かしたい的なお話
- ブログデザインを動的ビューに変更したら諸々と
- font-awesomeをcssのbackgroundとして使う的なお話
- jQuery1.9以上はbind・live・delegateをonで書きましょう的な話
Amazon
Labels
- Javascript
- React Native
- AWS
- PHP
- jQuery
- expo
- fuelphp
- React
- Titanium
- iOS
- TypeScript
- webアプリ
- firebase
- jQueryプラグイン
- Node.js
- レビュー
- CSS3
- MySQL
- iPhoneアプリ
- Mac
- Xcode
- golang
- Android
- Blogger
- Facebookアプリ
- webpack
- webサービス
- 購入物
- .htaccess
- HTML
- HTML5
- bootstrap
- wordpress
- Androidアプリ
- Macアプリ
- SQLite
- github
- npm
- アプリ紹介
- サーバ
- Music Hack Day
- docker
- heteml
- iPhone
- python
- react-native-unimodules
- sublime
- 勉強会
- 画像処理
- Apache
- Bitrise
- CSS
- ESLint
- Echo Nest
- FQL
- Linux
- ScrollTween
- SoundCloud
- electron
- ffmpeg
- hooks
- json
- nginx
- redis
- swift
- ゲーム
- スパム
- テンプレート変更
- ブラウザ
- 技術書典
- API Blueprint
- Apple Silicon
- DMM mobile
- Facebookプラグイン
- Gracenote
- IE8
- LESS
- Quirky
- SIM
- SendGrid
- Spotify
- bonjour
- getstage
- googleアナリティクス
- hackathon
- iPad
- iQON
- iScroll
- imagemagick
- jQuery UI
- jQuery mobile
- kampa
- lua
- musiXmatch
- prisma
- rsync
- slack
- spreadsheet
- ssr
- surface
- wasabeat
- windows
- エイプリルフール
- スマホ
- ハッカソン
- ハースト
- パララックス
- ファミマ
- 中華まん
- 動画
- 動的ビュー
- 応募
- 教えて
