マイブーム@技術と生活

仕事や生活に関わる技術的なことを記述します。

PHP5 から PHP7 への移行、Mail.php と mime.php

いまさらですが。

 

Lolipop で、そのままでは動作しなかったので、PHP の設定を PHP5 と同じに変更した。カッコは既存。※ PHP のエラーやワーニングが表示されるようになる

7.4 (CGI版)
mbstring.language: (neutral)
mbstring.internal_encoding: (未設定)
mbstring.encoding_translation: (Off)
mbstring.func_overload: (0)
mbstring.http_input: pass
mbstring.http_output: pass

session.auto_start: (Off)
session.use_trans_sid: (0)
session.use_only_cookies: (On)

opcache.enable: (Off)
opcache.enable_cli: (Off)

xdebugを利用可能にする: (Off)

default_charset: (UTF-8)
output_handler: (未設定)
output_buffering: (0)
short_open_tag: On
allow_url_fopen: (On)
allow_url_include: (Off)
upload_max_filesize: (20M)
display_errors: On
error_reporting: E_ALL & -E_NOTICE & -E_DEPRECATED & -E_STRICT
variables_order: EGPCS
auto_prepend_file: (-)
php_value, php_flagを利用可能にする: (On) ※ .htaccess を使うため

 

□ ファイルのダウンロード

Mail-1.4.0.tgz: Mail.php と Mail フォルダをアップロード
mime.php、mimePart.php: 前者を Mail.php と同じフォルダに。後者を Mail フォルダに
Net_SMTP-1.10.0.tgz: Net フォルダを作って (Mail フォルダと同じ階層) SMTP.php をアップロード
Net_Socket-1.2.2.tgz: Net フォルダに Socket.php

https://pear.php.net/package/Mail/download/1.4.0 のページの Download のリンクから
https://github.com/pear/Mail_Mime/tree/master/Mail のそれぞれのファイルの Raw から
https://pear.php.net/package/Net_SMTP/download のページの Download のリンクから
https://pear.php.net/package/Net_Socket/download のページの Download のリンクから

 

□ コードの変更

変更前:
require_once("Mail/mime.php");

変更後:
require_once("mime.php");

ライブラリを使っている php プログラムを、Mail.phpmime.php、Mail フォルダ、Net フォルダ、と同じフォルダに置くこと。そうでないと動作しない。子フォルダなどに設置する場合はこれら4つをコピーする (内容を変更しないため)

 

 

 

PHP5 から PHP7 への移行、mysql から mysqli への変更

いまさらですが。

 

変更前:
mysql_connect('mysql123.phy.lolipop.lan', 'LAA1234567', 'abcdef');
mysql_select_db('LAA1234567-xyz');

変更後:
$link = mysqli_connect('mysql123.phy.lolipop.lan', 'LAA1234567', 'abcdef', 'LAA1234567-xyz');

変更前:
mysql_connect($_SESSION['database_server'], $_SESSION['database_login'], $_SESSION['database_password']);
mysql_select_db($_SESSION['database_database']);

変更後:
$link = mysqli_connect($_SESSION['database_server'], $_SESSION['database_login'], $_SESSION['database_password'], $_SESSION['database_database']);

 


置換前:
mysql_set_charset(

置換後:
mysqli_set_charset($link, 

 


置換前:
mysql_query(

置換後:
mysqli_query($link, 

 


置換前:
mysql_affected_rows()

置換後:
mysqli_affected_rows($link)

 


置換前:
mysql_insert_id()

置換後:
mysqli_insert_id($link)

 


置換前:
mysql_

置換後:
mysqli_

(error, num_rows, fetch_array, num_fields, )

 


置換前:
mysql_field_name($result, $i)

置換後:
該当する手続き型が無い

function mysqli_field_name($result, $field_offset)
{
    $properties = mysqli_fetch_field_direct($result, $field_offset);
    return is_object($properties) ? $properties->name : null;
}

mysqli_field_name($result, $i)

 

 

 

php やそれでインクルードしている html のデバッグ

ファイルをサーバーにアップロードし、ブラウザーで表示しても、どこかに古いファイルがキャッシュされていて、新しいファイルが表示されない

company.php をコピー、compay02.php のように名前を変えたものをアップロードし、ブラウザで表示する

インクルードされる html の中に Debug 03<br> を記述。デバッグ終了後 <!-- Debug 03<br> --> にコメントアウト

インクルードする側の php も company03.php のようにコピー・名前を変えてアップロードする

 

API 開発の場合

Logging と Security をコメントアウト

POST の変数を使わないように変更

ファイル名は 01、02 のように名前を変えてアップロード

結果 (JSON) をブラウザで確認

 

 

 

Google カレンダーの自動変更 (JavaScript)

□ 概要
カレンダーを変更するために Google Clould Platform で API キーと OAuth 2.0 クライアント ID の両方を作る (API Discovery Document は無くて良い)。クライアント ID 作成時に JavaScript origin を指定する (例、https://hoge-hoge.com) (リダイレクト URL は不要)。google-api-javascript-client を使う (async defer src で読み込み)。初期処理で gapi.load と gapi.client.init を実行。gapi.auth2.getAuthInstance().signIn() でユーザー認証を行う。resource 変数に予定を作る。gapi.client.request で予定をカレンダーに書き込み。

 

 

□ 予備知識

Google Clould Platform
    https://console.cloud.google.com/

 

 

□ 参考ページ

google-api-javascript-client:
https://github.com/google/google-api-javascript-client

Request Body Sample:
https://github.com/google/google-api-javascript-client/blob/master/samples/requestWithBody.html

Getting Started:
https://github.com/google/google-api-javascript-client/blob/master/docs/start.md

JavaScript Quickstart:
https://developers.google.com/calendar/api/quickstart/js

Events Insert:
https://developers.google.cn/calendar/api/v3/reference/events/insert

Try Lifelog 様:
http://lifelog.main.jp/wordpress/?p=2202

 

 

□ カレンダー API の有効化

https://console.cloud.google.com/
プロジェクトを作成後、
上部ボタン左、ナビゲーション メニュー

APIとサービス
ライブラリ
Google Calender API
有効にする

 

 

□ APP_KEY の作成

APIとサービス
認証情報
上部ボタン、認証情報を作成
API キー
******

f:id:sato7411:20220103011156p:plain

 

f:id:sato7411:20220103011259p:plain

 

 

□ OAuth 2.0 クライアント ID の作成 (ウェブ アプリケーション)

APIとサービス
認証情報
上部ボタン、認証情報を作成
OAuth クライアント ID

アプリケーションの種類:ウェブ アプリケーション
名前:ウェブ クライアント2

承認済みの JavaScript 生成元: https://hoge-hoge.com
承認済みのリダイレクト URI: (なし)

クライアント ID:******
クライアント シークレット:******
JSON をダウンロード (未使用)

f:id:sato7411:20220103011909p:plain

 

f:id:sato7411:20220103011942p:plain

 

f:id:sato7411:20220103012035p:plain

 

 

□ Client with Request Body サンプルの試し方 (Lolipop 環境)
https://github.com/google/google-api-javascript-client/blob/master/samples/requestWithBody.html
本ファイルを JavaScript origin の場所に配置する

変更①:
var apiKey = '...

変更②:
var clientId = '...

変更③:
var resource = { ...
"start": {
"end": {
予定の日付は近日に変更
,"visibility": "public" を追加。予定の設定が、予定あり、公開、になる

Lolipop にアップロード、ブラウザで https://hoge-hoge.com/requestWithBody.html を開く
Sign in ボタンを押下
OAuth 同意画面が開くので
ユーザーを選択
Continue
Continue

Make Request ボタンを押下

 

 

(20220228 追加コメント)

1回目
[Sign In] [Make Request]
※ Make Request ボタンを押しても、何も起こらない

Sign In ボタン押下

アカウント (hoge.hoge@gmail.com) のログインと認証 (許可) (「招待元のデベロッパーを信頼できる場合のみ、続行してください。」)

[Sign In] [Make Request] の画面に戻る
Sign In ボタンは何度も押せて、認証画面に進む
Make Request ボタン押下

Calendar entry successfully created 


2回目
※ セッションを閉じ (ブラウザを閉じ)、ブラウザを再起動した後。またはPC再起動後
[Sign In] [Make Request]
Make Request ボタン押下

Calendar entry successfully created 
Sign In ボタンで認証しなくても、カレンダーに書き込める

 

 

(20220315 追加)

□ 他の一般ユーザーでのカレンダー書き込み

指定する calendarId は、「一般公開して誰でも利用できるようにする」が設定されていること

プロジェクトに (テスト) ユーザーを追加する: API とサービス, OAuth 同意画面, テストユーザー, ADD USERS

JavaScript (Project No. での apiKey, clientId) では、ログインした人のカレンダーに書き込める

makeRequest で calenderId を指定する、他のページから書き込めてしまうので primary にはしない

Google カレンダーの「特定のユーザーとの共有」に「ユーザーを追加」した場合、複数ユーザーから1つのカレンダーに書き込めるか?
→ 書き込めない、表示のみ

 

 

 

Google カレンダーの自動変更 (PHP)

□ 概要
プログラム内で認証手順を行って $client 変数を作る。そのための認証情報を Google Clould Platform で作る。認証は、公開されている情報を取得するだけならば API キーで動作するが、データを作成し保存する場合は OAuth 2.0 クライアント ID が必要 (JSON ファイルをダウンロード、ユーザーが認証を行って、token を作成) (自分がユーザーの場合でも)。1回目は OAuth 同意画面も作る。Google Clould Platform のプロジェクトで Calender API を有効化する。フリーのライブラリ google-api-php-client を使う (ファイルを直接ダウンロードすれば composer は使わなくて良い)。$client から Google カレンダーの $service 変数を作る。

 


□ 予備知識

Google Clould Platform
    https://console.cloud.google.com/

    上部ボタン、新しいプロジェクト
    プロジェクト名:My Project 39176 (デフォルト)
    場所:組織なし (デフォルト)
    作成ボタン

    上部ボタン、Cloud Shell をアクティブにする

    Cloud Shell 上部、エディタを開く (戻るときは、ターミナルを開く)

    Cloud Shell 上部、さらに表示、アップロード

    Cloud Shell 上部、ウェブでプレビュー、ポート 8080 でプレビュー

    上部ボタン左、ナビゲーション メニュー、ホーム、ダッシュボード

 

・Git
    ソースコードのコピー (クローン)
    Code ボタンから HTTPS のアドレスを取得
    git clone https://github.com/googleapis/google-api-php-client.git

 


□ 参考ページ

google-api-php-client:
https://github.com/googleapis/google-api-php-client

PHP Quickstart:
https://developers.google.com/calendar/api/quickstart/php

スパイスワークス社、今井様:
https://www.spiceworks.co.jp/blog/?p=10254

REFFECT 社、SAKODA 様:
https://reffect.co.jp/php/php-google-calendar-api

PHP Google Event Examples:
https://developers.google.cn/calendar/api/v3/reference/events/insert
https://developers.google.cn/calendar/api/v3/reference/events/list
https://hotexamples.com/jp/examples/-/Google_Event/-/php-google_event-class-examples.html
https://gist.github.com/AFelipeTrujillo/fc7cf8d379ddb39e56c1

 


□ システム条件
PHP 5.6.0 以上

Cloud Shell は PHP Version => 7.2.34
Lolipop は 7.3 (選択可能)

 


□ リリースのダウンロード
google-api-php-client-[RELEASE_NAME].zip をダウンロードして、解凍する
mkdir google-api-php-client
cd google-api-php-client
unzip ../google-api-php-client--PHP7.0.zip

コードに次の行を追加する
require_once '/path/to/google-api-php-client/vendor/autoload.php';
(または、require_once 'vendor/autoload.php';)
(または、require __DIR__ . '/vendor/autoload.php';)

 


□ サンプルコード
次のコマンドで確認できる
git clone https://github.com/googleapis/google-api-php-client.git
cd google-api-php-client
php -S localhost:8080 -t examples/
Cloud Shell 上部、ウェブでプレビュー、ポート 8080 でプレビュー

 


□ 基本サンプル (link)
google-api-php-client フォルダ内に BasicExample.php を作成
コードの先頭に <?php、末尾に ?> を追加
作成した APP_KEY を使用 (下記)

APIとサービス
ライブラリ
Google Books API
有効にする

php -S localhost:8080 -t . BasicExample.php

Cloud Shell 上部、ウェブでプレビュー、ポート 8080 でプレビュー

 


□ APP_KEY の作成

上部ボタン左、ナビゲーション メニュー

APIとサービス
ライブラリ
Google Calender API
有効にする

APIとサービス
認証情報
上部ボタン、認証情報を作成
API キー
******

 


□ OAuth 2.0 クライアント ID の作成 (デスクトップ アプリ) (link)

APIとサービス
認証情報
上部ボタン、認証情報を作成
OAuth クライアント ID

アプリケーションの種類:デスクトップ アプリ
名前:デスクトップ クライアント1

クライアント ID:******
クライアント シークレット:******
JSON をダウンロード
名前を credentials.json に変更

php quickstart.php

 

 

□ QuickStart サンプルの試し方 (Google Clould Platform 環境)
https://github.com/googleworkspace/php-samples/blob/master/calendar/quickstart/quickstart.php
php quickstart.php
Open the following link in your browser と表示されるので、ブラウザで開く
OAuth 同意画面が開くので
ユーザーを選択
Continue
Continue を押して進んで行くと、最後にコードが表示される
******
Enter verification code と表示されているので、コマンドプロンプトに貼り付け
token.json が作成され、Google カレンダーデータ取得のサンプルプログラムが動作している ※ 昔の token.json がある場合は前もって削除

 

quickstart.phpAPI_KEY に書き直した場合
//if (php_sapi_name() != 'cli') { をコメントアウト
//$client = getClient(); を削除 (function getClient() も削除)
$client = new Google\Client();
$client->setApplicationName("Client_Library_Examples");
$client->setDeveloperKey("******");
$service = new Google_Service_Calendar($client); そのまま
$calendarId = 'hoge.hoge@gmail.com'; 自分のメールアドレスに変更
printf("<a href=\"%s\">%d</a> %s %s (%s)<br>\n", $event->getHtmlLink(), $cnt, $event->getDescription(), $event->getSummary(), $start);

summary と description は、credentials.json では、予定:予定なし・デフォルトの公開設定、も表示するが、API_KEY では、予定:予定あり・公開、しか表示されない

 

 

□ OAuth 2.0 クライアント ID の作成 (ウェブ アプリケーション) (link1) (link2)

機能:
ブラウザで、PHPJavaPythonRuby などのウェブページを開く
$authUrl のリンクをクリックすると、OAuth 同意画面が開く
同意が完了すると、?code=*** が付加されて戻る (リダイレクト)。code を token に変換してセッションに保存する
必要ならば一旦確認ボタンを表示して、カレンダーへ書き込みを行う

APIとサービス
認証情報
上部ボタン、認証情報を作成
OAuth クライアント ID

アプリケーションの種類:ウェブ アプリケーション
名前:ウェブ クライアント1

承認済みの JavaScript 生成元: (なし)
承認済みのリダイレクト URIhttps://hoge-hoge.com/simple-events-insert.php  ※プログラムで指定するものと同じ

クライアント ID:******
クライアント シークレット:******
JSON をダウンロード
名前を client_secret.json に変更

ブラウザで https://hoge-hoge.com/simple-events-insert.php を開く
Connect Me! をクリック
OAuth 同意画面が開くので
ユーザーを選択
Continue
Continue

 

 

□ Events: insert サンプルの試し方 (Lolipop 環境)
https://github.com/googleapis/google-api-php-client/tree/main/examples
https://developers.google.cn/calendar/api/v3/reference/events/insert
元コード: examples/simple-file-upload.php
コピーして名前を変更: simple-events-insert.php

変更①:
include_once __DIR__ . '/google-api-php-client/vendor/autoload.php';
include_once __DIR__ . '/templates/base.php';

echo pageHeader("Events: insert - Google Calendar Events Insert");

echo('Place: ' . __DIR__ . '/templates/base.php' . '<br>');
echo('Exist: ' . file_exists(__DIR__ . '/templates/base.php') . '<br>');
echo('<br>');


変更②:
$redirect_uri = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];


変更③:
$client->addScope("https://www.googleapis.com/auth/calendar.events");
$service = new Google\Service\Calendar($client);


変更④:
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $client->getAccessToken()) {
以降に Events: insert ページのサンプルコードを貼り付ける。元の file upload は削除
予定の日付は近日に変更
'visibility' => 'public', を追加。予定の設定が、予定あり、公開、になる


変更⑤:
HTML の部分は、Events: insert に合わせて、文言を変更
次のように改善 (?code=.. にリダイレクトすると FireFox では正しく動作しない)
<?php else: ?>
  <form action="<?= $redirect_uri ?>" method="POST">


追加コード: example/templates/base.php
コピーして1箇所変更: templates/base.php


変更 (base.php):
フォルダ名・ファイル名を直接記述
function getOAuthCredentialsFile()
{
  // oauth2 creds
  $oauth_creds = '/home/users/hoge/hoge/client_secret.json';

 

 

□ OAuth 同意画面

同意画面を設定
  OAuth 同意画面
  User Type:外部
  作成
アプリ登録
  アプリ名:ModifyCalendar
  ユーザー サポートメール:hoge.hoge@gmail.com
  デベロッパーの連絡先情報:hoge.hoge@gmail.com
  保存して次へ
スコープの設定
  何も設定せずに、保存して次へ
テストユーザー
  ADD USERS、自分の gmail アドレス (hoge.hoge@gmail.com)
  保存して次へ

 

 

□ ウェブ プレビューの使い方
https://cloud.google.com/shell/docs/using-web-preview
SimpleHTTPServer の例
cd `mktemp -d` \
    && echo '<html><body>Hello World</body></html>' >./index.html \
    && python -m SimpleHTTPServer 8080

cd `mktemp -d` && echo '<html><body>Hello World</body></html>' > ./index.html && python -m SimpleHTTPServer 8080

 

 

(20220228 追加コメント)
1回目
※ セッションを閉じ、ログイン情報や、クッキーをクリア後。または他のブラウザから
Connect Me!

アカウント (hoge.hoge@gmail.com) のログインと認証 (許可) (「招待元のデベロッパーを信頼できる場合のみ、続行してください。」)

Click here to insert an event

Event created


2回目
※ セッションを閉じ (ブラウザを閉じ)、ブラウザを再起動した後。またはPC再起動後
Connect Me!

Click here to insert an event

Event created

 

<< HTML から PHP に書き換え >>
<?php
echo("<div class=\"box\">\n");
if (isset($authUrl)):
  echo("<div class=\"request\">\n");
  echo("<a class='login' href='" . $authUrl . "'>Connect Me!</a>\n");
  echo("</div>\n");
elseif($_SERVER['REQUEST_METHOD'] == 'POST'):
  echo("<div class=\"shortened\">\n");
  echo("<p>Your call was successful! Check your calendar for the following link:</p>\n");
  echo("<ul>\n");
  echo("<li><a href=\"" . $event->htmlLink . "\" target=\"_blank\">Event</a></li>\n");
  echo("</ul>\n");
  echo("</div>\n");
else:
  echo("<form action=\"" . $redirect_uri . "\" method=\"POST\">\n");
  echo("<input type=\"submit\" value=\"Click here to insert an event\" /><br>\n");
  echo("<br>\n");
  echo("<!-- <a href=\"insert-by-http-request.html\">(insert by HTTP request)</a><br> -->\n");
  echo("</form>\n");
endif;
echo("</div>\n");
?>

 

 

 

積みゲー日記

f:id:sato7411:20211214180438p:plain f:id:sato7411:20211214180453p:plain

 

下が最新の日記

(12/10 モンハンライズ)
百竜夜行で挫折

(12/10 バーンアウト)
ネットで操作方法を調べないと分からない
ダウンロード版 (安かった) のためにSDカード128GBを買う

(12/10 スプラ2)
トルネードが無くなった駄目仕様

(12/10 スマブラ)
ピカチュウで始めるも無理がたたってやらなくなる

(12/10 ゴーバケ)
スキーだけで良いのに。海も好きかも。結局これが1番のゲームでは

(12/10 その他、ダウンロード版・全部ではない)
ファイナルソード、任ラボ、ドラクエ10、NBA2K21、MotoGT、ジャンナビ、ナムミュー、パンツァー、VRゲー3つ

(12/10 その他、アケアカ・全部ではない・大きな所)
バーチャレーシンググラディウス2ハイパーオリンピック、どれかのスターフォックス

(12/10 その他、未進捗)
ブレワイ、エクスマキナディアブロ3

(12/10 その他、未着手)
ドラクエ11デモンズソウル、スカイリム、ファイアエム

(12/10 見つけた先駆者の方々)
ガン

(01/28 モンハンライズ)
青だけ狙う、ドリルを使う、バリスタもなるべく使う、で百竜夜行 (レベル2?) を突破しました。しかし、ポケアルを買ったのでポケアルをやります

(01/29 ポケアル)
ミジュマルで始めて、イーブイ (エーフィに進化)、ピカチュウを捕獲。寄り道しながら湿原まで進んだ

(01/30 ポケアル)
水上を移動できるところまで来た。主メンバーは、ダイケンキ (ミジュマル)、ピカチュウ、エーフィ (イーブイ)、魚枠、馬、虫枠

(01/31 ポケアル)
山の麓まで来た。主メンバーは、ダイケンキ (ミジュマル)、ライチュウ (ピカチュウ)、エーフィ (イーブイ)、魚枠、馬枠 (キュウコン)、虫枠。ダイパ御三家のポッチャマヒコザルを捕まえた

(02/01 ポケアル)
雪山まで来た。ブラッキー (イーブイ) を作ってエーフィ (イーブイ) と交代。リーフィア (イーブイ)、ニンフィア (イーブイ) も作った。イーブイも1匹キープ。現メンバーは、ダイケンキ (ミジュマル)、ブラッキー (イーブイ) 、ライチュウ (ピカチュウ)、魚枠 (ネオラント) 、馬枠 (キュウコン?)、虫枠 (コロトック)

(02/02 ポケアル)
ロゼリア系統、サーナイト系統、をそろえた。ガブリアス (系統) を見つけた。ルカリオ (劇場版第8作) を見つけた。ラッキーを見つけた。ナエトル (ダイパ御三家) を捕まえた。現メンバーは変わらず

(02/03 ポケアル)
神殿のパズルを解いて、空を飛べるようになって、最後のキングの前まで進めた。ラッキー系統をそろえた。リーシャンを捕まえて、チリーンを作った

(02/04 ポケアル)
3つの湖のポケモンを倒した

(02/05 ポケアル)
エンディングまで行った。その後のキングウインディとのバトルで5時間くらいかかった。袋投げがとにかく苦痛 (ゲージを引き継がないでやっている)。登場ムービーを死ぬほど見た。現メンバーは、ダイケンキ (ミジュマル)、ブラッキー (イーブイ) 、ライチュウ (ピカチュウ)、魚枠 (ネオラント) 、馬枠 (オリジンディアルガ)、虫枠 (オリジンパルキア)

 

 

 

コロナニュース − オミクロンステージ

WHO やファウチ博士、ファイザーなどのワクチンメーカーの発言に惑わされず、正しい判断ができるように。

下が最新ニュース

(12/09)
BBC NEWS: Omicron cases more than double in Northamptonshire

イギリス、ノーサンプトンシャー州で、オミクロン株の感染者が、2日前より倍に増えた。火曜日に13名が報告されたが、今日は28名になった

 

(12/09)
NBC New York: NYC COVID Cases Soar as Omicron Count Rises; State Hospitalizations Up 86% in Month

アメリカ疾病予防管理センター (CDC) は、アニメNYCを、オミクロン株の伝搬性を調査するテストケースとして使用している。オミクロン株は、分子的特徴と実世界での現象からも高い感染力を示している

 

(12/11)
Sky News: COVID-19: Omicron cases while increasing seem mild in South Africa, doctors report

爆弾のように感染の広がりが早い
周囲の人のほとんどが感染した
第3波に比べれば、入院患者の多くが軽症である
 

(12/11)
STV News: FM provides Covid update amid surge in Omicron cases

感染の津波が起きている
昨日、5018人の感染が確認された。陽性率は9.3%
最近の平均である2800人から大幅に増えた
573人入院
40人重症
19人死亡
オミクロン株は昨日の5PMまでに110人確認されている

 

(12/12)

NATION WORLD: South Korea reports its worst virus surge since COVID pandemic
 
REUTERS: The Korean clusters
韓国の2020年1月感染者の追跡調査結果

30人までは管理できていたが、31人目から状況が変わった

 

 

コロナニュース

下が最新ニュース

(9/4)
US cash funded controversial Wuhan virus lab where research to make diseases more deadly was backed by Dr Anthony Fauci, new book says

病気の致死率を上げる研究を行っていた疑惑の武漢ウイルス研究所へ、ファウチ博士によって米国から資金が提供された、と新書は述べている

石正麗氏は遠くの洞窟から数千のコウモリ、19,000 の標本を集め、そのうち 2,481 はコロナウイルスだった

(9/4)
What Really Happened In Wuhan: A Virus Like No Other, Countless Infections, Millions of Deaths (English Edition) Kindle版

中国のウイルス隠蔽を暴露した資料、武漢の医師の告発者とのインタビュー、決定的な目撃者とのインタビュー

(9/7)
NEW DETAILS EMERGE ABOUT CORONAVIRUS RESEARCH AT CHINESE LAB

中国研究所でのコロナウイルス研究について浮かび上がった新しい詳細情報

「The Intercept」による情報公開法 (FOIA) での訴訟によって、米国の税金で中国のコロナウイルス研究に投資していることに関連した900ページ以上の資料が公開された

(9/11)
Fauci-Funded Wuhan Lab Viruses Exhibited over 10,000 Times Higher Viral Load Than Natural Strain, Documents Show

ファウチ博士が率いるアメリカ国立アレルギー・感染症研究所 (NIAID) によって資金提供されていた米国と中国の研究者が、武漢研究所で、ヒト化マウスを使った実験で、自然界のウイルスを遺伝子操作して 10,000 倍の感染力を示すウイルスを作成した

(9/10)
Canadian author Elaine Dewar’s book raises troubling questions about the origins of COVID-19

マニトバ州ウィニペグのカナダ国立微生物学研究所 (NML) で、2019年7月に、中国と関わりがあったため安全上の理由で連行されて、最終的に解雇された二人の研究者 Xiangguo Qiu とその夫 Keding Cheng について言及している

(9/14)
The November story: China's account of what happened in Wuhan is incomplete. So too are the accounts of foreign scientists and the American government

バイデン大統領レポートについて
18調査機関中、武漢流出説を否定しなかった1社は、どこか (大規模なのか小規模なのか) 不明である。どの機関も以下の認識は共通である
1. ウイルスは生物兵器ではない
2. 中国政府は最初の感染拡大より前の情報を持っていない
3. 最初の人への感染は小規模から始まった
4. 最初の感染は遅くとも11月に始まっている
遺伝子系統樹から計算したウイルス発生の最短は10月6日であるが、これは判明した遺伝子配列に合っている

武漢アメリカ領事館
武漢アメリカ領事館は、遅くとも12月中旬には、武漢で何かが起きているということを知った。中国政府の高官が12月31日のPM7時に奇妙な患者が武漢研究所に来たことを伝え、中国の一般市民が感染拡大が起きていることを世界に伝えた
アメリカ領事館副代表は、2019年10月中旬に、酷いインフルエンザ季節であることを伝え、11月にはさらに悪化し、12月中旬には武漢の学校が閉鎖したと述べた
米国の国立感染研究所 (NCMI) は11月に感染拡大の調査を始めた。NCMI は11月下旬に武漢で伝染病の大規模な消毒が行われたことを衛星写真などで確認した

早くに気が付いた科学者達
Ian Lipkin (12月15日、中国の同僚から)、Ron Fouchier (12月5日頃、オランダのウイルス学者)、Alina Chan (12月初旬にオランダの科学者から聞いた)、地元の医者 (12月24日にはゲノム解析のための検体を送付)、エール大学教授 (12月中旬、数人の米国人医師が武漢の病院を訪ね、未知の肺炎の感染拡大を確認した)、Lawrence Gostin (12月中旬、ジョージタウン大学教授、武漢の友人から新型コロナウイルスが深刻なことを聞いた)
中国政府や武漢研究所が電話が来る12月30日まで知らなかったとは信じ難い (最初の患者例が12月8日ということも)。サウスチャイナ・モーニング・ポストによると、中国政府は11月17日まで患者を追跡している
12月2日週に悪質なインフルエンザの感染拡大が始まり、前年の20倍まで増えた
2021年1月に WHO が行った調査は、誠実や透明性に欠け、妥協、ずさん、根本的に不備で、全く信用できない
12月初旬に SARS-COV-2 だったと判明する多くの症状が現れるには、11月には無症状の多くの感染が広まっていなければならない。これは北イタリアで保存されていた11月の患者のサンプルでも証明されている。2019年11月にイタリアの医師が異常な両側気管支炎を報告し、中国と同じように、新型インフルエンザに分類している
中国はばかげた推論を繰り広げているが、ヨーロッパ各地の事象は、未公開で知られていない11月に武漢で起きた感染拡大の大きな湖を見る舷窓である
ウイルスの由来が、研究所だろうが、労働者や市場だったとしても、新しい病原体が発生したら即時にそれを開示しなければならないという世界の約束に、中国は違反している。ウイルス学者がそれをやらなければならないのか、また、諸外国が疑いのある国にやらなければならないのか

ウイルスは武漢の学校で11月に広まったか
今は、COVID-19 は大人よりも子供には影響が少なく、無症状が多いことが分かっている
イギリスの北ウェールズの若者 Connor Reed は2019年末に武漢で生活し働いていて、後に COVID-19 と分かる病気にかかった最初のイギリス人となった。最初の症状は11月25日。9日後に子猫が物を食べなくなり、11日後に死んだ (猫は COVID-19 にかかる)。翌日、呼吸困難を感じ、タクシーで中南大学病院に行き、肺炎と診断された。翌日自宅に戻り、次第に回復した。36日後 (12月30日) に、中国政府が新しいウイルスにより渡航制限を行うと噂があったので、食料を買い出しに行った。52日後に病院から診断結果が届き、新型コロナウイルスと知らされた。2020年3月にデイリー・メールでこの病気について書き、魚市場で感染ったかもしれないと述べた。そうかもしれないが, 他の可能性もある
武漢に居たもう一人のイギリス人 Jamie Morris は11月に COVID-19 に感染したと疑われる。Reed と Morris は共に教師で、おそらく両者は、授業を行ったある学校で感染したのではないだろうか
Reed はウェールズ大学で職を得てイギリスに戻ってきたが、2020年10月に違法薬物事故で亡くなってしまった

更新
Reed の住居の地図 (Drastic から)

(9/20 月曜日 PM8時 Sky News オーストラリア)
What Really Happened in Wuhan, A Sharri Markson Exclusive, TOMMOROW1, TOMMOROW2, TOMMOROW3

2019年10月に最初に武漢の感染拡大を発見した中国人亡命者 Wei Jingsheng に話を聞いた
COVID-19 ウイルスの特異な特徴を調査しているフリンダース大学教授 Nikolai Petrovsky
 

(9/22)
Wuhan Lab Wanted to Genetically Enhance Bat Viruses to Study Human Risks, Documents Show

武漢研究所は、COVID-19 流行の2年前に、遺伝子操作したコロナウイルスを感染させたコウモリを洞窟の中に放して、感染の広がりを調べる実験を行っていた。※ 哺乳類のコウモリは人間に近い

(9/30)
Sky News Australia:SPECIAL INVESTIGATION: What Really Happened in Wuhan
youtu.be

Huang Yanling:2019年10月に最初に COVID-19 に感染した3人のうちの1人。今は行方不明
2019年9月12日に22,000個のウイルスを記録した武漢研究所のデータベースがオフラインになった
2019年10月に大規模な消毒が行われ侵入禁止になり、携帯電話もつながらなくなった
この時期、武漢から出発する多くの飛行機がキャンセルされた

(9/30)
Peter Daszak 博士 (ピーター・ダザック氏) とは

2020年2月に、WHO が武漢研究所を調査した際の調査員の一人
このときのリーダーはデンマークのピーター・ベン・エンバレク博士

2020年2月に、医学誌「ランセット(Lancet)」に、武漢研究所から流出したという陰謀論を非難する論文を掲載。自分の名前を4位につけた

過去15年間に武漢研究所との共同研究で20以上の論文を発表

(10/1)
Science Magazine:A Scientific Debate on the Origins of SARS-CoV-2: Lab Accident or Natural Zoonosis?

twitter.com

Alina Chan:「Viral: The Search for the Origin of COVID-19」著者
Linfa Wang:紹介はこちら。2020年1月に武漢を訪問していた。昔に武漢研究所の科学諮問委員会の会長だった。武漢でのSARSのようなウイルスの感染拡大が世界で報道されたとき、武漢にいたが、遠くの事件のように感じた。病院の状況は知らなかったので、武漢研究所についての打合せのみ行った。深刻さを知ったのは武漢を出て4日後の2020年1月18日のことだった
Jesse Bloom (シアトル、フレッドハッチンソンがん研究センター):(45:52) If this discussion was gong on for the last year and a half and people knew that there was a proposal by some of the research involved wasn't funded that suggested that. Why did no one come forward and just put this information out there? I mean, if it this had been described at the beginning in a transparent way, I would say, okay, but the fact that it kind of came to light under a leak after all of this discussion, we should mention it. I mean, to me, that's just not transparent, odd. 情報リークで明るみに出て、議論に透明性が無く、奇妙だ
Michael Worobey (アリゾナ大学):(52:11) To me it's just not plausible that this sequence that you find in bats naturally, just a slight tweak on that was what would have been inserted into this genome. It actually makes no sense. コウモリでこの遺伝子配列は自然では起こり難い。細工がされている。自然に起きる理由が無い

(10/9)
Revealed: Wuhan and US scientists planned to create new coronaviruses

シンガポールDuke NUS は、EcoHealth Alliance、武漢研究所、ノースカロライナ大学と共同で、遺伝子を組み合わせて新しいウイルスを作る研究を Darpa に提案していた
※ Linfa Wang は Duke NUS に勤務

(10/9)
Sharri Markson’s book on Covid’s Wuhan lab leak theory raises more questions than it answers

オーストラリア、メルボルン、ドハーティ研究所の Danielle Anderson は、2016年から2019年11月まで武漢研究所でコロナウイルスを研究していた最後の外国人だが、専門技術が高く、厳しく防護された研究所だったと述べている。2019年11月に数名の研究者が COVID-19 に感染し倒れ、外部との通信が遮断され、道路が数日通行止めになったのならば、Anderson はこのとき居たはずである

(10/7)
Megyn Kelly Show:Getting Real About How COVID Started and COVID Vaccines, with Josh Rogin and Scott Gottlieb
www.youtube.com

Wei Jingsheng、Chinese Defector
John Ratcliffe、Former DNI、前アメリカ合衆国国家情報長官
Robert Redfield、Former CDC director、前アメリカ疾病予防管理センター長官
Don SoRelle、music teacuher

(10/16)
Megyn Kelly Show:COVID Origins and the Homelessness Crisis, with Richard Muller and Michael Shellenberger

www.youtube.com

Richard Muller:カリフォルニア大学バークレー校、物理学専攻名誉教授
Scott Gottlieb:前 FDA 長官 (アメリカ食品医薬品局)、「Uncontrolled Spread」著者
Ralph Baric:UNC ノースカロライナ大学チャペルヒル校 ギリングス 公衆衛生学校 教授
Josh Rogin:ワシントンポスト記者
Dr Steven Quay:医学博士、アトッサ・セラピューティクス社 (11/15)
Kristian Andersen:スクリプス研究所、ウイルス学者
Tyler Starr:ワシントン大学
Jesse Bloom:シアトル、フレッドハッチンソンがん研究センター

It's certainly greater than 100 to 1 = Percentages like these don't make sense
scientist
racist
furin cleavage site
prediction
double cgg
civet

(5:39) to calculate the relative odds of two theories, it's standard statistical method
研究所流出か自然発生か、どちらが起きたかの公算は、基準統計法で計算される
(8:49) People look for evidence to support their point of view and if they don't find it they say we haven't confirmed it yet. They don't recognize that the lack of such evidence, the absence of such evidence is evidence for the lab leak origin
ある事柄を証明しようとし、証拠が見つからないとき、まだ確認できていない、と言うかもしれない。証拠が見つからない、証拠が存在しない、ということは、それが、研究所流出起源の証拠である
(9:14) The idea that we have to get access to the records of the Chinese laboratories is akin to saying we can never convict someone of a crime unless they confess. And that's just not true. It's not the way things go. There is strong evidence he dismisses scientific evidence as circumstantial. But it not, it is solidly established, it's been published. Two of the key reports were pulished by the world health organization. But it as so here's evidence, we didn't, we were unable to prove our conclusion based on this evidence. But in fact if you're looking at it as a scientist your conclusion is this evidence strongly supports the lab leak theory
中国の研究所のデータベースにアクセスできなければ分からない、という事は、自白が無ければ犯罪者を有罪にできない、と言っている事と同じである。それは違う。中国は、科学的な証拠を、その都度否定している、というのが証拠である。しかし、研究所流出ではないということが発表されてしまっている。WHO から2つの報告書が発表されている。しかしこれも、これらの証拠からは結論を出すことができない、という証拠を作っている。実際に、科学者としてそれを見たとき、それは研究所流出を示しているように見える

This was a lab leak and not natural origin (points he wants people to understand)
1. the absence of pre-pandemic infections
2. the failure to find a host animal
3. the optimization of this virus for humans
4. the absense of cleavage sites in related coronaviruses
次の点を考察し、これは自然起源ではなく、研究所流出と言える
1. 感染流行の初期段階が無い
2. 宿主動物が見つからない
3. 人間へ最適化されたウイルス
4. 他のコロナウイルスには開裂部位が存在しない

 

(11/9)
「The Origin of the Deadliest Pandemic in 100 Years」著者
Elaine Dewar
How Did the COVID-19 Virus Make the Leap?
www.youtube.com

(1:11)
魚市場起源説は、流行が始まった最初の月に、議論の対象から外れています。それは、Nature誌、Lancet誌、New England Jurnal of Medicine誌に、中国人専門家が発表した、最初の感染者のうち約44%が魚市場とは無関係、とのことから、疫学的に明らかです

(4:42)
誰かが間違いを犯し、無症状感染で研究所から出て、広まった、のが最もらしい

(9:25)
何故、研究所流出説が陰謀論であるとの非難が、長く続いたのか
全力で権益を守ろうとした

(11:05)
2020/1/31に、ファウチ博士 (Dr. Fauci) は、スクリプス研究所でウイルス学者のクリスチャン・アンダーソン氏 (Kristian Andersen) と、彼の同僚のシドニー大学復旦大学の教授である E.C ホルム氏 (Edward C Holmes) から、Eメールを受け取り、電話をした。二人は、公開されたゲノム配列を見たところ、編集された形跡があると伝えた。翌日や翌々日に、緊急の会議が行われ、ファウチ博士、コリン博士 (Dr. Francis Collins、NIH 所長)、英国ウェルカム・トラストのフェラー氏 (Farrar)、クリスチャン・アンダーソン氏、ホルム博士などが参加した。この2日間の会議で、協調した一連の声明文の作成が行われた。声明文はエコヘルスアライアンスのピーターダザック氏 (Peter Daszak) が下書きし、クリスチャン・アンダーソン氏、ラルフ・エスバラック氏 (Ralph Baric)、リンファ・ワン氏 (Linfa Wang)、皆、武漢研究所で研究を行っていたバットウーマンと呼ばれる中国の石正麗氏 (Shi Zheng-li) と一緒に働いていた者達が協力し、1つは Lancet 誌に送られ、もう1つは米国科学アカデミー・医薬工学の名前でホワイトハウスに送られた。それには、研究所からの流出は考えられず、それは陰謀論で、誤りである、と書かれていた

 

(11/15)
Dr. Steven Quay (医学博士、アトッサ・セラピューティクス社)
Dr. Steven Quay is 99% sure Covid came from lab leak

legislation, legislative, legislature
Congressman Devin Nunes
Dr. Asher
Tom Cotton Senator
193 page paper
five facts

昨日、65名の民主党共和党の上院と下院の議員に、1時間半に渡って、新型コロナウイルス起源についての科学的説明を行った。Dr. Asher が政治的問題や事柄を説明した。最後に質疑を受けた

 

(11/20)
The Times: Viral by Alina Chan and Matt Ridley review — did Covid-19 leak from a Chinese lab?

Tom Chivers
もし、中国政府、または、武漢ウイルス研究所やエコヘルスアライアンスの誰かが、感染拡大の前に、無謀な事を行った、または、過ちを隠蔽しようと行動したならば、それを告白すべきであるし、彼らは、少なくとも、権威を失墜させるべきである (後進が育つために)

 

 

 

 

 

 

 

カロリーメイト

f:id:sato7411:20210711212721j:plain

コロナ渦で外に出るのも面倒で, 雨も降っているので, 
台所の棚の中にあったカロリーメイトを食べました。

昔, 朝食で食べていて, たくさん買って, 残っていたもの。

賞味期限が 15. 4. 17 とありますが, 全然, 大丈夫でした。
味も見た目も, 全くそのまま。

 

(2022/01/31 追記)

f:id:sato7411:20220201003435j:plain

2014.3.27 のチキンラーメンは、袋を開けた後、においがあり、卵とお湯を加えた後でも、においと、味が変で、駄目でした。食べれず、捨てました。2011.4.20 のチキンラーメンもありますが、こちらは、中の空気が増えて、袋が膨らんでいます (開けてません)。

 

最近、18.06.28 の新潟産コシヒカリを食べていますが、こちらは全然大丈夫。