Clojure: funksjonell programmering og backendutvikling på JVM · leksjon

Håndtere profiler, aliaser og miljøer

Virkelige prosjekter trenger ulike innstillinger for utvikling, testing og produksjon. Denne leksjonen lærer Dem å bruke Leiningen-profiler og deps.edn-aliaser til å håndtere konfigurasjon og miljøspesifikke bygg.

Leksjon 4 av 413 trinn

Håndtere profiler, aliaser og miljøer er en gratis leksjon i Clojure: funksjonell programmering og backendutvikling på JVM på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Clojure: funksjonell programmering og backendutvikling på JVM, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Clojure: funksjonell programmering og backendutvikling på JVM inneholder totalt 4 leksjoner.

Hvorfor profiler og aliaser

Du bør ikke levere utviklingsverktøy sammen med produksjonskoden. Profiler (Leiningen) og aliaser (deps.edn) lar ett prosjekt produsere ulike konfigurasjoner ved behov.

Leiningen-profiler

En profil i project.clj legger til ekstra konfigurasjon, for eksempel avhengigheter som bare brukes under utvikling, og slår den sammen med grunnkonfigurasjonen.

{:profiles
 {:dev {:dependencies [[midje "1.10.9"]]}
  :uberjar {:aot :all}}}

Aktivere en profil

Bruk oppgaven with-profile til å kjøre en kommando med en valgt profil.

lein with-profile +uberjar uberjar

Standardprofiler

Profilen :dev aktiveres automatisk for lokale kommandoer som lein repl, slik at testverktøy er tilgjengelige uten ekstra flagg.

deps.edn-aliaser

I tools.deps legger et alias til avhengigheter eller alternativer under et nøkkelord som du aktiverer med flaggene -M eller -X.

{:aliases
 {:test {:extra-paths ["test"]
         :extra-deps {lambdaisland/kaocha {:mvn/version "1.91.1392"}}}}}

Kjøre et alias

Kall et alias fra CLI-et. Flere aliaser kombineres.

clojure -M:test:dev -m kaocha.runner

Miljøvariabler

Les konfigurasjon fra miljøet, slik at det samme artefaktet kan oppføre seg forskjellig i ulike distribusjoner uten rekompilering.

(def db-url (System/getenv "DATABASE_URL"))
(println db-url)

Konfigurasjonsfiler per miljø

La en config.edn-fil leses ved oppstart. Velg filen via en miljøvariabel, slik at produksjon og utvikling laster inn ulike innstillinger.

(require '[clojure.edn :as edn])
(def config
  (edn/read-string (slurp (or (System/getenv "CONFIG") "dev.edn"))))

Hold hemmeligheter borte fra kildekoden

Legg aldri inn påloggingsinformasjon i versjonskontrollen. Injiser den via miljøvariabler eller en hemmelighetstjeneste, og referer bare til den med navn fra profiler eller aliaser.

Sammensetning fremfor duplisering

Både profiler og aliaser settes sammen. Legg et grunnlag sammen med miljøspesifikke overlag i stedet for å vedlikeholde flere nesten identiske komplette konfigurasjoner.

Reproduserbare bygg

Fastsett versjoner og unngå implisitte standardverdier, slik at et bygg på CI samsvarer med et bygg på en utviklermaskin. Profiler og aliaser gjør disse forskjellene eksplisitte og bevisste.

Hurtigsjekk

Test kunnskapen din om profiler og aliaser.

Oppsummering

Du har lært om Leiningen-profiler, deps.edn-aliaser, hvordan de aktiveres fra CLI-et, hvordan miljøvariabler og miljøspesifikke konfigurasjonsfiler leses, hvordan hemmeligheter holdes borte fra kildekoden, og hvordan lag settes sammen for reproduserbare bygg.

Gratis å komme i gang

Lær deg Clojure med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Håndtere profiler, aliaser og miljøer» gratis?

Ja – hele teksten i «Håndtere profiler, aliaser og miljøer» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Clojure: funksjonell programmering og backendutvikling på JVM-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Clojure: funksjonell programmering og backendutvikling på JVM inneholder totalt 4 leksjoner.

Hva lærer jeg i «Håndtere profiler, aliaser og miljøer»?

Virkelige prosjekter trenger ulike innstillinger for utvikling, testing og produksjon. Denne leksjonen lærer Dem å bruke Leiningen-profiler og deps.edn-aliaser til å håndtere konfigurasjon og miljøsp… Du øver på Clojure: funksjonell programmering og backendutvikling på JVM med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Clojure: funksjonell programmering og backendutvikling på JVM?

Ingen tidligere erfaring er nødvendig. Clojure: funksjonell programmering og backendutvikling på JVM på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Håndtere profiler, aliaser og miljøer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Clojure: funksjonell programmering og backendutvikling på JVM-leksjonen?

Ja. Alle Clojure: funksjonell programmering og backendutvikling på JVM-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Grunnleggende om Leiningen og Deps.edn
  2. Håndtere avhengigheter og programtillegg
  3. Bygging, testing og distribusjon
  4. Håndtere profiler, aliaser og miljøer
← Tilbake til Clojure: funksjonell programmering og backendutvikling på JVM