$.ajaxで取得したJSONがresponseTextでしか取得できない場合の対処法

上記の事象が発生してしまったが、
全く理由が分からない、もしくは原因を探している時間がないといういかんともしがたい場合の強引な対処法です。

var result = $.ajax({
async: false,
type: ‘POST’,
url: ‘data.json’,
dataType: ‘json’,
responseType: ‘json’
});

つまり、こういった場合に受け手側で頑張っても、resultにはresponseTextでしかデータが受け取れない場合。
あるのか?→あるんです。
JSON側のヘッダーがおかしいんじゃないの?→下記のように設定しても何故かTEXTでしか取れないことがあるんですよ。

header(“Content-Type: application/json; charset=utf-8”);

JSON.parse()を使います。

var r = JSON.parse(result);

参考:JSON.parse() – JavaScript | MDN

HAPPY NEW YEAR 2017

2017年賀状

あけましておめでとうございます。
本年もどうぞよろしくお願いいたします。

酉年ということでニワトリを描いてみました。
つけペンなど使わずにシンプルに油性ペン一本で描きました。

余談ですが、去年の年賀状が暗いと言われて、泣きながら「今年こそは明るいハッピーな年賀状にしよう!」と1年前に誓ったのを印刷が終わってから思い出しました。

そんなこんなで今年もお付き合いいただけますと幸甚でございます。

PhotoshopCCでeps保存ができない

タイトルそのまんまなんですが。。。
Photoshopで作業していて、どういう訳かeps保存が保存の選択肢に出てこない。

保存>フォーマット(16bit)
ちょうどこういう状態です。

で、ネットで調べても同じような状況の報告例がない。
「PhotoshopCCからepsの保存形式からなくなったのか?(そんなバカな!?)」とか、
「アップデートに失敗したのか?」とか、
「環境設定で何かをいじったのか?」とか考えてみたんですが、いくら検索しても世の中で同様の困っている人が見つからない。

若干途方にくれてたんですが、原因がわかったので対処法を。(というほど大層なことではないのですが)

イメージ>モード>16bit/チャンネル
イメージ > モード > 16bit/チャンネル となっているのを

イメージ>モード>8bit/チャンネル
イメージ > モード > 8bit/チャンネル と変更。

保存>フォーマット(8bit)
保存形式増えましたよ。

いや、これに気がつくのに2日程かかりました。
この記事が、同様でお困りの方のお役に立てば。

sessionの更新タイミング

phpsession_start(); を実行したあとに、セッションファイルがどのような動きをしているのかを調べました。

1)sessionの有効期限
下記の条件が全て一致したときにサーバ上のセッションファイルが削除されます。
・最終更新から1440秒以上経過した場合(初期設定の場合)
・誰かがサーバにアクセスした時
・1%の確率で削除フラグを引いた場合(初期設定の場合)
必ず1440秒経過したら削除されるわけではないんですね。調べてみるもんです。

2)session_start(); を実行
サーバ上にセッションファイルが新規作成されます。
新規作成されたセッションファイルの中身は空です。
すでにセッションファイルが存在する場合は何もしません。セッションファイルの更新時間が変わることもありません。

3)セッションファイルの有効期限の延長方法
$_SESSION[“xxx”]=$value;
といった命令文で、強制的にセッションファイルの中身を作ってあげれば、セッションファイルが更新され書き換えるタイミングごとに有効期限が延長されます。

4)セッションファイルの中身
平文です。特に暗号化などはかけられていません。

5)セッションの途中でサーバ上からセッションファイルを削除した場合
セッションIDは変わらず、クライアントのセッションIDでサーバにセッションファイルが新規で作成されます。
当たり前ですが、その場合は中身が空のセッションファイルが作成されます。

PHP: session_start – Manual

楽天市場商品検索APIでデータが重複する(解決済)

楽天ウェブサービス(RAKUTEN WEBSERVICE)楽天市場商品検索APIを使って、特定のショップの登録商品データを全て取得しようと思い構築したときにはまったことのメモ。

【概要】
《pageCount》の数だけ《page》パラメーターを渡して情報を取得した場合、情報が重複して取得されます。
例えば、《count》で総数が《750》となっていたとして、実際に取得したデータを見ると、総数は750件ですが重複を除くと550件と言ったデータの取得のされ方をします。
1ページ内での重複は起こりませんが、複数ページにまたがって取得する場合は注意が必要です。

【回避方法】
カスタムパラメーターに《sort》を追加して《-updateTimestamp》などを選びます。確認していないですが《standard》以外は大丈夫かと。

【楽天市場商品検索APIのアプリID取得】
楽天ウェブサービス(RAKUTEN WEBSERVICE)で行います。