IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

スーパーエンジニアの独り言

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第64回 さよならレイラ 2017年1月

昨今、「宇宙の謎」について論議が活発になっているようで、これまで定説とされていたものに異論を投げかける論説も登場してきている兆候は、様々なテクノロジーが発達することでデータの取得、解析、評価、予測とこれらサイクルに精度が高まるに連れて今までの予想が裏づけされる反面、疑念が産まれることもあるからなのだと思います。最大の問題である「宇宙の創始と終焉」についても将来に亘って新説を唱える方が登場してくるのだと思われます。

同列にある「地球の誕生」についても諸説あるのだそうですが、一説には「木星」のお陰で「地球」という惑星に生命を齎した(もたらした)のだそうです。木星が太陽系の惑星で最大の大きさを誇る事実から産まれる様々な推測からの仮説なのだろうと思います。
古(いにしえ)の時代から「木星」は世界各地で信仰の対象となっており、古代エジプトは「ホロス」"Horus" であり、古代ローマ神話では 「ユーピテル」"Juppiter" となり、バビロニア、ギリシャ、中国といった古代の世界各地で「神々」(惑星)の中心的な存在として崇められていたのです。

エジプトでの「ホルス」"Horus" は太陽神「ラー」"Ra" の息子です。それは「東映まんがパレード」で上映された高畑勲監督作品「太陽の王子 ホルスの大冒険」"Prince of the Sun, Great Adventure of Horus" でご存知のことでしょう。幼少の筆者も映画館で見た記憶があります。その「ホルス」から派生した古代エジプトのシンボル「ホルスの目」"Eye of Horus" は「万物照覧の目」を意味していてその「目」は「何でも見通すことができる」とされますが、木星の「大赤斑」"Great Red Spot" を擬えている様に思えます。

そして現在我々が「木星」を「ジュピター」"Jupiter" と呼ぶのは先のローマ神話から由来するのだそうです。「木星」は人々の関心を惹き信仰や科学の分野に少なからず影響を与えているのです。信仰、神話、歴史、科学と来れば勿論、SF界でも木星の重量級の引力に曳き付けられて離してくれず幾多の小説と映像で度々登場してきます。

 

『2001年宇宙の旅』:

ツァラトゥストラはかく語りき「2001年宇宙の旅」"2001: A Space Odyssey" (1965年制作開始、1968年公開)では木星探査のミッションが物語の筋となっています(「ツァラトゥストラはかく語りき」"Also sprach Zarathustra" は劇中の挿入交響曲)。

この「アーサー・C・クラーク」(Arthur C. Clarke) と「スタンリー・キューブリック」(Stanley Kubrick) の「フューチャリスト」"futurist" タッグが創出した「2001年宇宙の旅」"2001: A Space Odyssey" (1965年制作開始、1968年公開)では、端整に削ぎ落としたビジュアルで未来と希望を正確に描き出した未来予想図が、虚無を連想させる「無音」(暗闇と宇宙と静寂)とクラシック音楽に載せた圧倒的説得力を持った音圧(極彩色と人工機器と舞踏)は、鮮やかなコントラストを伴って次々と映し出されます。その映像は画面の境界を超えて観る者の視界を占領し上映時間中の景観を変えてしまう映画なのです。

筆者もこの映画を数え切れず何度も見ているのですが、映し出される映像には美しくモダンなインテリアの室内や機能的で未来的な装置や宇宙船の画面にうっとりしますが、気がつけば猿人が空に投げた動物の骨が宇宙船に変わるあの場面転換のシーンに行く前にいつも気を失って(寝てしまって)います。「宇宙船ディスカバリー号」"Spacecraft Discovery One" が登場する前に気を失うのはあまりにも心地良い映像に呑みこまれてしまっているのかもしれません。或いは、木星への惑星間航行に備えて「コールドスリープ」"cold sleep" が自動的に導入されているのかとも勘ぐります。

確か「ウォシャウスキー姉妹(元は兄弟)」(The Wachowskis: Lana and Lilly Wachowski, formerly as The Wachowski Brothers: Larry and Andy Wachowski) 監督作品の「ジュピター」"Jupiter Ascending" という映画もありました。こちらは興行的には成功したとは言えないようです。「マトリックス」"The Matrix" は大好きな映画ですが本作は回避させて頂きましたので筆者と同じく未見の方も多いのでしょう。これを機会に近日中に視聴させて頂こうと思っています。

 

『さよならジュピター』:

日本でも木星を題材にしたSF映画がありました。1982年公開の「さよならジュピター」"Bye-bye, Jupiter" という映画を真っ先に思い出しました。

小松左京が日本のSF映画の金字塔を目指して豊田有恒、高千穂遙、横田順彌、等といった錚々たる面子を集めてシナリオを練った渾身の作品として創作が開始されました。招集された面子は筆者が愛読していたSF作家でありましたので、その期待度は高まりました。しかしながら、原作、折衝、製作と小松左京御大自らが八面六臂(はちめんろっぴ)に飛び回り渾身の力を振り絞ったのとは裏腹に肝心の作品はその強い想いが結実しなかったように見えます。理想(設計)と現実(手段)の乖離度合いが激しかったのかもしれませんが、想いを形にするという事の難しさを教えてくれます。

日本で「ジュピター」といえば映画よりも楽曲のイメージになるのでしょうか。美しい歌声で「平原綾香」が奏でるデビュー曲「ジュピター」"Jupiter" を想起される方が多いかもしれません。

彼女が歌っているのは「グスターヴ・ホルスト」(Gustav Holst) による組曲「惑星」"The Planets" から「木星」"Jupiter, the Bringer of Jollity" に歌詞を付けたものです。組曲を構成する太陽系の七つの惑星(楽章)毎にサブタイトルが付いているのですが「ジュピター(木星)」"Jupiter" には「快楽を齎す者」"the Bringer of Jollity" という修飾がなされていました。
今回はまさに「快楽」を我々に齎して(もたらして)くれる「ジュピター」"Jupyter" という「使者」(道具)をご紹介します。

 

『インタプリタのインタラクティブモード』:

Python の標準実装 (CPython) では Python インタプリタに対話型実行(コマンドライン・シェル)の機能も含んでいます。短いコードをインタラクティブに実行することで、これから書こうとしているコードの断片を試すことが出来る便利な機能です。

C:\pattie_boyd> python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> print('hello, world')
hello, world
>>>
>>> exit()

C:\pattie_boyd>

python を引数無しで起動すると対話モードになります。exit() 関数 もしくは quit() 関数を呼び出すと対話モードが終了します。

このように対話型モードではその場で打ち込んだコードを自在に実行できるのがとても便利ですが、その場限りでの実行ですのでコードを保存できません。対話実行で試したコードをスクリプトに採用するという場合にはちょっと不便かと感じるかもしれません。

 

『インタラクティブモード強化策アイパイソン』:

Python インタプリタの対話型シェルを拡張しようと目論んだ強化プロジェクトがありまして "IPython" という名称でツールが提供されています。早速、インストールしてみます。

C:\pattie_boyd> pip install ipython
Collecting ipython
    :
    :
Installing collected packages: ipython
Successfully installed ipython-5.1.0
C:\pattie_boyd> ipython --version
5.1.0

IPython は Python 標準パッケージ管理ツールの "pip" でインストールすることができます (pip: The PyPA recommended tool for installing Python packages, PyPA: The Python Packaging Authority) 。

C:\pattie_boyd> ipython
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.
IPython 5.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
In [1]: print('hello, world')
hello, world
In [2]: exit
C:\pattie_boyd> 

前述のように、IPython は対話型実行を簡易に行えるような強化策が施されているツールとして提供されているものです。"ipython" コマンドを実行することで対話シェルが起動します。プロンプトがちょっと変わりますが標準インタプリタと同じように使うことが出来ます。

IPython の実力を計るには「補完機能」を試すと良いかもしれません。起動した IPython のシェルで "pri" と関数名の途中まで打ち込んでから "TAB" キーを押してみると体感できるでしょう。終了する時には、"exit" もしくは "quit" とタイプすれば IPython が終了します。

補完機能以外にもオブジェクトのイントロスペクションやマジックコマンドなど多数の強化策が施されているので、もし IPython がお気に召しましたらお試しください。

 

『ウェブ拡張版ノートブック』:

IPython 自体が対話シェル機能を強化しようという目論見ですが、IPython を更に強化させるための "IPython extensions" と呼ばれる拡張モジュールが様々に登場して更なるパワーアップが次々と為されている様子です。その中でも異彩を放ちながら強力な引力(魅力)となっているのが、"Notebook" 「ノートブック」です。

この "IPython Notebook" は 2011年頃に IPythonの作者「フェルナンド・ペレス」(Fernando Pérez) や「ブライアン・グレンジャー」(Brian E. Granger) 等を中心としてプロジェクトが始動しました。IPython の拡張された対話型シェルをウェブアプリ上で実装することで「編集」可能でその場で書いたコードを「実行」して確認、更には「ノート」へと保存も出来るという優れた機能を目指したものです。
既にノートブックは利用可能で、保存されるノートブックのフォーマットは JSON "JavaScript Object Notation" になり、拡張子 ".ipynb" というファイルに保存されます。これは他のフォーマットへ のコンバートも"nbconvert" で行えます。これで自由にノートを取ることができるのです。

早速試してみようと "pip" で "notebook" のインストールを完了しましたら、そのまま意気込んで "ipython notebook" と起動すると下記のメッセージが出てきました。

C:\pattie_boyd> ipython notebook
[TerminalIPythonApp] WARNING | Subcommand `ipython notebook` is deprecated and will be removed in future versions.
[TerminalIPythonApp] WARNING | You likely want to use `jupyter notebook` in the future

メッセージにあるように「未来」では "jupyter notebook" として使えます、との事らしいのです。

「ノートブック」"Notebook" の優位性は後述しますが、Python ユーザー だけが「ノートブック」という甘い蜜を味わっているのは不公平だという訳なのかは知る由もありませんが、他のプログラミング言語を使っているプログラマから見ればどこでもコーディング出来て便利だなと感じたでしょうし、プログラミングをする訳ではないけれど自由にメモを取れる機能は良いのかもと羨望の目で見られていたのは確かだったと思われます。話は次に続きます。

 

『改名ジュピター』:

IPython 3.0 まではモノリシックなアプリケーションとして提供されていたのですが、IPython 4.0 以降からは、「ノートブック」を筆頭に言語に非依存の部分を分離して新しいプロジェクトとして発足したのが "Jupyter"「ジュピター」と命名されました。IPython を「進化した」"evolved" 次のステージに昇華させようとする目論見で先ほどのメンバー達が装いも新たに "Jupyter"「ジュピター」と命名し2014年頃から始動したのです。

この進化プロジェクトが発足したのは Python プログラミング言語以外をご利用されている非 Python プログラマからの熱い要望であり、更には非プログラミング環境に於けるユーザーまでもが優れた機能を有するツールとして利用できることを欲して「ノートブック」を嘱望されたことに他ないのだと憶測しています。

新しい IPython によって構造がモジュール化された事で IPython のコアである "ipython kernel" 部分を流用可能になり、カーネルはそのまま "Jupyter" に採用されることで "Jupyter"「ジュピター」が誕生しました。そこでは更に前述の「ノートブック」機能を追加することでクライアントサーバーのウェブアプリケーションとして羽化すべく "Jupyter Notebook" 「ジュピター・ノートブック」として生まれ変わりました。

早速「ジュピター」"Jupyter" をインストールします。

C:\pattie_boyd> pip install jupyter
Collecting jupyter
Collecting notebook (from jupyter)
Collecting ipython (from jupyter-console->jupyter)
    :
    :
Installing collected packages: notebook, jupyter, ipython
Successfully installed ipython-5.1.0 jupyter-1.0.0 notebook-4.3.1

先ほどまでと同じく "pip" を使ってインストールが出来ました。一緒に ipython や notebook もインストールされました。jupyter は ipython に依存関係があるのです。
もしインストールの際にお使いの Pyhton に付属している pip が古いとメッセージが出てきたら指示通りにアップグレードすると良いでしょう。

C:\pattie_boyd> pip install --upgrade pip

ここでインストールされたバージョンを確認しておきます。
現行(2017年1月時点)のバージョンは下記になりました。

C:\pattie_boyd> jupyter --version
4.2.1
C:\pattie_boyd> jupyter notebook --version
4.3.1

このように "ipython notebook" は "jupyter notebook" という名前に改名されました。これからは「ジュピター・ノートブック」としてお見知りおきください。名前から "Python" という文字が消えたようにプログラミング言語に依存しない進化を遂げたのです。

ですが、"jupyter" に "py" が入っているのがお分かりになりますか? "jupiter"「ジュピター」 に "py" 「パイ」が埋め込まれて "jupyter" 「ジュピター」なのです。母体であるカーネル部分は "ipython kernel" であるからなのだと推測されます。

現在(2017年1月時点)の最新版がインストールされて Jupyter の用意が出来ましたら(メッセージに表示されていましたが)notebook も既に使用可能です。起動してみます。

C:\pattie_boyd> jupyter nootbook
[I 17:27:22.008 NotebookApp] Serving notebooks from local directory: C:\pattie_boyd
[I 17:27:22.008 NotebookApp] 0 active kernels
[I 17:27:22.008 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 17:27:22.009 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

起動するとウェブブラウザが開いて直ぐに使えます。直感的に使えるので利用方法についてのレクチャーは必要ないでしょう。色々な形式のファイルを書いて保存することができますのでメモ帳として使えます。ブラウザ上でコードを書いてそのまま実行することが出来ます。無論、ファイルとして保存もできるのでコードをブラウザで書いてしまうということもできそうです。とても便利ですね。

停止するには、メッセージ通り "Control-C" を入力します。

[I 17:35:07.028 NotebookApp] Interrupted...
[I 17:35:07.029 NotebookApp] Shutting down kernels
C:\pattie_boyd> 

ここでは、Webサーバーとして立ち上がった Jupyter Notebook にリモートからアクセスして使用したいと思いました。そうすれば、利用しているマシンにPythonをインストールしなくても簡単にコード書いて実行できるからです。勿論、忘れ癖がついて記憶力がめっきり落ちた筆者のために備忘録用途での「メモ帳サーバー」としても使います。それを試してみたいと思います。

 

『リモート・ジュピター』:

リモートでジュピターにアクセスして使うために二つの設定を行います。
一つは「IP アドレス」"IP Address" の設定、一つは「トークン」"Token" の指定です。

ノートブックサーバーを起動するとデフォルトでは "localhost" で起動します。リモートアクセスを可能にするためにはアドレス設定が必要ですが、コマンドライン・オプション "--ip" を付けて起動することで設定出来ます。

C:\pattie_boyd> jupyter notebook --ip=10.1.10.100
[I 14:35:06.854 NotebookApp] Serving notebooks from local directory: C:\pattie_boyd
[I 14:35:06.854 NotebookApp] 0 active kernels 
[I 14:35:06.855 NotebookApp] The Jupyter Notebook is running at: http://10.1.10.100:8888/?token=...
[I 14:35:06.855 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

デフォルトポートは8888番になっています。変更する際にはオプション "--port" で設定可能です。

C:\pattie_boyd> jupyter notebook --ip=10.1.10.100 --port=7777
[I 14:35:06.854 NotebookApp] Serving notebooks from local directory: C:\pattie_boyd
[I 14:35:06.854 NotebookApp] 0 active kernels 
[I 14:35:06.855 NotebookApp] The Jupyter Notebook is running at: http://10.1.10.100:7777/?token=...

起動するとブラウザが開きますが、ローカルで使わずにサーバー利用に徹したいのであればブラウザを開かないオプション (--no-browser) もあります。お好みでどうぞ。

この様にコマンドラインにてオプション指定する方法で可能です。この方法以外にもデフォルトで読み込まれる設定ファイルに記述するやり方もあります(後述します)。
起動したノートブックサーバーにリモートホストからアクセスするには、ブラウザのアドレスバーにURLを指定して利用します。

    http://10.1.10.100:7777

これでリモートホストからブラウザのアドレスバーにURLを指定してノートブックを利用することが出来るようになります。

ここでサーバーにリモートからアクセスすると認証画面が出てきて "Password or token:" と聞かれますので、ログインする必要があります。以前バージョンの起動時には何も聞かれなかったので、どうやら最新版辺りから認証機能が強化されたみたいです。
Jupyter Notebook オフィシャルサイトを調べてみると notebook version 4.3 以降からトークン認証がデフォルトになったとの記載がありました。リモートアクセスできるのですからデフォルトとしたのは妥当ですね。またトークンではなく暗号化したパスワードでの認証も可能ですが、どちらかを選択することになります。

 

『トークンとパスワード』:

まずはトークンでの認証を試します。

サーバー起動時に開いたブラウザのアドレスバーのURLを見ると token がクエリパラメータとして付記されているのではサーバー起動時に自動的に認証されています。

認証画面に打ち込むトークンを入手するには、下記のコマンドで情報を取得出来ます。

C:\pattie_boyd> jupyter notebook list
Currently running servers:
http://10.1.10.100:7777/?token=abd91ee6f0219f4803a7506b60c53e67ea638d4007855281 :: C:\pattie_boyd
C:\pattie_boyd> 

トークンの文字列はランダムに長い文字列が生成されて付与されますので、事前に何か任意の文字列を設定しておいた方が得策みたいに思えました。覚えてタイプするのが大変だからです。
設定する方法は以下です。先ず、設定ファイルの雛形をコマンドで用意して貰います。

C:\pattie_boyd> jupyter notebook --generate-config
Writing default config to: C:\Users\pattie_boyd\.jupyter\jupyter_notebook_config.py

ホームディレクトリにジュピター専用ディレクトリの ".jupyter" ができているのですが、その下に "jupyter_notebook_config.py" の雛形(テンプレート)が作成されます。

"jupyter_notebook_config.py" をエディタで該当部分を編集します。

## Token used for authenticating first-time connections to the server.
#  
#  When no password is enabled, the default is to generate a new, random token.
#  
#  Setting to an empty string disables authentication altogether, which is NOT
#  RECOMMENDED.
c.NotebookApp.token = 'mytoken'

コメントを外して自分が分かりやすいトークンを設定しました。これで認証画面で指定したトークンでログインすることが出来ます。

もう一つの方法であるパスワードでの認証も同じ設定ファイルを編集することで出来ます。
先ずは "jupyter_notebook_config.py" からパスワードに関連する部分を探して参照してみます。

## Hashed password to use for web authentication.
#  
#  To generate, type in a python/IPython shell:
#  
#    from notebook.auth import passwd; passwd()
#  
#  The string should be of the form type:salt:hashed-password.
#c.NotebookApp.password = ''

コメントに書かれているように passwd() 関数を使ってハッシュ化した文字列を設定することで安全にパスワードを設定できるようです。やってみます。

C:\pattie_boyd> python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from notebook.auth import passwd
>>> print(passwd())
Enter password:  (your password)
Verify password: (your password type again)
sha1:bb63a85e7036:7999a27df2bda245505860c22e71cfd59489eeba
>>>

パスワードを難読化した文字列が生成されましたので、これを該当項目に設定すれば良い訳です。ジュピター・ノートブック・サーバーにログインする際に必要となりますので、パスワード文字列を生成した際にタイプしたパスワードを忘れないようにしましょう。

 

『アドレスとポートとブラウザー』:

設定ファイルである "jupyter_notebook_config.py" には、他にも色々挙動を変えることが出来そうです。
先ほどコマンドラインから指定した IPアドレス は下記のように設定出来ます。

## The IP address the notebook server will listen on.
#c.NotebookApp.ip = 'localhost'
c.NotebookApp.ip = '10.1.10.100'

同じくアドレスのポート番号は下記で変更出来ます。

## The port the notebook server will listen on.
#c.NotebookApp.port = 8888
c.NotebookApp.port = 7777

上記の設定でコマンドラインからの指定を省略出来ますが、ノートブック実行時に改めてコマンドライン・オプションを指定するとそちらが有効になる筈です。

ブラウザを開きたくない場合は、下記エントリを追加します。

## Whether to open in a browser after starting. The specific browser used is
# platform dependent and determined by the python standard library `webbrowser`
# module, unless it is overridden using the --browser (NotebookApp.browser)
# configuration option.
#c.NotebookApp.open_browser = True
c.NotebookApp.open_browser = False

先ほどのご紹介しましたが jupyter notebook を起動するとデフォルトでブラウザも開きます。これは起動したらローカルですぐに使えるように手配してくれる心遣いなのですが、リモートでノートブックサーバーとして起動する際には不要です。覚えておくと良いかと思いました。

 

『こんにちはジュピター』:

「ジュピター」"Jupiter" はサーバープロセスを起動するだけでどこでも利用できます。単純かもしれませんが、環境が用意されてないマシンから直ぐに使えるという点ではとても重宝すると思います。

その有用性を証明するかのように各所で 「ジュピター・ノートブック」"Jupiter Notebook" をパーツにしてサービスを構築に貢献したり、「ジュピター・ノートブック」"Jupiter Notebook" そのものをベースにしたサービスが近年幾つか散見されますが "NotebookCloud" などの専用サービスとしても登場しています。

また Jupiter はご紹介した以外にも多数の機能を使えそうですし、また Notebook 自体を更に拡張する動きが胎動しており拡張しようとする裾野も広がっています。現行での「ジュピター」"Jupiter" についてもまだご紹介したい機能があるのですが、それはまたの機会を見てご案内させて頂きたいと思います。

「ジュピター・ノートブック」"Jupyter Notebook" は使い勝手の良い非常に便利な道具です。繰り返しになりますが今までは Python プログラマだけが「甘い蜜」を味わっていたのですが、これからは皆さんも「ハニーゼリオン」を思う存分享受出来るようになっています。気が向いたらで結構です、是非一度お試しになることをお薦めさせて頂きます。
「ジュピター」という「ハニーゼリオン」を服用することでどんどん用途が広がって大きくなっていくのかと思います。

 

『いとしのレイラ』:

「さよならジュピター」"Bye-bye, Jupiter" を切欠にこんなフレーズが思いつきました。

Bye bye IPython
Hello Jupyter

想いついたフレーズで思わず鼻歌を口ずさんでいました。

Bye bye Happiness
Hello Loneliness

口ずさんだのは「エヴァリー・ブラザース」"The Everly Brothers" が唄ったヒット曲「バイ・バイ・ラヴ」"Bye Bye, Love"(1957年リリース)のメロディーですが、カバー版の「ジョージ・ハリスン」(George Harrison) の歌声を想い出します。ジョージ・ハリスンが(1974年発売の)ソロアルバム「ダーク・ホース」"Dark Horse" の B面でこの曲をカバーしたのは、最愛の妻「パティ・ボイド」(Pattie Boyd) との別れを告げたものとされています。二人が破局を迎えることは運命だったのかもしれませんが引鉄(ひきがね)とされたのはジョージの浮気癖が原因、或いは、パティのロン・ウッドとの浮気なのかともされていますが真相は藪の中。どちらにしろジョージ・ハリスン版で聴こえてくるジョージが搾り出すようにしゃがれた細い声を高音で唄うのとオリジナルから書き換えられた歌詞と曲調にご注目されるとアルバム製作中に終焉を迎えた彼の疲労と苦悩が伝わって感じることができるでしょう。創作の最中に別の心配事に心を奪われて思考が巡らない葛藤と創作に無理に集中させようと脳の筋肉を使っても徒労に終る虚しさは目に浮かぶ様で彼の気持ちを察します。結局「バイ・バイ・ラヴ」"Bye Bye, Love" をカバーソングとして収録したのは膠着(こうちゃく)したジョージの脳内思考パターンはそのサビフレーズが繰り返し流れてくる無限ループから逃げ切れなかったのでしょうが、出口が見えないながらも「レプル」"REPL: Read-Eval-Print Loop" を励行することで精一杯前向きに表現したのだと真摯に受け取ることができます。癒してくれるのは時間の経過を待つしかなかった事でしょう。

「パティ」と言えばですが、「エリック・クラプトン」(Eric Clapton) が親友の妻であるパティに積年に亘り横恋慕の情を抱いていたのは有名な話です。エリックが在籍したバンド「デレク・アンド・ザ・ドミノス」"Derek and the Dominos" 時代に発表したロックの名曲「いとしのレイラ」"Layla" はパティへの募る想いが叫びとなって吐き出しているのがサビのフレーズとなりギターリフと相俟って(あいまって)クラプトンの心情を擬態化しています。エリックの想いが素通りして相手に気持ちが伝わらず報われない想いをどうして良いのかどこにぶつけて良いのか当て所(あてど)もなく、気が狂ってしまうほど恋焦がれている男(エリック)の気持ちを咆哮する曲です。日頃、友人に相談事されるのが面倒でないというのであれば聴いてみて下さい。今生(こんじょう)ではパティとは結ばれないと嘆くクラプトンの落ち込む様は同じアルバムに収録されている「ベル・ボトム・ブルース」"Bell Bottom Blues" も聴いてみると良く分かる筈です。

「いとしのレイラ」"Layla" と「ベル・ボトム・ブルース」"Bell Bottom Blues" は「デレク・アンド・ザ・ドミノス」"Derek and the Dominos" が1970年に発表したアルバム「いとしのレイラ」"Layla and Other Assorted Love Songs" に収録されています。「いとしのレイラ」"Layla" の楽曲の後半では曲調が変わって無言で気持ちを叩きつけるようなリズミカルな鍵盤が奏でるメロディーをベースにしたインストナンバーとなって名手「デュアン・オールマン」"Duane Allman" の見事なスライドギターを堪能できる筈です。

クラプトンが身悶えするこの叫びが届いたのかは不明ですが、パティ・ボイドがジョージ・ハリスンと離婚した後にクラプトンはパティと結婚することになります。取り敢えず後先考えずに叫ぶことも必要なのかもしれません。ですがハッピーエンドを迎えたように思えたクラプトンですが長続きせずに離婚に至ります。原因を作ったのはクラプトンだった様子でこれまた浮気が発覚した事とドラッグとアルコール中毒から更生出来ない体たらくが悪かったみたいです。あんなに恋焦がれてそれが叶ったにも拘わらずに最愛の彼女とは別れという悲しい結末を迎えます。

クラプトンがドラッグとアルコールに依存してしまった原因は、パティへの報われない慕情が発端であったのです。それに加えデュアン・オールマンがバイク事故で亡くなるといった親しい友人達の唐突な死が続いたこともあったのです。離婚後も、肝心の本業である音楽まで開店休業中となったエリック・クラプトンですが、その腐海から救いの手を差し出したのはジョージ・ハリスン等の仲間だったのです。持つべきものは友達です。

テレビドラマ「ビバリーヒルズ高校白書」"Beverly Hills, 90210" は揺れ動く若い男女の関係が描かれたドラマでしたが、その登場人物以上に当時は光に満ち溢れたスーパースターであった若い彼らは共通の狭い世界繋がりの中でのみ見知った友人達と様々な葛藤の中で関係築いたのですから我々が知る事が出来ない色々な機微(きび)があったのだろうという事なのでしょう。
ジョージ・ハリスンとエリック・クラプトンはパティ・ボイドに翻弄されたようにも見えますが、若い頃から二人とも少なくない人数の女性達の人生を狂わし泣かしてきているのですしお互い様です。これまた「ビバリーヒルズ青春白書」で描かれたドラマのストーリーや登場人物とさして変わらないのだろうと思います。

これらを振り返ってパティ・ボイドに興味津々になったのですが、数々のスーパースターから言い寄られたパティ・ボイドはまさに「小悪魔」を体現したシンボルの様に思えてきます。パティを写真で見る限りは近寄りがたい美貌と容姿という風態ではなく、うさぎのような前歯がチャーミングなルックスで惹きつける仕種(しぐさ)があったのかは定かではないですがコケティッシュなファッションを身に纏い「レナウン娘」な感じとでも表現できるかもしれません(「イエイエ」とか知らないかもしれませんが正式名称は「ワンサカ娘」です)。そのパティがジョージやエリックを虜にしたのは愛くるしいキュートさを漂わせた「サムシング」"Something" を感じてそこに執着したからなのだろうと二人が寄り添う写真からだけで憶測しています。

更に興味本位の解釈で怒られそうですが、実験宛ら(さながら)にパティが「ローリング・ストーンズ」"The Rolling Stones" をリトマス試験紙とした例(事実)があるのですが「ミック・ジャガー」(Mick Jagger) がフラれて「ロン・ウッド」(Ron Wood) が口説き落とした結果となっています。
サンプルの試験結果から見えてくる事実としては、シンガーよりもギタリストがモテそうだいう推定であり、これはバンドマン積年の傾向としてあるのは確かでしょう。喋りすぎる人は信用できないし、無口な人はつまらないと受けられどっちもどっちですが、概ね「おしゃべりで大げさな身振り手振りする輩」よりも「無口で何を考えているのか分からない奴」の方は相手が勝手に良い方向に解釈してくれるかもしれないという理由でモテるのではと分析できそうです。

稚拙な論考ではありますが、自らの振舞いを省みて今後のお役に立てて頂ければ幸いです。

次回もお楽しみに。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes