Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Neovim × リアルタイムチャット

higashi
December 28, 2020
140

Neovim × リアルタイムチャット

higashi

December 28, 2020
Tweet

Transcript

  1. 名前 : higashi 職業 : 高専 4 年生 好きなもの :

    Vim, Golang, プログラミング GitHub : higashi000 Twitter : @higashi136_2 自己紹介
  2. Vim 関係で関わったもの ・sarahck.vim  →Vim で Slack をするプラグイン ・sleahck.vim  →Vim で

    Slack をするプラグイン ・vimdoc-ja-working  →ドキュメントの翻訳プロジェクト ・slacklog-generator  → vim-jp の log を HTML 化するプロジェクト
  3. 単純に while True で recv 関数を呼び出してみると... メッセージ受信中は Vim で他の動作ができない -

    メッセージも送信できない リアルタイムチャットをするために
  4. 単純に while True で recv 関数を呼び出してみると... メッセージ受信中は Vim で他の動作ができない -

    メッセージも送信できない →非同期で動かしてあげたい リアルタイムチャットをするために
  5. 単純に while True で recv 関数を呼び出してみると... メッセージ受信中は Vim で他の動作ができない -

    メッセージも送信できない →非同期で動かしてあげたい 非同期処理をうまく実装できなかった;; リアルタイムチャットをするために
  6. クライアント側 従来の実装 Neovim logo by Jason Long, and license: CC3.0 サーバー

    メッセージの受信 Python: recv() 他クライアントからのメッ セージ送信 メッセージの送信 Python: send() メッセージ受信 他クライアント 他クライアント 他クライアント
  7. クライアント側 従来の実装 Neovim logo by Jason Long, and license: CC3.0 サーバー

    メッセージの受信 Python: recv() 他クライアントからのメッ セージ送信 メッセージの送信 Python: send() メッセージ受信 他クライアント 他クライアント 他クライアント
  8. クライアント側 従来の実装 Neovim logo by Jason Long, and license: CC3.0 サーバー

    メッセージの受信 Python: recv() 他クライアントからのメッ セージ送信 メッセージの送信 system() + curl メッセージ受信 他クライアント 他クライアント 他クライアント
  9. クライアント側 従来の実装 Neovim logo by Jason Long, and license: CC3.0 サーバー

    メッセージの受信 Python: recv() 他クライアントからのメッ セージ送信 メッセージの送信 system() + curl メッセージ受信 他クライアント 他クライアント 他クライアント