ITWorks/seventies/ 2017年度
17-09-26 PHP7を使う
PHPの最新版 PHP7は、バージョン7.0が2015年12月、バージョン7.1が1年後の2016年12月1日にリリースされている。
PHP7の特徴は、言語仕様の大きな変更なく、

(1) 前バージョンのPHP 5.6と比べて25%から70%の性能改善が図られている。
(2) 諸々の改善。引数や関数の戻り値の型指定の強化、ereg関数の削除。
(3) mysqlエクステンションの削除。つまり、mysql_から始まる関数群が無効となる。

特徴(1) この性能改善には興味を持った。これだけ出れば無理してHHVMを使うこともないかと思った。

  作業場で、PHPアプリケーションの開発に使っているRaspberryPiにも、PHP7が公開されているという記事を
  みて  インストールした。
  また、lilipopサーバーでも、PHP7が使えることが分かったの、php7の実行環境が確保できた。
  
  この突然の性能改善どうのようにして実現したかが謎であったが、後でPHPコンファレンス2015での
  PHPの創始者 Rasmus Lerdorfさんの行ったプレゼンテーションの中のPHP7のアキテクチャーの説明で納得した。

特徴(2) 諸々の改善。
  多くの改善があるようであるが、一見すると、ereg関数の削除がちょっと気になるくらいで、
  あまり自分の書いたPHPプログラムや、これから書くPHPプログラムには影響が無いと見えた。
  
特徴(3) mysqlエクステンションの削除。
  これは、自分がいままで書いたPHPプログラムには問題があった。
  
  自分のPHPプログラミングの流儀は、一つのアプリケーションに、一つのディレクトリー、一つのMySQLのdatabase
  を割当てることです。
  また、プログラムの開発環境、デモ環境、実行環境で、プログラムの変更を少なくするために、
  mysql_connect関数の簡単なラッパーを作り、この中に引数であるサーバー名、ユーザー名、パスワードを記述して、
  common.phpの中に置いていた。ディレクトリー内の各PHPプログラム(script)は include するようにしていた。
  また、common.phpの中には、mysql_query関数、mysql_close関数のラッパーも置いていた。
  そこで、このcommon.phpの中にあるmysql関数の記述部分をmysqli関数で書き換えて、テストしてみた。
  本文でmysql_fetch_array関数を使っているところが残っていたので、common.phpの中にmysql_fetch_array関数の
  ラッパーを追加。
  これで、いままでに書いたphpプログラムはすべて無事実行ができた。
  
** 参考 ***************************************************************************

 function My_Connect() {		// *データベース接続
      global $Db,$database,$host,$user,$pw;
      $MyDb = new mysqli($host,$user,$pw",$database);
      if (!$MyDb):
        echo "D01,** DataBase ConnectionError";
        exit;
      endif;
 }
 
 function My_Exec($MyDb,$MySql) {		// * データベースSQL文の実行
     global $MyDb,$cid,$mydatabase;
     $ret = $MyDb->query($MySql);      //   or die ("* Error13:".mysql_error()) ;
      if (!$ret):
        echo "D02,** DataBase Errer. $MySql is not executed";
	    echo $MySql;		exit;
      endif;
      return $ret;
 }
 
 function My_Close($MyDb) {
      global $mydatabase,$MyDb;
      mysqli_Close(); // * データベースの切断
 }

 function mysql_fetch_array($ret) {
     $ar = $ret->fetch_array();
     return $ar;
 }
 
***********************************************************************************

結論:自分の場合、各PHPアプリケーション・プログラムは、共有するcommon.phpを修正するだけで、

   PHP7への移行ができた。


17-08-24 前田寛治「メーデー」


この絵を見るために大阪からの帰り、小倉で途中下車した。 小倉にある北九州市美術館分館で 「昭和の洋画を切り拓くー佐伯祐三、前田寛治、里見勝蔵たちの若き情熱」展 (2017年7月14日~8月27日)があり、チラシでこの絵を知り、興味を持った。 労働者たちが拳をあげて隊伍を組み、赤旗を掲げたデモが画面の中心を占めている。 デモの列が後から湧くように続いている。 デモは橋のようなところを正面向いて向かってくる。 背景には二本の煙突の立つ工場のような建物が立ち、 橋の高欄、路面、両側の建物、空の雲、陽の光が絵の中心から放射線状に配置されて、 労働者たちの意志が堂々と迫ってくる。 前田寛治(1896-1930)、パリでセザンヌ、マネ、クルーベを研究し、1924年に描いた。
若き青年画家たちが「新しい日本の洋画」を目指した挑戦は、興味深いものでした。



17-06-30 入唐求法巡礼行記
 一年以上かかってやっと『入唐求法巡礼行記』の上巻の最後のページについた。
比叡山の慈覚大師自覚円仁は、承和5年(西暦838年)6月13日、博多津を遣唐使船に乗って出港。
中国の揚州、五台山、長安を巡り、承和14年(847年)新羅船で帰国。
『入唐求法巡礼行記』は、この円仁の9年におよぶ求法の旅の日記である。


当初計画への天台山国清寺への旅行許可が下りず、帰国を命じられたが、帰国途中で遣唐使と別れ、 新羅人の助けを得、春を待って五台山に向かう。 中国・山東半島の登州府で、公験(五台山への通行許可証)を得、旅行中の食料(米弐石、麺弐石、油、酢、塩)の給付を受けた。 円仁は、弟子2人、従者一人と、贈られらロバ一頭に荷を積み、五台山までの約1270キロメートルを58日間で歩く。 出会った役人、僧侶、商人、宿、食事を通じて、当時の中国社会の有様を興味深く伝えている。 上巻は五台山に着くまでで、五台山を下り、長安に滞在してから帰国までは、下巻。 下巻を求め、読むことにしている。



17-05-03 シニアプログラミングネットワーク#1 
 シニアプログラミングネットワーク#1というイベントが、東京・渋谷で、2017-04-29にあり、
行ってきました。


参加者は130名と盛会でした。 コーディネイターは、宮城・塩釜市の小泉勝志郎さん。バックアップは"Code for Japan"。 スピーカーは、 1.若宮正子さん、82歳。iPhone アプリ hinadan の開発。 2.鈴木富司さん、82歳。スマホの勉強 トミ爺が語る使い方 for iPhone の開発。 3.谷川一男さん、60代。Ichigo Jam を使った猪捕獲装置を開発。 4.陣内一樹さん、30代。福島・浪江町で iPad 利用の普及に尽力。 話のなかで、 若宮正子さんの hinadan は、かわいらしい、のんびりとしたゲームです。こんな発想があるということに気づいた。 開発には、いろいろな人の支援・参加が必要だったということ。 シニアの事情。細かい字や "ドラグやスライド" の操作が苦手(指が乾いていて)。 懇親会で、カードサイズのワンボードコンピューター Ichigo Jam の開発者の松田優一さんのお話を聞き、また 彼の Ichigo Jam の実演を見て、得ることが多かった。また、彼が小中学生のコンピューター教育に熱心なことに感心と同感。



17-02-27 Sonic Pi
 Sonic Pi は Raspberry Pi をシンセサイザーにするプログラムです。
英国ケンブリジ大学のコンピューター研究室にいる Dr で、プログラマーで、
音楽家の Sam Aaron が Raspberry Pi のために作ったもの。
Sonic pi で Raspberry Pi が"もっと・もっと"楽しくなります。
現在は、 Raspberry Pi に加えて、Mac、Windowsで動かすことができる。


私の経験 其の1 Raasberry Pi 2B (ARM11 700Mhz、512MB)にインストールして試みた。 最初の画面が出て、コマンドをキーインしている時、スペースを打つと、プログラムが終了する。 何度やっても同じ結果。 ネットで得たような、コマンドをキーインして、「Run」ボタンを押して音を出すことができない。 プログラムを実行でないのは、Raasberry Pi 2B のパワーが不足しているのかと思案。 其の2 手持ちの MacBookAir にダウンロード。しかし、インストールが出来ない。 Mac用のSonic Pi は 64bits。私の MacBook は 32Bits。 其の3 Sonic Pi Windows版を WindowsPC(IntelCore i5、5GB)にダウンロードして、インストールした。 やっと、コマンドをキーインして、「Run」ボタンを押して音を出すことができた。 チュートリアルで、初めての音を試し、サンプルを使い、シンセを楽しむことが出来た。 其の4 私の Raasberry Pi の OS は Raspbian"wheezy"。 Raspbian"jessie" が新たに 2016-09-23にレリースされている。 この"jessie"を Raasberry Pi 2B に「ダウンロードして、インストール。 すいすいと初めての音、サンプルで、シンセを楽しむことが出来た。 これからの楽しみが期待できる。 それに、Raspbian"jessie"では、Raspbian"wheezy"にくらべ、各プログラムがすいすいと動くように見える。



17-01-26 佳い日
 一昨日(2017/01/24)は、大変寒い日でしたが、春の訪れが感じられる佳い日でした。
庭の梅が満開でした。虫に幹を食われて瀕死の有様ですが、それでも残っている枝には花を咲かせています。

この午後、二人で買い物に出、帰り道で近くの灌漑用の溜池で彼女が水面に白い鳥を発見。 プロミナを自宅から持ち出し観察すると、ミコアイサの群れでした。 白い雄が2羽、雌らしいの8羽。ミコアイサのエクリプスの雄は雌に似ているので、雄の数はもうすこし多いと思います。 一羽の雌?が水に潜ると、2秒くらいして、残りの9羽も一斉に水に潜ります。 20秒くらいで、一羽の雌?が水面に姿を現すと、2秒くらいして、残りの9羽も一斉に水面に姿を現します。 この9羽は同じ方向を向いて水面に姿を現します。 楽しげにこの潜水を続けて行っています。

この日は池には、マガモ、ハシビロカモ、コガモ、ヒドリガモ、オオバン(群れ)、バン、それに鵜、コサギと訪問者が多かった。



17-01-14 RaspberryPi喋る
 Raspberry Pi に Open JTalk を入れて試してみた。
Open JTalk は名古屋工業大学の徳田・李・南角研究室で開発・公開している 日本語テキストから音声を合成するプログラム。
ネットの情報を見ながら、2日間悪戦・苦闘の末、二日目の深夜、音声を聞くことができた。感激・感激・感激・・・・


私の Raspberry Pi は、2013年12月に購入した Raspberry Pi B。 参考書は、Japanese Raspberry Pi Users Group 著 Raspberry Pi [実用入門]、技術評論社、2013年第1版。 この本の中に、[Open JTalk]を使うと、 Raspberry Pi が喋るという記事があった。 Open JTalk は名古屋工業大学の徳田・李・南角研究室で開発・公開している 日本語テキストから音声を合成するプログラム。 試行に二日も かかた理由は、 [1] open_Jtalk 実行時の option パラメーターがバージョンによって異なることに気づかなかった。 [2] スピーカーの機種の差。 [1] open_Jtalk 実行時の option パラメーターがバージョンによって異なることに気づかなかった。 ネットから情報通り、open_jtalk プログラムをインストールして、 つぎのコマンドを実行すると、    $ echo "こんにちは" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic ¥     -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice ¥     -ow ~/ojtalk.wav エラーの表示で、プログラムが終了する。    ERROR: main() in open_jtalk.c: Invalid option '-m' 何回実行しても同じ結果。apt でremove して install しても、 purge して install しても同じ結果。 これで一日目は終了。 二日目は前日のアプローチをリセットした。 実は、[実用入門]本に記載されていた Open_JTalk の実行コマンドは29行もあり、打ち込むのも手間がかかり、 タイプ・ミスが起きやすく、またエラーの解析に時間もかかる恐れがある。 これに対して。ネットの Open_JTalk の実行コマンドは、長いけど一行で、画面からCopy/Pasteもできると考えていた。 [実用入門]本に記載されていた Open_JTalk の29行のシェルスクリプトをじっくりと作成。 この新しいシェルスクリプトを実行すると、ターミナル画面ではシェルスクリプトは正常に動いているように見えた。 しかし音が聞こえない。スピーカーのボリュームを最大に上げても聞こえない。 ネットで、スピーカーでだめだったが、イヤホーンで聞こえたという記事を読み、イヤホーンで試したら、 音声が聞こえた。 結局 [1] open_Jtalk 実行時の option パラメーターがバージョンによって異なる。   私の Raspberry Pi(Wheezy)に install/update された Open_JTalk のバージョンは 1.05 で、   この実行コマンドはエラーとなる。       $ echo "こんにちは" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic \     -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice ¥     -ow ~/ojtalk.wav      最近のネットでみるRaspberry PiJesssie)では、1.07。   Open_JTalk の最新バージョンは 1.10。 [2] スピーカーの機種   *イアホーン:iPhone 付属のではOK   *スピーカー:Owltech OWL-SPWL03 アンプ付き。ボリュームを最大にすると聞こえる。   *スピーカー:Targus 。ボリュームを上げても聞えない。、



17-01-05 岡崎京子展
 岡崎京子展を天神IMSで見た。


新聞で『岡崎京子展 -戦場のガールズライフ』を知った。 少女マンガには縁がなかったものの、1980-90年代の都市の現実を果敢に見つめたというコピーに興味を持つ。
ちょうどこのころ 企業でひたすら働いていた自分が深く気にとめなかったことに この一人の若い女性が果敢に想っていたことを気づかせてくれた。


copyright (c) itworks.co.jp All right reserved.