高さの異なるスクロールを相互に同期する #JavaScript #JQuery #HTML

高さが異なるスクロール領域を、スクロール領域の割合を基準に同期します。

相互のスクロール領域のスクロール位置を同期する為、

同期対象のスクロールイベントが、スクロール位置の同期時に発火してしまうと、

スクロールの操作がスムーズにならなくなるので

JQueryのon・off関数 を使って、一時的にscrollイベントを無効にしています。

忙しい人のためのJavaの近況とOpenJDKについて #Corretto #Zulu #Adopt

OracleからJava11がリリースされましたが

私自身、色々と誤解していた部分があったので、まとめてみました。

まとめてみると、今後はAdoptかZuluのOpenJDKがサポート期間も長く主流になるかも?と思えます。

OracleのOpenJDKも、LTSで3年サポートされれば、、、Oracle嫌いだけど。

(個人的には、流れ的にOracleのOpenJDKもLTSで3年サポートされるでしょーって思います。)

因みにサポートとは、バグフィックスやセキュリティパッチを入手できるか?ということです。

11/15 Correttoを追記。OpenJDKの戦国時代になりそうな、選択肢の豊富さになってきました。

  • Oracle JDK11
    • OracleのJDK、今までのJDKといえばほぼコレ。
    • Java12が出るまで(6ヶ月)のサポートは無償(開発・テストやプロトタイプ、デモ用途に限定)。Java12が出てからのサポートや実運用は有償。
  • Oracle OpenJDK11
    • OracleがOpenJDKをビルドして提供
    • Java12が出るまで(6ヶ月)のサポートは無償。Java12が出てからのサポート(LTS期間の3年)はチーフアーキテクトのMark Reinhold氏が宣言しているが、公式発表はなし。jdk.java.netで提供。
  • Adopt OpenJDK
    • AdoptOpenJDKコミュニティがOpenJDKをビルドして提供
    • Java8は2023年9月まで、Java11は2022年9月まで(最低4年間)サポート。
      • IBMやMS?がスポンサー
    • AdoptOpenJDK+HotspotVMと、AdoptOpenJDK+OpenJ9がある
      • Linux、AIX、Windows向けに提供されている。
      • HotspotVMのみ、MacOSとLinux ARM向けが提供されている。
    • DockerHubでも配信。 
    • IBMが、AdoptOpenJDKを4年間サポートする意向を示している。
  • RedHat OpenJDK11
    • RedHatがOpenJDKをビルドして提供
    • OpenJDK8をRed Hatが2020年10月までサポート、OpenJDK11はRed Hatが独自のサポート期間を設ける
      • Red Hat Linuxのエンタープライズ版で利用する事ができる。
  • IBM JDK + OpenJ9
    • IBMのJDK。ランタイムのOpenJ9が最近OSS化された。
    • Java8は2022年4月までサポート
      • Windows向けのバイナリは単体で提供されていない。
      • LinuxやAIX向けは単体提供あり。
      • DockerStoreで無料配信されているが、実運用は有償。
  • Zulu OpenJDK
    • AZUL SystemsがOpenJDKをビルドして提供
    • 商用サポートは8年のLTSサポートで、セキュリティとバグ修正を迅速に入手できる
    • 非商用の提供は明確にされていない。
      • JDK10、JDK9の32bit版があり、JDK6u113、JDK7u191、JDK8u181がある。
        • 非商用もサポート長いかもしれない?
      • ダウンロードページ
    • カスタマーにMicrosoft
    • 元OracleのSimon Ritter氏が所属している
  • Amazon Corretto
    • AmazonがOpenJDKをビルドして無償提供、今はプレビュー版。正式は2019年1月を予定。
    • JDK8は2023年6月(4年半)、JDK11は2024年6月(4年半)、セキュリティとバグ修正を入手できる?
    • 現在、Amazon Linux、Windows7~10、MacOSのインストーラ、Docker版が提供中、Windowsの32bit版の有無は不明。
      • 正式リリース時には、UbuntuやRed Hat Enterprise Linuxが含まれる
      • 個人的には、zip版も欲しい、、、
      • ダウンロードページ 
      • AWSにJavaの神様と言われているJames Gosling氏が所属している

以上

AntのJavaタスクでCLASSPATHを引き継ぐ

baseDirを変えて、外部のAntスクリプトを呼び出したい事があったので

javaタスクで新しいAntプロセスを起動し、build.xmlを実行することにしました。

その際に欠点があり、Ant実行時に指定したCLASSPATHが引き継がれません。

Antのドキュメントを調べてみると、VM引数に“-Dbuild.sysclasspath=last”を追加すると良さそうです。

因みに、javaタスクのcloneVm=”true”も目的を達成できそうでしたが、

対象のビルドファイル指定(-buildFile)が無効になってしまったので、

別のbuild.xmlを呼ぶことには使えなさそうです。

これで、長々とJavaタスクのclasspathを書く必要がなくなりました。

Ktorのfullstackサンプルを最新にアップデートしてみた #Kotlin

Ktorを試してみようと思い、Ktor(Backend)+KotlinJSのサンプルを見つけましたが、

影響しているモジュールが古かったので、最新にバージョンアップして、

ソースコードもバージョンアップに伴い少し修正しました。

その他、かなり自己流に修正してしまったので、PullRequestするかは検討中。。。

“Ktorのfullstackサンプルを最新にアップデートしてみた #Kotlin” の続きを読む

JRuby on Rails で #Kotlin を使う #JRuby #Rails

経緯

KotlinでWebアプリを作りたいと思い、一つの選択肢として調査した内容になります。

SpringBoot3.0がKotlinに対応してますし、Ktorもありますが、

RailsのREST-APIに適した、生産性の高いMVCフレームワークに魅力を感じて、Kotlinとの組み合わせを試して見ました。

制約

今の所、Kotlin側はデバッグやホットリロードができてません。

さらに、GradleとRailsを組み合わせて使うため、少し複雑になってます。

本格的に使う場合は、プラグインを作ってシンプルにしたいです。

また、Rails周りの経験が浅く、今はやり方が分からないのですが、デバッグ周りは出来る様にしたいと思っています。

対象OSは、macOSです。

“JRuby on Rails で #Kotlin を使う #JRuby #Rails” の続きを読む

ブラウザの閉じるボタンに割り込む #JavaScript #JQuery

経緯

過去に、間違ってブラウザを閉じない為の対策の一つとして、調べた内容になります。

onbeforeunloadイベントを使う

onbeforeunloadイベントで、画面遷移の前に特定の処理を実行できるイベントです。

returnで、trueまたは文字列を返すと、ブラウザ標準の確認ダイアログが表示され、確認を促せます。

JQueryは.unload()イベントになります。

“ブラウザの閉じるボタンに割り込む #JavaScript #JQuery” の続きを読む

HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(アンチノイズ) #RaspberryPi #PiCamera #Python #rclone

前回、アップロードまで完了しましたが、画像の暗い部分などでノイズが目立つことがあります。

OpenCVにはアンチノイズリダクションに使えるAPIが用意されているので、試しに使って見たいと思います。

結果としては、少し精細感を欠き、処理時間が2倍ぐらい掛かってしまいますが、ノイズを軽減することが出来ました。

アンチノイズ処理は、cv2.imwriteの手前に、下記の処理を追記することで、実現します。

“HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(アンチノイズ) #RaspberryPi #PiCamera #Python #rclone” の続きを読む

HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(その4) #RaspberryPi #PiCamera #Python #rclone

前回はHDR画像とタイムラプス動画を作成しましたが、今回はOneDriveへ作成した画像や動画をアップロードします。

アップロードには、よく使われているLinuxでよく使われているrcloneを利用します。

あらかじめ、Microsoftアカウントへの登録をしておき、OneDriveへログインをしておくとスムーズです。

Amazonプライム会員だと、Amazon Cloud Driveへの静止画のアップロードは無制限で、他のバックアップ用途にも流用できそうだったので、事前に検討していましたが、

acd_cliというCLIでAmazon Cloud Driveを扱うツールが開発停止しており、
さらに、rcloneのAmazon Cloud Drive機能も開発停止していたので、契約している容量が一番大きい、OneDriveにしました。

“HDRタイムラプス動画とHDR静止画で過去と現在の愛兎の様子を監視する(その4) #RaspberryPi #PiCamera #Python #rclone” の続きを読む