読者です 読者をやめる 読者になる 読者になる
一人もくもく会 α verでサービス開始しました。

CakePHPとLaravelの使い道

ずっとCakePHPを好んで使ってきたが、Laravelがすごく人気が高いとのことなので使用してみて色々と比較。 情報量 Laravelはドキュメントのどのページを見ても何か説明が足りない気がする。 人のパッケージのソースを見たり検索で情報を探したりしなければな…

Laravelのdebugbarでテンプレートに渡された変数を自動的にダンプ

GitHub - barryvdh/laravel-debugbar: Laravel Debugbar (Integrates PHP Debug Bar) を使うと Debugbar::info($var); でdebugbarのMessagesタブにその変数をダンプすることができる。 ビューコンポーサーを利用するとviewにセットした全ての変数を自動的に…

ReactでMinified exception occurredエラーが出る場合

ReactでMinified exception occurredが出ることがある。 エラーが出ているのだが、min.jsの方を使っているとエラーがjsファイル内に記載されていないのでminのついてないjsファイルを読み込むと正常にエラーメッセージが表示される。 ちなみに自分の場合はデ…

CakePHP3のテスト時にBehaviorによるエラー

CakePHP3でテストをする際、突然大量のエラーが発生することがあった。 その直前にやったことといえばBehavior関連のテストの作り込み。 関連するテストが2箇所あるのだが、その両方を実行するとエラーになり、どちらかだけコメントアウトするとエラーが出…

CakePHP3のテスト時にテーブルが見つからない場合

CakePHP3でphpunitを走らせるとテーブルが存在しない旨のエラーが発生。 fixtureもあるしちゃんと設定もしてあるし、なぜ発生するのか不明… という場合。 behaviorのinitializeの中でTableのschemaを取得などしていると、 テーブルをfixtureの設定ではなくim…

CakePHP3のシンプルなアップロードプラグインを作成

CakePHP3用のシンプルなアップロードプラグインを作成した。 GitHub - dala00/cakephp-simple-upload そもそもCakePHP3用のアップロードプラグインは有名なものが存在する。 GitHub - josegonzalez/cakephp-upload: CakePHP3: handle file uploading sans ri…

CakePHP3の多言語対応が正しく動作しない場合

CakePHP3には元々多言語化機能が付いている。 src/Locale/ja/deafult.po に翻訳ファイルを設置しておくのだが、 これが正しく動作しない場合があった。 原因として、このファイルをCakePHPが読み込む際に is_fileでファイルかどうかを取得しているのだが、 …

mochaとPhantomJSでjavascriptのテスト

開発中のWEBサイトのjavascriptのテストをコンソールで自動化するシンプルなプロジェクトを作成した。 使い方だが dala00/test_by_phantomjsをクローン npm install npm test でspecフォルダの全てのテストが走る。 ライブラリ PhantomJS 画面表示のないブラ…

wordpressからはてなブログへ各記事の301リダイレクトRewriteRuleを自動作成

wordpressからはてなブログの各記事毎の301リダイレクト用RewriteRuleを 自動一括作成するプログラムを作成した。自分用に適当に作ったので/?p=1111という記事形式にしか対応してない。 ちょろっと修正すれば他の形式もいけると思う。使い方はwordpressのフ…

AtomでjQueryイベントのアウトライン表示

Atomのパッケージにはsymbols-tree-viewというのがあり 様々な形式のファイル内のアウトライン表示を行ってくれ、 クリックで簡単に定義に飛ぶことができる。ただ、Javascriptはどうも思った通りに解析されないので 上手くやる方法はないか調べてみると、 こ…

CakePHP3のテストの時はメールを送信しないようにする

php

CakePHP3のテスト実行時にメールを送信しないようにする方法。 DebugTransportというメールを送信しないトランスポーターがあるので その設定に置き換えるだけ。 モックの使用なども特になくシンプル。 public function setUp() { parent::setUp(); Email::d…

CakePHP3でのajaxを取得する場合

php

CakePHP3でajaxにてデータを取得する場合、 普通にテンプレートとアクションを作っても 何故かテンプレートがないと文句を言われた。どうもajaxの場合は Layout/ajax/default.ctp を用意しなければならないらしい。 アクションテンプレート側も同様に ajaxフ…

CakePHP3のHelper内でViewにsetされた値を取得

php

CakePHP3にて、controller側で $this->set('hoge', $hoge); した値はヘルパー内では $this->_View->get('hoge'); のようにして取得できる。

CakePHP3にてbehaviorのbeforeSaveが機能しない場合

php

表題のままなのだが、TimestampBehaviorのように 保存時にとあるフィールドを自動保存するbehaviorを作成した。 マニュアルのままやっただけなのだが全く動作する様子が無い。数時間調べて分かったのは、 どうもそこを動作させる際にdirtyを見ているらしく、…

CakePHPのページネーションのソートでリレーションモデルを使う

php

CakePHPは下記のようにして一覧ページを指定カラムでソートできるリンクが作れる。 $this->Paginator->sort('age', '年齢'); この時、一覧ページにリレーションデータの列などがあると そちらでもソートできないといけないのだが、 $this->paginateにorderを…

IEでFileReaderが使用できない件

IEでFileReaderや、 prop('files') が使用できない事があった。 IE8以下で使用できないのは知っていたがIE11で発生。原因は多分ローカルサーバーだったせいっぽい。 開発サーバーにアップしたもので試したら問題なかった。

Brackets VS Atom

BracketsとAtomの比較だが、Atomの方が優勢だと思う。・Bracketsはホイールのスクロール量がおかしく、 上下分割をしている時にスクロールしすぎて使いものにならない。・Bracketsで1000行以上のファイルを編集しているとカクカクになる。 Atomで同じファイ…

iOSアプリでリジェクトされまくった件

iOSアプリの申請でリジェクトが連続した。リジェクト内容としては下記。 2.2 - Apps that exhibit bugs will be rejected具体的には、In App Purchaseで購入したゲーム内通貨が正しく反映されないというもの。最初、スクリーンショット(購入前、購入後の2…

cakephpで作ったサイトを他のサーバーへコピーでエラー

php

cakephpで作ったサイトを他のサーバーにコピーすると500エラーが発生した。 cakeのログにもapacheのログにも何も出力されていない。詳しく調べてみると、 app/tmp/cache/persistentの中のファイルが残っていたことが原因。 どうもincludeすべきファイル群の…

XAMPPのmailoutputを閲覧するプログラム

XAMPPのデフォルトのメール送信はmailtodiskになっており、 実際にはメールは飛ばず隣のmailoutputというフォルダに メールが保存される仕組みになっている。 ローカルで開発を行う際にはテストでメールがいっぱい飛ぶと厄介なので メールが飛ばないのは意外…

xcodeのrun scriptでエラー

xcodeのrun scriptにcpやmvを入れると error code 64がどうとか出て実行ができなかった。 lsとかは動作する。詳しくは分からないがshファイルを作成して それを呼び出すだけにしたらうまく行った。

Cocos code IDEの必要性

Cocos code IDEを使う必要性は現在皆無だと思う。すぐデバッグができるが、WEB、実機共に実際のリリース環境で動作するものとは プログラム自体が違うため使う理由が無い。 関係ない不具合などもある。 そのため、基本的にデバッグに使用することはできず、 …

cocos2d-jsにてiOSでWebViewを表示する

cocos2d-jsのiOSの方でWebViewを表示する方法。 ダイアログ、ポップアップ、ウィンドウ、モーダル、等 色々検索結果に迷うと思うが多分ここではモーダルが正しいと思う。cocos2d-jsで検索したら情報は少なかったのだが、 単純にモーダルでWebViewを表示する…

cocos2d-jsでAssets Managerを使用する

cocos2d-jsでAssets Managerを使用しようと思ったのだが、 どうもドキュメントもサンプルも説明が少なく、 ネット上にも情報が少ないので色々試さなければならなくなったのでメモ。公式のマニュアルは下記。 http://www.cocos2d-x.org/docs/manual/framework…

BEADが64bitに対応していない(2015/5/1現在)

※追記 5/12現在対応した旨のメールが来ていた。 追記終了 iOSアプリを審査に出そうとしたらエラー。 (記事投稿日時の時点での話です。最新情報をチェックしてください。) we recommended using the default xcode build setting of "standard architecture…

cocos2d-jsプロジェクトにBEAD広告でリンクエラー

cocos2d-jsプロジェクトにBEADを導入したらリンクエラーが出るようになった。 ObjCのリンクオプションあたりが原因だと思うが、 まずBuild PhasesのLink Binary With Librariesに たしかGameController.frameworkを追加した。なんか-ObjCを使うとエラーの出…

cocos2d-jsでObjective-Cからjavascriptを呼び出す

cocos2d-jsで、javascriptからObjective-Cのメソッドを呼び出す方法は マニュアルにも有りAndroidとほとんど同じなので特に問題なかった。 しかし、Android側のマニュアルでは最後に逆の方法も書かれていたのだが iOSのマニュアルの方にはなぜか何も書かれて…

cocos2d-jsでniftyのmBaaSを使用する

cocos2d-jsのjs側でniftyのmBaaSを使用してみた。 java側でも別にいいのだが、いちいちjava側にいろいろな処理を書いていたのでは せっかくjsで作っているメリットが薄れてしまうと思うので なんとかjsだけで完結できないか試してみた。Androidのみのテスト…

cocos2d-jsでIn-app billingの文字化け対策

cocos2d-jsを使ったAndroidアプリで、 In-app billingのアイテムデータを取得して価格を表示しようとしたら 思い切り文字化けしていた。(円マークが全角だったので) どうもJavaからjavascript側にデータを渡す際に文字化けを起こしてしまうらしい。In-app b…

cocos2d-jsにてfirefoxでLabelTTFがずれる

firefoxだとLabelTTFの文字が全部上にずれて上端が切れていて愕然とした。 ただ、WEB版のいいところはjsが完全に独立しているため どんなに弄ってもAndroidやiPhoneの動作に全く影響を与えない所。というところで処理を追ってみたところ、 下記のようにオフ…

cc.sys.localStorage.getItemのデフォルト値

Windowsだとnullでチェックできたのだが、Androidだと上手く動かなかった。 調べてみるとtypeofがstringなのでどうも空文字らしい。

cocos2d-jsでのBGMの扱い

cocos2d-jsでWEBでプレイする場合はいいのだが、 androidの場合はやはりメモリの圧迫が気になる。しかしどうもBGMを解放するためのメソッドが見つからない。 effectの方はあるようなのだが。 cocos2d-jsの場合、ライブラリのプログラムを見て無理やり実装し…

cocos2d-jsでout of memory

ブラウザで確認しつつ作成したゲームをAndroidで確認したら どうもOut of memoryエラーが出ているようだった。 位置を確認してみるとどうやらJSON.parseのところで出ているようだった。楽をするためにデータをjs上に定義せず、 サーバーのDB上でjsonにして取…

cocos2d-jsのccui.ListViewを使う

cocos2d-jsのccui.ListViewを使う。 これもcocos studioのために使われているクラスで、 要素を追加していくと自動的に並べてフリックでスクロールできるようにしてくれるすごい便利アイテム。 var list = new ccui.ListView(); list.setDirection(ccui.Scro…

cocos2d-jsのPageView

cocos2d-jsにはccui.PageViewというものがある。 Cocos stuidoでも追加できる、フリックでページ切り替えができるとても便利な要素。ページの追加 view.addPage(ui); ページの移動 view.scrollToPage(0); のような感じで操作できる。 イベントハンドラもある…

cocos2d-jsでccui.Buttonを使う

cocos2d-jsでccui.Buttonを使った。 これは何かというと、Cocos Studioで配置したボタンのために使われるクラス。 それをそのまま使ってしまう方法。なぜそのような方法を使うかというと、 通常ボタンを使うためにはMenuItemを使うのだが、 タップを有効化す…

cocos2d-jsにてandroidでサウンドの再生

cocos2d-jsのプロジェクトにBGM等を対応したのだが、 どうもまたリソースのパスの扱いが画像など違うみたいで上手く再生されなかった。Windowsの場合・preloadは画像と同じで良い ・再生時はダメ。cc.loader.resPathを自分で付加しなければならない。Android…

cocos2d-jsのScrollViewをマウスホイールでスクロール

cc.ScrollViewをWindowsの場合はマウスホイールでスクロールさせた方がいいと思うが、 存在するメソッドはscrollToPercentVerticalという絶対位置指定だけなので、 残念ながら現在希望を満たす機能は無い。Windowsだけであれば他の端末の動作に影響などもな…

cocos2d-jsでjavascriptファイルだけをコンパイルする

cocos2dx-jsでAndroidにて実機確認をする場合、 jsをjscにコンパイルする必要があるのだが、 cocos compileで全部コンパイルすると時間もかかるし eclipseのプロジェクトのライブラリプロジェクト等の更新をして 参照解決などもしなくてはいけないしいちいち…

cocos2d-jsのAndroidでjavaからjavascriptを呼び出す

マニュアルを見ると、javascriptからjavaを呼び出す説明ページの一番下に さらっと当たり前のように逆の方法もできますよ、ということが書かれているが、 実際やろうとするとそのクラス名が解決できないと言われる。使いたければ手動で設定しろという感じの…

メーラーを卒業

PCの調子が悪くなってきたので以前に元々ゲームで使用していたスペックの高いPCに乗り換えた。 それに伴いthunderbirdを卒業した。元々、その前にPCを乗り換えた際に、thunderbirdの設定をimapのみにしていた (以前使っていたプロバイダのメールなどは全部g…

cocos2d-jsのアクションのエフェクトを初期化する

cocos2dxにはNodeGridを使うことで色々なエフェクトをかけられるエフェクトがある。 それとフェードを合わせて非表示にして、再度表示して使いまわそうとしたら エフェクトがかかって表示が崩れている状態のままだった。cc.StopGridのアクションを使うことで…

cocos2d-js用のデータをgoogleスプレッドシートで管理する

別にエクセルで管理してcocos studioで出力したjsonでも良いのだが、 cocos2dx-jsはhtml5用としても作成できるため、 その場合jsonファイルが個々のファイルとしてリソースになってしまい、 メインの圧縮されたjsに組み込まれず jsonファイルの分だけサーバ…

cocos2d-jsの色々なアクション

cocos2dxのアクションを調べていると色々面白そうなものがあったので試してみたが、 GridActions can only used on NodeGrid というエラーが表示されて上手く動かない。 調べてみると、NodeGridというものにしか使用できないらしい。 とはいえ、NodeGridにsp…

cocos2dxのfntファイル簡易作成ツール

function fntGenerate() { var w = document.getElementById('fntWidth').value; var h = document.getElementById('fntHeight').value; var count = Number(document.getElementById('fntCount').value); var lineLength = Number(document.getElementById(…

cocos2d-jsでandroidのバックキーイベント取得

androidのバック(戻る)キーを取得してアプリを終わらせる方法。 (v3.2) var listener = cc.EventListener.create({ event: cc.EventListener.KEYBOARD, onKeyReleased:function (key, event) { if (key == cc.KEY.escape) { cc.director.popScene(); } } });…

cocos2d-jsでandroid実機確認できるまでの流れ

cocos2dx-jsでandroidにapkインストールして確認できるところまでを進めた。 自分の知識が足りなすぎるせいだとは思うが全然スムーズには行かず大変だった。 必要な設定が全部連動していなかったり、 cocos2dxやcocos studio等のバージョン同士がうまく連動…

cocos2d-jsにcocos studioで作成したシーンを読み込む

cocos2dx-jsにcocos studioで作成したシーンを読み込む方法。 すごくハマったので…。cocos2dx-jsのバージョンは3.2。 cocos stuidoのバージョンは1.6。 多分、完全に現状の状況での成功方法なので、 日があいたら他の方法を確認していただきたい。cocos stui…

UnityでInvalid editor window ExcelImporterMaker

Unityでプレビューとビルドしたもので解像度にズレが出るため、 Maximize on Playをオンにしてプレビューしてみたところ Invalid editor window ExcelImporterMaker というエラーが出た。検索してみても分からなかったのだが、 Unityはプラグインをプログラ…

PHPExcelで画像貼り付け時にsetOffsetYが効かない

PHPExcelでシート上に画像を貼り付けるサンプルがネット上で見つかる。 そこではまず貼り付ける位置をD20等で指定し、 その後setOffsetXを使ってX座標の微調整をするのをいくつか見つけたのだが、 setOffsetYを使ってY座標の微調整ができない。setOffsetYと…