MacでSAPを使う環境を整える話
このブログで書くのは初めてかもしれないSAPネタ。仕事用のマシンをMacにして以来、MacでSAPをいじりたいんだけどということで、環境を整えた話を書き残しておこうかなと。ちなみにここでいう「いじりたい」は、開発っぽいことをやりたいという意味。
目次
SAP GUIのインストール
使うだけならブラウザだけでも何とかなるものの、やはりSAP GUIは入れておきたい。Macの場合はSAP GUI for JAVAを使うことになる。SAP GUI for Windowsと比べて多少の制約はあるものの、開発するという視点だとEclipseベースのツールを使えば、あまり不便は感じないはず。
ダウンロード
自身でSユーザを持っているなら、このあたりからダウンロード可能。リンクは見れるけど、ダウンロードできない場合は、管理者の人に相談するべし。
インストール
ダウンロードしてきたJARファイルをダブルクリックすればインストーラが起動するけど、その前にJavaFXもダウンロードしてインストールしておく必要がある。
ダウンロードして展開されたフォルダをまるごと、/Library/Java/JavaVirtualMachines の下あたりに置いておく。好きなところにおいて、PATHを通しておけばよいという考え方もあるけど、たまにPATHの内容が上書きされて迷子になったりするので、個人的には分かりやすいところに置いておく派。
ここまで準備ができたら、SAP GUIのインストーラを起動する。具体的にはJARファイルをダブルクリックすればOK。基本的に流れに任せるままでいいんだけど、インストール先をルート直下の /Applications にするか、自分のユーザの下の /Users/user_name/Applications にするかを意識しておいた方がよい。自分の場合は無意識にUsersの下にインストールして、そのあとDock上のApplicationsを開いても「SAP GUIがいない!」と少し慌てたので。
あとは、Java FXのパスを入力するように求められるので、そこで先ほど自分が置いた場所を正確に入力する。
この画面の中で簡易的にチェックしてくれているので、(おそらくjavafx.profilesが置いてある)場所を指定すると、こんな感じに画面表示が変わり、前に進める。
インストールが完了したら、とりあえずSAP GUIを立ち上げてみよう。
SAP NW Developer Editionのインストール(マニア向け)
今のところアクセスできるSAPシステムがなかったり、寝ても覚めてもABAPに触れていたいみたいな場合は、このブログの記事にならってローカルにSAP NetWeaver Developer Editionをインストールしてしまうというのもあり。
blogs.sap.com
Macの場合、無料で済ませたいならVirtualBox一択になるのかなと。中にVirtualBoxを使ってのセットアップ方法が、ステップバイステップで書かれているので、この通りに従えばだいたいトラブルなく導入できるはず。
個人的に唯一ハマったのは、Leapのパスワードを簡単にし過ぎて、インストール中にパスワードWarningが出てSAPインストールが中断したぐらい。パスワードは、大文字小文字+数字の組み合わせにすること(特殊文字は必須ではない)。難しく考えずにLeapのインストール中にパスワードを決める時に警告が出なければOK。
母艦交換
何故か、この子が我が家にやってくることに。
多少盛って、メモリ32GBのCPUは6コアのi7にしたのもありますが、最近のMacはお高くなったなぁという印象しかございません。
我が家の母艦は、長い間MacBook Pro 13" 2013だったのですが、こちらは前回購入時にモリモリにしたためか、まだまだ普段使いではサクサク動いてくれています。あえて言えば、バッテリがヘタって1回交換したのと、512GBのディスクの容量がギリギリになってきたぐらい。 なのでリプレイスという判断にはなりづらい訳です。
と言いながら自分で伏線を張っていた
1ヶ月近く前の話ですが、会社のマシンがMacになったので、オフィスで作業する時に外付けキーボードが欲しいなということで、こいつらを調達していました。
ところが、オフィスに持って行って使ってみると、デスクが手狭になり何だかしっくり来ない。 ということで仕方なく自宅へ回送。自宅のデスクには、MacBook Pro "13とMac mini 2009があるので、組み合わせて使うなら埃をかぶっていたMac miniの方かなと思って接続をしてみたら、こんな事になりました。
我が家のMac mini Late 2009用にMagic KeyboardとMagic Trackpad 2を調達したら、なんとEl Capitan以降じゃないと駄目な事が発覚。ということでYosemiteからEl Capitanにアップグレード中。
— Kem / けむ (@Deutschina) January 25, 2020
2009年のMac miniでは、El Capitanまでしか上げることができません。それでもサクサク動いてくれれば何の不満もないのですが、
El Capitanに上げてみたものの、CPUがCore 2 Duo、メモリが4GBと2020年の今となってはなかなか香ばしいスペック。仮想マシンでも入れて色々やろうかなと思ったものの、残念なら力不足か。
— Kem / けむ (@Deutschina) January 25, 2020
これだと用途も限られてしまうなぁ、はいお気づきですね。いつのまにかMac miniを置き換えようと自分の頭の中での議論がすり替わっていました。
置き換えるからには母艦にしよう!
ということで、注文してから約1週間。現物がやってきました。せっかくディスク容量が倍の1TBになり、メモリも4倍(32GB)と潤沢になったので、これからはMac miniを母艦として使うことにしました。自由に場所を動かせないので、自宅のデスク以外で作業するときは、MBP "13を使い続けることになりますが、家の中なら「画面共有」を使えば、外見はそのままにしてあたかもマシン自体がパワーアップした体(てい)にすることもできます。
さすがに外から接続することはないと思いますが、あれやこれやいろいろ試したい今日この頃です。
メモ:自社株売却時の確定申告
確定申告は面倒くさい
ここ数年、毎年この季節になると確定申告を行ってます。
確定申告の季節…面倒くさい
— Kem / けむ (@Deutschina) January 15, 2020
年収が2000万円以下でも、前年の医療費が10万円超えたり、ふるさと納税だったりで還付が受けられるのであれば、やらない手はないです。還付だけなら、嬉々としてやるのですが、今年は少し事情が違ったので備忘として残しておきます。
自社株を売ったった
外資系だと福利厚生の一環で自社株が貰える、もしくは割引価格で自社株を購入する権利が与えられたりします。仮に株価が横ばいだとすると、割引率分だけ実質値上がりしたと見做せるので、かなりお得な訳です。
自分のような老害おじさん(笑)の場合、勤続年数が長いが故に、そこそこ積み上がっており、昨年秋にその一部を売却することにしました。売却そのものも、少し値が跳ねたときに売り抜けることに成功。とは言え、今となっては全額別の株を買ってしまったので、手元には残ってませんが…。
どう計算すれば良い?
今回売却した株について、どのように取得したかを調べるところからスタートしました。ざっくり言うと、2012年、2015年、2018年に計4回に分けて取得しており、一定の割引率で購入したものが2回、ボーナス株と言って無償で付与されたものが2回ある事が判明。
これらの市場価格と異なる価格で入手した株について、どう申告書に書くのだろうと考えていたところ、よく考えるとある事を思い出しました。株を購入または付与された年に、市場価格との差分を通常の給与以外の収入として申告していたのです。となると、割引分の所得は既に申告済みなので、取得価額の計算は市場価格を使えば良さそうです。
あとは購入時の換算レート(自社株がユーロ建てのため)を調べてきて、Excelで当日の株価、購入株数、換算レートから日本円を求めて合計すれば、取得価額は求められます。売却時については、日本円に換算されて振り込まれたところまでの明細があるので、それらの情報をそのまま使えば、手数料などは分かります。
これで確定申告書に記入すべき情報は大体わかったので、あいつの出番です。
こいつが最大の敵かも
このページから何をどうすれば手続きできるのかが直感的に分からないのは自分が老化したせいじゃないと思うw pic.twitter.com/JC2nkTweY3
— Kem / けむ (@Deutschina) January 16, 2020
ふるさと納税などで毎年申告しているので、慣れているつもりでも、毎回e-taxのこの画面で途方に暮れるところからスタートしてます。
手続きが簡単になると言われてマイナンバーカードを作ったのに、カードリーダーがないとダメとか、カードリーダーなくてもスマホがあればとか言いなが、スマホで同じ画面グルグル回ったりして、結局プリンタに印字してそれを郵送する方式に落ち着いてます。ただ、毎年少しずつ提出書類が簡略化されているのはいい兆しです。今年は、マイナンバーカードのコピー以外では、ふるさと納税の領収書だけでOKとのこと。
何はともあれ、最後に書類をレターパックに詰めて投函して完了でございます。
確定申告書の提出終了。今年は還付がない(=払う方が多い)ので気が重い。
— Kem / けむ (@Deutschina) January 18, 2020
この時期の臨時支出は痛いですが、これでスッキリしました。
機械学習お試し環境(2020初春版)
半年以上前にAzure Notebookについて取り上げたのですが、その後ちゃんと?Google Colaboratoryも試しているよというお話です。
前提として、以前はローカルにJupyter Notebookを入れて試していたものの、複数マシンを使い分けたりするときに面倒だったり、そもそもiPadだと使えなかったりという問題点があったんだけど、Cloud化してくれたおかげで諸々の問題が解決したんだけど、どうやって使い分けるのかという自分なりの回答を考えてみました。なお、自分の場合は、今のところPythonしか使っていないので、Google ColabがPythonだけというのは問題になりません。
Azure Notebook
notebooks.azure.com
Azure Notebookについては、以前の記事でも取り上げているので、ざっくりとした使用感はこちらを。
deutschina.hatenablog.com
UIもこちらの方が洗練されており、Githubのレポジトリをクローンしてくると、レポジトリを1つのプロジェクトとしてフォルダ分けしてくれるので、クローンしてきたものをそのまま試してみるというのであれば、Azure Notebookを使うのがお手軽なのは間違いないと思います。
ただ、扱うファイルサイズやメモリの上限がGoogle Colaboatoryより低めに抑えられているので、少し大きなデータセットを扱おうと思うと、メモリエラーが出たりするのが、少し興ざめするポイントかもしれないです。
Google Colaboratory
colab.research.google.com
容量という意味では、Google Colabratoryに軍配が上がります。ただし、編集したJupyter Notebookは、Google Driveの特定のディレクトリに保存しないといけないこと、Google Drive内のファイルを参照する場合は、ドライブをマウントしないといけないというのが、少々使いづらさを感じる点だと思います。例えば、Githubのレポジトリをクローンしてきて、Jupyter Notebookのファイルの中で別のファイルを参照をしていると、「そんなファイルやディレクトリはありません」と怒られるので、その都度参照する場所を書き換える必要があります。
この「書き換え方」は大きく二通りあって、レポジトリをGoogle Driveにクローンした上で、そのディレクトリをマウントして参照するのと、もう1つはクローン元のレポジトリ上にあるファイルをraw.githubsercont.com/(repo)/master/(file)という感じで直接参照してしまうというのもありかと。
自分の場合は、参照元のレポジトリを自分のGithubレポジトリ上にforkしてきて、それを直接参照するのがお気に入りです。これをすることによって、一通り学んで一部書き換えたものをGithub上にコピーしておけば、将来的に容量を使い切った時にファイルを消してもGithub上には残っているのでいつでも見返せます。
ということで、ガッツリ勉強したいときはGoogle Colabratoryを使って、サクッと中身を見てみたい時はAzure Notebookを使うという棲み分けが自分の中で出来つつあります。
スケーラブルデータサイエンス データエンジニアのための実践Google Cloud Platform
- 作者:Valliappa Lakshmanan
- 出版社/メーカー: 翔泳社
- 発売日: 2019/06/05
- メディア: Kindle版
Python for Financeの日本語訳が出ていた(オライリーPython+機械学習本の整理2020初春)
これを書いてから1年ぐらい経ちます。
deutschina.hatenablog.com
その後も、新しい本が次々と出ているので、気になる本をまたまとめてみました。
Python for Finance の日本語版が出ていた
この本は英語版が出るというときに予約していたのですが、発売が延び延びになったのと結構なお値段だったので、いったん予約をキャンセルして忘れ去っていたところ、先日書店の店頭にて日本語版を発見。立ち読みして、やっぱり欲しいという衝動に負けて思わず購入でございます。
Pythonによるファイナンス 第2版 ―データ駆動型アプローチに向けて (オライリー・ジャパン)
- 作者:Yves Hilpisch
- 出版社/メーカー: オライリージャパン
- 発売日: 2019/12/26
- メディア: 単行本(ソフトカバー)
この本は最初の2/3ぐらいをかけて、Pythonの優位性だったり、データの取り回し方などの入門から入っており、ファイナンスにどっぷり踏み入れているのは、後半1/3というような配分になっています。最初から「ファイナンス+機械学習」でやりたい人は、この本だけでも十分かも知れません。逆に、ある程度Pythonを使って他の分野のデータ分析なんかをやっている人だと、前半は冗長に感じるはず。
ちなみに全く関係ないけど、リアルのデータって、もっと乱雑でデータ量多いよねという前提に立っているという意味で、Google Cloud Platformのこの本とかは潔くて好きです。
スケーラブルデータサイエンス データエンジニアのための実践Google Cloud Platform
- 作者:Valliappa Lakshmanan
- 出版社/メーカー: 翔泳社
- 発売日: 2019/06/05
- メディア: Kindle版
特徴量エンジニアリングの「薄め」の本
あ、内容が薄いという意味じゃないです。特徴量エンジニアリングに特化した本ということで、この本が出てます。
機械学習のための特徴量エンジニアリング ―その原理とPythonによる実践 (オライリー・ジャパン)
- 作者:Alice Zheng,Amanda Casari
- 出版社/メーカー: オライリージャパン
- 発売日: 2019/02/23
- メディア: 単行本(ソフトカバー)
ただ、特徴量エンジニアリングというテーマだと、以前取り上げたこの本も結構な容量を割いているので、この本をやった事のある人なら、上の本は物足りなく感じるはず。
Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
- 作者:Andreas C. Muller,Sarah Guido
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/05/25
- メディア: 単行本(ソフトカバー)
神本に2nd Editionが登場
個人的に現時点での機械学習の「神本」だと思っているこの本。
scikit-learnとTensorFlowによる実践機械学習
- 作者:Aurélien Géron
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/04/26
- メディア: 単行本(ソフトカバー)
- 作者:Aurélien Géron
- 出版社/メーカー: O'Reilly Media
- 発売日: 2019/10/15
- メディア: ペーパーバック