2018/01/16

resilio-sync の yum update で 公開鍵がインストールされていません

yum update で resilio-sync-2.5.12-1.x86_64.rpm の公開鍵がインストールされていません

resilio-sync-2.5.12-1.x86_64.rpm   |  11 MB     00:01
warning: rpmts_HdrFromFdno: Header V4 RSA/SHA256 Signature, key ID 3f171de2: NOKEY

resilio-sync-2.5.12-1.x86_64.rpm の公開鍵がインストールされていません

rpm でキーをインストール(更新)
# rpm --import https://linux-packages.resilio.com/resilio-sync/key.asc

Windows10 シャットダウンでサインアウトしていない(ように見える)

Windows10 シャットダウンでサインアウトしていないように見える
アップデート後の終了→起動時に、最後のサインイン情報を利用してサインインしてしまうため

設定→アカウント→サインインオプションで 「サインイン情報を使ってデバイスのセットアップを...」 をオフにする

2018/01/11

メールを Evernote に保存できませんでした

Evernoteへメールでノートを追加した場合、「メールを Evernote に保存できませんでした」や MAILER-DAEMON が返る
  • Evernoteの状況を確認
  • プラス、プレミアム、ビジネスは 200通/日まで
  • ベーシックは 5通まで(1日あたりではなく、アカウントに対して5通まで = 完全にお試しです)
  • spam扱いされて MAILER-DAEMON が返る場合あり
spamフィルタは sophos (DAEMONメールに記載あり)
http://www.sophos.com/security/ip-lookup?ip=SMTPホストアドレス
でブラックリストに載っているか確認し、プロバイダなりサーバ管理なりに対応を求める


2017/12/26

Gmail で さくらのレンタルサーバーから SSL で POP3 受信

Gmail から さくらレンタルサーバー のメールを SSL で POP3 で受信するメモ

POPサーバ:  さくらの初期ドメインでドメインを記載 ←重要
ポート番号:  995
メールの取得にセキュリティで保護された~ にチェックを入れる




2017/12/18

楽天が通信キャリア事業に進出

楽天が通信キャリア事業に進出

新規で進出するくらいなら、イー・アクセスの買収(ソフトバンクが総額 3600億円)でもうちょっと頑張っておけばよかったものの、いつもの出遅れが楽天らしい所です

すっかりソフトバンクも横並びになり、マンネリ化した通信業界に新規参入は利用者にとってプラスになることは間違いないでしょう

個人的には、Amazonとの差を埋めるために運送業でもやったほうが良かったのではと思いますが...

2017/12/05

Microsoft Office シリーズに含まれるアプリケーション

Microsoft Office シリーズに含まれるアプリケーション対応表

WordExcelPowerPointAccessOneNoteOutlookPublisher
Office Personal
Office Home & Business
Office Professional
Office 365 Solo


Office Personal


Office Home & Business


Office Professional


Office 365 Solo (更新)


2017/11/29

PHP の PDO で debugDumpParams の出力をファイルなどに保存

SQL の実行結果を確認しようにも bindValue や bindParam を使っていると、実行内容を取得できない
debugDumpParams を利用すると SQL へ渡った情報を標準出力に吐き出すことが出来る
その内容をファイルなどに保存する

$stmt->execute(); if( ob_start('callback') ){     try{         $stmt->debugDumpParams();     }finally{         // ob_end_flush();         ob_end_clean(); // callback からの戻り値を出力しない     } }
function callback($buffer){     file_put_contents('sqlresult.txt', $buffer);     return $buffer; }

通常は execute() の直後に debugDumpParams() を呼び出せば、標準出力に吐き出されますが
ob_start(関数名) で、内容をコールバック関数へ渡しています。今回は 標準出力へ表示する必要が無いので、ob_end_clean() を用いていますが、callback の戻り値を出力する場合は ob_end_flush() を利用します。

$stmt->execute(); if( ob_start('callback') ){     try{         $stmt->debugDumpParams();     }finally{         ob_end_flush(); // callback からの戻り値を出力する         // ob_end_clean();     } }
function callback($buffer){     file_put_contents('sqlresult.txt', $buffer);     return $buffer; // return ''; にすると ob_end_clean() を使用したのと同じ }


2017/11/27

PHP の call_user_func_array + bind_param で参照渡し

call_user_func_array で mysqli の bind_param を呼び出しをまとめつつ、汎用性をもたせたい

bind_param は 第2引き数以降が参照渡しでなければならないので、渡す配列を作成する段階で参照渡しを入れておく必要があるが、毎回面倒なので配列を再生成することで落ち着く
// 警告が出るパターン // Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference, value given in $params = array('i', 2); call_user_func_array(array($stmt, 'bind_param'), $params); // 引き数を意識するパターン $id = 2; $params = array(); $params[] = 'i'; $params[] = &$id; // パラメータは参照渡し call_user_func_array(array($stmt, 'bind_param'), $params); // お手軽なパターン $params = array('i', 2); for($i = 1; $i < count($params); $i++){ // 2番目以降を参照渡しに書き換え     $params[$i] = &$params[$i]; } call_user_func_array(array($stmt, 'bind_param'), $params);

ここで $params を作成する時に

foreach($data as $key => $value){ $params[] = &$value }

の様に行ってはいけません
上記は $value 参照を代入することになり、次のループで $value が書き換えられ、結果的に配列の最後の値を全てが参照することになります

foreach($data as $key => $value){ $params[] = &$data[$key] }

であれば、元の $dataが書き換えられない限り、データの変動は起こりません