日々ブログ

当サイトは、アフィリエイトプログラムにより商品をご紹介しています

【プログラミングのお話】Atomエディタの開発が終了していた

ずっとvscodeを使用していたので気づかなかったのですが、Atomエディタの開発が終了していました。
終了の経緯をまとめつつ2024年時点のエディタについて、まとめたいと思います。
テキストエディタは色々ありますが、今から使い始めるならvscode一択ですね。

対抗馬であるvscodeの台頭による活動終了

一番の理由としては対抗馬であるvscodeの勢いがすごかったことでしょうね。
加えて、Atomの開発元がMicrosoft社に買収されたこともあって、同一社内で同じような役割のソフト開発を続けるよりは、vscodeに集中させたほうが良いというところでしょうか。
機能的にもvscodeのほうが拡張機能が多く高機能なのでプログラミングに使用したいというニーズに合致しています。
カスタマイズ可能なテキストエディタというコンセプトで実用化されたという功績はかなり大きかったかと。
プラグインを自分で作れば自分好みのテキストエディタを作成できるし、MacでもwindowsでもOS問わず使えるのでユーザーがかなり多かったです。

atom-editor.cc

公式サイトでもレポジトリはすべて共有されたと宣言しているので、これ以降の開発続行はなさそうです。

vscode

Microsoft社が開発しているエディタです。
プラグインが豊富なので、大体のプログラミング言語でも扱いやすくカスタマイズできるのが強いですよね。
プログラミングに使うなら正直これ一択でいいと思います。
コンパイラなどは搭載していないので比較的軽量ですし、webの技術を流用しているのでデザインの拡張性も高いです。
一方で、拡張機能ありきなのでどの拡張機能を使えばよいかや拡張機能の管理など使い方にノウハウが必要とも言えるので、何も知らない状態で使いこなすのは結構難しい印象です。
かくいう自分も使っている機能しか知らず、 他の人が使っている設定などを見るとそんな使い方あるのかと目からウロコ状態になるときがあります。

azure.microsoft.com

eclipse

テキストエディタというよりは統合開発環境ですが、プログラミングをする人にとってはこれも馴染みやすいかと。
コンパイラの設定を自分でカスタマイズできたりと、visualstudioでは開発しづらい組み込み機器の開発などには特に重宝します。
逆にいうと、こうしたカスタマイズをできるくらいの知識が無いと、ビルドするだけで一苦労なので、ある程度慣れて来た人向けですね。
Javaアプリとかに使うイメージ

www.eclipse.org

pulsar Edit

Atom が開発終了したあとの後継のエディタです。
「Hackable Editor」と謳っているのでカスタマイズ性の高さを売りにしていそうですね
ただ知名度がどうにも低いのでカスタマイズするにしても選択肢が限られそうです。
自分で拡張機能を作れる!くらいになれば、選択肢としては入りそうです。

サクラエディタ

国産のエディタです。
長く親しまれているので使っている人も多いハズ。
自分もときおり使用しますが、歴史が深い分動作が安定してますし、拡張機能をいれる必要もないので非常にシンプルです。
単にテキストファイルなどをへんしゅうするのであれば高機能なものよりも手軽に使えてよいかもしれません。
こちらは、ソースコードが公開されているので、安心して利用できます。

Sublime Text

シンプルに使えるテキストエディタとしてこちらも有名です。
ショートカットキーなどを自由に割り当てることができるので、シンプルなテキストエディタだと物足りないけど操作感はカスタマイズしたいという場合に便利です。
一点継続利用はライセンス上禁止されているので、会社などで使用する際にはご注意ください。
また、継続利用でのライセンス購入が少なかったためか、sublime Text4からは3年以上使い続けた場合は、個人でも商用利用でもライセンス購入が必要となりました。
ちなみに私が初めて触れたテキストエディタでもあり、ソフトウェアライセンスを意識しはじめたきっかけでもあります。

秀丸エディタ

こちらも国産の老舗エディタですね。
自分は使ってっはいませんが、ベテランの人はたまに使ってたりします。
エディタなんて機能より使い慣れているかどうかでなんでしょうね。
制作者も機能追加を目指すというよりは、惰性で続けていると言い切っちゃってますし。 試用版もありますが、ライセンスが用意されているので継続利用される方は、購入しないとだめですね。

coralcap.co

【プログラミングのお話】systemdでpythonスクリプトを自動起動する

プログラミングをしているとコードを作成するだけでなく、思った通りに動く環境を作るのも大事になってくるんですよね。
とくにスクレイピングだと自動で勝手に取得してくれるだけでかなり手間が減ります。
今回は、Linuxのsysmtemdを使ってpythonスクリプトを自動で実行してみたいと思います。

systemd の役割

systemdに登録することで、マシンの電源を点灯するだけでプログラムを自動で実行することができます。
いわゆるdamon化ってやつです。 そのほか、プログラムが何等かの異常で終了していたりしたときにログをの越してくれたり、自動で復旧したりするようにしてくれます。

systemdに登録する

今回は、pythonで記述したプログラムを題材にsystemdで登録します。
題材は、以前紹介したFXの価格を取得するプログラムを使います。
これを利用することで、起動するだけでプログラムが実行されるようになるので、たとえば、持て余しているラズベリーパイを価格の取得マシンするといったことができます。

xinformation.hatenadiary.com

上記のプログラムをopt以下に配置します。
厳密にはどこでもよいのですが、Linuxのお作法として、opt以下に配置するのが良いみたいです。

mkdir /opt/get-currency
sudo cp -r src/common/gmo/get_currency.py /opt/get-currency/
sudo cp -r venv/ /opt/get-currency/

systemd に登録する際に必要な設定ファイルを作ります。
実行プログラムの場所とこのプログラムと他のプログラムの依存関係を記述しています。
基本的には、WorkingDirectoryとExecStartを変えてやれば他のプログラム大抵動くはず。

[Unit]
Description=get gmo currency
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/get-currency/
ExecStart=/opt/get-currency/venv/bin/python /opt/get-currency/get_currency.py

[Install]
WantedBy=multi-user.target

設定ファイルをsystemdへ登録する際には下記のコマンドを実行します。

sudo cp ./config/get-currency-gmo.service /etc/systemd/system/
sudo chmod 755 get-currency-gmo.service
sudo systemctl enable get-currency-gmo.service

これで登録は完了です。
一度やり方を覚えてしまうと簡単です。
登録が完了しているかどうかは次のコマンドで確認できます。

systemctl status get-currency-gmo.service

active(running)となっているので無事登録されています。


【暮らしのお話】 株主優待の楽天モバイルがお得で嬉しい

楽天株主優待が届きました。
今年は楽天モバイルの1年間利用優待でした。
単純計算(36000円=3000円×12ヶ月)でも株主優待で50%に相当するのでかなりお得です。
今回は、株主優待の利用感についてまとめたいと思います。

株主優待の内容

楽天グループの株主優待の内容は、1年間毎月30GB使用できるeSIMの提供です。 eSIMはダウンロードすれば使えるSIMカードで、今回の優待でもURLにアクセスすれば使えるものでした。 正直言って、今年の株主優待は特殊で去年ならば楽天キャッシュがもらえたり優待金がもらえたりしていたので、楽天モバイル1点だけの株主優待というのは寂しい気もします。

メインで使用していたスマホのモバイル通信は停止して節約

メインはiphone SE3ですでに楽天モバイルを契約してました。
なので、優待と合わせて使うとお得感が薄れちゃうんですよね。
なので、メインのスマホはモバイル通信を停止させました。

設定画面からワンタップで設定できるので楽ですね。

同じ楽天モバイルなのでこちらに紐づけても良いんですけど、電話番号が変わってしまうし、1年間しか使えないので、メインで使うのは正直微妙。
正直なところ、スマホを1台しか持ってない人からすると今回の株主優待は微妙なんじゃないかな。

サブのスマホがあったので利用開始

もともと、楽天モバイル利用者だったので、2台目のスマホに紐づけました。
google pixel 7aです。
スマホandroidiOSの両方を持ちたい派なので、廉価版モデルを2つ持ってます。

テザリングでメイン端末の通信を確保

楽天モバイルの料金は、使用した通信量によって変わるので、メイン端末の通信はオフにしました。
この状態で使えば月あたり1000円ってところですかね。
通常が月3000円ほどかかっていたので、年間で考えると24000円の節約。
株の購入代金が6万円くらいだったので優待率は40%。
これだけ考えるとめちゃくちゃオトクな優待ですね。

エリア範囲は問題ない

メインも楽天モバイルなので分かってたことですが、今のところ通信エリアには文句無いです。
都市部なら基本的につながるし、ドラクエウォークか音楽にしか使わないので速度も文句は無いです。
ただ、移動していると一瞬だけ切れるといったことはあるので、その辺りを気にする人は他のキャリアの方がやっぱり良いのかも。
ドラクエウォークで使用しているとたまに通信エラーが出るんですよね。
もしからしたらアプリ側の問題かもしれませんが。

楽天モバイル株主優待の所感

お得ではあるんですけど、フル活用できる人は少数というのが正直なところです。
1年間しか使えないので使い勝手が悪いです。
来年以降も使えるということであれば、「買い」一択なので惜しい優待です。

通年通りの配当金とか楽天キャッシュの方が万人受けで使いやすいので正直戻ってほしいですね。

【暮らしのお話】スマートウォッチを3年間使い続けた感想

スマートウォッチを3年間使い続けた正直な感想をまとめたいと思います。
自分が使用していたのは、garminのスマートウォッチであるvenu2 plus です。

xinformation.hatenadiary.com

装着して寝てるときの違和感は無くなる

腕時計しながら寝るのに抵抗が最初はありました。 購入したのが夏で蒸れやすい時期で最初は正直寝苦しかったんですが、3ヶ月もすれば身体が慣れてきて気にならなくなりました。 むしろ、装着しないと睡眠計測ができないというのが嫌で、率先して着けるようになりましたね。むしろ、無いと違和感に感じるというくらいには生活の一部になりました。

就寝時間がめちゃくちゃ遅いですが、装着してくれるだけで計測してくれるので楽です。

1年分だとこんな感じです。
平均睡眠時間が6時間に届いていない..。
週末にたっぷり寝てると安心しがちなんですが、フタを開けると思ったより寝ていないことがわかります。

震えるアラームは嫌でも目が覚めるし周りに迷惑をかけない

スマートウォッチを使ってて一番役立ってるのは、バイブレーションアラームですね。 震えて起こしてくれるやつです。
音の目覚ましは自分には割と効かないことが多く、30分くらい平気で鳴らしていることも多いのですが、流石に腕が震えると目が覚めます。
音も小さいので周りにも迷惑をかけにくいのもいいですね。

文字盤のデザインは変えなくなる

文字盤のデザインを変えることもなくなりました。
スタイリッシュな文字盤のデザインがそれこそ100種類くらいあってしかもどんどん追加されるんですが、それらを頑張って試すことなくなります。
結局多くのデータを一度に見れる表示だけしか使わなくなりました。
デザイン重視だと正直スマートウォッチじゃなくて、アナログの文字盤の方が好きなんですよね。


www.youtube.com

高機能なアプリも使わない

もともと私が求めていたものではないのもありますが、高機能なアプリはほとんど使いません。
時間が見れて、今何歩あるいたかが見れれば個人的には十分です。
ほとんど、G-Shockみたいな使い方してる。
高機能なアプリを使うとバッテリーの消費が大きいですし、そもそも高機能なアプリはスマホで事足りますからね。

音楽は聞かない

Venu 2Sの押しポイントであった音楽も結局聞かなくなりました。
スマホなしで聞けるのは良いんですが、接続が切れたりすることがあったり、GPSで計測しながら使ったりすると突如アプリが停止することがありました。
不具合なんですかね。
これで停止すると計測中のデータも残っていないこととかもあったので残念です。
加えて、イヤホンの接続が面倒でワイヤレスイヤホンと接続するのにスマートウォッチ側で操作が必要なんですよね。
スマホだと、イヤホンをケースから取り出したら自動で接続するのでこれが結構ストレスでした。

結局、音楽を聞くときはスマホを持ち歩くようにしています。

結局バッテリーが命

使ってて一番気になるのは、バッテリーが1週間程度しか持たないことでした。
それでもスマートウォッチとしては長い方なんですが、充電するのって結構手間なんですよね。
手間をかけずに通知やら睡眠計測をしたいからスマートウォッチを着けているのに、却って充電するという作業があるのが正直わずらわしい。

加えて、 使いたいと思ったときに、充電するのを忘れてしまってバッテリーが少なかったり、充電ケーブルの接触がイマイチで充電できなかったりといったこともあって、 とくに本体に付属していた充電ケーブルはすぐにだめになったので買い替えました。

充電が死ぬほど面倒でGshockの偉大さを感じる

結局自分にとって大事なのは、バッテリーの寿命なんだな~とスマートウォッチを使うと痛感します。
中学生のときに使っていたGshockが本当に偉大だったんだなと。
Gshockも最近は心拍数とかヘルスケアモニタリング機能が付いているようですね。
ただ、バッテリーが少なくなると時刻表示だけというのがいただけない。
この点は、garminのinstinctシリーズが軍配上がりそうですね。

レーダー方程式についておさらい

大学生時代に学んでから、また最近使うことがあったので、復習代わりに記述していこうと思います。
無線工学とか電波工学とかで使用する式です。

レーダー方程式とは

レーダーで受信する電力を計算するための式です。
電磁気の理論を用いて導出できて分かりやすいので非常に重要な式です。
レーダーがどの距離にあるターゲットを検出できるのかや、逆にターゲットを決めたうえでアンテナ形状を決めるために使う式です。
受信電力 P_ {\mathrm{r}} が、送信電力  P_ {\mathrm{t}} ・アンテナ形状( G_ {\mathrm{t}}, A_ {\mathrm{e}} )・距離(4 \pi {R}^2) ・ターゲットの形状\sigmaの掛け算で決まるというめちゃくちゃシンプルな式ですね。

 \displaystyle
P_\mathrm{r}=P_\mathrm{t} \frac{G_\mathrm{t} A_\mathrm{e} \sigma}{(4 \pi R^2)^2}
波の振る舞いを表した式では無い

よくある間違いとして、電磁波の振る舞い(伝搬)について記述したものでは無いので、途中の電力は計算できないので注意が必要です。
こうした電力を求めたい場合は、波の振る舞いについて考慮する必要があるので、モーメント法とかレイトレーシングを用いて簡易的に計算しましょう。
厳密に言えば、マクスウェルの方程式から電磁波の伝搬式を解かなければならないのです。
途中の電波が伝搬する仕組みはどうでもいいから、送信した電力がどれだけの大きさで返ってくるかだけに注目することで得られる式というわけです。

導出してみる

導出するためのモデル図は下のような感じです。
アンテナから距離Rに物体がある状況ですね。

導出前に下の条件が成り立つとします。

  • ターゲットは点とみなすことができ、形状は考えなくてよい
  • ターゲットによって電波が吸収されることはないこと

まず、 電磁波をどの方向にも球面上に広がって放射する等方性アンテナについて考える。 このとき、ターゲットに入射する電力の大きさは、球面上に広がるので、送信電力を球の面積で割ることで求まり、下式で与えられる。

 \displaystyle
P_\mathrm{in}=\frac{P_\mathrm{t}} {(4 \pi R^2)}

 P_ {\mathrm{in}} で入射した電波のうち、ターゲットによって反射する電力の大きさ P_ {\mathrm{out}} は、散乱断面積との積で表され、下式で与えられる

 \displaystyle
P_\mathrm{out}= \sigma P_\mathrm{in} = \frac{ P_\mathrm{t}} {(4 \pi R^2)} \sigma

反射波を距離Rだけ離れた受信アンテナに受信する電力は、電磁波は入射時と同じく球面上に広がるので下式で与えられる。

 \displaystyle
P_\mathrm{r}=\frac{P_\mathrm{out}} {(4 \pi R^2)} A_{\mathrm{e}}

受信アンテナに到達する電力のうち、受信できる電力は有効開口面積との積で決まるので、受信電力は

 \displaystyle
P_\mathrm{r}=P_\mathrm{t} \frac{A_\mathrm{e} \sigma}{(4 \pi R^2)^2}

実際には、等方性アンテナではなく、特定の方向に電波を送信するアンテナを使用するのでその利得を考慮すると、

 \displaystyle
P_\mathrm{r}=P_\mathrm{t} \frac{G_\mathrm{t} A_\mathrm{e} \sigma}{(4 \pi R^2)^2}

となる。

仮定の意味

ターゲットの形状

まずは、ターゲットの形状についての仮定です。
電波が反射する瞬間、ターゲットの表面では波の位相が揃います。
高校生などで習うホイヘンスの原理ですね。
物体の形状を考えると、位相が揃う面っていうのは物体の一部だけになって、反射が複雑になるので散乱断面積では表現しきれなくなります。
たとえば、同じ物体であっても近いと一部からしか反射しませんし、遠くにあると全体から反射します。
物体との距離によって物体の反射特性が変わり、求めるには複雑な計算が必要となります。
(散乱断面積は形状を考えなくて十分遠い位置で物体の形状を考えたときの値となります) なので、計算を簡単化するための仮定です。

電波の吸収

次に、電波の吸収です。
電波が物体に当たって反射するとき、表面で反射するわけではなく物体に一旦吸収されてから、大部分が入射した方向と同じ方向に返ります。
下記のページが参考になりました。
実際にはこの吸収の際に、電波の電気エネルギーが熱エネルギーなどに変わるのでその分反射するエネルギーが減ります。
吸収率は室温などでも変わるので、計算できないので考えないことにしたわけですね。

t-sato.in.coocan.jp

なぜ2Rで距離の2乗では無いのか

私も最初は不思議だったのですが、電波が往復すると考えて2Rと考えるのは誤りのようです。行きと帰りで電波は同じことが起きると考えるのが正解ですね。
レーダー方程式では、電波は物体に反射するとき、表面でそのまま跳ね返るのではなく、一旦電波は物体に吸収されてから、吸収したエネルギーを全方向に再放射すると考えます。

(全方向では無く、入ってきた電力がどの程度入射方向と同じ方向に返すかを示したものが散乱断面積です。)

仕組みとしてはアンテナと同じように電力が入力されてそれに応じて電波が放射されるのと同じですね。 なので、行きが(4 \pi {R}^2) なので、帰りも(4 \pi {R}^2) として、それらの積である距離の4乗に反比例することとなります。

【暮らしのお話】MGEXストライクフリーダムを作った(素組み)

先日訪れたガンダムベースでMGEXのストライクフリーダムガンダムを手に入れることができました。
ガンダムSEEDフリーダムの映画を見に行った帰りに、あったので非常に幸運でした。
今も品切れが続いていますもんね。
Amazonの転売価格は収まるところを知らない。
普段作るのがHGシリーズなので

とりあえず中身を確認

とりあえず中身を広げてみました。

ガンプラは値段とパーツ数が比較してるから良いですよね。
値段が安いものは早く組めるし、ネアンが高いものは組むのに時間がかかる。
加えて、値段が高いと組み上げたときのクオリティが高いのが良い。

ランナー立てが付属している

簡易ではありますが、ランナー立てが付属しています。
MGはランナーの種類が多いので、これがあるだけで作業効率がかなり上がります。
複数のランナーを出したりしまったりするだけで結構時間食いますから。
立てられる本数は4つなので少ないですがかなり役立ちました。

種類の異なる金色が好き

早速組み立てに入りましたが、金色のパーツが3種類あってこだわりを感じます。
左から、ゴールド・ピングゴールド・ホワイトゴールドですね。
他のガンプラだとゴールドはせいぜい1種類ですから、これだけでも豪華さが伝わる。

脚のあたりがこれら3つが折り重なっていて楽しみながら作れました。
シンプルなゴールドがやっぱり光かがやいてきれいですね。

豊富な金属パーツ

プラモデルなので、金属は基本無いのですが、 金属の光沢を持たせたステンレスシールが散りばめられます。

外装は無いけどこれだけで満足

商品パッケージにもよく採用されている外装をつけていない骨格だけの状態。
初めて見た人からすると、もはやガンダムなのかどうかすらわからないですが、メカメカしい感じが良い。
メダロットのティンペットみたいな感じで、ロボット好きとしてはたまらない。
説明書どおりに作ると、骨格だけの状態を作れるのでこれが魅力の一つなんでしょうね。

写真撮りながら不思議だったのが、どういうわけか手の甲にあるプラスチックパーツはつけたままなんですよね。
公式サイトとか取り扱い説明書の写真を見ても付いているですよね。

外装をつける

内装が出来上がったので外装をつけていきます。
上半身だけ外装をつけました。
外装を少しずつ組み上げていくので、ガンダムがどんどん組み上がっていくのが他のガンプラを組み立てるのとは違いました。

シールを貼り付けるのが厄介

組み立てる中で一番難しかったのがシールですね。
ペンチの刃先と同じくらいの大きさのシールを10箇所くらい貼らないとだめなんですよね。
手先は正直言って不器用な部類なのでめちゃくちゃ苦戦しました。
小さすぎて2つほど紛失しました。
ありがたいことにシール自体に余裕があったので救われました。
たぶん、失くす前提なんでしょうね。

完成

ようやく完成しました。
金属感は正直失われてしまいましたが、ガンダムとしてはこちらの方がやっぱり格好いい。
MGEXというだけあってやっぱり組むのは相当時間かかりますね。
合計すると20時間くらい費やしたかな。
ストライクフリーダムといえば、やっぱりオープニングのポーズこのポーズですね。

【ラーメンのお話】1杯500円で食べれる博多ラーメン山笠に行ってきた(神戸三ノ宮)

神戸の三ノ宮に行ったときによくいくラーメン屋さんです。 値段もリーズナブルで通いやすいです、

場所は東門街の路地

場所は東門の脇に入ったところにあります。

目印はこの看板です。

飲み屋街のすぐ近くなので、飲み会帰りにも行きやすい立地です。
看板に〆とあるのでまさしくって感じですね。

朝まで営業

営業は夜だけの営業で夕方から朝の5時まで営業してます。
私は、8時頃にお邪魔しましたが、比較的席も空いていました。

おすすめは1杯500円の豚骨ラーメン

全体的に安いですが、豚骨ラーメンがとくに安い。
ワンコインで食べれるところって本当に希少!
しっかりとした豚骨ラーメンだと800円から1000円するところ多いですからね。
昨今、値上げラッシュが続いているので非常にありがたい。

出てきたのがこちら!
しっかりとした豚骨って感じです!

美味しくいただきました。

コロナ禍開けてから新店舗