2024/07/12

ラップタイムをグラフに表示するストップウォッチWebアプリ

ストップウォッチアプリを作ってみよう!

最近、自分でWebアプリを作ってみたいと思ったことはありませんか?今回は、JavaScriptを使ってシンプルなストップウォッチアプリを作成してみます。

…Webアプリはもちろん、ブログ記事もChatGPTさんに任せようと「フランクに!」と付け加えたらちょっと軽すぎた感が…w


必要なもの

このプロジェクトでは、基本的なHTML、CSS、そしてJavaScriptが必要です。さらに、チャートを描画するためにChart.jsというライブラリも使用します。


グラフの表示

Chart.jsを使用して、計測したラップタイムをグラフで視覚化します。各ラップのタイムがグラフに反映され、平均ラップタイムも表示されます。




使い方

アプリを開始するには「スタート」ボタンをクリックし、必要に応じて「ラップ」ボタンでラップタイムを記録します。計測を終了するには「ストップ」ボタンを押し、「リセット」ボタンで全てを初期化できます。


iPhoneの場合、アドレスバー横のメニュー「ぁあ」から「ツールバーを非表示」を選ぶか、共有から「ホーム画面へ追加」を選ぶと、アプリっぽくスッキリします。


結び

結びというか、自力で書いた「本文」なのですが、元々もう10年以上前に勉強を教えていた時欲しいと思ったアプリです。

例えば計算問題をタイムアタックで解いた時に、時間が視覚化できるといいなと思い、当時探したのですが結局見つからず。

かといって自分で作ることもできず、試すこともできなかった、ある意味夢だった物です。


僕自身はこれから使うことはあるか分かりませんが、ずっと欲しかった物を手に入れられないまま悔いを残すのも嫌なので作り、またきっとどこかに昔の僕みたいに必要としている人はいるかもしれないので公開します。

もういい歳にもなって、このサイトも今年2024年の5月でもう20年にもなりますが、今になって分かった自分のことがひとつ…。

ああ、僕は何かが出来るようになる事が一番楽しいんだなと気づきました。

だから誰かが作った既製品の多くにはそれほど魅力を感じず、かといって出来るようになると飽きちゃうので、みんな中途半端…w

今回のようにAIの力を借りてでも、物が出来上がるのって楽しくてしょうがない。

いろんな面もあるけれど、ほんとに便利な時代になったなあ。


あとChatGPTさんに使用例もいくつか考えてと言ったのですが、ひとつも挙げてくれませんでしたw

普通にラップタイムを視覚化する他に、1秒を勘で計る遊びもできますw

最後にGPTさんの出力したまとめで締め(ちょっとのブログの主旨が違うような…)。


これで、あなたも自分だけのストップウォッチアプリを作成する準備が整いました!ぜひ、自分のアイデアや改良点を加えて、楽しんでください。


こちらからWebアプリを表示:ストップウォッチ


コードの構成

以下、HTML等のコードです。

2024/07/03

macOSでQuickTime Playerの「最近使った項目」を定期的に消去する方法

macOSでQuickTime Playerの「最近使った項目」を180分ごとに自動的に消去する方法@Sonoma

多くの青少年たちにとって、何よりものプライバシーとなり得るQuickTime Playerの履歴消去です。

もちろんメニューから手動で消すことはできますが、ちまちま消す手間と消し忘れて大惨事になる悲劇をなくしたい!w


~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Preferences/com.apple.QuickTimePlayerX.plist

のファイルを消去すれば履歴は消えるのですが、どうもセキュリティの関係で自動処理のために使うLaunchAgentsからシェルスクリプトでの実行は "Operation not permitted" と出てエラーになってしまうようです。

そこでAppleScriptのGUIスクリプティングを使い、メニューにある「メニューを消去」を押すことにしました。

GUIスクリプティングですのでQuickTimeが起ち上がっている(メニューにアクセスできる状態の)必要があります。

以下、ブログを書くことからだいぶ遠ざかっていたので、大まかな部分はChatGPTに自動作成して貰いました。

2024/06/26

天体写真撮影用 露光時間計算アプリ

天体写真を撮る時に被写体やピント、露光時間等の確認のため、まずは超高感度で絞り開放にするなどをしてテスト撮影の時間を短縮することがあります。

本番撮影時はノイズを減らすため感度を落とし、収差も減らすため絞りも絞るなどをする場合、テストで撮ったデータから感度や絞りの変動分を加味して露光時間を決めなければなりません。

そういったことをチャチャっと計算するwebアプリを作りました。

直接URLを開いて使うことができますし、JavaScriptなのでローカルに保存してからwebブラウザで使用することもできます。

HTMLは任意のファイル名.html、JavaScriptファイル名はLongTimeExposure.jsにしてhtmlと同一階層に保存すればそのまま動きます。


露光時間計算アプリ

https://www.renachan.com/script/LongTimeExposure.html


テスト撮影のISO感度、絞り、露光時間を入力して、本番で撮影したいISO感度、絞りを決定すれば、自動的に露光時間が表示されます。

本番撮影のISO感度とf値はローカルストレージに保存されますので、次回からは同じ条件がデフォルトでセットされます。


2024/03/29

Macに戻ってまいりました

 7年?ほどWindowsを使っていましたが、そちらもそろそろ処理速度的に限界を感じていた所へAmazonで15%引きになっていた型落ちのMacbook Pro M2Pro 16インチを購入し、やっとMacへ戻って来ました。

初めてのノートと時間が経ってだいぶ変わったmacOS(そもそも僕が使っていた頃はOSの名称さえMac OS Xだった)それらに戸惑いながら環境を作ってきて既に2ヶ月…。

ノートなので母艦は今までのPCを使いつつ、メインはMacという形になりつつあります。

外部モニタが2系統入力出来るのでMacとWinを切り替えてもいいのですが、ちょっとPCで作業したいだけという時はMacの画面共有.appでWin側を表示させて作業します。

今までもRealVNCを入れていたのですが、今回UltraVNCに入れ替えたところ、PCがスリープからすぐ起きてしまう現象に当たったので記載しておきます。

UltraVNC Server Setting の Network から Incoming Connections > Enable incomming port のチェックを外すだけです。

これでスリープから無闇矢鱈に起きてしまうことはなくなりました。
Wake on LANをWindows側で設定する必要がありますが、接続する時はWOLアプリで叩くなり、Finderから「サーバへ接続(⌘k)」で探しに行って貰えば起きてくれます。

画面共有は画面共有.appからでもいいですし、この「サーバへ接続」からでもvnc://IPアドレス と打ち込むことで接続できます。
UltraVNCで設定したパスワードを打ち込みPCに接続したら、画面共有.appのメニューから保存を選択すればショートカットのアイコンが保存されるので、次回からはこれをダブルクリックするだけでいきなりPCの画面が操作できます。

もうブログをこまめにアップする習慣もなくなってしまったのですが、基本的にはこのような感じに自分のメモ用としてこれからも使っていくつもりです。
WindowsもMacにはない良い所もあったし、流石に7年も使っていたら十分には慣れたけれども、やっぱりMacはいいなあ…というのが戻ってからの印象でした。
それら良かった物の詳細を書いていきたい所ですが、とりあえずここまで。
次はいつになることか…笑