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

cssでの実装でこちらを参考にそのままいけました。
Appleに学ぶ、横スクロールナビを組む時のCSSメモ - Qiita
Horizontal Scrollable Navigation Sample

が、ionic serveでブラウザで確認したところ問題なかったのだがビルドしてアプリとして確認したところ動かず。

<ion-contet overflow-scroll="true">
  ・・・
</ion-content>

overflow-scrollが必要でした。ionic serveでは動くのにアプリで動かないというのがよくわからなかったのですが。。。以上です

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

サブクエリのサンプルメモ。
ついでにgroup by した結果のレコード数を求めるサンプル。

$dbo = $this->MyTable->getDataSource();
$subQuery = $dbo->buildStatement(array(
        "fields" => array("distinct MyTable.id"),
        "table" => "my_table",
        "alias" => "MyTable",
        "conditions" => array(
                "MyTable.deleted =" => 0,
        ),
        "joins" => array(
                "type" => "left",
                "table" => "other_table",
                "alias" => "OtherTable",
                "condition" => array(
                        MyTable.id = OtherTable.my_table_id,
                ),
        ),
        "group" => array(
                "MyTable.id",
        ),
));

$query = "select count(*) as cnt from ({$subQuery}) as tmp";
$result = $this->MyTable->query($query);

以上です。

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

また、たまにしか触らないcakephpではまった。しかもバージョン1
paginateでなぜかorderだけ効かなかった

こんな感じの基本的?なもので他では動いていたのに。。。

$this->paginate = array(
  "fields" => array(
    "Table.field1",
    "Table.field2",
    ),
  "order" => array(
    "Table.field1 asc",
    "Table.field2 desc",
  ),
  "limit" => 30,
);
$this->paginate("Table", array(
  "and" => array(
    "Table.deleted" => 0
  ),
));

原因はurlパラメータにsortという名前の含まれていたのが原因だったぽい。
http://example.com/sort:1/・・・動かない
http://example.com/sort2:1/・・・動いた

こんなことありえるのか。。。このアプリケーションの問題なのかcakephpの仕組みの問題なのか追求する気力はないのでとりあえず完了としよう。。。以上です

【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.task("js.concat-controllers", function() {
  return gulp.src("www/js/controllers/**/*.js")
    .pipe(concat("controllers.js"))
    .pipe(gulp.dest("www/build/js"));
});

今回はwww/js/controllers以下のファイルをwww/build/js/controller.jsに結合して出力するようにしてみた。

で、さらに以下を追加

gulp.task('build:before', ['js.concat-controllers']);

で、以下を実行するとちゃんとcontroller.jsが生成されることが確認できました。

$ ionic build

以上です。

git mergeやり直し手順メモ

マージし直すときの手順メモ。

いちおう今回はマージ先のブランチを残したい場合。で、この例だとgit reset でやり直せるけど今回やりたかったのはpushしたマージをやり直したかったのでこの形になった。

最初のマージ

$ git branch
* dev1
dev2

$ git merge dev2
Auto-merging test
CONFLICT (content): Merge conflict in test
Automatic merge failed; fix conflicts and then commit the result.

〜コンフリクトを修正〜

$ git commit -m "マージするよ"

失敗に気づく・・・

マージやりなおす

$ git log --graph

*   commit xxxx3
|\  Merge: xxxx1 xxxx2
| | 
| |     マージ
| | 
| * commit xxxx2
| | 
| |     dev2で追加
| | 
* | commit xxxx1
|/
|       dev1で追加
| 
*  

# マージ前の状態で別ブランチを作る
$ git checkout xxxx1

$ git branch
* (HEAD detached at xxxx1)
  dev1
  dev2

$ git checkout -b work

# マージしなおす
$ git merge dev2
Auto-merging test
CONFLICT (content): Merge conflict in test
Automatic merge failed; fix conflicts and then commit the result.

〜コンフリクトを修正〜

# workブランチをdev1ブランチに置き換える
$ git merge -s ours dev1
$ git checkout dev1
$ git merge work

こんなやり方でいいのかわからないので、もっとよいやり方教えてください。以上です

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

最近、SEOツールを調べる機会があったのでメモしておく。っていっても使いこなせないのだが。。また調べることがありそうなのでそのときのためにメモしておく。

SEOチェキ

http://seocheki.net/
・発リンク数(外部リンク、内部リンク)
・Alexa traffic rank
ドメイン取得年月
1日200回までの使用制限がある。

Moz

https://moz.com/researchtools/ose/

ドメインオーソリティ(DOMAIN AUTHORITY)
・ページオーソリティ(PAGE AUTHORITY)
・ルートドメインへのリンク数(Root Domains)
トータルリンク数(Total Links)

無料アカウントつくれば何回でも使えそう

SEO TOOLS

http://www.seotools.jp/seoanalyze/

Googleページランク
・キーワード率(総単語数、頻出単語のキーワード率)
ドメイン取得年月

Majestic

https://ja.majestic.com/

・外部被リンク
参照元ドメイン
参照元IP

Similar Web

https://www.similarweb.com/

・訪問者数(Total Visits)
・滞在時間(Avg Visit Duration)
・平均ページビュー(Page Per Visit)
直帰率(Bounce Rate)

Pagespeed Insights

https://developers.google.com/speed/pagespeed/insights/?hl=ja

ページを解析して、修正が必要なところを指摘してくれる。PCとモバイルとそれぞれ対象。APIもある。

その他Google

site://example.com
link://example.com
Googleにインデックスされてるかの確認と被リンクされているかを確認できる。

他にもいろいろありそうだけどとりあえずこんな感じ。以上です。