SBI FXトレードで出金指示をした際、受付完了連絡が来ない
1
スマホからSBI FXトレードで出金指示をした際、画面から預託金残高はすぐに減りますが、メールも来ないし履歴も残りません。極めてひどいUIだと思います。ここではSBI FXトレードの出金の流れを記載します。
普通、出金指示を行った時点で出金依頼を受けつけたメールが来て、その後出金が完了した旨が通知される流れを想定すると思います。OANDAではこのようにされますし、当然こう言った流れが適切だと思います。しかし、SBI FXトレードで出金をすると、画面から預託金残高はすぐに減りますが、メールも来ないし履歴も残りません。ちゃんとシステムが受け付けてるのか心配になります。
自分の一例
私は出金依頼を11月11日の夜にしました。その際、実際に出金確定メールが来たのは11月13日9時でした。出金した額が自分的には大きな額だったので連絡が来るまで冷や冷やものでした。本当にひどいものです。
公式サイトのFAQ
公式サイトの「出金依頼をしてからどのくらいで振り込まれますか?」という質問にはこのような回答となっています。
「取引終了時間までにご依頼された場合、通常時は翌営業日にお振込みします。
ただし、何等かの事象が発生した場合に備え、出金依頼された日から4営業日以内(※土日祝は営業日ではございません)のお振込みを原則とさせていただきます。」
時間差はいいとして、出金指示の受付メールが来ないことは改善されることを望みます。みなさん不安になると思うので記事にさせていただきました。
個人・少人数のシステム開発にはAngularがオススメ
1
Angularとは
GoogleのドキュメントやGCPで使われているAngularは、Googleが中心開発している JavaScript フレームワークです。AngularJSと混同されていている方もいらっしゃいますが、AngularJSのメリットを生かしたまま互換性のない形で生まれ変わったのがAngularです。Angularは、SPA (Single Page Application)と呼ばれる技術を用いて、従来のWebでは実現できなかった機能を提供する技術です。イメージ的には、従来のWebページよりアプリケーションよりのものを作りやすくなると感じています
SPAの特徴
最近、従来のWeb技術では考えられなかったようなサイトが増えてきています。たとえば、オフラインでも動作するWebページやGoogleのドキュメントのように同じURLなのに検索ワードによって違う内容が表示されるページなどです。SPA (Single Page Application)ではindex.htmlだけを読み込み、そのあとはDOMの操作をフロントエンドで行って擬似的な遷移を行っています。これによりオフラインでも画面遷移ができたり、検索クエリによって動的にページを書き換えたりといったことができます。
SPAフレームワークにおけるAngularの特徴
SPAのフレームワークはいくつかあります。Facebookの開発しているReact.jsなどが有名ですが、個人的にはReact.jsよりも断然Angularがおすすめです。Reactが最小限の本体とサードパーティのライブラリで構成されているのに対して、Angularは開発に必要な機能をすべて盛り込んだフルスタックです。開発に必要なデータバインディング、フォームバリデーション、非同期通信、ルーティング、テスタビリティ、セキュリティへの配慮など、一通りの機能がすべてあらかじめ用意されているので、Angular を選択することでコーディングに集中できます。ライブラリが複数あるとどれを使えばいいのか迷いますしライブラリ間の依存関係などを気にする必要が出てくると思いますが、そういった懸念から解放されコーディングに集中できることがAngularのメリットだと考えています。個人的にはAngularは「控えめにいって最高」のフレームワークです。
クロスプラットフォームなのもよい
わたしは個人でシステム開発をしているのですが、iOS用にSwiftで、Android用にKotlinで、そしてWeb用にJavaScriptで開発をしていたらいくら時間があってもたりません。そこで一つのソースコードでさまざまなプラットフォームで動作すればありがたいわけです。そこでクロスプラットフォームの仕組みとして「Ionic 」「Cordova」「NativeScript」「React Native」Electron」「Capacitor」「Xamarin」「Unity」などが候補にあがるわけですが、Angularは「Capacitor」というMacデスクトップアプリ、Windowsデスクトップアプリ、Web、iOS, Androidに出力できるこれまた最高のフレームワークと組み合わせることができます。したがって、Angularは効率的にプロジェクを作成し、それを複数のプラットフォームに同時に出力できるという夢のような生産性を実現するフレームワークです。
AngularJSとの非互換性について
Angularの前身であるAngularJSがあまりにも有名なため、AngularJSの終了から5年弱経っているのにまださまざまなところで混同されています。しかし、AngularはAngularJSで顕在化した問題を解決するべく、内部構造から細部に至るまで再設計され実装されています。
一般的にフルスタックフレームワークだと、開発規模が大きくなるにれバンドルされるファイルサイズが大きくなりパフォーマンス面で悪影響を与えることもあります。AngularJSでも顕在化したその問題を解決するために、AngularではJavaScript VM (Virtual Machine) フレンドリーな実行コードを生成することで実行速度を改善したり、AoT コンパイル(Ahead-of-Time Compilation)と呼ばれるビルド時に表示を高速化するための仕組み、さらに段階的にソースコードをよみこむLazyLoadingと呼ばれる仕組みを利用して高速化する方法も提供されるなどです。最初にAngularで開発するときに訳が分からなくなってしまいがちですが、AngularJSとは互換性がないということを覚えておくといいと思います。半年毎にバージョンが変わるのですが(例えばAngular8が現在のバージョンなら、半年後はAngular9がでる)これらには一部の機能を除いて互換性があります。
まとめと結論
SPAの技術の一つであるAngularについてまとめました。近年普及が急速に進んでいるPWAアプリ作成のフレームワークとして代表的な物で、一つのコードで複数のプラットフォームに出力できるクロスプラットフォーム性について記載しました。
Angularで個人で作ったアプリがあります。OCRという写真から文字を抜き出す技術を使って、ブログなどを早く書くためのツールです。これも一つのコードでAndroid ,Web,iOSに出力できるので大変便利でした。
iOS => https://apps.apple.com/app/id1497498494
Android => https://play.google.com/store/apps/details?id=com.rainbowsv2.ocr
Ionic(Angular)のフォルダ構成を完全解説
1
Ionicのフォルダ構成について
Ionicで作成したプロジェクトは下記のような構造になっています。

かなり複雑で、最初に見たときは戸惑うかもしれません。実際に触るのはsrc/appフォルダがほとんどになりますが、他のフォルダを含めて解説したいと思います。
ルートフォルダについて
名前 | 説明 |
e2e/ | システム全体の動作検証を行うE2Eテストの際に利用します。最初はほとんど触りません |
node_modules/ | node.js上で動くため、package管理ソフトにnpmを使うことになりますが、npm経由でインストールしたライブラリが保存されます |
src/ | 実際に開発を行う場所です。9割このフォルダを触ります。 |
angular.json | Angularの設定ファイルです。フォルダの出力先などビルドを中心にした設定はここで行います。 |
package.json | 実際にプロジェクトで使用するライブラリを指定します |
package-lock.json | package.jsonで指定したものが入っているか確認します。エラーの時にたまにいじります |
したがって、基本的にはsrcだけをいじると考えておいて差し支えないと思います。
srcフォルダについて
それでは、実際に開発を行うsrcフォルダを見てみます。

srcのなかでも触るのはsrc/appがほとんどになりますが、こちらについても簡単に解説をします。
ファイル/フォルダ | 説明 |
src/app | 実際に触るのはほとんどこのフォルダのなかです。このフォルダが開発対象と考えていただいて問題ないと思います。 |
src/assets | 画像や音声、動画などのリソースを配置します。例えばsrc/resourcesというフォルダを自分で作成すると読み込まれないので注意が必要です。 |
src/environments | なかには簡単なjsonファイルが本番用と開発用に入っています、環境変数をそれぞれ定義します。Google Analyticsをいれるときなどにいじりました。 |
src/theme | cssの拡張であるscssでデザインを規定しますが、そのファイルが入っています。IonicのUIが優れているため、個人的にはあまり触りません。 |
src/global.scss | プロジェクト全体に適用するscssを書く際はこちらを使います。たた、実際はpageごとに用意されるscssをいじることが多いです。 |
src/index.html | Anugular(Ionic)でも最初によみこまれるのはIndex.htmlです。 |
src/main.ts | アプリを起動するためのファイルです。index.htmlのあとに読み込まれます。 |
src/polyfills.ts | IE10/ 11対応を行うもののようですが、IonicってIEで見れないんですよね。。 |
src/test.ts | 単体テストの設定ファイルです |
まとめ
基本的に、src/appのなかをいじる、とだけ考えておけばいいと思います。
その他

IonicをAngularで使って、写真から文字情報を抽出して爆速でレポートや記事を作成するアプリを作成しています。無料なのでよかったらどうぞ。
iOS => https://apps.apple.com/app/id1497498494
Android => https://play.google.com/store/apps/details?id=com.rainbowsv2.ocr
【まったく新しい最高のブラウザ】Braveブラウザでインターネットの仕組みとありかたを変えよう。
1
これはただのプラグインではありません。Louis Armstrong によって歌われた最も有名な二つの単語、Hello, Dolly に要約された同一世代のすべての人々の希望と情熱を象徴するものです。
これはただの記事ではありません。Robert E. Kahnによって歌われた開かれたインターネットへのすべての人々の希望と情熱を象徴するものです。
概要
この記事ではBraveブラウザについて説明します。Braveブラウザを使えば広告なしでYoutubeを閲覧できたり、サイトを見るとお金がもらえたりします。また、Adsenseに代わりWebサイトやTwitterを収益化できるブラウザでもあります。しかしそれだけではなく
1. (Googleの無料サービスに定義された)インターネットの仕組みを変える
2. コンテンツ製作者に適切に報いる
ことを目的とする従来とは全く異なるパラダイムから生まれたブラウザです(製作者はJavaScriptの生みの親で元MozillaCEOのアイク氏です)。
そこで、クリエータとして収益化する方法とWebサイトを閲覧してお金をもらう方法をメインで説明しつつ、Braveブラウザの背景や理念などについても紹介します。インターネットの仕組みを変えようとする非常に面白い取組みで、インターネットを使う人なら誰でも関わりのある話だと思いますのでぜひご覧ください。
構成
・Braveブラウザとはなんぞや
・クリエータの収益化の設定方法
・ユーザとして収益化の設定方法
Braveブラウザとはなんぞや
技術的には2019年に公開されたChromiumベースのブラウザです。ただし単なるブラウザではありません。他との決定的な違いは、JavaScriptの生みの親で元MozillaCEOのアイク氏がインターネットのあり方と仕組みを根本的に変えることを目指して作ったことです。しかしインターネットのあり方と仕組みを変えるとはなんぞや。。
ここではわかりやすくアイク氏の着眼点から整理することでまとめてみたいと思います。
(Braveブラウザはまだメジャーではないため、前段が長くなることをお許しください。)
Braveブラウザの着眼点と現状の問題
既存のインターネットの仕組みについて、無料でサービス展開して広告で収益化する仕組みって限界あるよね?ということが発端になっていると理解しています。
ユーザー視点で言えば
- さすがに広告邪魔すぎじゃね?
という限界であり、コンテンツ製作者としては
- 広告出しても全然もうからんのやけど。アフィもやらないとダメかな。(作りたいコンテンツ作れねー)
という限界であり、ビジネスモデルや倫理的な観点で言えば、アップルのティムクックの「サービスが無料であれば、それを受け取る人は顧客ではなく、製品である」ということをもじれば
function 広告利益最大化(
ティムクック="サービスが無料であれば、それを受け取る人は顧客ではなく、製品である"
){
=> (ユーザ-="単なる変数";)
}
ということです。これって正しいようだけど、よくみると文法エラーですよね?
元々インターネットというのは分散型で自由であったもののはずなのに、今は「データの吸い上げ×広告出稿」でプラットフォーマーが牛耳ってる超中央集権状態だよね?しかもその中で一人ひとりの扱いは変数の一つにすぎず、モチっと別の仕組みはないのかね?ということがアイク氏の着眼点でした。

方法
そこでアイク氏はMozillaを突然退社してBraveブラウザの作成を始めます。さすがJavaScriptを生み出して、Mozillaを率いただけある人は違うなと思うのですが、曰く、突然モジラのCEOを辞任したアイクは、
生まれ変わったようにプログラミングを再開し、Brave というこれまでにないブラウザを開発した。
Brave は、Cookie の弊害を取り除くとともに、
すべてをトップダウンで決められるインターネットの仕組みを変えるものだった。
ということです(「グーグルが消える日 Life after Google(ジョージ・ギルダー著)」)。
結局何が変わるの?
本を読んだり公式サイトみるといろいろ書いてあるのですが、要するに下記のメリットがあります。
ユーザーのメリット
- ユーザーはBraveブラウザ上での広告表示を完全に管理可能。ブロックすることも表示することも可能
- ユーザーはブラウザ上に広告を表示させることで、金銭的な対価(batという暗号通貨に紐付けられたbatポイント)を得られる。コンテンツ製作者にも支払われる。
- ユーザーは、その対価をコンテンツ製作者に寄付できる
- ユーザーは個人情報を売られたり集められたりしない
出稿者のメリット
- ユーザーの好意的な反応を期待できる
コンテンツ制作者のメリット
- Adsenseやアフィリエイト以外の第3の収益化の方法が得られる
- 過剰な広告にレイアウトを崩されない
- Braveブラウザを使用するユーザーからの寄付を期待できる(コンテンツ自身が価値を持つようになる!)
という点です。結構こうやって考えてみると大きいですよね?
以上が
・Braveブラウザとはなんぞや
・クリエータの収益化の方法
・ユーザとして収益化する方法
という3構成の最初の部分でした。さて、それでは実際にいよいよ収益化する方法について記載していきたいと思います。Adsenseと併用可能でしたのでぜひ登録してみるといいと思います(Adsenseのように審査厳しくありませんでした)。
なお、WEB系じゃない方はここはスルーしてください。この下にユーザーとして使う方法があります。
Braveブラウザへの登録
こちらの公式サイトから設定をしていきます。
https://brave.com/ja/

Braveブラウザでクリエイター登録するために、大きく分けて2つのことを行います。
- 1.クリエータ登録をして、収益化したいサイトを登録する
- 2.プラグインを入れて、パブリッシャーIDを入力してサイトを認証する
1.クリエータ登録をして、サイトを登録する
トップページ右上の「クリエイターの方」というボタンから下記のページに飛びます。
https://creators.brave.com/?locale=ja

登録ボタンを押して、メールアドレスを入力します。

メールが届くので、そこに記載されたリンクを飛んで氏名を入力して完了です。非常に簡単ですね。
ログインするとこんな画面になります。

ここでサイトの登録をしていきます。右上の「チャンネルを登録」ボタンを押して、下記のカードから収益化させたいチャンネルを選択します。Twitterなども収益化できるようですが、私の場合はウェブサイトを選んでドメインを入力しました。

すると勝手にWordPressだと判定してくれました。(Angular React,Pythonのサイトだとどうなるかわかりませんでした。でも実際はad.txtに相当するテキストファイル作っているだけなので行けると思います)

画面の指示にしたがって、プラグインのインストールして、サイトを認証します。
プラグインのインストール
からzipファイルをダウンロードして、WordPressの管理画面から新しいプラグインとしてアップロードし、有効化します。

検証コードの追加してサイトを検証する
管理画面のプラグインの中にBrave Payments Verificationという行が追加されますのでそれを選択して、先の画面に表示された検証コードを追加します。あとは検証コードが表示されたページで検証ボタンを押せばOKです。

するとこういうメールが届きますのでこれでクリエイター登録は完了です。

最後にプラグインをdeactivateして終わりです。
(支払い先でPayPalと紐づける必要はありますが、これはPayPal口座があればすぐできますし、特にクリエイター登録という意味ではしなくても問題ないかと思います)
以上です。これでBraveブラウザでクリエイター登録ができました。あとはユーザーがBraveブラウザを介してアクセスしたら、コンテンツに対する支払いが振り込まれることとなります。(でもまだ未検証です。私は https://top.np-sys.com/ で登録したので、Braveブラウザで誰かアクセスしてみてくれたら振り込み額など追記します。また、こちらの投稿にコメントをいただけたら、記事の下にサイト一覧のような形でリンクを貼ろうと思います。ぜひご連絡ください)
ユーザーとしてBraveブラウザを使用する
上記はクリエーターとして登録する方法を説明しましたが、ユーザーとしてBraveブラウザを利用することもできます。Braveブラウザを使うと、ChromeやSafariと異なる3点のメリットがあります。
- 広告を排除してコンテンツを閲覧できる
- 広告を表示することも可能で、その場合広告閲覧によって収益が得られる
- サイト作成者に投げ銭できる
このうち、サイト(広告)の閲覧によって収益が得られるというのは理解に苦しむところだと思います。私もそんな美味しい話があるものかと思いましたが、これはBraveブラウザの理念を踏まえると理解できます。つまり
「広告に基づくウェブのエコシステムをリセットし、広告主、コンテンツ・パブリッシャー、顧客の誰もが得をするウィン・ウィン型のソリューションを提供する」
ことをBraveブラウザが目的としているためです。まぁ投げ銭の元資金って感じなのだろうとは思いますし、こういう仕組みがないとなかなか広まらないですから、いい仕組みかと思います。
ユーザーとしてBraveブラウザを利用する方法
それではいよいよネット閲覧でお小遣いがもらえる謎のBraveブラウザのインストール方法です。と言っても公式からダウンロードしてインストールするだけです。
公式→ https://brave.com/ja/
インストール後、Rewardを有効にすれば収益化は完了します。個人データの集約などもしていないとのこと。

大体、広告一回見ると1円くらいです。最大でも1時間に5回しか広告を表示させられないので額としては大したことはありませんが、得られた収益をサイト製作者に寄付できることが大きいです。小さな投げ銭が集まることである程度大きな金額になれば、正当な方法でコンテンツ製作者に報いることができると思います。作った人がコンテンツを見てもらい、金銭という形で認めてもらえる、これって健全な社会の形ですよね?
まとめ
というわけで、この記事では次世代のBraveブラウザについて紹介しました。
1. (Googleの無料サービスに定義された)インターネットの仕組みを変える
2. コンテンツ製作者に適切に報いる
ことを目的とする従来とは全く異なるパラダイムから生まれたブラウザで、Google Adsenseに変わる方法(実際は並列して使えます)として利用できます。私は開発者としてもユーザーとしてもGoogleが非常に好きなのですが、Braveブラウザの理念にも共感します。Braveブラウザはとてもいい仕組みだと思いますし、何事にも多様性は大事なはずなので、Braveブラウザも使っていきたいとと思います。ぜひ皆さんもご検討してみてください。軽くて普通にいいブラウザでした。
最後になりますが、こちらの記事は、アメリカでベストセラーとなった「グーグルが消える日 Life after Google(ジョージ・ギルダー著)」を参考にしております。哲学的なことが多かったけど面白かったです。
アフィリエイトリンクはこちら。ぜひクリックして購入してね!
=> https://amazon.com
、、、、!?。
ぜひみんなで新しいインターネットを作っていきましょう!
pandasで条件抽出する2つの方法(単一条件、複数条件)
1
pandasで条件抽出する方法には、queryメソッドを使う場合と使わない場合がある。
A列に1-100、B列に101-200、 C列に201から300のデータが並んでいる100行のデータを考える。
df = pd.DataFrame({
"A":[i for i in range(100)],
"B":[i+100 for i in range(100)],
"C":[i+200 for i in range(100)],])
メソッドを使用しない場合:
#A列が20未満を抜き出す
df = df[(df["A"]<20)]
#A列が20より大きく、かつ、50未満を抜き出す
df = df[(df["A"]>20)&(df["A"]<50)]
#A列が20より大きく、または、50未満を抜き出す
df = df[(df["Α"]>20)|(dF["B"]<50))
複数条件の場合、かっこで個々の条件を囲む必要がある。
queryメソッドを使用する場合:
単一条件での抽出:
#Aが20未満を抜き出す
df = df.query('A< 20')
df = df.query('(A > 20) and (A < 50)')
df = df.query('(A > 20) | (A < 50)')
個人的にはqueryを使わない方が好みです。
現場からの報告。製造業でAI/IoTを活用するために必要だと思うこと
1
製造業に勤めるエンジニアから見た製造業でAI/IoTを活用するために必要だと思うことです。
はじめに
「2025年の崖」と言われているように、製造業にとってデジタルトランスフォーメーションが喫緊の課題となっております。新興国が品質とコストで猛追するなか、工場にいて日本の厳しさを感じるんですよね。
もはや「日本の品質って本当にいいの?」って思ってしまいます(まぁうちの工場だけかもしれないけど!)。
とはいえ人口減少する日本にとって、高付加価値品の製造が必要なのは明白であり、特にAI/IoTというのはその大きな試金石となっていると思います。いちメーカでAI/IoT担当(かっこ笑いw)をしている身から現場の感覚をお伝えできればと思います。
言いたいことは下記の3点です。
・本部機構にだけAI・IoT推進課を作っても無駄
・買い物だけでは不十分、プログラミングレベルの全体の底上げが必要
・既存のIT担当者は障害になる場合も
本部機構にだけAI・IoT推進課を作っても無駄
大企業で多いのは、工場とは離れた本部機構にAI/IoTの専門部署を作ることですよね。これ、本部だけに作るとうまくいかないパターンだと思います。というのは、AIを活用していくにあたって重要なのは、質のいいデータと現場にカスタマイズされたソフトだと思います。その点、本部にいる人が工場の既存のデータもよくわからないまま新しいデータを取るのって至難の技だと思います。加えて、新しくデータを取り始めたとしても日々起こるトラブルにすぐ対処できず工場任せにするようだと
本部「いいデータが上がってこないから解析できない」
工場「データとるのどんだけ大変だとおもってんねん!」
となる可能性が高いです。結局、本部だけに推進グループを設置するのは不十分で、工場にメインの担当チームを置かないとダメなんですよね。本部にグループ設置すること自身はいいことだと思いますが、本部だけでうまくいくなんてありえないのではないかと。
買い物だけでは不十分、プログラミングレベルの全体の底上げが必要
あとありがちなのが、買い物で済ませようってのも多くあると思います。やれTableauだ、やれDataRobotだ、そのほかにもDataSpiderやSensorCorpusなど高い買い物して「うちはAI/IoTやってる」と満足しているパターン。これって使いこなせないという意味で本当にもったいないと思います。日々の製造で活用するにはカスタマイズが必要で、どこかで自分でコード書く必要があります。この必要性を理解せずにツールを買っても片手落ちってものだと思います。
既存のIT担当者はむしろ障壁になることも
3つのなかでこれを一番いいたい。バブルの時代に建てられた工場なんかだともう30年近く経っています。うちの工場もそれくらいなのですが、こういった工場にありがちなのがシステムのレガシー化です。どんな感じかというと、例えばうちの工場ではOracleを使っているのですが、SQLでデータベースに接続すると怒られます。
既存のIT担当「接続して不安定になったらどうするんだ」
「・・・・」
Oracleにコマンドで接続してSQLでselect文発行して怒られるっていったいなんなんですか(30年前のGUIソフトでかちかちクリックしてデータを取得するのです)。。こんな状態でAI開発なんてむりですね。一悶着の末select文の発行だけさせてもらっても、なにかあると全部新しいコードがスケープゴートにされますので日々ひやひやものです。
Oracleに接続するbatファイル書いていて申し訳なさでいっぱいになるんですけど、かなしい。。悪いことしてるんだっけ!?加えてタチが悪いのは、既存の担当者の知識が一世代前のものだということです。問題起きて説明しても
「Pythonおれわからないから!!」やる気完全になくします。
対策
以上を踏まえて、製造業でAI/IoTを活用するためにわたしが思う必要な対策を下記に記載します。
本部にだけAI・IoT推進課を作っても無駄
→本部にはとても助かっています。でも、工場側にもチームが必要だと思います。
1. データの質を担保するインフラ担当、
2. データベース管理やAPI管理を行うバックエンド担当、
3. そして生技の業務に合わせてカスタマイズするフロントエンド担当
が必要です。共通化できるアルゴリズム開発などは本部に任せてもいいかもしれないですけど、でも、工場のなかにメインのチームが必要だと思います。
既存のIT担当者はむしろ邪魔になることも
→これきついですね。はっきりいって辟易しています。トラブル避けるために、AI/IoT用にはデータ回線、データベース、サーバは完全に分けられたら理想ですね。データベースはMySQLを立てて、サーバはGCPやAWSも使ってパソコンでもなんとかなるし、データ回線もセカンドイーサで分けちゃう。それでもデータ通信量が多くて他のソフト止まったと言われたら心の中で笑います、そして泣きます。
全体の底上げが必要
全員のプログラミングに対する理解が必要です。自分は関係ないと思っているひとたちのなかで根付かせるのは大変ですが、スタッフはある程度理解が必要なのではないでしょうか。「手順の決まっていることを自動化するツール」という名目で勉強してもらうのもいいと思います。
最後に
AI/IoT使いこなしたら素晴らしいと思うけど、日本の製造業課題多いなぁと。なにかにつけて古いし、固着してますよね。。工場いちから作り直したら簡単だけどね!って。あぁ、もう新興国の勝ちですね〜。・・・っいやいや!!