2018/03/27

ドコモのデータ使用量サイクルって、月末30分くらいずれてないか

時々、月末に試してみるのだが

月末 23:30頃から 20分程度、LTEでパケット(使用量がハッキリ分かるくらいの)を使って、23:50頃から Wi-Fiへ切り替え、翌月をむかえる
(23:50に Wi-Fiに切り替えた上、端末の電源を落としても同じ結果を確認)

しばらくして、ドコモのWebサイトでパケット使用量を確認すると Wi-Fiのみ or 電源OFFで運用している翌月に何故かパケット使用量が加算されている
Android端末でパケット使用量(毎月1日でサイクルを区切っている)は LTE=0k bytes の表示で、大きなズレが発生

ドコモのサポートへ問い合わせてみたが、Wi-Fiが切れるとLTEを使うとかいうマニュアル通りの返答しか返ってこない
ドコモは、月末の駆け込み消費をさせないために、わざと30分くらい時間ずらしてないか???

2018/03/26

php で未定義の配列に追加してもエラーが出ない方法

php で array() が未定義な変数に配列を追加してもエラーが出ない方法

$foo
[host1]
    [0]email1
    [2]email2
    [3]email3
[host2]
    [0]email4
    [2]email5
    [3]email6

みたいな、連想配列に配列を含むような形
で、配列かどうか確認せずに email を追加していきたい

つまり $foo[$host] が配列でなくても、警告無く追加していける方法

$foo[$host] += $email; // NG - インデックスがないぜ
array_push($foo[$host], $email); // NG - array_push は 第一引き数は array でないとね
$foo[$host][] = $email; // OK

ということで [] であれば未定義でも、追加(配列に)可能

G Suite の Gmailで、宛先候補に G Suite のアカウントを表示させない

G Suite の Gmailで、宛先を入力しようとすると候補に G Suite のアカウントが表示される
サブドメインなどで G Suite を利用している等、表示させたくない場合がある


管理画面から 他のユーザーへ表示させたくないユーザー(被参照ユーザー)を開いて 連絡先の共有チェックを外す


※反映には Gmail の再読込が必要

2018/03/23

IFTTT の Alexa紐付けアカウントが Amazon.com になっていたので解除する

IFTTT + Alexa が全くトリガーを認識してくれないと思ったら、Amazon.co.jp ではなく Amazon.com のアカウントに接続されていた
両Amazonへの登録メールアドレスが同じであったのが原因

Amazon.com のメールアドレスを変更したが、IFTTT は以前に Amazon.com から受け取ったトークンを利用し続け Appletを作成し直しても状況は変わらないので、IFTTT と Amazon.com アカウントの紐付けを完全に切り離す


IFTTT側

  1. MyApplets → Service → Amazon Alexa
  2.  Settings を開く
  3.  下の方にある Disconnect Amazon Alexa から接続を解除


Amazon.com 側

  1. Amazon.com のアカウント情報を開き、下の方にある Login with Amazon を開く
  2. IFTTT を確認して Remove



2018/03/22

ゆうびん の MyPost の登録をしてみた

以前登録していたゆうびんIDに MyPost を追加登録してみた
本人限定受取郵便が登録住所に到着して、本格的な利用開始となるらしい

MyPost と実住所のリンクを確認するということは、将来ゆうパックの着荷案内や不在票もここへ入れてもらえるという期待をして登録してみた

今の所、事実上 はこぽす の連携くらいにしか利用価値がない上に、はこぽす受け取りの利用できるネットサービスは少なく、Amazon や ヨドバシ・ドット・コム も入ってなかったりする

ヤマトのクロネコメンバーズは、登録された電話番号と伝票記載の電話番号で紐づけしているようで、荷受けした時点で受け取り側にお知らせが来るので、受け取り時間や場所を指定でき、発送側にもかなりなメリットがあると思われる(ヤマトはもっとこれを広めようとしないのか不思議)

ただ、お硬い日本郵便の事だから、発送元に関係なく「ゆうびんID + MyPost」に紐づけしてくるとは考えにくく、上記 はこぽす受け取りに対応したサービス とあるように出荷段階で対応してなければ利用できないのかもしれない




2018/03/16

javascript の split で limit を指定すると limit以降が失われる → 仕様でした

javascript split の第2引き数 limit は、
「分割がlimitに達するか、limit未満で全て分割が終わるまで、分割する」

てことで、php なんかの limit まで分割して、最後の配列には残りすべてが入る とは意味が違います

s = 'aaa,bbb,ccc';
s.split(',', 2) ====> Array('aaa', 'bbb'); // javascript
split(',', s, 2) ====> Array('aaa', 'bbb,ccc'); // php

2018/03/15

ひかり電話・携帯電話・直収電話のサブアドレス対応

ISDN回線を利用して、PBX内線などを直接呼べるサブアドレスについて

サブアドレス対応表
サービス発信着信備考
NTT ISDNINS64, INS1500共
ソフトバンク おとくラインISDN64, ISDN1500共
KDDI メタルプラス×
NTT ひかり電話××
KDDI 光ダイレクト/auひかり××ひかりビジネス含む
NTTドコモ×
KDDI au××
ソフトバンクモバイル×機種による?
PHS(ワイモバイル)着信リモートロックのみ?

ドコモの VoLTEも対応できるみたいだが、端末にサブアドレスの設定が見つからなかったりする...
いずれにしても縮小傾向にあるため、DIDなど代替方法などを考える必要がある

ドコモ端末のサブアドレス設定画面

2018/03/12

東京都 と 京都 の部分一致

検索関連の部分一致で、東京都 と 京都の関係はよく出てくる話

であれば「京都府」でマッチングを取ればオッケ~
と思いがちですが

「東京都府中市」ってのがあったりします

2018/03/05

javascript で文字列中の和暦を西暦へ書き換え

DBに和暦を記入する年寄りがいるので、ツールチップ内だけ西暦表示させるのに、javascript の replace 正規表現で、置換文字列を演算

function WarekiToSeireki(s){
 function WarekiToSeirekiSub(match, gengou/* $1 */, wareki/* $2 */, nen/* $3 */, offset, string){
  if(wareki == '元'){
   wareki = 1;
  }

  if( gengou.match(/(Z|Z|ZZ)/i) ){ // 新元号
   return (Number(wareki) + 2018) + nen;
  }else if( gengou.match(/(H|平|平成)/i) ){
   return (Number(wareki) + 1988) + nen;
  }else if( gengou.match(/S|昭|昭和/i) ){
   return (Number(wareki) + 1925) + nen;
  }else if( gengou.match(/T|大|大正/i) ){
   return (Number(wareki) + 1911) + nen;
  }else if( gengou.match(/M|明|明治/i) ){
   return (Number(wareki) + 1867) + nen;
  }
 }

 return s.replace(/(H|平|平成|S|昭|昭和|T|大|大正|M|明|明治)([0-9]+|元)(\/|年)/gi, WarekiToSeirekiSub);
}
和暦から西暦は、月日は必要ないが、逆は年の途中で切り替わるので月日が必要になる

2018/03/01

.net JavaScriptSerializer で json から Dictionary へ変換

System.Web.Extensions を参照に追加
using System.Web.Script.Serialization;

// 元になる json 文字列
string jsonStr = "{\"url\": \"https://example.com/\", \"email\": \"test@example.com\"}";

// using System.Web.Script.Serialization;
JavaScriptSerializer jss = new JavaScriptSerializer();
Dictionary<string, Object> jsonDic = jss.Deserialize<Dictionary<string, Object>>(jsonStr);

// 呼び出し
string url = (string)jsonDic["url"];
string email = (string)jsonDic["email"];

Dictionary でジェネリクスを用いて string: object のペアを定義しているので、呼び出し時に "url" 等の文字列をキーに object を string 等、型を決めて取り出すことで、未知や変更の可能性がある json から必要な項目を取り出すことが可能

Gmail の連絡先で「フリガナ」を表示

Gmail の連絡先に追加すると「フリガナ」(よみがな)の項目が無い、また携帯電話でその項目にフリガナを入力するも、PCの連絡先で開いて変更すると、またその項目が削除されてしまう

PC側で「フリガナ」の項目を明示的に追加が必要みたい