Calculate coercers/schemas outside contexts when not dependent on request
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- clojure
- Domínio
- backend-api-design, performance
Direção de pesquisa
Comece examinando o cache do coercer, o tratamento dinâmico de contexto e os caminhos routes/map->Route e merge-parameters mencionados na issue. A issue precisa de um escopo de otimização acordado e de uma forma de verificar que o trabalho independente da requisição é calculado fora dos contextos sem alterar o comportamento das rotas.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Coercers aren't really amenable to this at the moment, and use a memoized cache to get around this limitation (but given that equivalent Schema's are often not equal, might not be totally effective), but the idea is:
(context "/foo" req
(GET "/" []
:body [body :- MySchema]
...))
=>
(let [coercer (cache-coercion s/Int)]
(context "/foo" req
(GET "/" []
:body [body :- coercer]
...))
Or perhaps an even more general optimization that would cache all sorts of things like merge-parameters and all the other args to routes/map->Route and the route itself, even under a dynamic context.
(let [rs (GET "/" []
:body [body :- coercer]
...)]
(context "/foo" req
rs))
- Linguagem predominante
- Clojure
- Estrelas
- 1.1k
- Forks
- 144
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de metosin/compojure-api
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
metosin/compojure-api#489 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
metosin/compojure-api#468 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
metosin/compojure-api#467 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
metosin/compojure-api#463 · 3 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
metosin/compojure-api#462 · 3 comentários ·
Todas as issues de metosin/compojure-api
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
-
comment above the first :require-macros libspec is hoisted onto the formTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug namespace v1 blocker
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
oakmac/standard-clojure-style-js#268 ·
Mantenedores costumam responder em até 1 dia
-
Bug: server save errors never reach the form (on-save-failed-expr unwraps the mutation result twice)Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
WG adoption
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia