サーバレス練習帳

着眼大局着手小局

無借金経営は悪手

https://xtech.nikkei.com/atcl/nxt/column/18/00148/030400322/?P=3

そうだわ。覚えておこう。

以下、引用。

ところが、2008年のリーマン・ショック直後に経営は暗転する。為替ヘッジの手段としていたデリバティブ運用で巨額の損失を出したのだ。もちろん、不測の事態なので、ここまでは経営に落ち度はない。ところがIT活用などにより実現した無借金経営が災いとなった。実は無借金経営は悪手で、必ず金融機関から借金しておくべきだったのだ。融資を受けて金融機関に自社の経営実態を把握しておいてもらわないと、いざというときに緊急融資を受けられないからだ。結局、この企業は身売りするしかなく、経営者も退任を余儀なくされた。

pythonの非同期処理

https://note.com/cz_investment_ch/n/na3fa924ecf92

このコードが参考になるかな。
dev.classmethod.jp

・・・ということで、ChatGPTに聞いてみた。

Pythonで非同期処理を行い、複数のタスクから最初に終了したものの結果で処理を終了させたい場合は、asyncioライブラリを使用してasyncio.wait関数のreturn_whenパラメータをasyncio.FIRST_COMPLETEDに設定すると実現できます。
以下は、asyncioを使って3つの非同期タスクを実行し、どれか一つが終わった時点で全体の処理を終了させる例です。
import asyncio

# 非同期で実行するタスク
async def task(name, seconds):
await asyncio.sleep(seconds)
print(f"{name} finished after {seconds} seconds")
return name

# 最初に終了したタスクの結果で処理を終了する関数
async def main():
# それぞれ異なる時間を待機するタスクを定義
t1 = task("タスク1", 3)
t2 = task("タスク2", 1)
t3 = task("タスク3", 2)

# asyncio.waitで非同期にタスクを待つ
done, pending = await asyncio.wait(
{t1, t2, t3},
return_when=asyncio.FIRST_COMPLETED # 最初に終了したタスクを待つ
)

# 完了したタスクの情報を処理
for task in done:
result = await task
print(f"結果: {result}")

# 他のタスクをキャンセル
for task in pending:
task.cancel()

# 非同期処理を実行
asyncio.run(main())

このコードでは、異なる秒数で完了する3つのタスクを同時に開始します。asyncio.waitがFIRST_COMPLETEDで最初に完了したタスクを待ち、結果を出力した後、残りの未完了のタスクをキャンセルします。
注意: Python 3.7 以降でasyncio.run関数を使っています。それより前のバージョンを使っている場合は、イベントループを手動で管理する必要があります。また、非同期処理ではグローバル解釈ロック(GIL)による影響を受けにくいため、マルチスレッドに比べて効率的な場合がありますが、IOバウンド処理向けです。計算密度の高い処理でのパフォーマンス向上は見込めません。

HTMLでテーブルのソートとページング

軽量なjsでソート
https://qiita.com/riversun/items/8c59353af4f16264aedd


もしくは、cdn方式でこれをそのまま使わせて頂くか。ページングも含まれているらしい。検索もあるようだ。

https://appsol-one.com/ui/bootgrid/

boitastrap datatable

https://be-engineer.jp/programming/506/

jQueryのbootgrid
https://nesabi.net/jquery-bootgrid