2017-01-01から1年間の記事一覧

ionic(cordova)にて無限スクロールが途中で止まった時の対応

なんのこっちゃというタイトルですが。無限スクロール実装して、実機で検証していると意図せず途中で止まってしまうことがあった。不定期なので気づきずらかった。ちなみに無限スクロールに実装サンプルはこちらに書いて見た。で、以下のコードを無限スクロ…

ionic(cordova)にて無限スクロールを実装する

今回やりたいこととしては以下 ・サーバーからデータを取得してレスポンスがなくなるまで無限スクロール ・エラーがあったら再読み込みボタンを表示普通の無限スクロールです。ひな形としてメモしておく。想定するJSON [{id: 1, name: "Tom"}, {id: 2, name:…

ionic(cordova)にてAndroidでもタブバー(ion-tabs)を画面下にする方法

Androidでion-tabsをデフォルトのまま使うとこんな感じで、画面上に設置され選択中のタブの下にラインが表示される。Android的にはこのUIが推奨されるのでしょうが、実案件ではiOSと合わせるということも多いはず・・・ angular.module('starter', ['ionic',…

ionic(cordova)の開発環境構築で最低限必要そうなプロジェクト開始手順をまとめておく

はじめに いまさらバージョン1系かよ。 という内容だが個人的にはまだまだ使う機会ありそうなのでプロジェクトを作成してから開発に入るまでの最低限必要そうな手順をメモしておく。バージョン2は勉強中。 各ツールバージョン バージョンによって動いたり動…

Amazon LinuxにNginxをバージョン指定してインストールする

公式サイト(http://nginx.org/en/linux_packages.html#stable)に、repoファイルの書き方がのってる。ひな形 [nginx] name=nginx repo baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/ gpgcheck=0 enabled=1OS = centos、OSRELEASE=6とする。 [ng…

【angularjs】serviceで [$injector:unpr] Unknown provider が出た時の対応

半日くらいハマりました。エラーが出てたコード angular.module('myApp', []); angular.module('myApp') .service('myService', function() { ・・・ }); angular.module('myApp', ['ngCordova']) .service('myService2', function() { ・・・ });修正後のコ…

ionic(cordova)にて screen-orientationプラグイン を使って画面ごとに回転時の表示を切り替える

はじめに 今回やりたかったことは 端末を回転したときに画面Aでは縦固定、画面Bでは縦横どちらにも対応みたいなこと。プロジェクトを作成 $ ionic start sample tabs今回は複数画面必要だったのでtabsを使った。プラグインをインストール $ ionic plugin add…

phpで時刻が9時間ずれてたらタイムゾーンを設定した方がよい

php

なにをいまさらな内容。というか愚痴。 サーバーの設定とかいじれない環境での話。こんなコードがあちこちにあった。 $date = date("Y-m-d", strtotime("9 hour"));どっかで1行セットしておいてください。 date_default_timezone_set("Asia/Tokyo"); $date =…

【ionic】ion-side-menusを常に表示する

ionicの仕様?なのかナビゲーションの2階層目以降では消えてしまうようなのだが今回は全画面で表示したかった。よくわからなかったのでcssで無理やり実装。以下を追記したらいけました。 .bar .buttons .hide { display: block !important; }以上です

ionic(cordova)でsqliteを使う - ngCordova

はじめに 今回やりたかったのはsqliteを使う際に共通の処理とかはどこかにまとめておきたかった。接続とSELECT、INSERT、UPDATE、DELETEあたりをまとめられればよいかなという方針で。次回簡単に使えるようにメモしておく。インストール $ bower install ngC…

ionic(cordova)にてngStorageでlocalstorageを使う

bowerでインストール $ bower install ngstorage --saveindex.htmlで読み込む ・・・ <script src="lib/ngstorage/ngStorage.min.js"></script> ・・・今回はserviceで使った。 angular.module('myApp', ['ngStorage']) .service('myService', function($localStorage) { this.getByStorage = function() { return $…

ionic(cordova)で複数人でチーム開発するときのながれメモ

1人でやってるときは問題なかったけど、複数人でやってるときに最初うまくいかずにハマったのでメモしておく。 新規プロジェクト作成の場合 新規にプロジェクトを作成してandroid を追加(iosはデフォルトで登録済み) $ ionic start sampleApp blank -a "アプ…

ionic(cordova)で本番環境、開発環境を切り替える

ionicに限った話じゃないかもしれないけど。 今回やりたかったのは、本番と開発でつなぎこむAPIのURL等を切り替えたりしたかった。今回は少し調べて、node-env-fileというのを使った。 また、gulp-concatも使ってる。今回は以下のようなファイル構成を想定。…

ionic(cordova)で横スクロールするメニューを実装するときのメモ

cssでの実装でこちらを参考にそのままいけました。 Appleに学ぶ、横スクロールナビを組む時のCSSメモ - Qiita Horizontal Scrollable Navigation Sampleが、ionic serveでブラウザで確認したところ問題なかったのだがビルドしてアプリとして確認したところ動…

【mysql】特定のキーワードが入っているレコードでソートする方法メモ

こんなことができたのか キーワードがあるものを上にもってくる。 select id, title from daily order by title like "%キーワード%" desc;以上です

【cakephp】サブクエリを実行する方法メモ

サブクエリのサンプルメモ。 ついでにgroup by した結果のレコード数を求めるサンプル。 $dbo = $this->MyTable->getDataSource(); $subQuery = $dbo->buildStatement(array( "fields" => array("distinct MyTable.id"), "table" => "my_table", "alias" => …

【cakephp】paginateでのorderが効かなかった時の対応

また、たまにしか触らないcakephpではまった。しかもバージョン1 paginateでなぜかorderだけ効かなかったこんな感じの基本的?なもので他では動いていたのに。。。 $this->paginate = array( "fields" => array( "Table.field1", "Table.field2", ), "order" …

【ionic】ionic buildでgulpを実行する

今回やりたかったのは、ionic buildでもgulpが動くようにしたかった。https://codepen.io/leob6/post/quick-tip-using-gulp-to-customize-the-serve-run-and-build-process-for-your-ionic-framework-apps こちらにやり方書いてあった。gulpfile.jsの例 gulp…

git mergeやり直し手順メモ

git

マージし直すときの手順メモ。いちおう今回はマージ先のブランチを残したい場合。で、この例だとgit reset でやり直せるけど今回やりたかったのはpushしたマージをやり直したかったのでこの形になった。最初のマージ $ git branch * dev1 dev2 $ git merge d…

無料で使えるSEOツールまとめメモ

seo

最近、SEOツールを調べる機会があったのでメモしておく。っていっても使いこなせないのだが。。また調べることがありそうなのでそのときのためにメモしておく。 SEOチェキ http://seocheki.net/ ・発リンク数(外部リンク、内部リンク) ・Alexa traffic rank …

【ionic】タブの中に入れ子でタブをいれる方法メモ - ion-tabs

はじめに 今回やりたかったのはこんな画面。 イマイチできるのか不安だったけど無事できた。ionicは海外の情報が多くて「ionic tabs inside tabs」とか「ionic tab nested」ってみんな検索してるみたい。イメージはこんなかんじ アプリ特有?かわからないけど…

【angularjs】$http.postでのjson送信でoptions method not allowedを解決した時のメモ

やりたかったことは、localhostのサーバーで動いてるクライアントHTMLからサーバー上のAPIにPOSTでJSONを送るということでした。 なんかうまくいかなくて色々やってみたけど、結論からいうとangular側は以下のコードでいけました。クライアント側 $http.post…

【fuelphp】Redisでロック・排他制御する方法メモ

APIの実装でクライアントからの2重送信対策にRedisを使ってみた。 MySQLでやろうとも思ったのだが負荷のことを考えるとRedisの方がいいのかなという判断。 $token = クライアントから送られるトークン $redis = Redis::forge(); if (1 === $redis->setnx($to…

【javascript】iPhoneでpagehideが2回呼ばれたときの対応

今回やりたかったことは、ページから離れるとき(リンクとか)にその内容をサーバーに通知したいということ。pagehideで実装したのだが、なぜかiPhoneだとこれが2回呼ばれる現象だった(safari、chromeともに)。以下のようなコードで確認したところ、2回送信さ…

ionic(corodva)info.plistに追記して日本語化対応する - ios

アプリ内から別アプリを開いたら起動したアプリが全て英語だったのでその対応。というかionicで作ったアプリ自体が日本語化されてなかった。xcodeでの開発の場合は、info.plistを直接いじればよいけどcorodva使ってる場合はxcode上で直接編集したものはbuild…

gulp-concatでファイルを新規作成したときに動かなかったときの対応

gulp-concatがうまく動かなかった時のメモ。こんなことでひっかかる人あまりいなそうだけどハマったのでメモしておく。ファイルの更新では上手くいくが、新規作成と削除で上手く動かなかった。ディレクトリの階層が深くなるとダメなのかなとか思ったけど全然…

やっぱりphpのスクリプトはcronに直接設定しないほうがいいかもしれない

また初歩的なことでつまづいてしまった。ありがちなミスで開発中にコマンド上で実行してうまくいってたけどcronに登録したらエラーになってたってやつ。スクリプト内で呼び出す外部ファイルとかフルパスで書いておけば問題ないくらいで最近この形にしてたけ…

【CasperJS】プロキシを使う方法

やりかた違うけかもしれないけどこれだと動かなかった var casper = require('casper').create({ "proxy": "http://proxy.example.com:port", "proxy-auth": "user:password", }); これだと動いた $ casperjs /path/to/myscript.js --proxy=http://proxy.exa…

ionic(corodva)でplugin rmで「Path must be a string. Received undefined」の対応

自作したプラグインを削除しようとしたら以下のようなエラーが発生。rmしてaddし直したかったのだがハマった。。。 Error during processing of action! Attempting to revert... Error: Uh oh! Path must be a string. Received undefined色々試してたらplu…

ionic(cordova)のion-footer-barの高さを変える

やりたいことは画面の下に固定の領域を設けたかった。で、ionicにはというのがあって、これ使えばできた。cssでheight指定すればいいだけだった。。 <ion-pane> <ion-header-bar class="bar-stable"> <h1 class="title">フッターの高さをかえる</h1> </ion-header-bar> <ion-content> ・・・ </ion-content> <ion-footer-bar style="height:200px;"> <div class="row responsive-lg"> </div></ion-footer-bar></ion-pane>