[ホスティング] SPFレコードを設定する (迷惑メール判定回避)

ウェブサーバーが送信したメールが受信側GmailでSpamと認識されてしまう。

該当メールをShow originalで表示すると、SPF=SOFTFAILになっていたので、

DNSにSPFレコードを定義しておこう。

設定方法

SPFの動作原理や設定方法に関しては以下ページが明るい。

SPF(Sender Policy Framework) : 迷惑メール対策委員会
http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/

SPF本家サイト (英語) は以下。

SPF: Project Overview
http://www.openspf.org/Project_Overview

設定後の確認は以下ページでできる。

dmarcian – SPF Survey
https://dmarcian.com/spf-survey/

メールヘッダ

設定前のメールヘッダ (SPF=SOFTFAIL)。

設定後のメールヘッダ (SPF=PASS)。

[Postfix] MTAのドメイン名を設定する

VPS初期設定のままPHPからメール送信ができたのでそのまま使い始めたところ、受信したメールのヘッダを見たらMTAのドメイン名が設定されていなかった。私的Webサービスの管理者宛て通知を送るのにしか使わないけれど、きちんと設定しておくに越したことはなかろう。

というわけで設定する。

設定手順

念のため使用中のMTAを確認。

Postfixの設定確認。

設定ファイルを編集。

設定ファイルのチェック。

Postfixのリロード。

[MySQL] Fromに複数テーブルを指定する

某案件で前任者が書いたSQLに以下のようなものがあった。

疑問に思ったので調べると、「table_aとtable_bの総当たりの組み合わせから両方のテーブルのcが等しいものだけ抽出」という意味らしい。join句を使って書き直すと以下のようになるらしい。

参考サイト

SQL で複数テーブルを使う時の書き方は? – i am BEST
http://seesaawiki.jp/w/i_am_best/d/SQL%20%A4%C7%CA%A3%BF%F4%A5%C6%A1%BC%A5%D6%A5%EB%A4%F2%BB%C8%A4%A6%BB%FE%A4%CE%BD%F1%A4%AD%CA%FD%A4%CF%3F

[SQL] 6. テーブルの結合 2 | TECHSCORE(テックスコア)
http://www.techscore.com/tech/sql/SQL6/06_02.html/

[PHP] 連続するスペースを1つにする

参考サイト

PHP 連続するスペース(全角or半角)を1つの半角スペースに変換 – 第2.5地区
http://d.hatena.ne.jp/taramonera/20111108/1320745524

[MySQL] SUPER特権の与え方

バックアップしたDBをリストアしていたら以下のエラー。

SUPER権限を持ったユーザじゃないと実行できないオペレーションがあるらしい。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 6.2.1 MySQL で提供される権限
https://dev.mysql.com/doc/refman/5.6/ja/privileges-provided.html

ユーザへのSUPER権限の与え方は以下の通り。

[CSS] OOCSS、SMACSS、BEM 参考サイト

OOCSS

Home · stubbornella/oocss Wiki · GitHub
https://github.com/stubbornella/oocss/wiki

An Introduction To Object Oriented CSS (OOCSS) – Smashing Magazine
https://www.smashingmagazine.com/2011/12/an-introduction-to-object-oriented-css-oocss/

OOCSS(オブジェクト指向CSS)のススメ | hijiriworld Web
http://hijiriworld.com/web/oocss/

知っておきたいHTMLテンプレート設計法 – OOCSSの基本 | CodeGrid
https://app.codegrid.net/entry/oocss-1

CSSにもオブジェクト指向を – OOCSSことはじめ
https://www.slideshare.net/kimuranisei/css-31872360?next_slideshow=1

[CSS] Object Oriented CSSを学んで綺麗なコードを書く – YoheiM .NET
http://www.yoheim.net/blog.php?q=20141201

SMACSS

Home – Scalable and Modular Architecture for CSS
https://smacss.com/

悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
https://www.slideshare.net/horiguchiseito/master-architecture-forcss

SMACSSによるCSSの設計 – ベースとレイアウト | CodeGrid
https://app.codegrid.net/entry/smacss-1

[CSS] モジュール化についてしっくりと理解できないので、ちゃんと考えてみました – YoheiM .NET
http://www.yoheim.net/blog.php?q=20130602

BEM

BEM — Block Element Modifier
http://getbem.com/

BEMによるフロントエンドの設計 – 基本概念とルール | CodeGrid
https://app.codegrid.net/entry/bem-basic-1

BEMを参考にしたCSS設計 – Qiita
http://qiita.com/mrd-takahashi/items/07dc3b4bad027daa2884

実践 めんどうくさくない BEM – ダーシマ・ヱンヂニヤリング
http://tsmd.hateblo.jp/entry/2013/12/12/004059

[PHP] Guzzle – 自由度の高いHTTPクライアント

GuzzleはPHPで書かれたHTTPクライアント。

GitHub – guzzle/guzzle: Guzzle, an extensible PHP HTTP client
https://github.com/guzzle/guzzle

Guzzle | PHP HTTP client and framework for consuming RESTful web services — Guzzle documentation
http://guzzle3.readthedocs.io/index.html#

Newest ‘guzzle’ Questions – Stack Overflow
https://stackoverflow.com/questions/tagged/guzzle

guzzle/guzzle – Gitter
https://gitter.im/guzzle/guzzle

Laravelでの用法は以下ページが参考になる。

Consume External API from Laravel 5.2 using Guzzle Http Client | PHP Lab
http://www.phplab.info/categories/laravel/consume-external-api-from-laravel-5-using-guzzle-http-client

Laravel POST requests with Guzzle – Chilion
http://chilion.nl/laravel-post-requests-with-guzzle/
2015/8/19

Using GuzzleHttp with Laravel – Laravel 5 — The right way – Medium
https://medium.com/laravel-5-the-right-way/using-guzzlehttp-with-laravel-1dbea1f633da
2016/4/20

[Webサイト制作] REST APIデザインのベストプラクティス

– Use HTTP VERBS to determine action to be taken
– API Versioning
– Use plurals to describe resources
– Use query strings to build relations
– Partial responses
– Response Codes and Error Handling
– Limit the number of request in a given time period from the same IP Address
– Consider Banning requests based on IP Address
– Use json as the default
– Use OAuth latest version for authentication
– Cache GET results for less frequently changing data

10 REST API Design Best Practices That Will Make Developers Love
http://www.kode-blog.com/10-rest-api-design-best-practices-that-will-make-developers-love-your-api/

[Webサイト制作] 高速なWebサーバアプリケーションを構築するための6つの経験則

– 時期尚早な最適化を回避する
– 最小限の作業で問題を解決する
– 今すぐやらなくてもいい作業は延期する
– 使えるときはキャッシュを使う
– リレーショナルデータベースのN+1問題を理解し、回避する
– 可能ならアプリケーションに水平スケーラビリティをもたせる

高速なWebサーバアプリケーションを構築するための6つの経験則 | プログラミング | POSTD
http://postd.cc/6-rules-of-thumb-to-build-blazing-fast-web-server-applications/