LaravelでWebベースのマークダウンアプリを作りました。Googleドライブ保管などが可能で、簡単にDockerで試せます。
別途、サーバは用意が必要ですが、Webベースのマークダウンアプリを探している方はよろしければ試してください。
Githubで要望や改善事項など、お話しして頂けると嬉しいです。
エディタはtui-editor、プレゼンテーションモードはreveal.jsベースで、iOSやMacのSafariに対応です。
さらなる技術を求め、さまよってます。
LaravelでWebベースのマークダウンアプリを作りました。Googleドライブ保管などが可能で、簡単にDockerで試せます。
別途、サーバは用意が必要ですが、Webベースのマークダウンアプリを探している方はよろしければ試してください。
Githubで要望や改善事項など、お話しして頂けると嬉しいです。
エディタはtui-editor、プレゼンテーションモードはreveal.jsベースで、iOSやMacのSafariに対応です。
高さが異なるスクロール領域を、スクロール領域の割合を基準に同期します。
相互のスクロール領域のスクロール位置を同期する為、
同期対象のスクロールイベントが、スクロール位置の同期時に発火してしまうと、
スクロールの操作がスムーズにならなくなるので
JQueryのon・off関数 を使って、一時的にscrollイベントを無効にしています。
ルータをASUSからAirMacに変更したところ、mDNS名で接続できなくなった。
同時に有線LANから、無線LANに接続方法を変更したが、あまり関係ない気がする。
(ASUSのルータは早々に売ったので、詳細は確認不可)
最近、インストールしたRaspberryPi3 B+は大丈夫だったので、
avahiのバージョンか初期設定の問題があるかもしれない。
とりあえず、avahiの設定でIPv4を有効にしたら解決したのですが、
そこに辿り着くまでの試行錯誤の記録です。
最初は、とりあえずSSH接続したいので、Macで下記のコマンドを実行して、
IPを探そうとしました。
% arp -a
? (192.168.10.4) at 0:25:dc:5a:9:78 on en0 ifscope [ethernet]
% nslookup 192.168.10.4
Server: 240b:251:d660:6f10:1e36:bbff:fe03:6da9
Address: 240b:251:d660:6f10:1e36:bbff:fe03:6da9#53
** server can't find 4.10.168.192.in-addr.arpa: NXDOMAIN
nslookupでホスト名が取得できず、何れがRaspberryPiかわからない
(DNSサーバに登録されてないから、、、、ホスト名は取得不可)
仕方ないので、AirMacユーティリティで対象のルータを右クリックし、
ワイヤレスクライアントから対象のRaspberryPiを探し、
マウスカーソルを合わせて接続されているホスト名とIPを確認する
IPは分かったので、IPでSSHアクセス
avahiの動作を中心に疑ってみる
$ sudo apt-get -y install avahi-utils
$ avahi-browse -at # mDNS一覧表示
# 対象のRaspberryPiが一覧にない
$ avahi-resolve -n pi3j.local
pi3j.local 240b:251:d660:6f10:eb9b:d106:f4ef:98dd
avahiの登録情報が、Ipv6になってる??
次は、IPv6での接続確認を行なった
~% ping6 pi3j.local
240b:251:d660:6f10:eb9b:d106:f4ef:98dd, icmp_seq=3 hlim=64 time=5.850 ms
^C
--- pi3j.local ping6 statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 5.850/7.028/8.428/1.023 ms
# Ping6はOK
~% ping pi3j.local
ping: cannot resolve pi3j.local: Unknown host
# PingはNG
avahiのIPv4が有効になってない?かもしれない。
有効になっているか、確認する。
$ avahi-resolve -n -4 pi3p.local
Failed to resolve host name 'pi3p.local': Timeout reached
IPv4はNG。
他の正常なRaspberryPiへの接続も、このRaspberryPiからのIPv4接続は、NG。
このRaspberryPiのIPv4設定が怪しい。
~% dns-sd -q pi3j.local
DATE: ---Sun 07 Oct 2018---
14:30:45.395 ...STARTING...
^C
# IPv4 NG (dns-sdはIPv4が優先)
~% dns-sd -G v4v6 pi3j.local
DATE: ---Sun 07 Oct 2018---
20:11:16.614 ...STARTING...
Timestamp A/R Flags if Hostname Address TTL
20:11:16.884 Add 2 8 pi3j.local. 240B:0251:D660:6F10:EB9B:D106:F4EF:98DD%<0> 120
^C
# IPv4 NG, IPv6 OK
dns-sdもIPv4だけNG、IPv6はOK
やっぱり、RaspberryPiのAvahiのIPv4設定が怪しい。
# 設定ファイルを編集
$ sudo vi /etc/avahi/avahi-daemon.conf
# 変更前
use-ipv4=no
use-ipv6=yes
# 変更後(use-ipv4 を yes に変える)
use-ipv4=yes
use-ipv6=yes
# 再起動&リロード
$ sudo service avahi-daemon restart
$ sudo service avahi-daemon force-reload
use-ipv4がnoになっていた。
(いつ変えた??どこで変わった??)
覚えてないので詳細は不明、、、、、気を取り直して、動作確認する。
~% dns-sd -G v4v6 pi3j.local
DATE: ---Sun 07 Oct 2018---
22:30:50.100 ...STARTING...
Timestamp A/R Flags if Hostname Address TTL
22:30:50.101 Add 3 8 pi3j.local. 240B:0251:D660:6F10:EB9B:D106:F4EF:98DD%<0> 120
22:30:50.101 Add 2 8 pi3j.local. 192.168.10.21 120
^C
# IPv4,v6 OK
~% ssh pi@pi3j.local
pi@pi3j.local password:
# mDNSでSSH接続が可能になった
IPv4もOKになり、SSH接続も可能になった。
疲れた。。。
OracleからJava11がリリースされましたが
私自身、色々と誤解していた部分があったので、まとめてみました。
まとめてみると、今後はAdoptかZuluのOpenJDKがサポート期間も長く主流になるかも?と思えます。
OracleのOpenJDKも、LTSで3年サポートされれば、、、Oracle嫌いだけど。
(個人的には、流れ的にOracleのOpenJDKもLTSで3年サポートされるでしょーって思います。)
因みにサポートとは、バグフィックスやセキュリティパッチを入手できるか?ということです。
11/15 Correttoを追記。OpenJDKの戦国時代になりそうな、選択肢の豊富さになってきました。
以上
baseDirを変えて、外部のAntスクリプトを呼び出したい事があったので
javaタスクで新しいAntプロセスを起動し、build.xmlを実行することにしました。
その際に欠点があり、Ant実行時に指定したCLASSPATHが引き継がれません。
Antのドキュメントを調べてみると、VM引数に“-Dbuild.sysclasspath=last”を追加すると良さそうです。
因みに、javaタスクのcloneVm=”true”も目的を達成できそうでしたが、
対象のビルドファイル指定(-buildFile)が無効になってしまったので、
別のbuild.xmlを呼ぶことには使えなさそうです。
これで、長々とJavaタスクのclasspathを書く必要がなくなりました。
Ktorを試してみようと思い、Ktor(Backend)+KotlinJSのサンプルを見つけましたが、
影響しているモジュールが古かったので、最新にバージョンアップして、
ソースコードもバージョンアップに伴い少し修正しました。
その他、かなり自己流に修正してしまったので、PullRequestするかは検討中。。。
“Ktorのfullstackサンプルを最新にアップデートしてみた #Kotlin” の続きを読む共有で利用しているリモートデスクトップのサーバがあり、
他の利用者に迷惑をかけない様に、常駐している重いプロセスの優先度を下げることにしました。
重いのは、大量のJavaプロセスです。
“プロセスの優先度と割当コア数を変更する #Windows” の続きを読むKotlinでWebアプリを作りたいと思い、一つの選択肢として調査した内容になります。
SpringBoot3.0がKotlinに対応してますし、Ktorもありますが、
RailsのREST-APIに適した、生産性の高いMVCフレームワークに魅力を感じて、Kotlinとの組み合わせを試して見ました。
今の所、Kotlin側はデバッグやホットリロードができてません。
さらに、GradleとRailsを組み合わせて使うため、少し複雑になってます。
本格的に使う場合は、プラグインを作ってシンプルにしたいです。
また、Rails周りの経験が浅く、今はやり方が分からないのですが、デバッグ周りは出来る様にしたいと思っています。
対象OSは、macOSです。
“JRuby on Rails で #Kotlin を使う #JRuby #Rails” の続きを読む過去に、タスクマネージャやJconsoleで負荷を見つつ、
ヒープダンプを随時取得しメモリーリークの証拠を得たいことがあり、調べた内容のメモになります。
JVMベースの言語は多いので、参考になれば・・・?と思います
“ヒープダンプを簡単に取得するメモ #Windows #Java” の続きを読む過去に、間違ってブラウザを閉じない為の対策の一つとして、調べた内容になります。
onbeforeunloadイベントで、画面遷移の前に特定の処理を実行できるイベントです。
returnで、trueまたは文字列を返すと、ブラウザ標準の確認ダイアログが表示され、確認を促せます。
JQueryは.unload()イベントになります。
“ブラウザの閉じるボタンに割り込む #JavaScript #JQuery” の続きを読む