職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

息子介護物語-エピソード3

2018年12月29日 | 医療
--このブログは母親の介護奮闘記です?--


【被介護者】
母、85才
要介護3
身長/体重;153/38Kg
介護プラン;2回/週で半日

【介護関連企業】
DS(デイサービス):きらら
ケアマネ:すずみな

【病状】
大腿骨頸部骨折後、腰から左足にしびれる(神経痛)。更に、立ちくらみとめまいを起こす。認知程度は日付・時間が良くわからない。時々、人の気配を感じたり、半日経つと、DSに行ったことが、あやふやになる。運動は立ってトイレに行ける。その他はシルバーカーor杖じゃないとダメ


・12/1(土)
DSに無事行った。尻の黒ずみとザラつき部分にケラチナミンクリームを塗った。

予備着替えの中に濡れたタオルを入れられていたので、次回注意しないと、


・12/4(火)
DSに無事行った。だんだん、DSに慣れて来たみたいだ。

・12/5
うちのババァ、ネズミと同じで夜になると元気になり、タンスを整理し、朝来ると寝る。股関節が痛いみたいだ。

・12/7
夜中、2回もつまずいて転んだ。

・12/8(土)
DSに無事行った。

帰宅後、買い物に行った。

・12/10(月)ケアマネジャーの訪問日
ケアマネジャーがサービス利用票を持ってきた。

ケアマネジャーから言われ事
1)なるだけ、利用時間を長くするように!
2)お風呂はDSの時だけにして、自宅では洗い流すだけ!
3)お風呂で転んだ時は頭を打ったほうが楽になれる。
4)お役所は相談する所で、解決するには自分で動かなけれなならない!これは常識。
5) 居宅介護支援事業所すずみなはスズノキ精神病院の系統で、認知症の知識は十分ある。
6)今は総合病院で手術して3ヶ月入院すると、かかりつけに戻す様に成っている。
以上

・12/11(火)
今日はDSの日、昨日眠れないのにも関われずに行った。左足の股関節あたりの痛みが気になる。

DSの食事前に、少し吐いたみたいだ。
DSの帰り、栗橋のベイシャによった。

・12/13(木)
今日の母の調子は良く、10時頃から味噌汁を作り始めた。昨日は頭がボーと、していて、左の股関節が針を刺した様に痛かった。

・12/15(土)
今日もなんだかんだ言って、無事、DSに行った。後から、オイラがDSのお金を届けに行く

ご機嫌で、母は帰ってきた。

・12/17(月)
今日はかかりつけ医に行った。「神経痛であまり歩けない」と言ったところ、「歩かないと、筋肉が細り、寝たきりに成るよ。痛くも、少しは散歩しないと、筋肉の痛みは和らがないよ」と院長に言われた。

・12/18(火)
DSの日、今月の誕生日会を行ったが、ケーキは午後のおやつので食べられ無かった。
DSの帰り、1000円カットとに行き、「母の頭を夏目三久の様にしてくれ!」と言ったら、「はぁ?」と答えられた。


・12/19
今日は朝から寝たきり、股関節が痛いみたいだ。歩き過ぎたか?ネット検索すると、股関節が痛い時はゆっくり、休みながら15分ぐらい歩く様にしないと歩けなくなるらしい

・12/20
朝から股関節が痛い為、かかりつけ医に行った。レントゲンの結果、骨折やひび割れは無い。単なる神経痛の為、痛み止めの注射をして帰宅した。畳より椅子の方が良いと言われた。

・12/22(土)
DSの日、無事に行った。

今日は冬至なので、ゆず湯に入ってきた。

・12/25(火)
DSの日。残念ながら血圧が高いため、お風呂に入れず


・12/27
介護サービス利用者負担助成申請書(10月分)が送られてきた。
⑤通所介護費(DS)
⑦福祉用具貸与(床置き手すり)→3月まで待つ

・12/29(土)
今年最後のDSに行った。今日はあまり人が集まら無いから気が進まないと言っていた。

帰りにスーパーに寄った。
コメント (1)

JavaScriptの超入門編31--JSONファイルの読込み

2018年12月29日 | JavaScript
サーバからJSONファイルを読み込むには


【開発環境】
OS;Window10
Webブラウザ:Google Chrome
テキストエディタ:Brackets

【JSONとは】
JSONは、「JavaScript object Notation(記述)」の頭文字で、その名前の通り、JavaScript上でオブジェクトを記述するためのテキストフォーマットとして開発されたもので、言わば、JavaScriptのオブジェクトリテラルのサブセット(機能縮小版)である。
同じような用途で使用されるマークアップ言語の一つであるXMLと比べると、JSONの方が記述がシンプルで、たいていの場合はデータ量も少なくて済む。

1.JSONの記述形式

・JSONは、データ全体を「{}」で囲み、コロン「:」で接続したキー(プロパティ)となる文字列と値のペアを、カンマ「、」で区切って指定した連想配列。
オブジェクトリテラルの場合、キーはクォーテーションで囲まなくても良いのに対して、JSONの場合、キーは文字列として指定するため必ずダブルクォーテーション「”」で囲む

2.JSONデータをオブジェクトに変換するには
JSONデータは、そのままでは文字列ですから、何らかの方法でObjectオブジェクトのインスタンスに変換する必要がある。そこで、JSONオブジェクトのparse()スタティックメソッドを使用する方法が推奨されている。

サンプル「parseJson1.html」
<!DOCTYPE html>
<html lang="ja">

<head>
 <meta charset="utf-8">
 <title>JavaScriptのテスト</title>
</head>

<body>
 <script>
 var jsonStr = '{"name": "山田太郎", "age": 53,"mail": "taro@example.com"}';
 var obj = JSON.parse(jsonStr);←jsonStr変数に代入された文字列をオブジェクトに変換し、変数objに代入している。

 for (prop in obj) {
console.log(prop + ": " + obj[prop]);キーと値を表示
 }
 </script>
</body>

</html>
・実行結果


3.オブジェクトを文字列に変換する
JSONオブジェクトのインスタンスを、JSONの文字列に換算するには、JSONオブジェクトのstringify()メソッドを使用する。

サンプル「stringifyJson1.html」
<!DOCTYPE html>
<html lang="ja">

<head>
 <meta charset="utf-8">
 <title>JavaScriptのテスト</title>

 <style>
  body {
   text-align: center;
  }

  #myArea {
  background: yellow;
  }
 </style>

</head>

<body>
 <script>
 var obj = {
  "name": "山田太郎",
  "age": 53,
  "mail": "taro@example.com"
  };

  var jsonStr = JSON.stringify(obj);
  console.log(jsonStr);
 </script>

</body>

</html>
・実行結果


◆JSONファイルをWebサーバから読み込む
WebサーバからJSON形式のテキストファイルを読み込む例を示す


1)JSONファイル「customer1.json」を準備し、プログラムファイル「loadJson1.html」と同じフォルダーに納めておく
・「customer1.json」ファイル
{
"customers":[
{
"name": "山田花子",
"age": 45,
"mail": "hana@example.com"
},
{
"name": "伊能五朗",
"age": 33,
"mail": "go5@example.com"
},
{
"name": "田中虎之助",
"age": 51,
"mail": "tiger@example.com"
},
{
"name": "中山真",
"age": 23,
"mail": "makoto2@example.com"
}
]
}
2)プログラムファイル「loadJson1.html」
<!DOCTYPE html>
<html lang="ja">
<head>
 <meta charset="utf-8">
 <title>JavaScriptのテスト</title>
   <style>
    #myArea {
     background: yellow;
     }
    </style>

</head>

<body>
 <h1>JSONデータをロードする</h1>
 <input type="button" id="myBtn" value="ロード">
 <div id="myArea">
   <table id="myTable"></table>
 </div>

<script>
  // JSONファイルのパス
  var path = "customer1.json";

  var btn = document.getElementById("myBtn");
  btn.addEventListener("click", loadFile, false);

  function loadFile() {
    var req = new XMLHttpRequest();
    req.open("GET", path, true);
    req.responseType = "json";
    req.addEventListener("load", function (ev) {

     if (ev.target.status == 200) {
     showData(ev.target.response);
 } else {
       console.log("読み込めませんでした");
      }
     });
     req.send(null);
   }

 // JSONデータをテーブルとして表示する
  function showData(response) {
  var customers = response.customers;
  var tStr = "<table>";

  for (var i = 0; i < customers.length; i++) {
   console.log(customers[i].name, customers[i].age);
   tStr += "<tr>" + "<td>" + customers[i].name + "</td>" +
     "<td>" + customers[i].age + "</td>" +
     "<td>" + customers[i].mail + "</td></tr>";
     }

     tStr += "</table>";
     var myArea = document.getElementById("myArea");
     myArea.innerHTML = tStr;
  }

 </script>

</body>
</html>

◆JSONP形式を使用してデータを読み込む
JavaScriptのプログラムを使用したWebサーバとの通信では、クロスドメイン制約により、基本的にドメイン外のサーバとは通信出来ない。その対策として、JSONP形式が考えられた。

1)仕組み
JSONデータ
{"name":"田中一郎",
"mail":"ihiro@example.com"}


JSONP形式に変えると
myFunc(
{"name":"田中一郎",
"mail":"ihiro@example.com"}

)
つまり、myFunc()関数の引数にJSONデータを記述したもの

2)サンプル

◆JSONPファイル「jsonp1.html」
<!DOCTYPE html>
<html lang="ja">

<head>
 <meta charset="utf-8">
 <title>JavaScriptのテスト</title>

 <style>
 #myArea {
  background: yellow;
  }
 </style>


</head>

<body>
 <h1>JSONPのテスト</h1>
 <input type="button" id="myBtn" value="ロード">

 <div id="myArea">
  <table id="myTable">
 </div>


 <script>
  var response;

  // JSONPから呼び出される関数
  function myFunc(json) {
response = json;
   }

  // ボタンがクリックされたらshowDate()関数を呼び出す
  var btn = document.getElementById("myBtn");
  btn.addEventListener("click", showData, false);

  // JSONデータをテーブルとして表示する
  function showData() {
    var customers = response.customers;
    var tStr = "<table>";

    for (var i = 0; i < customers.length; i++) {
console.log(customers[i].name, customers[i].age);
     tStr += "<tr>" + "<td>" + customers[i].name + "</td>" +
     "<td>" + customers[i].age + "</td>" +
"<td>" + customers[i].mail + "</td></tr>";
     }

tStr += "</table>";
     var myArea = document.getElementById("myArea");
     myArea.innerHTML = tStr;
  }

 </script>
//scriptエレメントのsrc属性でJSONPファイル「customer1.jsonp」を読み込む
<script src="customer1.jsonp"></script>

</body>
</html>
◆データファイル「customer1.jsonp」
myFunc({"customers":[
{
"name": "山田花子",
"age": 45,
"mail": "hana@example.com"
},

{
"name": "伊能五朗",
"age": 33,
"mail": "go5@example.com"
},

{
"name": "田中虎之助",
"age": 51,
"mail": "tiger@example.com"
},

{
"name": "中山真",
"age": 23,
"mail": "makoto2@example.com"
}
]
});







コメント

消えないアカウントを削除するには

2018年12月25日 | outlook13
荒業なのであまりおすすめ出来ない--健忘録
しつこく残るアカウントを削除するには


【outlook2013】
余分なアカウントを消すには→Outlook 2013でメールアカウントを削除する方法

それでもだめだったら、outlookを閉じ、電子メールアカウントの「データファイル」でしまされたファイルを探して削除する。
再びoutlookと☓☓アカウントのデータファイルが見つからないと表示されたら、右クリックで「アカウントを削除する」のところをクリックする
コメント

JavaScriptの超入門編30--非同期通信

2018年12月19日 | JavaScript
サーバーからテキストファイルを読み込む


【開発環境】
OS;Window10
Webブラウザ:Google Chrome
テキストエディタ:Brackets

【非同期通信】
Ajaxを使用すると、Webブラウザ内のJavaScriptプログラムとWebサーバーの間でデーターのやり取りが行える。

・Ajax→「Asychronous JavaScript+XML」の略で、Webアプリのための様々な技術の総称です。その大きな特徴は、JavaScriptのプログラムを利用してWebサーバと非同期で通信しながらWebページをリアルタイムに更新出来る。

【同期通信と非同期通信の違い】
・同期通信
→サーバにリクエストを送り、そのレスポンスの受信が完了してから次の処理に進む通信方式。そのため、同期通信では、フォームの「送信」ボタンを押すなどしてリクエストをWebサーバに送信した場合、そのレスボンスを待っている間、Webブラウザは別な処理が出来ない。

・非同期通信
→サーバにリクエストを送り、そのレスポンスを待っている間、並行して他の処理を実行できる。

【Ajaxで扱うデータ形式】
Ajaxの「Asychronous JavaScript+XML」には、XMLという用語が含まれる。XML→HTMLと同じタグベースのマークアップ言語で、WebサーバとWebブラウザ間のデータのデータ交換フォーマットとして活躍している。また、Ajaxで使用されるデータ形式は、XML形式以外に、テキスト形式やJSON形式がある。


※マークアップ言語の種類
HTML、SGMLXMLXHTMLなどが有る。

【Asychronous JavaScriptオブジェクト】
Asychronous JavaScriptオブジェクトは、プロパティを設定するだけで、同期通信と非同期通信のどちらでも実行可能。Webの世界では、HTTPというプロトコルにより通信が行われる。
例えば
Webブラウザで「http://example.com/sample.html」とアドレスを指定すると、Webサーバ「example.com」に、ファイル「sample.html」を要求するHTTPリクエストが送られ、サーバは指定されたファイルを、Webブラウザに転送する。

Asychronous JavaScriptオブジェクトを利用すると、その様なHTTPプロトコルの送受信の処理を、JavaScriptプログラムでコントロール出来る。


【HTTPプロトコルの概要】
WebサーバとWebブラウザ間で交わされる通信の約束事をHTTPプロトコルと呼び、HTMLファイルだけでなく、テキストファイル、イメージファイル、オーディオファイルなどを転送することが出来る。

・HTTPリクエスト
例えば、
Webブラウザで、URL「http://www.example.com/sample.html」を指定すると→「sample.html」ファイル取得のHTTPリクエストが、Webサーバ「www.example.com」に送られる。その時、HTTPリクエストは、GETメソッドに続いて、ファイルパス、HTTPのバージョン、ホスト名などの情報が含まれる。

①は、GETメソッドに続いて、要求するファイルのパス「/index.html」と、HTTPのバージョン「1.1」
を指定
②は、HOSTヘッダと呼ばれる部分で、ホスト名を指定

・HTTPレスポンス

①は、レスポンスヘッダで、データの情報が含まれる部分
②は、ステータスで、「200 ok」はリクエストが正常に受け付けられた事を示す
③は、レスポンスボディでやり取りされるHTMLファイルの中身

◆XMLHttpRequestオブジェクトを使った非同期通信の流れ
XMLHttpRequestオブジェクトを使って非同期通信を行う場合、レスポンスの受信が完了したかどうかは、コールバック関数を使う事が必要になる。つまり、データの受信が正常に終了したときに、コールバック関数が呼び出される様に設定する。

 次に、XMLHttpRequestオブジェクトを使用して非同期通信を行うときの基本的な流れは

WebサーバからHTTPレスポンスを受け取った時点で、④で指定したコールバック関数が呼び出される様になる。

例文

①→new演算子によりXMLHttpRequestオブジェクトを生成して、変数reqに代入する。
②→responseTypeを「"text"」に設定し、テキスト形式のデータを受け取るようにしている。
③→open()メソッドはHTTPリクエストを生成するメソッド。最初の引数には"GET"か"POST"を指定します。これらはHTTPプロトコルのメソッドで、HTMLファームのmethodアトリビュートで指定する値と同じ。サーバからデータを取得する場合は、"GET"を使用する。2番目の引数はURL。3番目は非同期/同期の指定で、「true」にすると非同期通信になる。
④→addEventListener()メソッドにより、loadイベントに対応するコールバック関数として無関数を設定している。関数内では、HTTPレスポンスで受け取ったデータの処理を記述する。
⑤→send()メソッドで、生成したHTTPリクエストを送信する。引数に「null」を指定するのは、GETメソッドの場合、データにURLに含めなければならない為。

◆コールバック関数のreadyStateプロパティとstatusプロパティについて
コールバック関数の内部では、リクエストが送信され、それが正しく処理されたかどうかを確認する必要があり、その時、2つのプロパティreadyStatestatusを使う事になる。
readyState→通信状態を表す

status→Webサーバ側がレスポンスとして返すHTTPプロトコルで定義されているステータスコード


◆Webサーバからテキストファイルを読み込む

1)サンプル「getText1.html」
<!DOCTYPE html>
<html lang="ja">

<head>
<meta charset="utf-8">
<title>JavaScriptのテスト</title>
<style>
 body {
text-align: center;
}

 #myArea {
 background: yellow;
}
</style>

</head>

<body>
 <h1>Ajaxのテスト</h1>
 <input type="button" id="myBtn" value="ロード">
<div id="myArea">
</div>

<script>
  // ロードするファイルのパス
  var path = "data.txt";

// ボタンのクリックのイベントリスナーを設定
var btn = document.getElementById("myBtn");
 //リスナー関数の登録
btn.addEventListener("click", loadFile, false);

// テキストファイルをロードする
function loadFile() {
  var req = new XMLHttpRequest();
  req.responseType = "text";
  req.open("GET", path, true);

  // loadイベントのイベントリスナーを設定
  //引数evは、イベントが渡される
  req.addEventListener("load", function (ev) {
  if ((ev.target.status == 200) && (ev.target.readyState == 4)) {
  document.getElementById("myArea").innerHTML = ev.target.responseText;
  } else {
  console.log("読み込めませんでした");
  }
  });
   req.send(null);
  }
</script>
</body>

</html>

2)データファイル「data.txt」
<h1>JavaScript</h1>
<h2>Ajaxの利用</h2>
<p>サーバと非同期でデータをやりとりするXmlHttpRequestオブジェクト</p>








コメント

Javascriptの超入門編29--クロージャと即時関数

2018年12月07日 | JavaScript
--クロージャと即時関数--


【開発環境】
OS;Window10
Webブラウザ:Google Chrome
テキストエディタ:Brackets

【クロージャ】
クロージャは、関数内で、その外側の変数を保持する仕組み。


1)もっともシンプルなクロージャ
サンプルプログラム「closure1.html」
<!DOCTYPE html>
<html lang="ja">

<head>
<meta charset="utf-8">
<title>JavaScriptのテスト</title>
</head>

<body>
<script>
     //グローバル変数
var counter = 0;
     //関数定義
function countUp(){
  return ++counter;//カウントUPしてreturn文で返す
}

console.log(countUp());
console.log(countUp());
console.log(countUp());
</script>
</body>

</html>
・実行結果


2)関数を返す関数でクロージャを作成する
JavaScriptの関数はファーストクラスオブジェクトですので、関数を戻り値とすることが出来る。

・サンプルプログラム「closure2.html」
<script>
//外部関数
function createFunc() {
var str = "こんにちは";
     //内部関数
function sayHello() {
 console.log(str);
}

// sayHello()関数を返す
 return sayHello;
}
     //変数に外部関数の戻り値;sayHello()関数を代入
var myFunc = createFunc();
myFunc();クロージャ化した関数を呼び出す
</script>
・実行結果


3)変数はクロージャごとに保持される
クロージャの中に閉じ込めれた変数は、クロージャごとに個別の値を持ちます。オブジェクトのインスタンスがそれぞれ個別のプロパティを持つのと同じようなイメージ

・サンプルプログラム「closure3.html」
<script>
function createFunc(str){
 //内部関数
 function sayHello(){
  console.log(str);
  }

 // sayHello()関数を返す
 return sayHello;
}

var myFunc1 = createFunc("こんにちは");
 myFunc1();

var myFunc2 = createFunc("さようなら");
 myFunc2();

</script>
・実行結果


4)クロージャを使用してカウンタを作成する
クロージャを生成した後、クロージャ内の変数の値を変更することも出来ます。
<script>
function makeCounter(initValue) {
 内部関数
 function counter() {
   console.log(++initValue);
  }

  return counter;戻り値
}

// 初期値を0にしたカウンタ
var counter1 = makeCounter(0);
呼び出し
counter1();
counter1();
counter1();

// 初期値を10にしたカウンタ
var counter2 = makeCounter(10);
呼び出し
counter2();
counter2();
counter2();

</script>
・実行結果


5)DOMの操作でクロージャが必要な例
ジャンプ先のURLを保存した変数をクロージャに閉じ込めて置くことで、正しく動作させることが出来る。
・サンプルプログラム「clump2.html」

<body>


<p>
<input type="button" id="search" value="検索">
<input type="button" id="weather" value="天気">
<input type="button" id="news" value="ニュース">
</p>

<script>
 
 var links = {
    "search": "http://google.co.jp",
    "weather": "http://weather.yahoo.co.jp",
    "news": "http://www.asahi.com"
  };
 

 // クロージャを生成→onclikイベントハンドラに登録するクロージャを返す
 function makeLink(){
var loc = links[key];
     //無名関数:location.hrefプロパティに変数locを代入して戻しています。これでクロージャに、リンク先のURLを管理する変数locが閉じ込められる
return function(){
location.href = loc;
};
 };

var btn;

 // クリックしたらリンク先にジャンプ
 for (key in links) {
btn = document.getElementById(key);
btn.onclick = makeLink();←makeLink()により生成したクロージャを、onclickイベントハンドラに代入する
 }
</script>
</body>

・実行結果


【即時関数】
即時関数は、無関数を変数に代入せずに実行するテクニックである。即時関数を利用すると、グローバル変数を気にすること無く、自由に変数を使用出来ます

・サンプルプログラム「wordOfToday1.html」
省略
<body>
<h1 id="wordOfToday"></h1>
<script>
   // この部分に既存のプログラムがあってもよい
//即時関数
(function () {

//HTML要素の取得
var element = document.getElementById("wordOfToday");
//配列
var proverbs = ["弘法も筆の誤り", "濡れ手に粟",
"吠える犬は滅多に噛まぬ",
"灯台もと暗し", "転ばぬ先の杖"];

//乱数を使用して諺をランダムに取り出し、id属性が「wordOfToday」のh1エレメントに表示される
element.innerHTML = proverbs[Math.floor(Math.random() * proverbs.length)];

})();

// この部分に既存のプログラムがあってもよい
</script>
</body>
省略
・実行結果
コメント