intellista

engineer's notes about application development, data analysis, and so on

Power Automate Desktop for Windows 10

f:id:parupuntist:20210305193328p:plain
ちょっと嬉しいニュースがありました。
今週の火曜(3/2)に、MicrosoftからWindows10をRPAする無料ツールが公式リリースされました。
「Power Automate Desktop for Windows 10」です。
flow.microsoft.com

そのうちInsider Programに入るらしいのですが、先立ってインストールしてみました。
次の記事で、ブラウザ操作の記録方法がわかります。
gigazine.net

早速試して見ました。かなり簡単に自動化タスクを作れました。
インストールしたアプリのメニューを見る限り、ブラウザに特化しているわけではなく、CMDなどいろいろな自動化できるようです。
人間が張り付かずにPCにやらせておけばいいような単純作業を本当に簡単に自動化できそうで、ワクワクします。

Pythonでk-meansによるクラスタリング

f:id:parupuntist:20210304195233p:plain
Pythonでk-meansによるクラスタリングを実施してみました。
データの性格から、あまり面白い結果にはならなかったのですが(散布図にすると人間が見ても分類できるようなデータだったので...)、実装の練習としてはちょうど良かったです。

下記のような記述で、簡単にクラスタリングできるのはちょっと衝撃でした。

from sklearn.cluster import KMeans

km = KMeans(
    n_clusters=5, # クラスタ数
    init="k-means++", # 初期値の与え方(randomかk-means++のいずれか)
    n_init=10 # k-meansの実行回数
)

km.fit_predict(df)

上記で分析まではできますが、分析結果を可視化するにはMatplotlibなどに渡す必要があります。
このあたりは、ネット検索やPythonエンジニア育成推進協会の推薦図書でもある「あたらしいPythonによるデータ分析の教科書」を見ながら実装しました。

上記図書は、データ分析に必要な数学のおさらい(微積分、行列、確率統計、の知識のうち、データ分析での実装に必要そうな初歩)が簡単にまとまっているのと、Numpy, pandas, Matplotlib, scikit-learnといった定番ライブラリの事始めがまとまっている点が気に入っています。
なお、2021年3月末までなら、Pythonエンジニア育成推進協会で受検宣言を報告すると無料でもらえるキャンペーンをやっているようです。
www.pythonic-exam.com

先月の2/19にconnpassでデータ分析ハンズオンに参加しまして、そこでもk-meansを取り扱っていました。
そのおかげもあって、実装イメージがついていた点が役に立ちました。
ハンズオンのときは早々に脱落していたのですが(pandasは初心者、Matplotlibやscikit-learnは触ったことなし、という初心者だったので...)、うまくいかなくても一度経験しておくというのは良いことだと思いました。

Chromium版Edge用のWebDriver

f:id:parupuntist:20210303181649p:plain
1年ほど前、EdgeがChromiumエンジンに変わったタイミングでChromeから乗り換えました。
使用感はあまり変わらないと思っています。
乗り換え後、PythonSelenium経由でスクレイピングするのに使っていた「chromedriver-binary」もEdgeのドライバに差し替えました。

差替前の「chromedriver-binary」はpipして、次のようにimportすればすぐSeleniumに渡せました。

from selenium import webdriver
import chromedriver_binary
...
wd = webdriver.Chrome()
...
wd.get("http://www.xxx.xxx...")
...

一方、差替後のEdgeのドライバはダウンロードしたものを任意のパスに解凍し、そのパスを次のようにソースで指定する必要があります。
(次の例ではC:/xxx/driver/edgedriver_win64/msedgedriverに回答した想定です。)

from selenium import webdriver
...
wd = webdriver.Edge(executable_path="C:/xxx/driver/edgedriver_win64/msedgedriver")
...
wd.get("http://www.xxx.xxx...")
...


ブラウザのバージョンアップに合わせて頻繁にアップデートされるので入れ替えは少し面倒ですが、メンテされている点には安心感があります。

Windows10のフォトの「アプリは開始されませんでした。」から脱出 (別アプリに乗り換え)

f:id:parupuntist:20210302205556p:plain
先月あたりから、画像をダブルクリックすると「アプリは開始されませんでした。」というダイアログが表示され、画像を開けなくなっていました。
Windows10標準のフォトが既定アプリになっていて、一瞬アプリのウィンドウが起動することもありますが、すぐに閉じてダイアログが表示されます。

f:id:parupuntist:20210228124837p:plain
エラーダイアログ

ちょっと不便だったので、この現象を対策しました。
具体的には、フォトで表示するようには解消できず、別の無料アプリをMicrosoft Storeから入れました。

やったこと

まず、「フォト」の修復を試みました。
NEC LAVIE公式サイト > サービス&サポート > Q&A > Q&A番号 020671
上記の情報に従って、

  • 「フォト」を修復する
  • 「フォト」をリセットする
  • 「フォト」を再インストールする

を試したのですが、症状は改善しませんでした。

  • 「フォト」を修復する
f:id:parupuntist:20210228125042p:plain
「フォト」を修復する
f:id:parupuntist:20210228124837p:plain
解消せず・・・
  • 「フォト」をリセットする
f:id:parupuntist:20210228125232p:plain
「フォト」をリセットする
f:id:parupuntist:20210228124837p:plain
解消せず・・・
  • 「フォト」を再インストールする

管理者権限でPower Shellを起動し、「get-appxpackage *Microsoft.Windows.Photos* | remove-appxpackage」を打ち込んで再起動します。

f:id:parupuntist:20210228125303p:plain
「フォト」をアンインストールする

この状態で画像をダブルクリックすると、「ペイント」が起動します。

f:id:parupuntist:20210228175446p:plain
ペイントが起動する
※ダイアログは画像ファイルです。(紛らわしくてすみません。)

これはこれで悪くないのですが、大きい画像や誤って編集したくないときなど不便なので、やはり「フォト」を入れてみます。

f:id:parupuntist:20210228125812p:plain
「フォト」をインストールする
f:id:parupuntist:20210228124837p:plain
解消せず・・・

Microsoft Storeを見て気がついたのですが、そもそもWindows標準のフォトである必要があるかというとそうではないです。
なので「フォト」は削除し、別のフリーのフォトビューアを入れました。
いくつか試したのですが、Adobe Photoshop Expressが高機能で割と起動が速かったです。
(もうワンテンポ起動が速いと嬉しいのですが・・・気になったら他を探してみます。)

f:id:parupuntist:20210228125910p:plain
Adobe Photoshop Expressをインストールする
f:id:parupuntist:20210228130101p:plain
既定アプリにしておく
f:id:parupuntist:20210228130122p:plain
表示できました
※ダイアログは画像ファイルです。(紛らわしくてすみません。)

Adobe Photoshop Expressはサクサク画像を加工できて便利そうです。
次のような例なら、数秒の操作でできました。他にも様々な加工が直感的にできそうで、楽しいです。

f:id:parupuntist:20210228130159j:plain
Adobe Photoshop Expressで加工した例
※ダイアログは画像ファイルです。(紛らわしくてすみません。)

Snapseedのようにトーンカーブが使えると嬉しいのですが、今のところ見つかっていません。

なお、上記の手順「フォト」を修復する、は下記がわかりやすかったです。
www.onetest.info

エフェクチュエーション

f:id:parupuntist:20210301125755p:plain
「エフェクチュエーション」というタイトルの研修を見かけて、興味がわいて少し調べました。
優れた起業家が実践している意思決定プロセスや思考を体系化した理論のことで、経営学者が2008年に体系化したそうです。

次の記事で概要を押さえました。
wirelesswire.jp
media.gob-ip.net

27人の起業家を調査した結果に基づく、優れた起業家に共通する5つの行動原則だそうです。
すごくざっくり言うと、次のようなものだと思いました。

  • 1.「手中の鳥」 の原則
    目的から創出する(従来手法)ではなく、手段から創出する。
  • 2.「許容可能な損失」 の原則
    許容できる損失を織り込む。
  • 3.「クレイジーキルト」 の原則
    競合も含めてパートナーシップを持とうとする。
  • 4.「レモネード」 の原則
    予期せぬ事態も活用してしまう。
  • 5.「飛行機のパイロット」 の原則
    予測に注力するのではなくコントロールできることに注力し、臨機応変に素早く対応する。

これらの行動減速は、未来は予測不能、という前提に基づいているそうです。この前提は、アジャイル開発など変化に適応することを前提としたプロセスにも少し通じるところがあると思いました。先日のハピネスプラネットの講演でも、同様の考え方を踏まえていると思いました。予測不能な未来を前提にある程度の目標は持ちながらもトライ&エラーで素早く軌道修正しながら進める、という考え方は、近年の大きな流れなのかもしれません。

「手中の鳥」 の原則にある、手持ちのリソースから事業創出する、という考え方は、よく言われている、100人に1人の能力を2つの分野で持てれば100×100人=1万人に1人の逸材になれる、という考え方にも少し通じるとことがあると思いました。

「飛行機のパイロット」 の原則の前半は、「7つの習慣」の「影響の輪」にも通じるところがあると思いました。

Windows Insider Program

f:id:parupuntist:20210228001531p:plain
1月末、 Windows Insider Program のビルド期限が切れるということで Update をかけたのですが、何度も失敗して手間取りました。
Update 中に再起動を繰り返すようになってしまいました。
失敗したドライブは、保管していたバックアップドライブから上書きクローンで巻き戻しました。
それを何度か繰り返して、ようやくうまく行きました。
手動でUpdateの再起動をかけると失敗する、を夜中まで繰り返したので、翌日やろうと休止したところ、夜中に起動してUpdateがかかったらしく、翌朝には正常起動していました・・・ちょっと謎です。
上書きクローンするために、一体型PCを裏を開け、保管していたバックアップドライブを引っ張り出して取り付けたり外したりする必要がありましたが、もともと好きなので、その点は楽しめました。

Windows Insider Program は定期的にビルドの期限が来るので、もうやめようかな、と思ったのですが難しいことがわかりました。
Insider Program の配信を停止すれば程なく抜けられると勘違いしていて、実はやめるには現Verのクリーンインストールか次期Verのインストールが必要みたいです。
そこで Dev チャネルは少し不安になったので、一旦、リリース プレビューに変更しました。
が、期限が通知されたらまた Update が必要なので、起動しなくなったときに備えてバックアップドライブは保管して置こうと思います。
PCをバラすのはとても楽しいのですが少し手間なので、SDカードにディスククローンして新しいバックアップドライブを作っておきました。
ディスククローンには、Minitool ShadowMaker Free というフリーソフトを使っています。
相手のディスク容量に多少差異があってもうまいことクローンしてくれるところも気に入っています。
www.vector.co.jp

Windows Insider Program は、去年の夏ごろ Docker for Windows を試したくて参加しました。
Docker の前提として WSL 2 が必要ですが、Windows 10 Home にはもともと含まれていませんでした。
WSL 2 は、昨年の May 2020 Update に含まれるようでしたが、配信が遅れているようでした。
Windows Insider Program に参加すると導入できると知ったので、Dev チャネルに参加して Docker も無事に動かせました。
目的は果たせたのでその点ではよかったのですが、下調べが甘かったと反省しています。

ちなみに WSL 2 は次期 Windows 10 ではコマンドラインでインストールできるようになるみたいです。
www.atmarkit.co.jp

Boston Dynamics

確か半年くらい前、Boston Dynamics の犬型ロボット(Spot)が800万円くらいで販売開始されたというニュースを見ました。
そのBoston Dynamics ですがソフトバンクから売却されるとのことです。
xtech.nikkei.com

なので、下記のソフトバンクのサイトはいずれクローズされるのかな・・・
www.softbank.jp

最近、人型のAtlasや犬型のSpotなどが踊っている動画を見ました。
www.youtube.com