whiteleaf
whiteleaf
```rb jobs:0 $ bin/narou v Traceback (most recent call last): 12: from bin/narou:11:in `' 11: from /Users/whiteleaf/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' 10: from /Users/whiteleaf/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' 9: from /Users/whiteleaf/github/narou/narou.rb:12:in `' 8: from /Users/whiteleaf/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:44:in `require_relative'...
実装イメージ(案1) Queue の中身を可視化するのは比較的簡単だが、中身の削除が出来るようにはできていないので、 削除するというイメージではなく、キャンセルリストのようなものを別途作成し、 キュー処理時にキャンセルリストに登録されていれば処理を行わない、というイメージ。 この場合、キューの中身の可視化する部分で一工夫いる(キューの中身+キャンセルリストを同時に見る必要がある) --- キュー登録 - ID (内部で自動生成)。古いIDの再利用は絶対にしないこと。常にインクリメント - メッセージ - 処理内容 キャンセルリスト登録 - ID
実装イメージ(案2) 案1の考え方をベースにして(キャンセルリスト)、キューとキャンセルリストを両方持つ キャンセル可能キュークラスを作る。 キャンセル部分はこのクラス内で吸収して、外に影響は出さない。
変換キューも実装することになったので、実装は難しいかもしれない
横書きの整備はあまり出来てないので、これもその中のひとつですね 修正予定にします
websocketのライブラリがproxyに対応してない気がするので、ライブラリにプロキシ対応コードを入れる必要がある気がする。 ライブラリのソースコード自体は Narou.rb に内包してしまっているので、直接修正してしまうことは可能。 PRお待ちしています :)
Narou.rb の使っている websocket サーバライブラリは、SSL 未対応 つまり wss 使用不可 wss が使えるライブラリに入れ替える必要がある。しかも Windows を考慮すると、エクステンションのコンパイルが必要なネイティブなライブラリは不可なので、有名どころは無理(Railsで使ってるやつとか) 一応 pure Ruby で WebSocket ライブラリはあるっぽいから検討 関連 issue https://github.com/whiteleaf7/narou/issues/197
入れ替えたとしてもさらに Webrick で SSL を使えるようにする必要がある。 一応使えるが証明書関係で面倒くさい(オレオレ証明書でいいならわりかし簡単だが)
もう confirm_of_first 自体いらんかなーということで、無条件で削除しよう
いやID振ってあった、再現しない。 よくわからないので一旦放置