ラァンフォーヱヴアー

出先・常駐先用コマンドリスト。2020年からリモートワークなので常駐なくなったけど。その他思ったことメモ。

Windowsの無線LAN設定一括移行

Windows買換え

もうすぐ更新しますが、新しいWindowsPCを購入しました。

長年繋いできた無線LAN接続情報を一括で別のPCに移す手順が意外と面倒だったのでメモ。

バックアップ/リストアと読み替えても吉。

旧PCからの一括エクスポート

これはコマンド一発。

mkdir wlanprofile
cd wlanprofile
netsh wlan export profile key=clear folder=.\

これでwlanprofileフォルダに1設定ごとに1つのxmlファイルが出力される。

新PCへの一括インポート

コマンドでは1ファイルずつしか指定できないっぽいのでバッチ処理

まず、wlanprofileフォルダをそのまま新しいPCへコピーして、以下をbatファイル形式で保存し、フォルダ内で実行。

@echo off

for %%a in (*.xml) do (
  netsh wlan add profile filename="%%a"
)

pause
end

(パスワードが入っているので取り扱い注意。key=clear以外にすればパスワードは暗号化されるがうまくいこうできないらしい?未確認。)

なんか数個エラーになったけどまあいいや。

Windowsおじさんが今更iOSアプリをつくるまで(React Native編)

今時珍しい3年越しのプロジェクトがずっと続いてたんですが2020/1に本番稼働するのでそこまでは忙しい感じなのですが、生存報告がてら軽く。

あらすじ

Reactお勉強中。

まずは本でも

本屋で探したけどこれがいいっぽい。

選んだポイントは

  • 簡単にJavaScript〜Reactの系譜に触れられていること。こういうページ不要な人も多いかもしれませんがさらっと押さえておきたいタイプ。 DOMとかすらあんまりピンときてないのでわりとありがたい。

  • 周辺技術も割と満遍なく触れられている。純粋なReactをメインに、WebpackとかElectronとかSPAとか。 あとはExpoが強いっぽいので紹介あれば最高だった気もする。

  • 実際のアプリサンプル割と豊富。マストドンクライアントとかもある(マストドンやってないからスキップしたけど)

本のポイント

今の所5章途中まで。もともと本自体を深く紹介するつもりなかったのであんまりメモしてなかったけど以下は記しておきたいこと。

  • 本の中のNode.jsはES2015に未対応。Babelでトランスパイルする前提なのがやや面倒。(本ベースで勉強してるからちゃんとみてないけど多分今は対応しているのかな?)

  • babelコマンドで出力ディレクトリが指定できなかった?なんか数ヶ月かけてやっててしばらくやってるうちに治ったので特定バージョンのバグかも。

  • Reactにはコンポーネントが生成、破棄、状態の変更(変更前、変更後)などをイベントとしてメソッドを呼び出せる。うまく作らないと見かけ上のレスポンスとか処理タイミングとかに影響ありそう。まだあんまり理解できてない。

  • ReactはWebアプリ。ElectronはReactの書き方でデスクトップアプリがつくれるエンジン。React NativeはReactの書き方でスマホアプリがつくれるエンジン。ただ、Electronは自分の環境(64bit Windows10 PowerShell)でコンパイルすると異常に時間かかるというかフリーズする。(コマンドプロンプトだといいような気がする?)

いまのとここれくらい。

あとで追記するかもしれないし、しないかもしれない。たぶんしない。 あくまで勉強途中なのでメモ程度。

スチームパンクなスマホを作る話、あるいはRaspberry pi + CANDY Pi Lite実装(組み立て編)

ちょっとiOS話はReact勉強中になったので進捗ないです。 なので平行で進めているこちらをまとめました。

概要

なんかスチームパンクな感じのスマホが作りたい。 作りたいっていうのは

な感じ。

まずはモノを揃える

  • Raspberry pi zero wh みんな大好きラズパイ。スイッチサイエンスさんで購入。

www.switch-science.com

pi 3B+(4も出た!)の方がいいのかもしれないけど、少しでも小さくするため。 まあ、全体が大きくなりそうなのであまり意味なければ買い換えてもいい。安いし。

  • CANDY Pi Lite D+ 今回のキモ1。Docomo版。

www.amazon.co.jp

CANDY Piも色々ある。GPSも4Gも使いたかったのでこちら。 3Gはもうすぐ(ってほどではないけど)停波するので避けた。

  • nuroモバイル 0 SIM 普段iijmio(bicSIM)を使ってて、それでも良いけど(むしろそっちの方がCANDY Piの実績にあるけど)差し替えが手間なのと他にも色々使えそうなので契約。 契約料 6000円以外は基本無料。

mobile.nuro.jp

さんのところでおススメされてた。

https://www.amazon.co.jp/gp/product/B075K56C12/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1www.amazon.co.jp

  • バッテリ まだ買ってない。サイズがわからないので上のパーツ組み合わせてから買う。

組み立ててみる

CANDY Pi Lite D+はこんな感じ。赤いシールがDの証らしい。

ごついアンテナとかもついてて普通の通信装置を作るなら邪魔そうだけど、今回作るものからするとレトロな感じにできそうなのでむしろOK。

一枚ペラの説明書がついてた。

こっちはラズパイ。特に珍しくもないと思うのでさっくり。

ラズパイのGPIOにCANDY Piを差し込む。

アンテナをつける。すぐ取れそうな感じだけど意外としっかりはまる。

電源用の拡張ボード的なものをネジ止めする。(USBケーブルつけてるけどこれは間違い)

0 SIM刺す。なんかどこまでも刺さっていくのでどこまで刺すのかよくわからない。

写真うまく取れてないけど、液晶のGPIOもつないで電源入れてみる。

緑色LEDが電源。隣のオレンジ色LEDがSIM通信らしい。

しばらくちょこっとだけオレンジ色が点灯しているが消えてしまう。0 SIMでは反応していないのか? [

ここからチョットはまったのと画像だらけなので、0 SIM対応させるところは次回。とりあえずはこんな感じ。

Windowsおじさんが今更iOSアプリをつくるまで(Mac実機でPythonistaAppTemplate編)

あらすじ

ねんがんの、MBAをてにいれたぞ!

もう一度動かしてみる

前にやったことをもう一度。間空いたのでやや手間取る。(ブログ上では数回のポストだけど、実際は2-3ヶ月とか経ってる。)

やや忘れてたけど動いた。いよいよ実機デバッグとして自分のiPhoneに移してみる。 kivy-iOSを使うとxcodeprojが出力できるのでXcodeで起動。Lightningケーブルにつなぐとデバイスが認識...しない。

qiita.com

何となくこれっぽい。targetを今のバージョンにしてみると認識した。 でそのまま再生ボタン押すと...移せた。

いざ、起動。おお…これは…

エラーメッセージしか出力しないじゃねーか!

エラーメッセージ曰く、どうやらPythonista独自の位置情報ライブラリであるlocationがうまく認識してないようだ。 いよいよPythonistaでやるのは無茶なのか。諦めてちゃんとした開発しないといけないのか。

もういい。決めた。もうちょっとメジャーどころのスマホアプリ開発言語に手を出そう。

クロスプラットフォームアプリ開発比較

今から覚えるとなるとせっかくなのでクロスプラットフォームなやつがいい気がする。 ということでぐぐると以下がメジャーどころっぽい。

  • Xarmin
  • ReactNative
  • Unity

何となくどれも名前は聞いたことある。特にUnityはゲームのイメージある。 普通のアプリも作れるんだろうけど、何がグラフィックが大袈裟な感じになりそう。 今回は便利ツール的なものだし、今後もグラフィックガンガンなゲームを作るつもりもないのでそこまではという感じ。

Xarminはクロスプラットフォームの元祖的なものっぽいが、なんかベンダ独自っぽくて微妙。

ということでReactNativeを選択。(検索するとAribnbのReactNative離れ的な記事出てきて若干心配だが)

ReactNative動くのか

やっと今の時系列。現在編突入。

とは言えまだ進んでない。 結局Expoなるツールがいる。正確にはIDEなので必須ではないっぽいが。(まあ実機で動かす仕組みいるから当然か)

Expo Go

Expo Go

  • Nametag
  • 仕事効率化
  • 無料
apps.apple.com

いわば実機をリアルタイムテスト端末にできて、ソースいじるたびに実機に反映されるらしい。 ここがReactの人的には便利ポイントのようだが全くWeb系を触ってない自分からするとあまりメリット感湧かない。

まあでも確かにWebデザインって最終的にはちょこちょこずらしながらいい具合になるのを見ないといけないのにいちいちコンパイル的な動きをしてられなそう。

なんか大分苦戦したけど、開発環境とは別ネットワークでVPN越しにみてるからだった。 同じネットワークだとあっさり動作。これでいいか。

次回以降はReactNative中心で開発。

Windowsおじさんが今更iOSアプリをつくるまで(Mac実機購入編)

あらすじ

Macクラウドは遅い、実機デバッグには使えない。

使いこなせるかどうかもわからない開発用Macのスペック

前回触れた用に最新XcodeすなわちMojaveをサポートし、最安(5.5万程度)、軽いってことで MacBook Air Mid 2011 メモリ8GB版が欲しい。4GBだとさすがにXcodeまともに動かないっぽい。

探してみる

元々はメルカリ、ヤフオクで探してたがそれは1万以下とかを探してた時の話。5万クラスならさすがにちゃんとした店で買うべきと思い、リアル店舗を見て回る。中古品はキズとかバッテリとか画面の具合をリアルに見たいので。

今住んでる名古屋で探して見る。大須を回って見るがあんまりいいのがない。4GBで6万円台。特に8GBはレアっていうか見つからない。

たまたま秋葉原に別件の用事があったのでちょっと時間とって探してみるといくつかあった。流石。

じゃんぱらD-Style秋葉原店で税込49,800円。 5万切るってなかなかいい買い物なんじゃない?

デフォルトOSはLionだった。しかしOSのバージョンあげるとサポート外とお店のお姉さんに脅されたので、念のためハード故障ないかヒートラン。数日起動しっぱなしにしてみる。大丈夫。

OSのアップグレード

さてOSバージョン上げて見ようと思うも、ここでプチ問題。AppsStoreで検索するも何か有償?そもそも以下見ると対応してないっぽい?

https://www.apple.com/jp/macos/how-to-upgrade/#hardware-requirements

Macの以下のモデルがmacOS Mojaveに対応しています。

MacBook(Early 2015以降) MacBook Air(Mid 2012以降) MacBook Pro(Mid 2012以降) Mac mini(Late 2012以降) iMac(Late 2012以降) iMac Pro(2017) Mac Pro(推奨されるMetal対応グラフィックカードを搭載したLate 2013、Mid 2010、Mid 2012モデル)

2011はダメ?だまされた?

更に調べたところ、以下の記述あり。

Snow Leopard(10.6.8)またはLion(10.7)を使っていて、お使いのMacmacOS Mojaveに対応する方は、はじめにEl Capitan(10.11)にアップグレードしてください。手順についてはこちらをクリックしてください。

二段階アップデートということか。やってみる。あっさり無償でできた。

MBA Mid2011所感

一通り触って見る。最新からは程遠いけど流石にクラウドとは比べ物にならないくらい快適に動作する。

欲を言えば若干画面が小ささかった。Windowsリモートデスクトップで入るとWindows側のアイコンとか一部ソフトの解像度が変になる。まあいいや。贅沢は言うまい。

YouTube見たりだとサイズの割には綺麗な気がする。この辺がよくMacの人たちが言うデザインがいいとか画面がいいとかの話なのか。

と、短いけどこれくらい。 いよいよiOS実機でやってみよう。

Windowsおじさんが今更iOSアプリをつくるまで(MacクラウドでPythonistaAppTemplate編)

あらすじ

Pythonistaはいいぞ。

Xcode Template for PythonistaとKivy for iOS

PythonistaをiOSアプリにする方法としては開発者が提供するXcode Template for Pythonista(PythonistaAppTemplate)がある。

github.com

ただこれとは別にピュアPython用にKivy for iOS(kivy-ios)ってのがある。世間的にはこっちのがメジャーなはず。

github.com

PythonistaAppTemplateはPython2系しかサポートしておらずメンテナンスされてないっぽいので、kivy-iosに挑戦。 ダメなら変換ツールなり手動なりで2系に書き換えてPythonistaAppTemplateを使えばいいし。(フラグ)

ただし、どちらもXcodeが必要とのこと。

WindowsユーザにおけるXcodeおよびMacに関する認識に関する考察

公式非公式問わずXcode for Windows的なものはないっぽい。MacOS上でしか動かない。夢の中でMacOSがダウンロードできるページ探したがないっぽい。

ここでWindowsのみでという望みは潰える。 流石に使いこなせないかもしれない新品のMacをいきなり買うのもなんなので劇古で数千円から1-2万とかでないか探してみたい。

調べたところ以下要件。

  • 最新のXcodeが必要。でないと審査されない?
  • 最新のXcodeには最新のOS Mojave(モジャベではなくモハーヴェ。パラサイトイヴで見た)が必要。
  • MojaveをサポートするのはMid 2011とか

探すと、最安値でも5万くらいする。

関係ないけどMacのモデルは通称(Mid2011)、機種ID(A0000)、型番(MB000J/A)と製品を識別する言葉が3種類あるらしい。世間のみんな慣れてるんだろうけど混乱する。

Mid2011みたいな表現はわかりやすくて便利。Winにはない表現と思ったけど最近のWinはそんな感じか。Win10 なんとかアニバーサリーみたいな。

とにかく安く最低限の開発とものとしての軽さをいうとMacBook Airがいいっぽい。性能はとりあえずいいや。 いわゆるMBAですよ。10年前のスタバならドヤ顔できるやつですよ。

MBPで換装するのもいいけど1kgクラスの重さのPCが前から欲しかったしかさばるものは増やしたくないので今回はパス。

Windowsのみを使用するヒト上科におけるMac本体価格と国外クラウドのネットワーク遅延に関する考察

と中古MBAを探すが中古品は5万くらい。ヤフオクも最初安くても落札ごろには4-5万。 ということでヤフオクをチェックしつつ、別の案。クラウドMacOSを提供してるところがあるので比較。(ライセンスいいのか?)

評判とか色々見ると、これがいいっぽいので契約。MacはやっぱりUNIXだからXWindowでリモート接続するのか。

www.hostmyapple.com

kivy-iosを検証。

まず気づいた。

すっげ遅い。GUIのボタン押したりメニューを表示したりするのに全ての操作に10秒単位のラグがある。 Xcodeインストールに10分どころじゃない時間かかる。

なんとか入れたが、話にならないのでリモートログインしてコマンドベースでやってみる。 まあまあ我慢できそう。あとMacはいきなりSSH接続できる。これは便利。

Kivyとの対面

まずReadme通りやったがエラー。以下みたいなエラーが出てくるので、試行錯誤してひたすらエラー潰す。

結果シミュレータ起動しかけるところまでいったがABORTエラーでこける。

あと無限にシンボリックリンクや実ファイルが無限に湧いてハードディスク潰してくる。 ただよくわからないのがdfコマンドではパンクしてるがduコマンドで見てもそこまではない? とりあえずクラウドのディスク増やしたが効果なし。

PythonistaAppTemplateが一番や

土日中心に1-2ヶ月とか頑張るがダメ。諦めてAppTemplateつかうことにする。 あっさりPythonista 風画面でiOS Simulatorが起動する。何だったんだ。

気を取り直して、実機ビルドをやって見ようと色々調べるが、一度物理的にライトニングケーブルで繋がないとダメっぽい。(正確には同じLANにいないとダメっぽいがクラウドVPNやってみるがうまくいかず…)

Windowsリモートデスクトップだと遠隔でUSB刺せるけどXWindowであるMacOSにはその仕組みがなさそう?

諦めたのとやっぱりMac実機欲しくなってきたので買うことにする。

次回へ続く。