MacBook Pro/MAMP mysqlにパスを通すには?

MacBook Proで Laravelをいじっています 直接 MySQLにコマンドを発行せねばならない場面があり、これまで直接 MySQLをいじくっている時には、phpMyadminを立ち上げ、その中で SQLを発行していました

しかし、これは本来のやり方ではなく、本来的には MySQLコマンドを用いるべきです しかし、MAMPを使用している時にこれをどのようにすれば良いのかさっぱり分かりませんでした 金沢に移動する新幹線の中、この中は長野から富山の間は電波が通じず、インターネットアクセスに難儀するのですが、何とか調べました
$ code ~/.bashrc ## ホームの.bashrcを編集します

そしてここからは visual studio codeの中ですが、そこで以下の文を最後に追加します
export PATH="$PATH:/Applications/MAMP/Library/bin/"

そして terminalに戻りもちろんこれを叩いて反映させます

$ source ~/.bashrc

これで直接ターミナルから mysqlと打ち込めば mysqlを動作することができます 便利ですね

Laravel を MacOSにインストール – つづき

さてようやく MacOS上で composerがインストールできました というか既に何ヶ月か前にインストールしていたのに忘れていたのです

そもそも composerは何か? と言えば、phpを用いて web programを書くときに必要な諸々をサクッとインストールしてくれる便利な小槌と思えばいいのです まず行うことは

$ cd ~/target-folder/

とすることにより、目標とする target-folderに移動します

次いで

$ composer create-project "laravel/laravel=5.5.*" projectName

とすることにより、Laravel version 5.5一式をこのフォルダにインストールします これは大量のファイルをダウンロードしますので数分間かかりますよっ

$ cd projectName

とすることにより今作成したプロジェクト・フォルダに移動します そうすると artisanという phpで書かれたコマンドがこのフォルダには既にインストールされていまので、

$ php artisan --V

とすれば、僕の場合には
Laravel Framework 5.5.44というものが戻ってきました 実はこの artisanというプログラムは local serverを立ち上げるものであり、これで local serverを立ち上げるとその後 Laravelでプログラムを開発する時に面倒なことを考えずにできるのです

$ php artisan serve

これで local serverが  ip address = 127.0.0.1, port = 8000で立ち上がりましたので、ブラウザのアドレス・バーで localhost:8000とするかあるいはhttp://127.0.0.1:8000と打ち込めば見事 Laravelのデモページが立ち上がります

Laravelデモページ

Laravel再開

一度は挫折した Laravelに再度チャレンジです Macでインストールするのと Windows10でインストールするのでは大分やり方が異なるようです

Windows10では まずは XAMPPをインストールした方が良いようですね それでは まずは Macから ここは Terminalでの作業になりますね

まずは composerのインストールです これは簡単ですよ
$brew install composer

ところがここで以下のような膨大なエラー出現しました

==> Downloading https://getcomposer.org/download/1.8.0/composer.phar
######################################################################## 100.0%
Error: parent directory is world writable but not sticky
Please report this bug:
  https://docs.brew.sh/Troubleshooting
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/tmpdir.rb:93:in `mktmpdir'
/usr/local/Homebrew/Library/Homebrew/utils/fork.rb:28:in `safe_fork'
/usr/local/Homebrew/Library/Homebrew/formula_installer.rb:743:in `build'
/usr/local/Homebrew/Library/Homebrew/formula_installer.rb:317:in `install'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:326:in `install_formula'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:256:in `block in install'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:254:in `each'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:254:in `install'
/usr/local/Homebrew/Library/Homebrew/brew.rb:88:in `'

こんなことで慌ててはいけません 何だか rubyで書かれた Homebrew管理プログラムが色々とシステムに書き込もうとする時に「それは越権行為だ!」というようなエラーですね こういう時は Google叔父さんに聴いてみます 検索したのは

Error: parent directory is world writable but not sticky
Please report this bug:

というものですが、そうすると早速このページにヒットしました これに従い$ sudo chmod +t /private/tmp
$ sudo chmod +t ~/Library/Caches/Homebrew
とすると Treminalからは何の返答もありませんが、再度 $brew install composerと打つと

==> Downloading https://getcomposer.org/download/1.8.0/composer.phar
Already downloaded: /Users/transradial/Library/Caches/Homebrew/downloads/5f21a93cda75f6de1acae0850021a00add848552341d23d14aa9e6afc17de4dd--composer.phar
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/composer
Target /usr/local/bin/composer
already exists. You may want to remove it:
  rm '/usr/local/bin/composer'

To force the link and overwrite all conflicting files:
  brew link --overwrite composer

To list all files that would be deleted:
  brew link --overwrite --dry-run composer

Possible conflicting files are:
/usr/local/bin/composer
==> Summary
🍺  /usr/local/Cellar/composer/1.8.0: 3 files, 1.8MB, built in 2 seconds

というように何だか インストールされたみたいです ただ、僕の場合には既に composerがインストールされているのでそれを修正した方が良いよ と出ているようですので、この指示のとおりに$ rm '/usr/local/bin/composer'
$ brew link --overwrite composer
$ brew link --overwrite --dry-run composer
とすると見事にアンイストールできました そして今度は Laravelのインストーラーをインストールするために

$ composer global require "laravel/installer"

とすると 何やらたくさんのファイルが downloadされて インストール準備段階に入りました

実はこの段階でこのインストーラーなどのパスを通さねばなりません それで

export PATH="$PATH:$HOME/.composer/vendor/bin"

という一文を ~/.bashrcの最後に書き加えねばなりません これには vimとか visual studio code (VisutalStudio Code = VS Code)を用いねばシステム領域の書き換えはできませんので、

$ code

とコマンドラインから VS codeを立ち上げようとすると何と以下のエラー出現

/Users/transradial/.pyenv/shims/python: line 21: /usr/local/Cellar/pyenv/1.2.6/libexec/pyenv: No such file or directory
/usr/local/bin/code: line 10: ./MacOS/Electron: No such file or directory

さあ困った そこで、今度は”/usr/local/Cellar/pyenv/1.2.6/libexec/pyenv”で Google検索するとすぐにここにヒットしました この指示のとおりに

$ pyenv rehash

としたところ解決し、VS codeをコマンドラインから立ち上げることが可能となりました 要するに pyenvという python仮想環境が少し破壊されたので、それを自己修正したのですね さて、このようにそと VS codeでパスを無事通し、それを現在のコマンドラインに反映させるために

$ source ~/.bashrc

したところ、無事

$ laravel --version
Laravel Installer 2.0.1

となり さあこれで laravelをインストール可能となりました

さて、今度は Windows10でも行いたいと思いますが、こちらは仮想サーバーを別に立ち上げねばならないのかな? それとも php artisanコマンドで十分なのかな? 未だ検証していません これからの楽しみですが、時間があるかなあ???

世界一高速な一日縦5例のSHD (Structural Heart Disease)インターベンション

今週火曜日 1月08日には多分世界一高速できちんと治療した SHD interventionを行いました

9:30AM 手技スタート これは左鎖骨下動脈アプローチによる Evolut R植え込みのTAVIでした

二例目は SAPIEN 3 transfemoral TAVI、そして三例目は 圧較差 140 mmHgの重症患者さんに対する Evolut Pro transfemoral TAVI、四例目は SAPIEN3 transfemoral TAVIでした この 4例終了した時点で 15:00過ぎ

そして 15:30より Functional Mitral Regurgitationに対する MitraClip植え込みをしました 一つの Clip植え込みにより激しかった僧帽弁閉鎖不全は全く消失し、僧帽弁圧較差も平均で 1 mmHgと非常に良好に終了したのですが、これが 17:30゛てした

結局合計 8時間で、一つの Hybrid Laboratoryにより 経カテーテル大動脈弁植え込み術 4例 + MitraClip 1例を前例成功裏に合併症無く終了することが出来たのです

これって間違いなく世界最高速の SHD interventionだと思うのですが・・・・

しかしながら、流石にこれを続けることはできません、せいぜい TAVI x 3 + MitraClip x 1でしょう 先日は四例目は準緊急だったのです 看護師さんはじめ、コメディカルの方々、そして麻酔科の先生方も協力して下さり成せた技です

こんなやり方大嫌い

外国から時々、PCIのCD/DVDが突然送られてきて、慢性完全閉塞の治療を頼まれることがあります 時にはその国の大使館経由であったり、その国のインタベ界の大物医師からのこともありますし、ご家族から送られてくることもありますし、患者さんご本人からのものもあります

当然のことながら先方は、齋藤 滋に頼めば何とかしてくれるだろう、きっと慢性完全閉塞を開通させてくれるだろう、という大きな期待を持ってコンタクトしてくるのです 僕に頼めば何とかなる、その場合には、往復の航空券を自腹で払っても、そして日本の健康保険制度が適応されず、完全なる自費診療となり数百万円の経費を支出してでも来られようとします

期待は大きいのですが、それを受ける立場の僕としてはとても荷が重いのです

  • そもそもご家族も同伴されないことが多いのですが、何らかの合併症が発生した場合、法律的な問題、倫理的な問題、医療費の問題 その他諸々の扱いが鮮明ではありません -> 結果的に僕一人に全ての責任を押し付けられる可能性があります

もちろん、これに対しては何らかの仲介会社が賠償保険など掛けている場合があり、その場合賠償金や、医療費についてはクリアとなると思いますが、少なくとも倫理的な問題は残り、大きな責任と心の重荷が僕一人に押し付けられると考えられる

  • 慢性完全閉塞のPCIなんて成功率がせいぜい 90% maximumですが、では 10%となった場合、相手は納得されるのか? その場合でも支払いはきちんとされるのか?
  • 実際問題、言葉は直接通じないことが多く、リスクを説明したりしようとしても何処まで理解されているか不明なままに手技に望まねばならない
  • 彼らの理解では、僕クラスの医師が直接手技を行うというのは、非常に特別であり、裏返せば「特別扱いされて当然」という意識がどうしてもある しかし、当院のような病院では、あるいは僕の主義として、特別扱いすることは良しとせず なので、どうしてもギャップが生じる
  • 実際に僕のスケジュールは非常にタイトであり、鎌倉にいる時には午前中 8:15AM頃から15:00過ぎまでぶっ続けで、昼食も摂ることなく外来診療し、そのまま休憩も取ることなく、手技に入るのです だから特別扱いなんて物理的にもあり得ないのです
  • 実際に治療戦略を検討したり、治療するかしないかそのものを検討するのはとても僕のフリーな時間を潰されます 実際に先日もあったのですが、いきなりCDが数枚僕の許に届けられ、仕方がないので時間をかけてそのCDを再生し(実際ここにも大きなリスクがあるのです そのCDに computer virusが仕掛けられていればどうなるでしょう)、DICOM Viewerに読み込もうとするとどうしても読めない、ファイル属性を調べると何と DICOM fileで無い! そんなこともあるのです あるいは、Powerpointに動画を貼り付けて送られてくる場合もあります DICOM formatでない資料は医療資料として認められないし、それに基づいて治療戦略を立てることを僕は絶対にしません

その他諸々の僕の思惑に関係なくPCIとなることが多いのです 勿論これまでに何人もの外国からの患者さんを当院で治療してきましたが、その国に僕が出かけて手技を行うのとは違うストレスが多いのです 皆さん方からすれば、僕の根城の鎌倉で治療を行うほうがストレス小さいのでは? と思われるでしょうが、そんなことは無いのです これが現地で手技をする場合には、現地の色々な状況を把握できますし、その地域で得られる最大限の情報を把握した上で、(日本国内での治療に比して制約は多いかも知れないが)自分の持ちうる能力を全て使用して治療に臨めるのです だから、それは自己発揮そのものなのでストレスは小さいのです

そうそう何を憤慨しているか? と言えば、暮れに同じように CDが数枚いきなり某国大使館経由で送られてきました 何処で僕の情報を得たのか知りません とにかく送られてきたので、正直「またか」と思いながらいやいやそのCDを DICOM Viewerで再生しようとしたのですが、全くできません、何と拡張子 .wmv つまり、Windows Media Viewerの formatだったのです これはそもそもフレームをエントロピー不可逆圧縮してから、時間またぎの不可逆圧縮かかっており、その結果 DICOM fileサイズの 1/10ぐらいになっているのですが、その分情報がロスしています 従って責任を伴う医療用資料としては認められません ここまでで一時間ぐらい自分の貴重な時間を潰されました そして、DICOM formatを要求したところ、インターネット経由で相当な時間がかかるも送られてきました

さてそれを見たのですが、CDは三枚ありました 患者さんは年齢不詳の男性であり、一枚は去年の秋に行われたCT冠動脈造影、次に渡されたのは二枚のCDで、一枚目は去年の11月のもの、二枚目は12月のもので、同じその国ではPCIで有名な施設のものでした 僕も実はこの病院にもう15年以上前になりますが、訪問したことがあります その時は未だ革命前でした 当時の大統領と二人で写っている写真もあります あの時は確か Siemens machineだったけど、と思いながら DICOM fileを解析したところ、やはり Siemensでした

さて、患者さんは数年前に冠動脈バイパス手術を受けておられ、そのグラフトが閉塞したようです そして11月の DICOMを見ると、右冠動脈の長い慢性完全閉塞に対して、両側経大腿動脈的インターベンションにより順行性と逆行性に Corsairなど用い、あるいは Anchoring balloonも用いながら手技が行われ、最終的に造影剤の漏出を伴い、不成功に終了していました 問題視したのは、その手技時間なのですが、何と6時間以上かかっているのです そして、二枚目のDICOMですが、今度は 2時間かかり、同じような手技が行われやはり不成功に終わっていました そして、さらに問題だと思ったのは、DICOM tagからは読み取れませんでしたが、明らかに Japanese style CTO PCIだったのです

さて、ここからは僕の推論に基づいた意見ですが・・・・

何処のメーカーが声をかけたのか知りませんが、明らかに日本人医師を招いて行ったものと思われます これって何なの? と思います 恥さらし そのように思います 節操が無いことに腹が立ちます そしてそんなに時間をかけるような技術的低レベルに腹が立ちます メーカーの方も反省して下さい 僕がその国に問い合わせれば全て明らかになりますよっ こんなやり方大嫌い!!

まあこれぐらいにしておきましょう ついつい熱くなってしまいましたね そもそも皆さん方は DICOM tagについてご存知でしょうか? 面白いので少しだけ勉強して下さい

実際 DICOM viewerが無くとも Binary editorや、Visual Studio Codeを用いれば DICOM tagは全て読み取れますよっ

既に消滅した「栄和堂」に代わり

僕が土曜日に自宅より歩いて10分の場所にかつて存在していた「栄和堂」というブック・カフェに入れ込んでいたことはこれまでこのブログで表明してきました

しかし、このカフェが建物ごと消滅し、その後 何処で自由な思索の時間を過ごすか? それは大きな問題でした

しかし、ついに最適の場所を見つけました それは大船駅前の喫茶店「ルノワール」です ここは電源フリー、Wi-Fiフリーを宣言しています そのようなカフェとして大船駅にはスターバックスもあるのですが、この店に入る前に覗いてきたのですが、とにかく満席++であり、とてもゆっくり座れたものではありません

しかし、このルノアールは多分何時でも空席が数席あります そして実際に本日 2時間コーヒー一杯のみで MacBook Proを電源と Wi-Fiに継いで過ごしているのですが、嫌がらせされるとごろか、何と途中でお茶を持ってきて下さいました 素晴らしいです 客層はスターバックスよりも年上ですが若い人もおられます 皆静かに会話したり、本を読んだり、パソコンやスマホを操作されています なかなか良い雰囲気です 大船は文化的に少し劣るかと思っていたのですが、なかなかどうして良いですね

今年はどんな年?

あっという間に 2018年が過ぎていきました 相対的に見て自分がその場に留まっているとすれば、2018年があっと言う間に通り過ぎていった その方が正しい表現でしょう

暮れから正月にかけて、一回のみ散歩にでかけた以外は一歩たりと自宅から外に出ませんでした それでも時は否応なく流れて行きました 「あれをしよう これをしよう」と思いばかりつのりましたが、行動を伴わずに時間ばかり過ぎていきました 怠惰な自分

まあいいやこれが自分だから 今年もそんな年かな