[Laravel] 参考サイトいろいろ

Laravel where条件の使い方 | Webエンジニアブログ
http://dim5.net/laravel/using-conditional-where.html

Laravel クエリービルダーでの、サブクエリ(副問合せ)の書き方 – Qiita
http://qiita.com/10fuya/items/b8ac349ff81b4fa753a6

laravelのページネーションでpage以外のGetパラメータを引き継がせる方法 – Qiita
http://qiita.com/musclemikiya/items/a08c3985ece82272f10c

LaravelからElasticsearchを使ってみる | blue engineer blog
http://engineer.blue-corporation.jp/dev/laravel%E3%81%8B%E3%82%89elasticsearch%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B/

[PHP] Carbon – 日付時刻の処理クラス

Carbonは日付時刻を処理する便利なクラス。Laravelにも同梱されている。

Carbon – A simple PHP API extension for DateTime.
http://carbon.nesbot.com/

参考サイト

PHPで日付時刻の処理を書くなら Carbon がおすすめ : アシアルブログ
http://blog.asial.co.jp/1392

PHPで日付を扱うなら Carbonライブラリが便利すぎる!! – Sukohi’s tech blog!!
http://sukohi.blogspot.com/2014/08/php-carbon.html

[PHP] アクセス統計の仕組みのヒント

ページのアクセス統計の仕組みを実装する場合、アクセスログの取り方を工夫する必要がある。悠長にDBに記録したりしたらコスト高なので、Rawな記録はテキストファイルにして、一定タイミングでDBに集計するような段取りを考えたほうがよさげかと。以下の参考サイトにヒントがあったので覚え書きリンク。

だけど、現実問題としてフルスクラッチでアクセス統計を実装することにリアリティは薄そう。ログを低コストでファイルに吐き出して、高コストな集計作業はElasticsearch+Fluentdなどにお任せというのが現実的なソリューションかもしれない。

参考サイト

ページ閲覧回数の期間集計の仕方について – PHPプロ!Q&A掲示板
http://www.phppro.jp/qa/3712

php+mysqlでのアクセスランキング実装 – PHPプロ!Q&A掲示板
http://www.phppro.jp/qa/3380

PHPでアクセス解析を作ろうとした場合、ベストな方法はどれです… – Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11108642321

[PHP]ページごとの訪問者数を調べるアクセスカウンター | PHP Archive
http://php-archive.net/php/page-views/

Mysqlでログ系テーブルを運用するときやっておきたいこと – masayuki14 note
http://d.hatena.ne.jp/masayuki14/20120717/1342482553

[MySQL] 多対多関係のテーブルの連結

articlesテーブル
– id
– title
– body

tagsテーブル
– id
– name

articles_tagsテーブル
– article_id
– tag_id

参考サイト

多対多テーブルでMySQLでLEFT JOINして中身確認の備忘録 – Qiita
http://qiita.com/sgtn/items/66c192f11ae41cdd50af

[MySQL] テーブル結合 (LEFT JOIN、RIGHT JOIN、INNER JOIN) 覚え書き

LEFT JOIN句

  • 左側のテーブルのデータは全て表示する
  • 対応する右側のテーブルのデータを追加する
  • 対応する右側のテーブルのデータが存在しなければNULL

RIGHT JOIN句

  • 右側のテーブルのデータは全て表示する
  • 対応する左側のテーブルのデータを追加する
  • 対応する左側のテーブルのデータが存在しなければNULL

INNER JOIN句

  • 左右両方のテーブルで対応するデータが存在するもののみ表示する

参考サイト

MySQLのLEFT JOIN, RIGHT JOIN, INNER JOINの自分用まとめ – (゚∀゚)o彡 sasata299’s blog
http://blog.livedoor.jp/sasata299/archives/51106595.html

外部結合(LEFT JOIN句, RIGHT JOIN句) – データの取得 – MySQLの使い方
http://www.dbonline.jp/mysql/select/index15.html

内部結合(INNER JOIN句) – データの取得 – MySQLの使い方
http://www.dbonline.jp/mysql/select/index14.html

[MySQL] サブクエリ覚え書き

パフォーマンスに注意すること。書き方によって速度にかなり違いが出るらしい。

参考サイト

サブクエリを使った検索条件の設定 – データの取得 – MySQLの使い方
http://www.dbonline.jp/mysql/select/index20.html
(WHERE句のサブクエリ)

MySQLでサブクエリを使用する | Developers.IO
http://dev.classmethod.jp/server-side/db/mysql_sub_query/
(FROM句のサブクエリ)

[WordPress] wp-login.phpへのアクセスを制限する (Apache)

wp-login.phpの不正アクセスが非常に多いので、自分以外のアクセスを禁止させたい。

WebサーバーはApache想定。ブログへのログインはオフィスか自宅からしか行わないので、これらのIPアドレス以外からのアクセスを拒否するような記述を.htaccessに追加しておく。

この記述により、403 Forbiddenのステータスが返るようになる。

[Elasticsearch] v.2.3.2のセットアップ

現時点の最新版2.3.2をVagrant上のCentOS 7.1にインストールする。

Setup | Elasticsearch Reference [2.3] | Elastic
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html

VagrantへのCentOS 7.1のインストール

Javaのインストール

  • Elasticsearchの実行にはJava 7以降が必須
  • Java 8 update 20以降またはJava 7 update 77以降を推奨

CentOSのリポジトリでJava(OpenJDK)を探す。

Java 8のランタイムをインストールする。

Elasticreserchのインストール

Elasticsearchの設定

ローカルホストに加えて、VagrantのホストOS側からのアクセスも許す

/etc/elasticsearch/elasticsearch.yml

Elasticsearchの実行

ざっくり動作確認

まずはローカルホストのシェルから

次にホストOSのブラウザから

Headプラグインのインストール

http://192.168.33.10:9200/_plugin/head/

elasticsearch-head