Calculate coercers/schemas outside contexts when not dependent on request
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- clojure
- Ambito
- backend-api-design, performance
Direzione di ricerca
Inizia esaminando la cache del coercer, la gestione dinamica del contesto e i percorsi routes/map->Route e merge-parameters menzionati nell’issue. L’issue richiede un ambito di ottimizzazione concordato e un modo per verificare che il lavoro indipendente dalla richiesta venga calcolato al di fuori dei contesti senza modificare il comportamento delle route.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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))
- Lingua principale
- Clojure
- Stelle
- 1.1k
- Fork
- 145
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di metosin/compojure-api
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
metosin/compojure-api#489 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
metosin/compojure-api#468 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
metosin/compojure-api#467 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
metosin/compojure-api#463 · 3 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
metosin/compojure-api#462 · 3 commenti ·
Tutte le issue di metosin/compojure-api
Issue simili
-
Permissioned transactions fetch each entity once per tx-step, producing huge permission-check queriesForse già presa @verveguy l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 84/100
clojure-lsp/clojure-lsp#2502 ·
I maintainer di solito rispondono entro 1 giorno
-
Sessions are never closedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno