2021年8月22日日曜日

JS:Nodeと非同期処理

NodeJSでは、パフォーマンスを優先するためにファイルやネットワーク、データベースの入出力など時間のかかる処理には非同期処理になる仕様になっている

同期処理に対応するために
「XXXXSync」の関数が用意されている

例えば
 fs.readFile() : ファイルを読み込む非同期処理

 fs.readFileSync() : ファイルを読み込む同期処理

const fs = require('fs')
// 同期処理
const data = fs.readFileSync('gggg.tat''utf-8')
console.log(data)
// 非同期処理
fs.readFile('gggg.tat''utf-8', readHandler)
function readHandler(err, data) {
  console.log(data)
}


無名関数

const fs = require('fs')

// 非同期処理
fs.readFile('gggg.tat''utf-8'function (err, data) {
  console.log(data)
})


アロー関数

const fs = require('fs')

// 非同期処理
fs.readFile('gggg.tat''utf-8', (err, data) => {
  console.log(data)
})


コールバック地獄

const fs = require('fs')

// 非同期処理
fs.readFile('a.tat''utf-8'function (err, data) {
  console.log('a.txtを読みました', data)
  fs.readFile('b.tat''utf-8'function (err, data) {
    console.log('b.txtを読みました', data)
    fs.readFile('c.tat''utf-8'function (err, data) {
      console.log('c.txtを読みました', data)
    })
  })
})


Promise対応

const fs = require('fs');

// Promise
function readFile_pr(fname) {
  return new Promise((resolve) => {
    fs.readFile(fname, 'utf-8', (err, s) => {
      resolve(s)
    })
  })
}

// テキストファイルを呼び込む
readFile_pr('a.txt')
  .then((text) => {
    console.log('a.txtを読みました', text)
    return readFile_pr('b.txt')
  })
  .then((text) => {
    console.log('b.txtを読みました', text)
    return readFile_pr('c.txt')
  })
  .then((text) => {
    console.log('c.txtを読みました', text)
  })


Generatorを使った場合

const fs = require('fs');

// 非同期処理の完了を待って関数の続きを呼び関数
function read_gfn(g, fname) {
  fs.readFile(fname, 'utf-8', (err, data) => {
    g.next(data)
  })
}

// Generator関数を定義する
// yieldで停止
const g = (function* () {
  const a = yield read_gfn(g, 'a.txt')
  console.log(a)
  const b = yield read_gfn(g, 'b.txt')
  console.log(b)
  const c = yield read_gfn(g, 'c.txt')
  console.log(c)
})()

g.next() // yieldとyieldとの間を実行


ES2017のasync/awaitを使った場合

// ES2017のasync/awaitを使った場合
const fs = require('fs');

// Promiseで非同期のファイルを読み込む処理
function readFileEx(fname) {
  return new Promise((resolve, reject) => {
    fs.readFile(fname, 'utf-8', (err, data) => {
      resolve(data)
    })
  })
}

// すべてのファイルを逐次読み込むasync関数を定義
async function readAll() {
  const a = await readFileEx('a.txt')
  console.log(a)
  const b = await readFileEx('b.txt')
  console.log(b)
  const c = await readFileEx('c.txt')
  console.log(c)
}

readAll()


ES2017ではプログラムが読みやすくなる


2021年8月20日金曜日

ご冥福をお祈りいたします

千葉真一さんの訃報に驚く
まさかの新型コロナウィルスに感染して肺炎で亡くなる
子供たちはみな、芸能界入りをしているので、アクションを活かした活動をしてくれるだろう

でもとても残念

健康体なので、ワクチン接種をしていないのは・・・さらに残念
ワクチン接種をしていればと思ってしまう

キーハンターをみてファンになりました
色々なアクションを見て感動しました


笑福亭仁鶴さんが、病気で亡くなる
話術が好きで、司会をしていた番組はよく観ていました
面白い話で、しかも分かりやすい

お二人で楽しんだ日々、忘れません

感動をありがとう

2021年8月19日木曜日

感染対策は限界か?

感染対策、国などをみていると、全く何もしていない
柔軟に対応することができないようだ

なぜできないのかといえば、形式にこだわり、官僚や政治家のプライドで行動しているからだ
何をいなすべきかをよく知っていれば、柔軟に対応させることが重要

提言としては

  • 緊急事態宣言の全国に展開
    解除条件は医療を圧迫させない
  • 個人の行動および店舗などの法的規制
    国民の安全保障法の設立
  • 必要な医療などを確保するために人的・設備補充の拡充
  • 国民の安全保障法に基づく、医療・企業などの支援
  • 大企業に対してはテレワークをすること
    テレワークができない大企業には税金をかける
  • 中小企業には医療関係の製造などを行わせる(補助金あり)
    大企業はすべて国の事業を行う(補助金なし) 

コロナで守るべきものは医療など、生活に重要なものである


2021年8月15日日曜日

コロナ対策

雨がよく降りだし、各地で大雨により被害が出ている
川の氾濫などで冠水や山などの土砂崩れ、テレビで観ているだけで、心が痛む

何が起きるかわかりません

行動する際は情報を得て、動きましょう


新型コロナウィルス、デルタ株になり、感染者が急増
ウィルスがものにつくので、これでは感染者が急増するのは当然かもしれない
通販や宅配サービスに対して対策が必要だ


ワクチン接種を14日に受ける
打った箇所が筋肉痛で、腕を上げにくい、翌日から徐々に痛みが緩和されてきました
倦怠感はないが、眠くなり、接種を受けた日は帰宅後、2時間ほどを寝ると頭がすっきりする
1回で、効き目がある雰囲気を感じる

デルタ株は怖いので、今後も感染には気を付けて行動する必要があります
油断は大敵
自粛疲れで行動すれば、自分や周りの人の命を危険にさらす行為です
慎重に行動しましょう
人のいないところでストレス発散・・・といって人のいないところはないです



就活の際の注意点

日本という国は何事も形式にとらわれる
その代わり本質というものをみない
それによって、問題が出てくることが多い

このような社会では形式に合わせれば、何事にも傾向と対策が行える

就職活動において、相手を知れば傾向が立てやすい
まず大企業ほど、形式主義、そして人事も専門家ではない
人事をしている人間も、教育を受けて形式的なものしかできないのだ
人事の専門家と名乗る人は多いが、ほとんど形式主義のみで本質を見ることができない

では形式とは何だろうか?

  • 学歴などの形式があっていること
  • 経歴が形式にあっていること
  • 面接の際の容姿(服装や髪形などのこと、顔だちなどの容姿ではない)や、言葉遣い、受け答え

面接をする人が形式主義なので、それに合わせて面接を受けるものも形式に合わせる
また、これは履歴書などもそのようにする

変わった質問をする場合もあるが、これは単なる人事での標準的な傾向であり、特別なことではない
また、今は、変な質問はハラスメントになるので、行えない、なぜなら、面接の際に面接の受けるものが録音をしている場合もあるからだ


何事にも傾向と対策

面接を受けた場合を想定して、面接の受け答えの対策をするときは、自分で録画して対策を立てましょう
回答をする際、顔の表情が変わりすぎる人もいますので

女性の場合、つい顔に出してしまう場合があるので気を付けましょう