Threepenny-gui とは

Haskell で Rover Mini の ECU データを拾うプロジェクト,ぼちぼち進めています。

開発は MacBook Air 11” でやっていますが,実際の稼働ではラズパイなどワンボードの小型PCでやろうかと。Haskell はあちことのプラットフォームで動くのでいいのですが,問題はGUI。

Real World Haskell などは汎用GUIライブラリの呼び出し例なども掲載されていますが,macOS で他のプラットフォームと共通のデザインだとものすごい違和感を感じます。また,GUI の世界では最近,Functional Reactive Programming という新しい考え方に基づく実装例も増えてきています。そのものずばりの名前の本(Functional Reactive Programming , Manning Publications )も2016年に出版されたので,計算機科学分野の英語の復習の意味も含めて電子ブックを買い求めて読み進めています(ちなみに最近,書店店頭で翻訳本を見かけましたが,意味が読み取りにくい翻訳となっている箇所が多数あったため,購入は見送りました)。

そこで今回のブログ記事では,Haskell の GUI 環境の中でも FRP が使え,ラズパイ でも macOS でも使えそうな Threepenny-gui ライブラリについて調べてみることにしました。

以下はHaskell wiki Threepenny-gui より。2018年1月17日15:00 (JST) 閲覧した際の記述内容に基づいたもの。

1. Threepenny-gui とは

Threepenny-gui とはウェブブラウザーをディスプレイとして見立てた GUI (Graphic Interface Library; グラフィックユーザーインターフェース) のフレームワークである。

以下の機能を持つ:

  • 容易な設置 いまどきは誰でもブラウザをインストールしている。従い、threepenny-gui ライブラリを hackage からインストールするだけでよい。このライブラリは多数のプラットフォームで動作する。
  • HTML + JavaScript ユーザインタフェースを作成する際、HTMLの機能をすべて使用することができる。これは素晴らしいことではあるが、うっかりするとはまり込んでしまうことにもなりかねない。それゆえ、このライブラリには、CSSを使用しなくてもユーザインタフェースを素早く構築できるよう、レイアウトコンビネータが含まれている。またFFI(Foregin function interface; 他言語接続機能)を利用してブラウザの中でJavaScriptを走らせることも可能である。
  • FRR ( Functional Reactive Programming ) により、ユーザーとのやりとりのプログラミングでイベント駆動式のスタイルを伝統的な手続き型言語で構築するときに陥りがちなスパゲッティコードを避けることができる。Threepenny は FRP ライブラリを持っているが、それを使うか否かは自由である。便利と思えばFRPを利用してもよいし、袋小路にはまり込んだと思ったら FRP を使わなくてもよい。

2. Threepenny-gui ができないこと

  • ウェブのフロントエンドではない。サーバはローカルホストで稼働することを想定している。(ネットを経由する)ウェブアプリとして使用するには遅延が問題となるだろう。つまり、ローカルネットワークの多数のユーザーを想定した場面には向いているということ。サンプルコードの Chat.hs example を参照。
  • JavaScript や HTML のライブラリではない。Threepenny-gui は Haskell の API を備える GUI フレームワークであり、ドキュメント・オブジェクトモデルについて様々なことを抽象化している。Threepenny-gui を使うにあたっては、 HTML については多少の知識が必要だが、JavaScript の知識は必要ではない。もっとも、外部クライアントライブラリを活用とする場合はその限りではないが。

ウェブアプリを作ろうとしているなら、他のプロジェクト(たとえばFay, GHCJS, Haste など)を参照のこと。Threepenny の API はこれらのプロジェクトにいくらか影響を与えている、もしくは将来与えることになるかもしれないが、現時点ではそこ(ウェブアプリ開発向きの機能)に焦点はあたっていない。

3.開発経緯

現在、活発に開発が行われいる状況であり、主要なAPIについても将来の版では改訂されているかもしれない。このプロジェクトの目標はGUI プログラミングをできるだけ簡素にすることにある。そのためにやや実験的に様々な挑戦を行っている。

  • 2017.04.29 threepenny-gui-0.8.0.0 公開
  • 2016.09.16 threepenny-gui-0.7.0.0 公開
  • 2015.05.15 threepenny-gui-0.6.0.2 公開
  • 2015.05.13 threepenny-gui 0.6.0.1 公開
  • 2014.10.04 threepenny-gui 0.5.0.0 公開
  • 2013.11.21 threepenny-gui 0.4.0.0 公開
  • 2013.09.07 threepenny-gui 0.3.0.0 公開

4. 応用例

Threepenny を使って書かれたアプリケーションの例

5. 現況と参考資料

Hackage からのダウンロード threepenny-gui

参考資料

フィードバック先および連絡先

github 上のソースコード

Haskellメモ というか,High Sierra と FTDI USB Serial メモ

以前からぼちぼち開発しているRoverMiniコンピュータデータ取扱用のプログラム,ので本日はその原因究明と対策実施。

現象

  • macOS X を High Sierra にしたら,FTDIのUSBシリアル変換機がマック上ではttyデバイスとして認識されなくなった。
  • 同じハードで仮想マシン上のWindows10では同変換器を検出し,正常にECUと通信できるので,マック上のドライバの問題と想定。
  • メーカー(FTDI社)の最新ドライバなどをインストールしてみたが,状況は変わらなかった。
  • High Sierra ではセキュリティ強化のため,場合によっては「システム環境設定」のセキュリティとプライバシー設定で,明示的に権限許可を与えないと動作しない機能拡張があるが,現時点では許可催促の表示は出ていない(ただし,当該催促は最初にその機能拡張が動作しようとしてから一定の時間以内にのみ表示され,その後は消えてしまうとのことなので,OSアップデート後にケーブルを初めて挿入した際,これを見逃した可能性はある)。

原因探索

ネットで検索した所,以下のことがわかり,ドライバが複数あって,衝突して不具合となっている可能性があるものと思われた。

  • Appleは,しばらく前(少なくとも Marverics )から,自社のFTDIチップ用ドライバを mac OS に含めて提供している。
  • 幾つかのサイトでは,FTDI社のドライバとApple社のドライバの切り替えを行って問題が解決したことを報告している。(例1例2例3例4
  • 両ドライバとも,kext形式で提供されている。
  • kextとは,加除可能なOS機能追加モジュールであり,sudo kextstatで現在使われているモジュールの確認ができる他,sudo kextload xx.kext でモジュールを追加することができる。
  • 当該ハードには,OSバージョンアップ前からFTDI社のドライバが入れてあり,機能していたが,こうした場合,High Sierraのインストールでは,(クリーンインストールであっても?)サードパーティー提供のドライバが新たな権限許可を与えずとも動作するようになっている模様。

対策

ドライバを一つにする。Apple社提供のものでまずは実験してみて,その上で,FTDI社のものを実験してみるかを判断することにした。実際の作業としては,以下の通り。

  • 存在しているドライバの確認。→/System/Library/Extentions にAppleUSBFTDI.kext 2017/08/25 14:20 6.0.0 がある。また,Library/Extentions に FTDI社のドライバ D2xxHelper.kext 2015/11/09 2.0.0 があった。
  • kextstat | grep FTDI で動作している機能拡張を確認。今回の場合はなかった(両方共読み込み失敗の様子)。
  • FTDI社のドライバを削除の上,マックを再起動。
  • 手動でAppleのドライバを読み込み(cd /System/Library/Extentions  -> sudo kextload AppleUSBFTDI.kext)
  • kextstat で機能拡張が読み込まれているかを確認。この時点では読み込まれていない。
  • ケーブルを接続。kextstatで状況確認→ドライバが読み込まれている。
  • /dev/ を確認。無事,認識され,/dev/tty.usbserial-DJ0… として表示された。

まとめ

  • 今回のトラブルの原因は複数の機能拡張(ドライバ)を設置したことによる競合。
  • 純正とメーカー製の二種類のドライバで機能・性能が違いそうなので,今後,機能・性能で不審な点があった場合,ドライバを変えてみるという策をとってみる必要がある。

以上

 

Haskellメモ Haddock

この説明は,Haskellの公式サイトの記述を魚野が自分のメモとして部分的に日本語化したもの。
詳細は下記サイト参照。
http://haskell-haddock.readthedocs.io/en/latest/markup.html

1 Haddockとは

Haddockとは,プログラミング言語,Haskellのソースファイルにコメントを記述することで,
自動的に参考用の文書を作成するシステムのこと。

2 Haddockの記法

2-1 トップレベル宣言

・トップレベル(関数の型署名や方宣言,クラス宣言等)での記述。
・「--|」という句で書き出すと,それ以降の部分はその直後の宣言に関する説明となる。

-- | The 'square' function square an integer
square :: Int -> Int
square x = x * x

・トップレベルとは
トップレベルの関数の型署名
型署名のないトップレベルの関数の定義
data 宣言
newtype 宣言
type 宣言
class 宣言
data family または type family 宣言
data instance またはtype instance 宣言
・別の宣言が続いた時は,後の宣言はHaddockに無視される。
・宣言の後にコメントを書くことも可能。

square :: Int -> Int
-- ^ The 'square' function square an integer
square x = x * x

2-2 宣言の一部分へのコメント

・クラスメソッド トップレベル宣言に同じ(「-- |」 や「--^」を使う)。
・コンストラクタ,レコードフィールド 同上

2-3 関数の引数

・「--^」を使う。

f :: Int -- ^ The 'Int' argument
-> Float -- ^ the 'Float' argument
-> IO() -- ^ the return value

2-4 モジュールの説明

・モジュールの説明は記述が多岐にわたることが多い。

{-|
Module : W
Description : Short description
Copyright : (c) Some Guy, 2013
Someone Else, 2014
License : GPL-3
Maintainer : sample@email.com
Stability : experimental
Portability : POSIX

Here is a longer description of this module, containing some
commentary with @some markup@.
-}

・各フィールド全てを記述する必要はない。重要度の順で記述すること。
・各フィールドの中身が二行以上になる時は,フィールドのラベル終了位置よりも右方から記述する。
・但し,冒頭に「--」を記述した際は例外(詳細は冒頭のURL参照)

2−5 モジュールの説明要素

・Module モジュール名
・Description モジュールの概説。
・Copyright, License, Maintainer, Stability できるだけ明示すること
・Portability OSの制約や必要なGHC拡張が記述されることが多い。

3 ドキュメントの構造

・各モジュールが輸出(エクスポート)している要素のみ説明文作成の対象とされる。
・輸入(インポート)されたモジュールで輸出されている場合も説明文作成の対象となる。
・3つの構造がある:セクション頭書,名前付記述,モジュール全体の再輸出

3-1 セクション頭書

・Class, Typeなどは同位のセクション,Type, A data type などはセクションの下位化
・「-- *」,「-- **」などで書き始める。*数はセクションの下位化

3-2 名前付記述

・名前付記述 二個目の「-- $XXX」以降の記述は一個めの「-- $XXX」の部分に置かれる。
XXXは名前)

3-3 ハイパーリンクと要素再輸出

・Haddockは説明文書作成の際,クラス名などを全てハイパーリンクつきにする。

Haskellメモ inkey$を実現する

難しいことを簡単にし,簡単なことを難しくする,などといわれる純粋関数型言語 Haskell。かつてBasic 言語でプログラミングをしていた際によくつかったinkey$関数の実現方法を調べてみた。

inkey$関数とは実行されたときに押されている一文字からなる文字列を返す関数。キーが押されていないときは””が返ってきたはず(30年以上前の記憶なのでうろ覚え)。

以下のコード〜raspberry pi で動けばいいので,とりあえずはこんなコードで〜を macOS で動作確認したところ,おおむね期待通りに動作した。Windows でどうなるかは不明。

import Data.ByteString as BS
import System.IO

main :: IO ()
main = do
 hSetBuffering stdin NoBuffering -- set non buffering mode 
 keyscaned <- BS.hGetNonBlocking stdin 1 -- ::IO ByteString
 if keyscaned == BS.empty
 then main
 else do
 print keyscaned
 main

Haskell メモ MyECU

Haskell の習作として Rover Mini の ECU (MEMS)モニタソフトを作りかけている。以下はそのために試行錯誤した際のメモ。順次追記予定。

  1. 16進数表記の文字コードを入力し,文字を得る。
    
     do
       charcode <- readLn :: IO Int
       let command = chr charcode
     

    ECUコマンド発行用。ECUコマンドは基本的に1バイト文字。符号なし1バイト整数を意味する Word8 をこの時点から使おうかと思ったが,chr 関数にWord8を引数とさせる方法を調べるのが面倒だった(多分,こちらの記事が役に立つ。あとで調べる。)ので,とりあえず Int で入力させることを決め打ちにしてこのようなコードに。コンパイラオプション({-# LANGUAGE OverloadedStrings #-}ghc -XOverloadedStrings )を活用する方法を使わなかったのは,単に使うオプション類をできるだけ少なくしたいというコーディングスタイルの趣味の問題。

  2. macOS 機または Raspberry Pi での動作を前提とし,USBシリアル変換ケーブル経由のデータのやりとりをデバイスファイル経由で行う。
    
    result 

    ByteString 内の hPut や hPutNoBuffring では,文字を書き込んでも制御が戻ってこない。下層の Unix システムコールを Haskell で使う Posix.IO の wirteFd あたりを使う必要があるか。Haskell の問題というよりは Unix の使い方の知識の問題。
    【2017.05.30 追記】結局,serialPortモジュールを使うことで解決。初期化やデータのやりとりができるようになった。protocol.c では初期化コマンド送出の途中に ping を入れているので,この仕組も取り入れた。

  3. コンソールで入力した16進の文字コードをECU側に発行し,その反応を,時刻付きでコンソールに表示する。
  4. コンソールに表示した時刻と反応のセットを,第二引数で指定したファイルに書き込む。
  5. シリアル通信が途切れたときのための例外処理の追加。

20150403 研究会に出席

本日は診断士仲間の研究会,グローバル・ビジネス研究会(旧国際ビジネス研究会)に出席してきました。昨年度から今年度にかけてのテーマは海外でのサービス業展開の支援。関係者である専門家の方2名,診断士仲間3名の計5名でビジネスアイディアについて,活発な議論が2時間繰り広げられました。

本日の段階ではこれまでの数回の議論を踏まえて固まってきた簡単なビジネスモデルについて,活用できる経営資源をどう利用するかというアイディア出しが行われました。参加した5名の背景がそれぞれかなり違うことから,それぞれの経験を踏まえた鋭い指摘がいくつも出され,議論が急速に深まり,事業の実現の見通しに対する印象も,ずいぶん良くなりました。また,参加者からも,たいへんよい議論だったとの感想が多くありました。

次回は連休明けの5月8日の開催を予定しています。

20130925 診断士・診断士制度に対する3つのアイディア

 昨日の理論政策更新研修の際にお話した先輩診断士との会話の中で,診断士制度がTPPでどうなるかという話になった。制度相互乗り入れの対象となるのかなと思うが,アジア・オセアニア・北米で国が認定する経営コンサルタントの資格制度というものはほとんどないのではないか。とすると,会計事務所系や金融機関系,IT系などの大手や専門コンサルティング会社との競争となるかもしれない。

 いずれにせよ競争環境が厳しくなるとして,診断士や診断士制度はどう生き残るべきか。

 診断士以外の専門家ができない分野を開拓すべきと思う。総合的な知見+専門分野,中小企業支援行政との関係が強いという点を活かした何かということになろう。

 以下,魚野の私的なアイディア(魚野自身が実際に以下のアイディアを即,担えるようなレベルになっているというわけではないことはあらかじめお断りしておく)。

1. 米国型シンクタンク化

 アメリカのシンクタンクのように,行政に政策を提案し,採択された場合,その政策を担当するために期間限定で任官するのはどうかと思う。実現には診断士側が政策提言できるくらいのスキルアップ(場合によっては法案や条例案を自らつくり,専門家と討論できるくらいの相当の学びをしなければならない),公務員制度(狭い担当範囲の短期雇用任官)や行政制度の改革(道州制か県単位,市町村単位程度が適当ではないかと思う。)が必要となるから実現には相当ハードルが高いアイディアだが,だからこそ,補助金や認定支援,支援組織からの派遣などの行政・商工会の下請け的な業務形態に甘んじること無く,日頃から政策アイディアを考え,提言にまでまとめていくことを重ねるべきと思う。

2. 小規模事業者の支援への特化

 TPPで国境を越えてコンサルティング業者が進出するようになり,規模の大きいところとの競争が本格的になるとしたら,彼らができないことを担えばいい。いわゆるニッチ戦略。小規模事業者が支援対象だと,なかなか診断士側の収益の出処が確保しにくい可能性も出てくる。そこでアイディアとしては,BOPビジネスのような,支援ビジネスのイノベーションをはかること。IT活用(特にSNSなど)や,小規模事業者の組織化といったような方策が有効なのではないかと思う。6次産業化プランナーの業務,特に魚野が担当している事業者さんは小規模事業者さんが多く,やっていることはややこのアイディアに近いが,農林省という行政の予算で動いていることなど,まだ不徹底,かつ,ビジネスモデル確立には至っていない点をなんとかしなければならない。

3. 診断士制度・ビジネスモデルの海外輸出

 すでに診断士制度の海外への紹介,制度定着支援などは過去に行われていたが,アジア諸国・地域の更なる発展の下支えとして,経営診断,支援の需要は一定程度あるのではないか。このアイディアの問題点や課題は,社会開発の関係者としっかりした協力関係が築けていないことや,診断士側のメンタリティが戦後のガンバリズム・縦型の人間関係に慣れている人が多く,価値観多様化・異文化対応が必須の海外で指導・支援ができるかという心配がある。これはしかし,日本国内で業務を続けるに際しても,横型の人間関係やプロジェクト型チームのような事業者の形態は今後増え続けるだろうから,対応できる診断士が増えていくだろうとは予想している。片道1万円程度で香港あたりまではいけるようになった。海外進出する日本系企業も多くなるだろう。タイムマシン効果をねらってはいかが。

4. その他いろいろ

 小粒ネタから壮大な夢までレベルの違う話がいろいろ入り交じっていますが,今まで他の人に話したことのあるアイディアとしては,会計参与ならぬお雇い参謀(外部取締役の派遣),日本語経営支援・ビジネス・事故啓発系コンテンツの海外発信,大学生や第二新卒者のキャリア相談,…。

12th Nagoya Profession English Book Club was held

In 4th June, Wednesday afternoon, the 12th Nagoya Profession English Bookclub was held in Nagoya.

This time, we discussed under the theme of Abenomics evaluation.

In the first half of the program, we read and talked about in each paragraph of the article the moderator specified, ‘Hope in Japan That Shinzo Abe’s “Abenomics” May Be a Cure’ ( http://www.nytimes.com/2013/05/21/world/asia/hope-in-japan-that-abenomics-may-be-turning-things-around.html?pagewanted=all&_r=0 ) issued in NYTimes website.

In addition, in the second half, while citing impact of Abenomics, we continue talking to organize our opinion in so-called pro / con format.

Many comments were presented and finally, we found variety of viewpoints were included, such as the point of view of people’s lives and perspectives of government-run. Of course we know it is not well organized, but running out of time, it was with the results of as shown in the photograph.

Thank you, Mr Yusei Yamazaki and Mr Masahiro Kunishima, for attending the anniversary meeting.

Well, I found that there are differences between actual programme and the original schedule we planned in march. So we have to adjust date and moderator for the next meeting. I will ask you in several days for the next date after asking Mr Toru Oda for his participation as a moderator for the next meeting.

Thank you.

Kentaro Uono
Representative
Nagoya Profession English Book Club

中国で農業投資を行おうとする場合の参考情報

自分のためのまとめ。20121003調査
 
■基本情報…農産物の生産法人の設立:中国(JETRO)
 http://www.jetro.go.jp/world/asia/cn/qa/03/04A-111102
 基本的なことはここに全て書いてあります。

■商工中金の海外展開支援(オーバーシーズ21)
 http://www.shokochukin.co.jp/finance/case/overseas.html
 http://www.shokochukin.co.jp/corporation/raise/kind/original/
 資金調達で現地金融機関と提携など

■OVTA関係
 http://www.ovta.or.jp/info/investigation/chn_casebook/index.html
 農業にかぎらず,現地で日系企業が直面する課題に関する資料です。

■中国の土地制度及びトラブル事例
 http://www.jetro.go.jp/world/asia/cn/reports/05001524

■中国農業土地問題研究会
 http://iccs.aichi-u.ac.jp/activity/china_agri.html

■農業進出に関する現地での受け止められ方
http://su-mi.iza.ne.jp/blog/entry/2297871/
 http://j.people.com.cn/94476/7388677.html
 http://news.searchina.ne.jp/disp.cgi?y=2011&d=0525&f=business_0525_068.shtml

■日本政策金融公庫関係
・農林漁業者の海外展開に関する資金制度
 http://agri-biz.jp/item/detail/6524?page=2
 海外での販売や,海外での加工施設取得に対する資金融資

■JETRO関係
・国・地域別情報 – 中国
 http://www.jetro.go.jp/world/asia/cn/
 投資制度に関する網羅的情報。
・中国-食品・農林水産物
 http://www.jetro.go.jp/world/asia/cn/foods/
 輸出向けの情報だが,網羅的。
・農林水産物・食品輸出促進本部
 http://www.jetro.go.jp/news/announcement/20120201622-news
 2012/1/20 設置完了。

■農林水産省関係
・海外農業投資に関する情報…
  http://www.maff.go.jp/j/kokusai/kokkyo/toushi/index.html
  一般情報の提供であり,実際の進出にあたっては参考程度。
  ただし,「海外農業投資をめぐる事情」最新版には,日本からの
  海外民間農業投資の最近状況が,資料に紹介されている。

・東アジア食品産業海外展開支援事業…
  http://www.maff.go.jp/j/shokusan/sanki/food_tech/f_jigyou/e_asia.html
  機能性食品などを海外展開するための補助事業。

■事例
・山東省に進出したアサヒグループ「朝日緑源」
 http://www.asahigreensource.com/japan/

2012/09 貴州省出張を終えて

尖閣諸島の国有化を発端として日中関係が軋む中,中国西部の消費市場の現状と将来を知るため,2012年9月8日から12日まで貴州省,12日から13日は北京市を訪問し,現地で様々な活動を行った。日本から見ているだけではわからない現地の人々の考えや活動を見聞きし,多くの発見があった。酒類博覧会の報告は別途稿を改めることにし,ここでは現地での魚野の活動と,それによって得た知見などを差し障りの無い範囲で紹介したい。

貴州省・貴陽市の現況紹介

貴州省は四川省,広西省,重慶市などに囲まれた,中国でもっとも貧しい地域のひとつであるが,また一方で,豊富な森林・水資源,投機の対象にまでなっている国酒茅台酒の産地,あるいは夜郎自大という言葉で知られる野郎国があった場所としても知られている。中国政府は国内格差の解消を目的として貴州省から広東省などへと送電をするプロジェクトがあるなど,西部大開発の対象地域のひとつである。今回の出張のきっかけは貴州省の省都,貴陽市で開かれていた国際酒類博覧会の開催であるが,これも,中国中央政府の主催の形をとっており,西部大開発政策の一環といえよう。

貴陽市は周囲を山岳に囲まれ,周年,日本でいう春から初夏のような気候である。気温が30度を超えるようなこともなければ氷点下を下回るようなこともなく,避暑地,避寒地として過ごしやすい場所だ。但し,熱帯性気候らしく夏は曇りがちで,すっきりした雲ひとつ無い過ごしやすい夏というわけではない。貴州省は前述のとおり,野郎国として独立していた期間もあるが,近代以降は概ね中国歴代朝廷・政府の支配下にあった。

水資源が豊富であることは,アジア第二位の滝があることでもわかる。森林・山岳地帯は未開発の場所だらけであり,ここに水力発電所をたくさん作り,電力が不足しがちな広東省などに送電することで,当地の経済成長につなげるという計画があるとのこと。また,貴陽市周囲は市政府をはじめとして不動産開発が未だ相当盛んであり,現在の人口規模の数倍の収容人数を想定した住宅が建設されている。このプロジェクトについては滞在中,周囲の政府関係者や民間人士に何度もそれほどの需要があるのか,誰が住むのかと聞いてみたが,納得のゆく説明はなく,バブル期の日本に近いという印象を持った。

もっとも,貴陽市旧市街は山間の盆地を埋め尽くしており,郊外に市政府を移動させてその周囲にもニュータウンを建設し,省内の農村部から労働者を吸収することでさらに市場を大きくするという話は労働力を吸収できる基幹産業がいくつか育っていけば可能わからないでもない。候補としては,観光サービスくらいしか思いつかないが。

貴陽市・貴州省の普通の人々の暮らし

今回の出張の目的の一つは,中国でもっとも乏しい地域の一つである貴州省での暮らしの現状がどのあたりに迄到達しているかを自分の目で確かめることにあった。別稿では貴陽市の富裕層の暮らしにも触れているが,あくまでボリューム層である一般の人たちの暮らしを知るべく,いわゆる市場にいってみたり,ニュータウンのショッピングセンターを訪ねたり,郊外農村部を訪ねたりした。

貴陽市市内では,大学教授といった階層なら自動車を保有しているし,市内をゆく自動車運転手には若い女性が一人で自らハンドルを握っている姿も多々見られ,自営業者や経営層くらいであれば自動車を保有するほどの豊かさがあるようだ。

市内は坂道が多く,自転車の利用は少ない。圧倒的に多いのは電動バイクで,街を歩いていると音もなく近づいてくる。荷運び三輪車も電動のものが多く,日本とは別の形の,文字通りのモータリゼーションが進んでいる。中国では市内移動が多いことから,電動車でも十分需要があることは聞いていたが,それを実感した。

食事は伝統的な中国料理が圧倒的で,旧市街部では喫茶店,和食・洋食レストランはほとんどみかけなかった。市内移動で気がついた唯一の外食レストランは郊外ショッピングセンター内のケンタッキーとケーキ屋くらいであった。もちろん市内を探せばあるのだろうが。むしろ,狭い道路に連なる食材や定食を提供する昔ながらの市場が目立つ。

着ているもの,身に着けているものは,かつての社会主義時代ほどではないものの,やはりシンプルで,中国大陸らしい地味なファッションという印象。女性も化粧はしていないように見える(この点,魚野は詳しくないので薄化粧なのかもしれないが)し,髪も,ストレートが多い。カバンなど持ち歩くものについては,市内では例えば農村から農産物を売り歩きに来ている農民は竹の背負子や農村でよく見かけるプラスチックの袋などを持っていることが多い。ホワイトカラーは一部,ブランド品を持っている。

こうした観察から,自分なりの結論としては,事前の推測通り,中間層を対象として海外の食品やファッション関連商品・サービスを持ち込むのはやや時期尚早という印象。変化は速いと思われるので,定期的調査は必要だろう。一方,富裕層開拓については,市場規模からいっても,現状の販路網がほとんど無い点からいっても,他の地域も対象とした通販か,人脈を介したネットワーク販売のような既存流通とは違った販売網が必要なようだ。

貴州省の醸造関連産業

中国で茅台酒は国酒扱いである。国酒というからには外国からの賓客が来ると,茅台酒でもてなすのに使われるということ。wikipedia-Jの茅台酒解説ページには,田中角栄やニクソンがもてなされたとある。高粱を使った白酒の一種だ。蒸留酒であるために悪酔いはしないと言われるが,香りがきつく,個人的にはアルコール成分以外の物質もかなり入っているのではないかと思う。また,留学生時代(1980年代後半)や会社員時代(1990年代),白酒を大量に飲んで吐いたり二日酔いになっていた同級生や同僚・先輩を多数見ており,翌日に残らないというのは言い過ぎではと思っている。

閑話休題。今回視察した博覧会では,茅台酒の派生商品(醸造技術が異なる白酒)を複数目撃した。貴州省の,名前も聞いたことのないような地方にも白酒醸造技術はあるようで,しかも最近の茅台酒ブーム—投機の対象にまでなっている—に乗じて新たな醸造商品の開発・発売が盛んになっているようだ。

また,貴州省に住む少数民族,ミャオ族は,文化習慣が日本のそれとよく似ていると言われるが,その例の一つに日本酒とよく似たコメから醸造したお酒や,納豆によく似た豆の醸造品を街でよく見かけた。製造箇所は不明。今後,調査してみたいところだ。ミャオ族の食は外国人が行くようなレストランではあまりお目にかかることは少ないようだが,今後,観光業が盛んになれば,こうした地元特産品が脚光を浴びることもあろう。

※今回の出張の帰途立ち寄った北京では,地下鉄車内などで度々白酒の匂いを感じた。持ち運んでいてこぼしてしまったのだろうか。まだ気温が高かったせいもあるが,こうした高額商品を持ち歩く人が多いことが示唆される。

おまけその1-北京滞在

今回の出張では帰途は北京経由だった。事情があって1泊することにし,留学生時代の思い出の場所を訪ねることにした。とはいうものの,もう25年も前,わずか1日ほどしか滞在しておらず,記憶に残っているのは北京飯店の外観くらいである。

宿泊は前門の近くの四合院を改造した安宿にした。個人経営であり,シャワーとトイレ,洗面所が一室になり,寝室の窓は内庭側しか開いていないところであるが,値段の割には駅や前門大街にもそこそこ近く,いい感じであった。

前門から王府井まで地下鉄で移動し,北京飯店を見に行った。1階のロビーはかなり改装されていたが,車寄せなどは以前のままで,ここでタクシーをひろったなぁと感慨。王府井は全く記憶に残っていなかったが,北京飯店の角から王府井書店が見えたので,早速いってみた。当時は留学生の同級生と一緒だったのでおそらく書店はいっていないが,今回は一人旅,気兼ねなく本屋を楽しめる。

マーケティング書コーナーや中国語工具書(工具書とは辞書などのこと)コーナーをじっくり見て回る。看板にはいまだ「内部書店」の表記があり,興味をそそられたが,さすがに今回はカバンを引きずっていたため冒険はしなかった。

おまけその2-中国国際航空の旅

往路は上海経由,帰途は北京経由で,中部国際空港(セントレア)と貴州空港を往復した。いずれも中国国際航空(CA)の運行で,海外線は全日空との共同運航便だ。CAはスターアライアンス加盟のため,全日空のマイレージを貯めた。相変わらずエコノミーだったが,座席のクラスは初めて見るU。Yと何が違うのか興味をそそられたが,これはまだ未調査。機内の座席の広さは国内線も含めてピーチよりは広い。食事は,見た目や統一感などの点で日本の航空会社のそれとは比べるべくもないが,味そのものは以前の民航時代に比べたら激変した。これならば,日本の航空会社を使って高いお金を払うよりは,CAで十分ではないかと感じた。ただし,遅れがあるのは相変わらずで,往路は名古屋発上海経由が30分の遅れ,帰途は貴陽発北京着が30分の遅れ,北京発名古屋着が1時間の遅れであった。

帰途,隣り合わせたのは魚野が卒業した大学に交換留学生として向かう中国人学生。学部・専攻コースまで同じで,たまたま読んでいた温州人の本がきっかけで話をしはじめ,3時間,ずっと英語(と時々魚野は中国語)で留学のことや日本社会のことを話していた。こういう偶然もあるものなんですね。

終わりにあたって

今回の貴州省出張では,中国の未開発地区の都市部の現状を調査してきた。概ね事前の推測通り,外国産品を買うような層は少なく市場は小さいものの,経済発展は著しい。ただ,その発展が官主導の不動産開発によっている点が気になる。

日本産品をいますぐ輸出するのは労多くして益少なしと思うが,引き続き,定期的に調査していきたい。また,周縁の重慶,四川省,広西省などまだ一度も訪ねたことのない地域も,いずれ調査してみたい。