もう寝たいんだが、システムが寝かせてくれない。
止めるわけにもいかないし(そういう中断で、これまでいくつのシステムを壊してきたことやら)
つくづく思うのですが、パッケージは、そのインポートの前に「予想完了時刻」を示すべきだ、と思うのです
江端智一のホームページ
もう寝たいんだが、システムが寝かせてくれない。
止めるわけにもいかないし(そういう中断で、これまでいくつのシステムを壊してきたことやら)
つくづく思うのですが、パッケージは、そのインポートの前に「予想完了時刻」を示すべきだ、と思うのです
このプログラムでは、緯度・経度の位置情報から距離の計算を行わずに補完を行っていますが、これは私の意図したものではありません。
下記のsmall_bus_data.csvのデータを使って、私が作って欲しいプログラムのアルゴリズムを説明します。
現在1番目のデータには、12:55:00の時刻情報が入っており、30番目のデータには、13:00:00の時刻情報が入っています。
つまり、この間には、300秒の時間が経過していることになります。
次に、1番目の緯度経度と2番目の緯度経度から距離(メートル)が算出できます。
次に、2番目の緯度経度と3番目の緯度経度から距離(メートル)が算出できます。
最後に、29番目の緯度経度と30番目の緯度経度から距離(メートル)が算出できます。
これらを合計すると、合計移動距離(メートル)が算出できます。
この合計移動距離を、前述の300秒で割ると、平均の秒速が算出できます。
この秒速を使って、現在、時間情報が入っていない、2、3、4、.... 29番目の時刻が算出できますので、それを表示して下さい。
同じように、
現在30番目のデータには、13:00:00の時刻情報が入っており、39番目のデータには、13:02:00の時刻情報が入っています。
つまり、この間には、120秒の時間が経過していることになります。
次に、30番目の緯度経度と31番目の緯度経度から距離(メートル)が算出できます。
次に、31番目の緯度経度と32番目の緯度経度から距離(メートル)が算出できます。
最後に、38番目の緯度経度と39番目の緯度経度から距離(メートル)が算出できます。
これらを合計すると、合計移動距離(メートル)が算出できます。
この合計移動距離を、前述の300秒で割ると、平均の秒速が算出できます。
この秒速を使って、現在、時間情報が入っていない、30、31、.... 38番目の時刻が算出できますので、それを表示して下さい。
以下のsmall_bus_data.csvの時間情報は以下の通りです。
====== small_bus_data.csv ここから =========
1, 93, 139.62957005198, 35.36604342344, 12:55:00
2, 94, 139.62977593991, 35.36605145489,
3, 95, 139.62975577321, 35.36614821472,
(中略)
28, 180, 139.6225614208, 35.36578048832,
29, 178, 139.62231637196, 35.36565733887,
30, 179, 139.62231637196, 35.36565733887, 13:00:00
31, 178, 139.62231637196, 35.36565733887,
(中略)
38, 122, 139.62212431581, 35.36739269906,
39, 123, 139.62186543167, 35.36793117811, 13:02:00
====== small_bus_data.csv ここまで =========
まあ、それでも、私が着手開始できる程度のコードの叩き台は作ってくれましたので、まずまず満足しています。
組織から「やれ」と言われたら、なんでもやるのがサラリーマンです。
とは言え、『この歳になって、Java(×JavaScript)かぁ』と、少々意外な感じです。
私、C/C++, Go, Python、SQL、JavaScriptは、普通にしゃべれますが、そのすきまを狙ったかのような"Java"とは ―― うん、面倒ですが、仕方ありません。
という訳で、今、VSCodeの環境にJava開発環境を仕込んでいます。
しかし、こんなトラブルが発生していて、ChatGPTと議論をしていました。
public class App {
public static void main(String[] args) throws Exception{
System.out.println("Hello, World!");
}
}
vscodeを使って、F5で実行しようとしたのですが、
Missing artifact org.json:json:jar:20140107
Missing artifact redis.clients:jedis:jar:2.7.2
等がでてきます。
コマンドからはちゃんとコンパイルして実行できるようですが。
色々教えて貰い、他のツールを入れたりしないように言われましたが、VSCodeの拡張機能で、同じような機能入っているようなので、『???』となやんでいました。
で、今回は、こちらが私には当たりでした。
まあ、Javaだろうと、C/C++だろうと、Goだろうと構いません。今回の私の真の目的は、Github Copilotの攻略ですから。
以前、ChatGPTの登場で、英語の教師が本気でヤバイかもしれない、とか書きました。
Copilotでは、ソフト外注が ―― というか、今なお、現場でコーディングをやっている、この私(江端)が、本気でヤバい。
しかし、これ、もしかしたら、良い意味で「ヤバい」かもしれません。
ChatGPTやGitHub Copilotと、ガチで語り合えるスキルがあってこそ、彼らを使い倒すことができると思えるからです。
生成AIを使い倒す技能は、場数を踏んできたシニアの方が上手いと思う。
だから、これはチャンスだ ―― と、そう思うことにします、当面の間は。
と、ここまで、自動的にコードを提案された。
このコードが上手く起動できていない。
fastapi6/main.pyを参照のこと
import asyncio
from fastapi import FastAPI
app = FastAPI()
async def print_hello():
while True:
print("Hello")
await asyncio.sleep(60) # 60秒待機
@app.get("/aisatu")
async def get_aisatu():
return {"message": "konnichiwa"}
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.create_task(print_hello()) # "Hello"出力プログラムを非同期タスクとして実行
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
先日、消火器を調べていたところ、耐用年数を超えていることが分かったので、交換することにしました。
思ったよりお高くて、驚いたのですが、火災のコストに比べれば安いものです。
で、古い消火器を玄関の外で試したのですが、
(1)消火器は一度放射を始めると止まりません(レバーを元に戻しても噴射が続く)
(2)消火器の消火用噴粒で、我が家の玄関と車庫は、ピンク色に染まっています。
以上
https://www.apc.com/jp/ja/faqs/FA53474/
APC RS 550VA Sinewave Battery Backup 100Vのマニュアル
https://www.apc.com/jp/ja/product/BR550S-JP/apc-rs-550va-sinewave-battery-backup-100v/
スプリングコードの終端が切れてしまった場合
結束バンドで閉じることができます。