週末のアプリ作成

androidアプリ個人開発者の実態を報告します。アプリの収入も公開中です♪

個人アプリの広告収入が激減!?逆境から見える一筋の光

コロナ直撃!!!個人アプリの広告収入が激減(涙)しかし一つの希望が見えてきた

こんにちは、TF's appsです。

 

最近、個人アプリのインスールも減り、

アプリの広告収入も減り、

コロナにより先行き不安な状況です

(休校により、毎朝小2の姫様を学童まで送っています)

 

~個人アプリの広告収入~

先日の記事で個人アプリの広告収入が

2020年2月は約1年6カ月ぶり

単月収入が¥1,000- を割り

¥778- となりました

 

そして2020年3月に入り

4日経過した時(3月4日)の広告収入です

f:id:TFs_apps:20200307155823j:plain

 

がーん・・・・

ついにこんな事になるとは

 

なんと¥0-

0円生活の始まりだぁ~~~(涙)

 

毎日、少なくとも数10円は入るのですが、

4日間も0円が続くのは異例でした

 

人の行動が変わると、

ここまで私のアプリにも影響が出るのですね

改めて、目には見えないコロナの恐怖を感じています。

 

同じ個人アプリ開発者でも

ゲームアプリを作っている方は

特需になっているのかなって考えてしまいます

ゲームアプリもっと作っておくべきか・・・

 

しかし、実は嬉しいニュースが

一つだけあるのです

それは今も読んで頂いているこのブログなんですが

最近アクセス数が少しだけ増えているのです♪

 

とは言っても「1日:10~20アクセス程度」

なんですが、少しずつじわじわ伸びて来ています。

 

~ブログの広告収入~

珍しくブログの広告収入も

¥82- 入っていたんです(^^v

f:id:TFs_apps:20200307155829j:plain

 

 

週末のアプリ作成

皆さんに読んで貰って

開設してから約90記事くらいになっています。

 

開設してから最近まで

ずっと1日「0~10アクセス程度」だったんですが

3月6日時点で120アクセスとなっています

 

いつも読んで頂いている方

本当にありがとうございます

 

このブログは多方面な内容で書いております。

これからも今まで通りニッチな分野を貫いていきますね

<記事の内容>

・アプリ収入

・アプリ作成活動の記録

・ゲーム関連

・プログラミング教育

・世の情勢

・サラリーマン生活での辛い事

 などなど

 

ではこれからも地道に活動していきますので

また興味をもつ記事があれば読んで頂ければ幸いです

 

では次回またお会いしましょう♪

 

受験合格後の春休みの過ごし方 FF7と三国志5

こんばんわ、TF's appsです。

最近、世間はコロナ、コロナ、コロナとなっていますので

そんな事を忘れる記事を書きたいと思います。

 

こんな明るいニュースがあるじゃないか

FF7リメイクの発売が迫っている 

 また

今年初旬に発売された三国志14は名作との評判

 

そう、どちらのソフトシリーズにも思い出があるのです。

受験生が終わった春休みに

ともに熱い30日間を過ごした仲間たち

 

苦しい苦しい受験生活に耐えた後に

ゲーム三昧の一日を過ごす事になった時の作品です。

 

正しい春休みの過ごし方!?について紹介します。

コロナ休校でどうしようっと思っている方

ぜひ、今回紹介する作品をプレイして下さい

きっと楽しい気持ちになります

 

私が受験生から解放された春休みの過ごし方

 高校受験の時(23年前)➡FF7をプレイ

 大学受験の時(20年前)➡三国志5をプレイ

 

FF7

f:id:TFs_apps:20200307000720p:plain


中学3年生の私にとっては衝撃映像でした

なんせキャラクターが立体(3D)で表現されたのです

それまでのRPGは2Dでしたので。

ストーリー、ゲームシステム、サブゲーム、

やり込む要素がいっぱいあって凄く楽しめました。

多くは語りません、もう一度プレイすれば

この世界から出れなくなります

リメイクは間違いなく買いますね

 

 

三国志

f:id:TFs_apps:20200307000847p:plain

これもどハマりしましたね。

それまで光栄シリーズの三国志信長の野望はプレイした事がなく

人生で初めて、国盗りシミュレーションをプレイして

自国を反映させ、領地を増やし、全国制覇する、そんな楽しみを覚えました。

 

一つだけ嬉しい不満を言わせて下さい。

三国志信長の野望も、時間がどんだけあっても足りません(汗)

どんだけ~♪

あっという間に時間を潰してしまいます。

そうタイムマシーンに乗ったかの様に早く過ぎ去ります

 

おっさんになった今でも信長の野望をたまにプレイします

凄く贅沢(=時間)に休日を過ごす時にプレイします

 

コロナで隔離になったとしてもこの作品があれば

何時間でも何日でも過ごせる自身がありますね

f:id:TFs_apps:20200307001640p:plain

 


世間は今、暗い事になっていますが、

今回紹介したゲームの世界は最高です

ゲームの良さは現実を忘れさせてくれる事です

 

この機会にゲームが私たちに与えてくれる

元気パワーに感謝したいと思います

 

ありがとう!!

 

これからもヨロシクね。ゲーム歴30年のおっさんより

 

コロナ恐慌 広告収入に大打撃

こんばんわ、TF's appsです。

今回の記事はいつもの単月アプリ収入を報告します。

2020年2月のアプリ広告収入となります。

 

今月は悲惨な状況となりました。

では早速、2020年2月のアプリ広告収入(AdMob)です。

▶▶¥778-

 

ここ4カ月連続で

マイナス成長▽▽▽▽となっています。

 

また単月で¥1,000を割るのは、

2018年9月以降ありませんでした

今月はかなりの下げ幅となります(涙)

 

まさにコロナ恐慌です

 

いつもの通りに今までの経緯と昨対比の発表です。

f:id:TFs_apps:20200304220915p:plain

 

次に昨対比を報告します

 

2020年2月 ¥778-

 ▶▶▶ 32%

     (2019年2月:¥2,400-)

 

なんてこった~~~!!

 

昨対32%はまずいですね

まあ仕方が無いですけど・・・・

 

しかも2月は新しいアプリをリリースしたという

個人的には良いニュースあったのに残念です。

 

でも前を進んで行くくしかない!!

今が雨の日であれば、次は必ず晴れの日が待っている

一層の事、雨を楽しめば良い

やるべき事をして、次の晴れまで待てば良いだけだ

 

そんな事を考えて

新しいプログラミング言語Pythonの勉強を進めています。

 

次に何をするのか

新型コロナウィルスの影響で

休校やイベント中止など生活習慣が変わり

人の行動が変わっているのでしょう。

 

しかし、それは新たなチャンスでもあります。

今の世間の状況から

新しいアプリのアイディアを創出していきたいと思います。

 

行動が制限され

スマホを見る時間は間違いなく増えているはずです

 

そこにチャンスあり、さぁ作るぞ~!!

 

 

 

 

 

コロナ感染後の嫌がらせ テセウスの船にならないか?

もし自分や家族がコロナになったら!?近所や職場から「テセウスの船」で観た様な扱いにならないか心配

こんばんわ、TF's appsです。

このブログは週末のアプリ作成なのですが、

最近はコロナ記事になっています。

すいません(汗)

 

それほど生活している中で、会社でも家庭でも話題が絶えなく、

そして何よりも怖い

何が怖いって感染して生死に関わるのも恐ろしい事ですが、

もし自分が感染した時

その後に待ち受ける現実が怖いです

 

私は滋賀県在住です。

現時点では感染者は0名です。

(2月29日時点)

 

 ~予想できる未来~

私はメーカー勤務ですが

もし私が感染したら会社を封鎖するくらい勢いの話が出ております。

・・・ちょっと

・・・ちょっと待てよ!!

・・・・それって間違いなく

 

クビ、減給、ボーナスカット、将来(出世)が無くなる

などが考えられるよね。出世には興味はないが、クビは痛い。

 

あからさまには会社もしないが、

一人のために数千人規模が休職となり生産停止となる。

会社としては大損失ですよね。

そいつ一人の生涯の人件費と天秤にとると、

明らかに損失の方が大きい金額です。

 

また滋賀県となると

県内では誰だということで噂が広まり

私の家族や自分の子供たちにまで影響がでないか

子供はいじめられたり、両親などにも嫌がらせが起きないか

 

最近、日曜劇場「テセウスの船」を楽しみに観ているだが。。。

主人公の家族ような重大な犯罪をした家族みたいな扱いにならないのかっと不安になりますね。ドラマに熱中しすぎかな(^^)

f:id:TFs_apps:20200229213147p:plain

 

・・・っとまぁ色々考えてしまう。

 

こんな事が容易に想像つくから

感染していても検査しない人が

いるんじゃないかと推測してしまう

考え過ぎだとは思うが、

それほど見えない敵である「新型コロナは怖い」ですね。

 

神経質になりたくないが、

会社でも家でもテレビでも

連日「コロナ、コロナ、コロナ・・・」っとなると

そうなってしまう(涙)

 

でも感染したら勇気を出して

検査に行かなくては!!!

やっぱり命が大切です

また自分の周りにいる大切な人も大事です

 

もう人ごみに行くのは辞めよう

遊びにいくのは人気のない

近所の公園だけにしておく

明日はいつもの「ai彩ひろば」にでも行くか~♪

f:id:TFs_apps:20191212181002j:plain

 

今日の気分を記事にしてみましたが

引き続き、新型コロナの動向には注意していきたいですね。

 

あ~しばらくは飲み会も中止かな

ひと時の楽しみにしては代償が大きい

 

しばらくは週末は自宅待機ですね。

まさにアプリ作成がゆっくりできますよね

さぁ気持ちを変えて次のアプリを作って行こう♪♪

 

では次回またお会いしましょう

最後にこの記事を読んだ方々の健康の祈ります

 

コロナ休校とトイレットペーパー買い占め 中流家庭の一日

こんばんわ、TF's appsです。

新型コロナウィルス拡大による我が家の騒動について記事にします。

コロナに振り回されております。

2020年2月27~28日にかけての滋賀在住のある家庭の様子。

 

我が家は子育て真っ最中です。

日本で約6割と言われている共働き世帯です。

長女(小学2年)、長男(保育園の年中)です。

 

コロナだけでなく、

今シーズン娘の学級では既に2回もインフルエンザで学級閉鎖となっております。

 

そんな中、政府から2月27日に休校の要請。

f:id:TFs_apps:20200211215510p:plain

 

マジか。。。終わった。。。

 

我が家ではこんな感じでした。

嫁さんはもうこれ以上休めない、学級閉鎖2回だけでもかなりのダメージだ。

さらにコロナで休校となったら、仕事クビになるんじゃないか。

学校からは28日中に答えを出すとのメール通知あり。

 

・・・

・・・

 

そんな不安な気持ちから一夜明けて

 

・・・

・・・

 

2月28日 6時

私達夫婦は「おはよう」のいつも挨拶をしたのち

いつものように出勤・通学に向けて支度を進める

 

朝の会話

私「企業も一斉休暇になる可能性があるようだ」

 「もしそうなら最低2週間になるだろう」

 「保存できる食料と消耗品の生活雑貨は買っておこう」

 

妻「確かに」

 「今日仕事終わってから手分けして買い物しよう」

 

2月28日 8時(出勤途中)

妻「楽天でトイレットペーパーをポチした」

私「トイレットペーパー、ナイス!!」

 「仕事早めに切り上げて、24時間のスーパーに行くわ」

 

2月28日 10時

私の会社では3月2日から通常出勤ができるのか、

休校中は休みが必要かのヒアリングが実施(家庭により事情が様々)

会社としては来週以降に通知がある様子

 

2月28日 14時

嫁からLINE

学校は休校となるが、小学3年生以下は学校で子供を預かるとの連絡

良かった~^^v

 

2月28日 17時

 嫁から戦利品の報告

ドンキで食料を買う(保存食やお菓子、パスタ、米などの、合計6千円分)

 

2月28日 20時 マックスバリュー某店

私の目的はティッシュペーパーとインスタントラーメンと調味料(塩や油)

目的の物が一つだけ無い

 

私「あれっ」

 「いつもの生活雑貨がない」

 「ティッシュペーパーはゲットできず、すまん」

 

妻「了解、みんな考えること同じね」

 

この店舗、トイレットペーパーとティッシュペーパーだけキレイにありませんでした。

オイルショックのようだ。。。

f:id:TFs_apps:20200228234844j:plain

またインスタントラーメンやパスタなどもいつもより品薄の状態でした。

 

一日をざっと振り返りましたが、すごいですよね。

我が家では1週間ほどの普通の買い物レベルですが、中には大量にトイレットペーパーを買い占めしていた輩が居ました。(転売目的か...)

 

節度ある行動が必要ですね、社会が混乱しますしね。

以上、ドタバタな一日でした。

 

 

 

覚える漢字カード小学2年 ついにリリース ★サンプルコード紹介

こんにちは、TF's appsです。

今回の記事は娘のための学習アプリ作成 最終章(5話)です。

 

2月23日にアプリをリリースしました。

令和天皇の誕生日と同じです。。。何ともありがたいです。

 

覚える漢字カード 小学2年

https://play.google.com/store/apps/details?id=tfsapps.kanjicard&hl=ja

f:id:TFs_apps:20200224080602p:plain

 

最後にはソースコード紹介しますので

これからプログラミングを始める方や

これからアプリ作成始めようと考える方

一つの参考例として確認下さいね

 

 

〇アプリの作成時間はどれくらい?

 15時間くらいかな

 

〇アプリ作成で苦労した点は?

 160個のデータ入力

 小学2年の覚える漢字は全160個なんです。

 下記データを合計900個を手入力しましたので

  漢字 ・・・160個

  音読み・・・160個

  訓読み・・・160個

  画数 ・・・160個

  例文 ・・・160個

 

〇アプリ作成の反省点は?

 漢字データのファイル化を途中で気付く

 途中で気付いたのですが、漢字データを

 ファイル(CSV)で管理すべきだったと(涙)

 今後、小学1年、3年・・・6年までシリーズ化

 する事も想定して、このアプリの心臓部である漢字

 データをファイルで差し替えることができるからです。

 つまりファイルの差し替えだけでソースをいじる必要

 が無くなるわけですよね。

 行き当たりばったりで作ったことが鮮明に結果として

 出ているなぁ・・・・(汗)

 皆さんはちゃんと今後の展開や保守面なども考えて

 実装してくださいね。どこがでリファクタリングします。

 

〇アプリの作成の目的た?娘の反応は?

 まずまずの反応ですかね

 何やかんや言いながら使ってくれてます。

 目的は達成した気がします。

 春休みの宿題にして欲しいですね。

 まだ習っていない漢字に遭遇すると

 フリーズします。。。。

 私が未知のバグと遭遇するかのように(笑)

 

 

この漢字アプリ、シリーズ5話にして完成しましたので

ではまた次のアプリに向けて週末のアプリ作成を進めていきますね。

次回また次回お会いしましょう♪ 

 

 

<以下ソース公開>

MainActivity.java

package tfsapps.kanjicard;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

private KanjiTable _kanji_table; //漢字検索テーブル
private Kanji _display_kanji; //表示中の漢字
private String _display_status; //表示中のアプリ説明文
private String _display_progress; //表示中の進捗情報
android.support.v7.app.AlertDialog.Builder popup;
private TextView popuptext;
private boolean isStart = false;
private int disp_count = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//漢字テーブルの作成
_kanji_table = new KanjiTable();
DisplayScreen();
}
/* アプリ画面の表示 */
public void DisplayScreen()
{
TextView btn_start = (TextView) findViewById(R.id.btn_start);
TextView text_status = (TextView) findViewById(R.id.text_status);
TextView text_status2 = (TextView) findViewById(R.id.text_status2);
TextView text_onyomi = (TextView) findViewById(R.id.text_onyomi);
TextView text_kunyomi = (TextView) findViewById(R.id.text_kunyomi);
TextView text_kakusuu = (TextView) findViewById(R.id.text_kakusuu);
TextView text_exp = (TextView) findViewById(R.id.text_exp);

String txt1 = ""; //onyomi
String txt2 = ""; //kunyomi
String txt3 = ""; //kunyomi
String txt4 = ""; //kakusuu

if (isStart == false)
{
btn_start.setText("はじめる");
text_status.setText("「はじめる」を押してね☆");
text_status2.setText("");
}
else
{
btn_start.setText("つぎへ");
text_status.setText("「つぎへ」を押してね☆");
text_status2.setText("いま:"+ disp_count + "個目 / ぜんぶ:" + _kanji_table.KanjiTableMax() + "個");

txt1 = _display_kanji.on_yomi;
txt2 = _display_kanji.kun_yomi;
txt3 = _display_kanji.kaku_suu;
txt4 = _display_kanji.exsample;
}
text_onyomi.setText(txt1);
text_kunyomi.setText(txt2);
text_kakusuu.setText(txt3);
text_exp.setText(txt4);
}

/* はじめる or 次へ */
public void onStart(View view) {

disp_count++; //何個目で漢字であるかのカウンター

if (isStart == false) //起動画面か否か
{
isStart = true;
}
//漢字検索
_display_kanji = _kanji_table.KanjiTableSearch();

/* 検索終了したら、全ての漢字が検索終了したら */
if (_display_kanji == null) {
isStart = false;
disp_count = 0;
_kanji_table.KanjiTableSearchReset();
}
DisplayScreen();
}
/* こたえ */
public void onResult(View view) {

if (isStart == false)
{
return;
}

//答えの漢字の拡大表示
popuptext = new TextView(this);
popuptext.setText(_display_kanji.kanji);
popuptext.setGravity(Gravity.CENTER);
popuptext.setTextSize(100);

popup = new android.support.v7.app.AlertDialog.Builder(this).setView(popuptext);
popup.setTitle("こたえの漢字");
popup.setPositiveButton("とじる", null);
popup.show();
}

}

Kanji.java

package tfsapps.kanjicard;

public class Kanji {
public String kanji; //漢字
public String on_yomi; //音読み
public String kun_yomi; //訓読み
public String exsample; //例文
public String kaku_suu; //画数

public boolean isAlive; //表示された否か

//コンストラク
public Kanji(String kan, String onyomi, String kunyomi, String exp, String suu)
{
this.kanji = kan;
this.on_yomi = onyomi;
this.kun_yomi = kunyomi;
this.exsample = exp;
this.kaku_suu = suu;
this.isAlive = true;
}
}


KanjiTable.java

package tfsapps.kanjicard;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class KanjiTable {

private List<Kanji> Kanji_List = new ArrayList<Kanji>();
final int Maxkanji = 160;
private final Random rand = new Random(System.currentTimeMillis());
private Kanji nowkanji;

static String[] kanji_data = {
// 漢字
"刀", //1
"丸", //2
"弓", //3
"工", //4
"才", //5
"万", //6
"引", //7
"牛", //8
"元", //9
"戸", //10
"午", //11
"公", //12
"今", //13
"止", //14
"少", //15
"心", //16
"切", //17
"太", //18
"内", //19
"父", //20
"分", //21
"方", //22
"毛", //23
"友", //24
"外", //25
"兄", //26
"古", //27
"広", //28
"市", //29
"矢", //30
"台", //31
"冬", //32
"半", //33
"母", //34
"北", //35
"用", //36
"羽", //37
"会", //38
"回", //39
"考", //40
"光", //41
"交", //42
"行", //43
"合", //44
"寺", //45
"自", //46
"色", //47
"西", //48
"多", //49
"池", //50
"地", //51
"当", //52
"同", //53
"肉", //54
"米", //55
"毎", //56
"何", //57
"角", //58
"汽", //59
"近", //60
"形", //61
"言", //62
"谷", //63
"作", //64
"社", //65
"図", //66
"声", //67
"走", //68
"体", //69
"弟", //70
"売", //71
"麦", //72
"来", //73
"里", //74
"画", //75
"岩", //76
"京", //77
"国", //78
"姉", //79
"知", //80
"長", //81
"直", //82
"店", //83
"東", //84
"歩", //85
"妹", //86
"明", //87
"門", //88
"夜", //89
"科", //90
"海", //91
"活", //92
"計", //93
"後", //94
"思", //95
"室", //96
"首", //97
"秋", //98
"春", //99
"食", //100
"星", //101
"前", //102
"茶", //103
"昼", //104
"点", //105
"南", //106
"風", //107
"家", //108
"夏", //109
"帰", //110
"記", //111
"原", //112
"高", //113
"紙", //114
"時", //115
"弱", //116
"書", //117
"通", //118
"馬", //119
"魚", //120
"教", //121
"強", //122
"黄", //123
"黒", //124
"細", //125
"週", //126
"雪", //127
"船", //128
"組", //129
"鳥", //130
"野", //131
"理", //132
"雲", //133
"絵", //134
"間", //135
"場", //136
"晴", //137
"朝", //138
"答", //139
"道", //140
"買", //141
"番", //142
"園", //143
"遠", //144
"楽", //145
"新", //146
"数", //147
"電", //148
"話", //149
"歌", //150
"語", //151
"算", //152
"読", //153
"聞", //154
"鳴", //155
"線", //156
"親", //157
"頭", //158
"顔", //159
"曜", //160
};

static String[] onyomi_data = {
// 音読み
"トウ", //1 刀
"ガン", //2 丸
"キュウ", //3 弓
"コウ、ク", //4 工
"サイ", //5 才
"マン、バン", //6 万
"イン", //7 引
"ギュウ", //8 牛
"ゲン、ガン", //9 元
"コ", //10 戸
"ゴ", //11 午
"コウ", //12 公
"コン、キン", //13 今
"シ", //14 止
"ショウ", //15 少
"シン", //16 心
"セツ、サイ", //17 切
"タイ、タ", //18 太
"ナイ、ダイ", //19 内
"フ", //20 父
"ブン、ブ", //21 分
"ホウ", //22 方
"モウ", //23 毛
"ユウ", //24 友
"ガイ、ゲ", //25 外
"キョウ、ケイ", //26 兄
"コ", //27 古
"コウ", //28 広
"シ", //29 市
"", //30 矢
"ダイ、タイ", //31 台
"トウ", //32 冬
"ハン", //33 半
"ボ", //34 母
"ホク", //35 北
"ヨウ", //36 用
"ウ", //37 羽
"カイ", //38 会
"カイ", //39 回
"コウ", //40 考
"コウ", //41 光
"コウ", //42 交
"コウ、ギョウ", //43 行
"ゴウ、ガッ", //44 合
"ジ", //45 寺
"ジ、シ", //46 自
"ショク、シキ", //47 色
"セイ、サイ", //48 西
"タ", //49 多
"チ", //50 池
"チ、ジ", //51 地
"トウ", //52 当
"ドウ", //53 同
"ニク", //54 肉
"ベイ、マイ", //55 米
"マイ", //56 毎
"カ", //57 何
"カク", //58 角
"キ", //59 汽
"キン", //60 近
"ケイ、ギョウ", //61 形
"ゲン、ゴン", //62 言
"コク", //63 谷
"サク、サ", //64 作
"シャ", //65 社
"ズ、ト", //66 図
"セイ", //67 声
"ソウ", //68 走
"タイ、テイ", //69 体
"ダイ", //70 弟
"バイ", //71 売
"バク", //72 麦
"ライ", //73 来
"リ", //74 里
"ガ、カク", //75 画
"ガン", //76 岩
"キョウ、ケイ", //77 京
"コク", //78 国
"シ", //79 姉
"チ", //80 知
"チョウ", //81 長
"チョク、ジキ", //82 直
"テン", //83 店
"トウ", //84 東
"ホ、ブ", //85 歩
"マイ", //86 妹
"メイ", //87 明
"モン", //88 門
"ヤ", //89 夜
"カ", //90 科
"カイ", //91 海
"カツ", //92 活
"ケイ", //93 計
"ゴ、コウ", //94 後
"シ", //95 思
"シツ", //96 室
"シュ", //97 首
"シュウ", //98 秋
"シュン", //99 春
"ショク", //100 食
"セイ", //101 星
"ゼン", //102 前
"チャ、サ", //103 茶
"チュウ", //104 昼
"テン", //105 点
"ナン", //106 南
"フウ", //107 風
"カ、ケ", //108 家
"カ、ゲ", //109 夏
"キ", //110 帰
"キ", //111 記
"ゲン", //112 原
"コウ", //113 高
"シ", //114 紙
"ジ", //115 時
"ジャク", //116 弱
"ショ", //117 書
"ツウ", //118 通
"バ", //119 馬
"ギョ", //120 魚
"キョウ", //121 教
"キョウ、ゴウ", //122 強
"オウ、コウ", //123 黄
"コク", //124 黒
"サイ", //125 細
"シュウ", //126 週
"セツ", //127 雪
"セン", //128 船
"ソ", //129 組
"チョウ", //130 鳥
"ヤ", //131 野
"リ", //132 理
"ウン", //133 雲
"エ、カイ", //134 絵
"カン、ケン", //135 間
"ジョウ", //136 場
"セイ", //137 晴
"チョウ", //138 朝
"トウ", //139 答
"ドウ", //140 道
"バイ", //141 買
"バン", //142 番
"エン", //143 園
"エン", //144 遠
"ガク、ラク", //145 楽
"シン", //146 新
"スウ", //147 数
"デン", //148 電
"ワ", //149 話
"カ", //150 歌
"ゴ", //151 語
"サン", //152 算
"ドク、トク、トウ", //153 読
"ブン", //154 聞
"メイ", //155 鳴
"セン", //156 線
"シン", //157 親
"トウ、ズ", //158 頭
"ガン", //159 顔
"ヨウ", //160 曜
};

static String[] kunyomi_data = {
// 訓読み
"かたな", //1 刀
"まる、まる(める)", //2 丸
"ゆみ", //3 弓
"", //4 工
"", //5 才
"", //6 万
"ひ(く)、ひ(ける)", //7 引
"うし", //8 牛
"もと", //9 元
"と", //10 戸
"", //11 午
"おおやけ", //12 公
"いま", //13 今
"と(まる)、と(める)", //14 止
"すく(ない)、すこ(し)", //15 少
"こころ", //16 心
"き(る)、き(れる)", //17 切
"ふと(い)、ふと(る)", //18 太
"うち", //19 内
"ちち", //20 父
"わ(ける)、わ(かる)", //21 分
"かた", //22 方
"け", //23 毛
"とも", //24 友
"そと、はず(す)", //25 外
"あに", //26 兄
"ふる(い)", //27 古
"ひろ(い)、ひろ(がる)", //28 広
"いち", //29 市
"や", //30 矢
"", //31 台
"ふゆ", //32 冬
"なか(ば)", //33 半
"はは", //34 母
"きた", //35 北
"もち(いる)", //36 用
"は、はね", //37 羽
"あ(う)", //38 会
"まわ(る)、まわ(す)", //39 回
"かんが(える)", //40 考
"ひか(る)、ひかり", //41 光
"まじ(わる)、ま(じる)", //42 交
"い(く)、おこな(う)", //43 行
"あ(う)、あ(わせる)", //44 合
"てら", //45 寺
"みずか(ら)", //46 自
"いろ", //47 色
"にし", //48 西
"おお(い)", //49 多
"いけ", //50 池
"", //51 地
"あ(たる)、あ(てる)", //52 当
"おな(じ)", //53 同
"", //54 肉
"こめ", //55 米
"", //56 毎
"なに、なん", //57 何
"かど、つの", //58 角
"", //59 汽
"ちか(い)", //60 近
"かた、かたち", //61 形
"い(う)、こと", //62 言
"たに", //63 谷
"つく(る)", //64 作
"やしろ", //65 社
"はか(る)", //66 図
"こえ", //67 声
"はし(る)", //68 走
"からだ", //69 体
"おとうと", //70 弟
"う(る)", //71 売
"むぎ", //72 麦
"く(る)、きた(る)", //73 来
"さと", //74 里
"", //75 画
"いわ", //76 岩
"", //77 京
"くに", //78 国
"あね", //79 姉
"し(る)", //80 知
"なが(い)", //81 長
"なお(す)、ただ(ちに)", //82 直
"みせ", //83 店
"ひがし", //84 東
"ある(く)、あゆ(む)", //85 歩
"いもうと", //86 妹
"あか(るい)、あき(らか)", //87 明
"かど", //88 門
"よ、よる", //89 夜
"", //90 科
"うみ", //91 海
"", //92 活
"はか(る)、はか(らう)", //93 計
"のち、うし(ろ)、あと", //94 後
"おも(う)", //95 思
"むろ", //96 室
"くび", //97 首
"あき", //98 秋
"はる", //99 春
"た(べる)、く(う)", //100 食
"ほし", //101 星
"まえ", //102 前
"", //103 茶
"ひる", //104 昼
"", //105 点
"みなみ", //106 南
"かぜ、かざ", //107 風
"いえ、や", //108 家
"なつ", //109 夏
"かえ(る)、かえ(す)", //110 帰
"しる(す)", //111 記
"はら", //112 原
"たか(い)、たか(める)", //113 高
"かみ", //114 紙
"とき", //115 時
"よわ(い)、よわ(める)", //116 弱
"か(く)", //117 書
"とお(る)、とお(す)", //118 通
"うま", //119 馬
"うお、さかな", //120 魚
"おし(える)、おそ(わる)", //121 教
"つよ(い)、つよ(める)", //122 強
"き", //123 黄
"くろ、くろ(い)", //124 黒
"ほそ(い)、こま(かい)", //125 細
"", //126 週
"ゆき", //127 雪
"ふね、ふな", //128 船
"くみ、く(む)", //129 組
"とり", //130 鳥
"の", //131 野
"", //132 理
"くも", //133 雲
"", //134 絵
"あいだ、ま", //135 間
"ば", //136 場
"は(れる)、は(らす)", //137 晴
"あさ", //138 朝
"こた(える)、こた(え)", //139 答
"みち", //140 道
"か(う)", //141 買
"", //142 番
"その", //143 園
"とお(い)", //144 遠
"たの(しい)、たの(しむ)", //145 楽
"あたら(しい)、あら(た)", //146 新
"かず、かぞ(える)", //147 数
"", //148 電
"はな(す)、はなし", //149 話
"うた、うた(う)", //150 歌
"かた(る)、かた(らう)", //151 語
"", //152 算
"よ(む)", //153 読
"き(く)、き(こえる)", //154 聞
"な(く)、な(らす)", //155 鳴
"", //156 線
"おや、した(しい)", //157 親
"あたま、かしら", //158 頭
"かお", //159 顔
"", //160 曜
};

static String[] exp_data = {
// 例文
"この[かたな]", //1 刀
"[まる]太の木", //2 丸
"[ゆみ]矢", //3 弓
"[コウ]作", //4 工
"きみは天[サイ]だ", //5 才
"一[マン]円", //6 万
"つな[ひ]き", //7 引
"[ギュウ]にゅう", //8 牛
"[ゲン]気な子ども", //9 元
"[と]じまりをする", //10 戸
"正[ゴ]は12時だ", //11 午
"[コウ]園に行く", //12 公
"[いま]からあそぶ", //13 今
"車が[と]まる", //14 止
"[ショウ]年のごはん", //15 少
"[こころ]からしんぱい", //16 心
"大[セツ]な本", //17 切
"[タイ]ようがあつい", //18 太
"[うち]がわ", //19 内
"[ちち]とあそぶ", //20 父
"ケーキを[わ]ける", //21 分
"夕[がた]", //22 方
"[け]糸のマフラー", //23 毛
"わたしたちは[とも]だち", //24 友
"家の[そと]であそぶ", //25 外
"ぼくには[あに]がいる", //26 兄
"[ふる]い車がある", //27 古
"[ひろ]場に行く", //28 広
"[いち]場でお買いもの", //29 市
"木に[や]がささる", //30 矢
"[たい]風が来る", //31 台
"[ふゆ]休み", //32 冬
"前[はん]でおわり", //33 半
"[はは]と本をよむ", //34 母
"[きた]に行く", //35 北
"遠足の[ヨウ]い", //36 用
"はとの[はね]を見つける", //37 羽
"友だちに[あ]う", //38 会
"コマが[まわ]る", //39 回
"もんだいを[かんが]える", //40 考
"星が[ひか]る", //41 光
"ブランコを[こう]たいする", //42 交
"りょ行に[い]く", //43 行
"しゅう[ゴウ]する", //44 合
"お[てら]に行く", //45 寺
"[ジ]てん車にのる", //46 自
"赤[いろ]がすきだ", //47 色
"[にし]にすすむ", //48 西
"しゅくだいが[おお]い", //49 多
"[いけ]に魚がいる", //50 池
"[チ]きゅうは丸い", //51 地
"くじが[あ]たる", //52 当
"[おな]じ色のくつ", //53 同
"お[ニク]やさんに行く", //54 肉
"お[こめ]を作る", //55 米
"[マイ]日が楽しみ", //56 毎
"[なん]回も聞く", //57 何
"牛の[つの]", //58 角
"[キ]車のきてき", //59 汽
"[ちか]道を通る", //60 近
"人[ギョウ]であそぶ", //61 形
"[こと]ばをつたえる", //62 言
"[たに]がふかい", //63 谷
"工[サク]でつくる", //64 作
"パパの会[シャ]", //65 社
"地[ズ]を見る", //66 図
"大[ごえ]でよぶ", //67 声
"うんどう会で[はし]る", //68 走
"[タイ]そうをする", //69 体
"私には[おとうと]がいる", //70 弟
"やす[う]りでラッキーだ", //71 売
"[むぎ]茶をのむ", //72 麦
"友だちが家に[く]る", //73 来
"[さと]帰りする", //74 里
"えい[ガ]をみる", //75 画
"[いわ]のぼりする", //76 岩
"[キョウ]とに行く", //77 京
"[コク]語と算数", //78 国
"[あね]と妹", //79 姉
"友だちはもの[し]りだ", //80 知
"校[チョウ]先生", //81 長
"正[ジキ]な人です", //82 直
"お[みせ]に行く", //83 店
"[トウ]京に行く", //84 東
"友だちと[ある]く", //85 歩
"[いもうと]とあそぶ", //86 妹
"[あか]るいへや", //87 明
"家の[モン]", //88 門
"もうすぐ[よる]になる", //89 夜
"[カ]学のじっけん", //90 科
"[うみ]でおよぐ", //91 海
"学校生[カツ]", //92 活
"時[ケイ]を見る", //93 計
"さい[ゴ]のあいさつする", //94 後
"[おも]いついた", //95 思
"音楽[シツ]に行く", //96 室
"キリンの[くび]は長い", //97 首
"[あき]はすきなきせつ", //98 秋
"[はる]にサクラがさく", //99 春
"きゅう[ショク]", //100 食
"[ほし]を見る", //101 星
"[まえ]をよく見る", //102 前
"お[チャ]づけを食べる", //103 茶
"[ひる]休み", //104 昼
"テストで100[テン]をとる", //105 点
"[みなみ]のしまに行く", //106 南
"[フウ]船をもらう", //107 風
"[カ]ぞくが大切", //108 家
"[なつ]はあつい", //109 夏
"家に[かえ]る", //110 帰
"にっ[キ]を書く", //111 記
"[はら]っぱでねる", //112 原
"[たか]い山がある", //113 高
"[かみ]ひこうきを作る", //114 紙
"のこり[ジ]間", //115 時
"[よわ]い人と強い人", //116 弱
"かん字を[か]く", //117 書
"[とお]り道", //118 通
"[うま]にのる", //119 馬
"金[ぎょ]をかう", //120 魚
"べん強を[おし]える", //121 教
"あの人は[きょう]てきだ", //122 強
"[き]色のリボン", //123 黄
"[コク]ばんに書く", //124 黒
"糸は[ほそ]い", //125 細
"今[シュウ]のこんだて", //126 週
"[ゆき]だるま", //127 雪
"[ふね]にのる", //128 船
"[く]み立てる", //129 組
"わたり[どり]", //130 鳥
"[ヤ]さいがにがて", //131 野
"もんだいを[リ]かいする", //132 理
"[くも]がはれてきた", //133 雲
"[エ]をかくのがすきだ", //134 絵
"休み時[カン]", //135 間
"広[ば]に行く", //136 場
"明日は[は]れる", //137 晴
"[あさ]から元気だ", //138 朝
"[こた]え合わせ", //139 答
"帰り[みち]", //140 道
"[か]いものをする", //141 買
"そうじ当[バン]", //142 番
"ようち[エン]の先生", //143 園
"[エン]足に行く", //144 遠
"[たの]しい音がく", //145 楽
"[シン]かんせんにのる", //146 新
"算[スウ]がとくい", //147 数
"[デン]車にのる", //148 電
"電[ワ]ではなす", //149 話
"みんなで[うた]う", //150 歌
"ゆめを[かた]る", //151 語
"あん[ザン]がとくい", //152 算
"本を[よ]む", //153 読
"話を[き]く", //154 聞
"ねこの[な]き声", //155 鳴
"[セン]ろがつづく", //156 線
"[おや]が大切だ", //157 親
"[あたま]のよい人", //158 頭
"[かお]を上げる", //159 顔
"日[ヨウ]日が楽しみ", //160 曜
};

static String[] kakusuu_data = {
// 画数
"2", //1 刀
"3", //2 丸
"3", //3 弓
"3", //4 工
"3", //5 才
"3", //6 万
"4", //7 引
"4", //8 牛
"4", //9 元
"4", //10 戸
"4", //11 午
"4", //12 公
"4", //13 今
"4", //14 止
"4", //15 少
"4", //16 心
"4", //17 切
"4", //18 太
"4", //19 内
"4", //20 父
"4", //21 分
"4", //22 方
"4", //23 毛
"5", //24 友
"5", //25 外
"5", //26 兄
"5", //27 古
"5", //28 広
"5", //29 市
"5", //30 矢
"5", //31 台
"5", //32 冬
"5", //33 半
"5", //34 母
"5", //35 北
"5", //36 用
"6", //37 羽
"6", //38 会
"6", //39 回
"6", //40 考
"6", //41 光
"6", //42 交
"6", //43 行
"6", //44 合
"6", //45 寺
"6", //46 自
"6", //47 色
"6", //48 西
"6", //49 多
"6", //50 池
"6", //51 地
"6", //52 当
"6", //53 同
"6", //54 肉
"6", //55 米
"6", //56 毎
"7", //57 何
"7", //58 角
"7", //59 汽
"7", //60 近
"7", //61 形
"7", //62 言
"7", //63 谷
"7", //64 作
"7", //65 社
"7", //66 図
"7", //67 声
"7", //68 走
"7", //69 体
"7", //70 弟
"7", //71 売
"7", //72 麦
"7", //73 来
"7", //74 里
"8", //75 画
"8", //76 岩
"8", //77 京
"8", //78 国
"8", //79 姉
"8", //80 知
"8", //81 長
"8", //82 直
"8", //83 店
"8", //84 東
"8", //85 歩
"8", //86 妹
"8", //87 明
"8", //88 門
"8", //89 夜
"9", //90 科
"9", //91 海
"9", //92 活
"9", //93 計
"9", //94 後
"9", //95 思
"9", //96 室
"9", //97 首
"9", //98 秋
"9", //99 春
"9", //100 食
"9", //101 星
"9", //102 前
"9", //103 茶
"9", //104 昼
"9", //105 点
"9", //106 南
"9", //107 風
"10", //108 家
"10", //109 夏
"10", //110 帰
"10", //111 記
"10", //112 原
"10", //113 高
"10", //114 紙
"10", //115 時
"10", //116 弱
"10", //117 書
"10", //118 通
"10", //119 馬
"11", //120 魚
"11", //121 教
"11", //122 強
"11", //123 黄
"11", //124 黒
"11", //125 細
"11", //126 週
"11", //127 雪
"11", //128 船
"11", //129 組
"11", //130 鳥
"11", //131 野
"11", //132 理
"12", //133 雲
"12", //134 絵
"12", //135 間
"12", //136 場
"12", //137 晴
"12", //138 朝
"12", //139 答
"12", //140 道
"12", //141 買
"12", //142 番
"13", //143 園
"13", //144 遠
"13", //145 楽
"13", //146 新
"13", //147 数
"13", //148 電
"13", //149 話
"14", //150 歌
"14", //151 語
"14", //152 算
"14", //153 読
"14", //154 聞
"14", //155 鳴
"15", //156 線
"16", //157 親
"16", //158 頭
"18", //159 顔
"18", //160 曜
};

//コンストラク
public KanjiTable() {
int i;

/* 漢字リスト作成 */
for (i = 0; i < Maxkanji; i++) {
Kanji list_data = new Kanji(kanji_data[i], onyomi_data[i], kunyomi_data[i], exp_data[i], kakusuu_data[i]);
Kanji_List.add(list_data);
}
}

//漢字の検索
public Kanji KanjiTableSearch()
{
int index1 = 0;
int i;
int j;

for(i=0;i<Maxkanji;i++)
{
index1 = rand.nextInt(Maxkanji);

//検索済みの漢字(すでに表示済み)
if (Kanji_List.get(index1).isAlive == false)
{
continue;
}
//初ヒットした漢字
else
{
Kanji_List.get(index1).isAlive = false;
nowkanji = Kanji_List.get(index1);
return nowkanji;
}
}

//ランダム検索でヒットしなかった漢字をもう一度全件サーチする
for (j=0; j<Maxkanji; j++)
{
if(Kanji_List.get(j).isAlive == false)
{
continue;
}
else
{
Kanji_List.get(j).isAlive = false;
nowkanji = Kanji_List.get(j);
return nowkanji;
}
}

return null;
}

//漢字の検索状態の初期化
public void KanjiTableSearchReset()
{
int i;
for(i=0;i<Maxkanji;i++)
{
Kanji_List.get(i).isAlive = true;
}
}

public int KanjiTableMax()
{
return this.Maxkanji;
}
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:layout_weight="1">

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">


<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bak_status"
android:orientation="vertical" >

<TextView
android:id="@+id/text_status"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="44"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:focusable = "true"
android:focusableInTouchMode = "true"
android:text=" ここに説明文を表示 "
android:gravity="center_horizontal"
android:textSize="28sp" />

<TextView
android:id="@+id/text_status2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="30"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:text=" ここに進捗を表示 "
android:gravity="center_horizontal"
android:textSize="21sp"
android:textStyle="bold" />

</LinearLayout>

<LinearLayout
android:id="@+id/linearLayout0"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_alignParentStart="true"
android:layout_marginStart="2dp"
android:layout_marginEnd="2dp"
android:layout_below="@+id/linearLayout4"
android:orientation="horizontal">

<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="@drawable/bak_noselect"
android:orientation="vertical">

<TextView
android:id="@+id/ttl_onyomi"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="15"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/bak_ttl"
android:text="音読み"
android:textSize="30sp" />

<TextView
android:id="@+id/ttl_kunyomi"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:layout_weight="15"
android:background="@drawable/bak_ttl"
android:text="訓読み"
android:textSize="30sp" />


<TextView
android:id="@+id/ttl_kakusuu"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:layout_weight="10"
android:background="@drawable/bak_ttl"
android:text="画数"
android:textSize="30sp" />

<TextView
android:id="@+id/ttl_exp"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:layout_weight="15"
android:background="@drawable/bak_ttl"
android:text="例文"
android:textSize="30sp" />

</LinearLayout>

<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="7"
android:background="@drawable/bak_noselect"
android:orientation="vertical">

<TextView
android:id="@+id/text_onyomi"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="15"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/bak_text"
android:text=""
android:textSize="28sp" />

<TextView
android:id="@+id/text_kunyomi"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/bak_text"
android:layout_weight="15"
android:text=""
android:textSize="27sp" />

<TextView
android:id="@+id/text_kakusuu"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/bak_text"
android:layout_weight="10"
android:text=""
android:textSize="33sp" />

<TextView
android:id="@+id/text_exp"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@drawable/bak_text"
android:layout_weight="15"
android:text=""
android:textSize="27sp" />

</LinearLayout>

</LinearLayout>


<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout0"
android:orientation="horizontal">

<Button
android:id="@+id/btn_start"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:onClick="onStart"
android:text="はじめる"
android:textColor="#ffffff"
android:background="@drawable/bak_btn_1"
android:textSize="36sp"
android:textStyle="bold" />

<Button
android:id="@+id/btn_result"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="2dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:onClick="onResult"
android:text="こたえ"
android:textColor="#ffffff"
android:background="@drawable/bak_btn_2"
android:textSize="36sp"
android:textStyle="bold" />

</LinearLayout>

</RelativeLayout>

</ScrollView>

新型バグから考える新型ウィルス(コロナ)への対策について

こんにちは、TF's appsです。

最近のニュースは新型ウィルス(コロナ)が溢れています。

 

今回の記事は非常にデリケートなテーマとなります。

マスコミをみている一般的な国民が感じている

1つの意見として読んで頂ければと思います。

 

f:id:TFs_apps:20200216093917j:plain

 

本業でもリリースしてから何年もたつ製品で

新型バグが発生して対応に追われることがあります。

今回の記事はソフトバグから考える

新型ウィルス対策について紹介したいと考えます。 

 

私も最近出張が続いて人口が密集する場所に

行っておりましたので

家族には「大丈夫か?」とよく聞かれています。

確かに心配ですよね?

 

良く言われている不要不急の外出は控えるようにして

手洗い/うがいを続けていきたいと思います。

 

私はソフト設計を職業としていますが、

IT系ではありませんので在宅勤務が難しいです。

組み込み系のソフト開発ですので

テストは実機確認(機械を動かして評価)が必要ですのでね(汗)

 

さて、今回は我々が扱うソフトの世界でもバグが発生します。

私の本業(会社)では全国・世界に製品を出荷しておりますので

致命的な新型バグが発生した場合の対応を考えてみます。

 

f:id:TFs_apps:20200216094059j:plain

 

下記の対策を3つ同時で行います

1.原因追及と対策

2.製品の出荷停止

3.市場対応

 

1.原因追及と対策 

一刻も早く原因を特定して対策を検討することが大事です。

原因が分かることで応急的な対応が検討できます。

例えば特定の条件(操作方法や設定内容)が揃わないと

発生しないバグであればそれをアナウンスできることができます。

 

今回の新型ウィルスでいうと

新薬の開発や感染者への治療に当たりますよね。

またウィルスの原因が詳細にわかれば

対抗できる食べ物や生活習慣などから、

治療への道筋を立てることもできますよね。

 

2.製品の出荷停止

新たな製品を出荷しない。

新型バグを含む製品を拡散しないことが大事です。

出荷すればそれを修正しに行かないとダメになりますのでね。

 

今回の新型ウィルスでいうと

外国からの入国拒否や隔離に当たりますよね

新たな感染者を生み出さないことが大事です。

ニュースを見ていても(その情報が正しいのかはありますが)

ダイアモンドプリンセス号の隔離方法が適切なのかとは

疑問に思います。

船内での感染は日々増えていきますし、

疑いのある方だけでも別の場所に移せないのかなど

しかし、これは現場を知らない他人が言えることであって

現場対応されている方には本当に頭が下がります。

 

3.市場対応

応急対応ができるのか?

また、問題が発生した時の連絡先や対応マニュアルの作成などになります。

 

今回の新型ウィルスでいうと

感染者が特定の医療機関に搬送されたりはしていますが、

感染の疑いがある方への対応などが追い付いていない

ニュースを見かけますのでそのような事にあたります。

感染の疑いがある方への対応がこのウィルスを終息に

繋げる一番の対策かと素人ながら考えます。

 

色々、ソフトバグと照らし合わせて描いていますが、

問題が起きた時の対応として

正確な情報(事実)をもとに対応を検討することが大事です。

推測が入ると誤った対策になることがあります。

 

素早く正確な情報を集めて

事実をもとに

有識者の意見と取り入れて

(少数過ぎると対策も間違います)

新型バグに対処していく事が肝心です。

 

頑張れニッポン

頑張れダイアモンドプリンセス号

頑張れ武漢

 

今回の記事はこの辺で次回またお会いしましょう♪