面倒くさがり屋こそプログラミングを学ぶべき【有能な怠け者になる】

面倒くさがり屋こそプログラミングを学ぶべき【有能な怠け者になる】 自己啓発

同じことを繰り返すことが平気ですか?
「めんどくせ~」と思いませんか?
こう思ったら、あなたはプログラミングをやるべきです。

すでにプログラミングをやっているなら、そのまま続けてください。
もし、プログラマーとして働いているなら、それは天職かもしれません。

それぐらい、面倒くさがり屋はプログラミングに向いています。

本記事の内容

  • 面倒くさがり屋こそプログラミングを学ぶべき
  • 「めんどくせ~」と感じることが改善の第一歩
  • 「めんどくせ~」が効率UPにつながった実例

それでは、上記に沿って説明していきます。

面倒くさがり屋こそプログラミングを学ぶべき

面倒くさがり屋は、プログラミングを学ぶべきです。
プログラミングができるようになれば、面倒なことを解決することが可能になります。

面倒なことが解決すれば、時間や労力を節約することができます。
通常、面倒なこととは、達成不可能なことではありません。

普通にやれば達成できるけど、時間や労力がかかることが面倒なのですよね。
そして、面倒なこととは、大抵は単調な作業であることが多いでしょう。

また、そこには「俺でなくても」「私でなくても」という気持ちが入っているはずです。
つまり、自分以外の他人でも代わりにできるはずだという気持ちですね。

面倒なこととは、まとめると以下になります。

  • 単調なこと
  • 簡単なこと
  • 時間がかかること

これなんて、まさにプログラミングで解決できることです。
現在は、AI(人工知能)を使って、創造的なことさえシステム化しようとしています。

「めんどくせ~」と感じることが改善の第一歩

プログラミングが、面倒なことを解決することはわかりました。
では、なぜ面倒くさがり屋がプログラミングを学ぶべきなのでしょうか?

それは、自分のためです。
まず、自分の身の回りにある面倒なことを解決できます。
そうすると、時間や労力を節約することが可能になります。

そうやってできた余裕を他の困難な作業に割り振れます。
そうしていけば、自ずとできることは増えていきます。
成長すると言うことですね。

そもそも、「めんどくせ~」と感じること自体に価値があります。
「めんどくせ~」は、ある意味センサーです。

では、逆に「めんどくせ~」を感じないなら、どうなるでしょう?
その場合は、何度も同じこと永遠と続けるでしょう。

この場合には、何も改善されません。
つまり、成長がありません。

以上より、「めんどくせ~」は改善の第一歩なのです。

「めんどくせ~」が効率UPにつながった実例

「めんどくせ~」が効率UPになった実例を挙げておきます。

数日前から、オーディオブックの自作に挑戦しています。
そのことは、次の記事でまとめています。

基本的には、面倒なことを避けて、効率良く作業を進めています。
しかし、最後の最後で面倒な作業が残りました。
まさに「めんどくせ~」です。

電子書籍(PDF・画像)から、テキストをページ毎に(OCRで)取り出した後の作業です。
取り出したテキストを音声合成していくことになります。

その際、章ごとに音声にしようと考えました。
そのためには、ページを集約して章分のテキストを用意する必要があります。

また、音声合成では改行が問題になります。
例で問題を説明します。

例えば、「~読んでしまった。しかし、~」というフレーズがあるとします。

~読んでしま
った。しかし、~

このように紙面で表示されていることが、普通にあります。
改行を挟むと言うことです。
そして、この場合でもOCRはそのまま読み取ります。

この読み取ったテキストをそのまま音声合成すると、次の問題が起こるのです。

「読んでしま」と発音された後に間を取ります。
そして、その間の後に、「った。」と発音されるのです。
聞きにくいこと、この上ありません。

改行の問題を解消するだけで、かなり聞きやすい音声になります。
ただ、欲を言えば、「。」で間を取って欲しいです。

間がなければ、単調になってしまいがちです。
そこで、意図的に「。」の後に改行を入れれば、間が生まれることになります。

以上をまとめます。

  • ページ毎のテキストを章毎に結合する
  • 結合したテキストから改行を除去する
  • 結合したテキストの「。」の後に改行を追加する

これを手作業でするのは、面倒くさいです。
章のページ数も固定されていません。
改行も除去して、追加も面倒です。

そこで、プログラミングの出番です。
今回は、PHPでコーディングしました。
テストを兼ねて、15分以内で開発できました。

<?php
	
	//引数
	$start_no = $_GET["start"];
	$end_no = $_GET["end"];
	
	if(strcmp($start_no, "")==0){
		$start_no = $argv[1];
		$end_no = $argv[2];
	}
	
	$read_str = "";
	for($i=$start_no; $i<=$end_no; $i++){
		//適当に変更
		$target_file_name = $file = "b-" . sprintf('%03d', $i) . ".txt";
		$data = file_get_contents($target_file_name);
		$data = mb_convert_encoding($data, "UTF-8", "SJIS");
	
		$read_str = $read_str . $data;
	}
	
	if(strcmp($read_str, "")!=0){
		//すべての改行を除去
		$read_str = str_replace(array("\r\n","\r","\n"), '', $read_str);
		//「。」で改行
		$read_str = str_replace("。", "。" . PHP_EOL, $read_str);
		//「。」で改行
		//$read_str = str_replace("?", "?" . PHP_EOL, $read_str);
	}
	
	echo nl2br($read_str);
?>

使い方としては、URLのクエリに以下のモノを付加します。

?start=1&amp;end=3

上記クエリで実行すると、b-001.txt、b-002.txt、b-003.txtを結合します。
そして、その結合した文字列から、改行を除去して、「。」のあとに改行を追加します。
そうやって加工した文字列が、次のように表示されます。

あとは、これを音声合成用のツールで音声にするだけです。
今回の書籍は、284ページあります。

15分の投資だけで、十分にもとが取れると思います。
さらには、今後もこのプログラムは利用できますからね。

以上が、「めんどくせ~」が効率UPにつながった実例です。

タイトルとURLをコピーしました