Pergunta

Como posso configurá-lo para poder usar o Light Table no Mac, conectado a um nREPL hospedado no Ubuntu, e criar um novo programa/project.clj?Alguém pode me ajudar a entender qual deveria ser minha abordagem e onde estou errando?

Eu tenho um servidor Ubuntu, no VirtualBox, junto com Leiningen, Pedestal e um programa de exemplo 'helloworld' de pedestal, que é exibido em um navegador.Simplesmente não consigo me conectar ao mesmo REPL que executa o programa helloworld.Não tenho acesso ou controle do lado do cliente para o objeto do lado do servidor.

Quero fazer o desenvolvimento cliente-servidor do Clojure a partir do meu host Mac LT, criando programas do lado do servidor, que posso visualizar em um REPL.

Não acho o LT intuitivo nesta área, e os conselhos que li apenas sugerem que o LT se conectará a um projeto/REPL existente.Quero criar novos objetos, a partir do cliente

Foi útil?

Solução

Supondo que você esteja falando principalmente sobre o lado do servidor (ainda não sei muito sobre o ClojureScript), veja como você configuraria um novo projeto e codificaria interativamente em uma replicação remota.

  1. lein new project-name na sua VM.
  2. Configure seu project.clj da maneira que desejar. Você deve incluir dependências!
  3. Inicie o REPL na sua VM e anote o número da porta
  4. Confirme seu código para controle de versão (git).
  5. Confira a mesma base de código para edição no LightTable no Mac OSX.
  6. Conecte-se ao REPL remoto.
  7. Abra core.clj ou crie um novo arquivo de namespace e comece a hackear.
  8. Avalie seus trechos de código ou o arquivo inteiro.

Há alguns problemas potenciais que prevejo com isso.A primeira é que sempre que você adicionar uma dependência, você precisará confirmar a alteração no controle de versão, sincronizar sua cópia de trabalho da VM, reiniciar seu REPL e reconectar o LightTable ao REPL remoto.

Segundo, você pode ter problemas à medida que o projeto ultrapassa alguns namespaces.Acredito que se o seu namespace exigir outro namespace do seu projeto, o processo REPL remoto (eu acho) tentará carregá-lo do caminho de classe local.Se a dependência não existir ou tiver mudado, não acho que o LightTable seja inteligente o suficiente para enviar os namespaces necessários pela rede.Experimente e deixe-nos saber qual é o comportamento real.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top