Beetaversioon: sisu on enamasti terviklik ja avalikuks katsetamiseks valmis, kuid vajab veel tehnilist, keelelist ja kasutatavuse kontrolli.

Spikrid

Linux/Unix/macOS käsurea kiirõpik

Siin on koos osa Osa V: Arendus ja töövood spikrid.

Osa V: Arendus ja töövood — täisspikker

Selle osa spikrid on siin koos ühel lehel. Neid saab kasutada kordamiseks, kiireks viitamiseks ja eraldi PDF-ina printimiseks.

Git, GitHub ja töövoog

Edasijõudnu

Eesmärk

Git hoiab muutuste ajalugu; erista tööpuud, vaheala ja versioonikirjet ning vaata muudatused enne üle.

Põhikujud

  • git statusvaata seis
  • git diffmuutused tööpuus
  • git diff --cachedmuutused vahealal
  • git add fail.txtlisa vahealale
  • git commit -m '...'loo versioonikirje
  • git switch -c parandusloo haru
  • git pull --ff-onlyuuenda puhtalt
  • git push -u origin parandussaada haru
  • git restore --staged fail.txteemalda vahealalt

Olulisemad lipud, märgid ja kiirnupud

  • HEADpraegune tipp
  • mainpõhirida
  • originkaugrepo
  • vahealajärgmise versioonikirje sisu

Pythoni venv ja eraldatud keskkonnad

Edasijõudnu

Eesmärk

venv hoiab ühe projekti Pythoni paketid eraldi; kõige olulisem on, et terminal, pip ja IDE näeksid sama keskkonda.

Põhikujud

  • python3 -m venv .venvloo keskkond
  • source .venv/bin/activateaktiveeri shellis
  • python -m pip install -U pipuuenda pip
  • python -m pip install requestspaigalda pakett
  • python -m pip listvaata pakke
  • command -v pythonkontrolli tõlgendit
  • deactivatevälju keskkonnast

Olulised märgid

  • (.venv)aktiivne keskkond
  • .venv/projekti sees
  • python -m pipkindlam kui pip
  • Dockerterve keskkond

Dockeri alused

Edasijõudnu

Eesmärk

Konteinerkuju (image) on käivitusmall; konteiner võib töötada või olla peatatud. Konteineri eemaldamisel kaob selle kirjutatav kiht, mitte seotud hostifailid ega püsivad andmeköited.

Põhikäsud

  • docker --versionkontrolli olemasolu
  • docker run --rm alpine echo tereohutu esimene käivitus
  • docker build -t rakendus .koosta konteinerkuju
  • docker run --rm rakenduskäivita konteiner
  • docker pstöötavad konteinerid
  • docker logs -f nimijälgi logi
  • docker exec -it nimi shsisene töötavasse konteinerisse
  • docker compose up -dteenused taustale
  • docker compose downpeata ja eemalda konteinerid ning võrk

Olulisemad lipud, märgid ja kiirnupud

  • imagekonteinerkuju ehk käivitusmall
  • konteinerkäivitatud või peatatud eksemplar
  • Dockerfilekonteinerkuju retsept
  • compose.yamlmitu teenust
  • volumepüsiv andmeköide
  • registrykonteinerkujude hoidla
  • --rmkustuta lühikatse konteiner pärast lõppu
  • -p 127.0.0.1:8000:8000docker run: avalda port ainult oma arvutile
  • --mount type=bind,src="$PWD",dst=/appjaga praegune kataloog konteinerisse
  • -w /appmäära konteineri töökataloog
  • docker compose down -vpeatab ja kustutab ka andmeköited

IDE-d ja arenduskeskkonnad

Edasijõudnu

Eesmärk

heas arenduskeskkonnas osutavad terminal, Git, tõlgendaja ja vajaduse korral konteiner samale projektile.

Kontrollid ja valikud

  • python3 --versionkontrolli Pythonit
  • python3 -m pip --versionkontrolli pip-i
  • git --versionkontrolli Giti
  • docker --versionkontrolli Dockerit
  • node --versionkontrolli Node'i
  • npm --versionkontrolli npm-i

Olulised mõisted

  • tõlgendajakoodi tegelik käivitaja
  • sisseehitatud terminalsama projektivaade
  • Remote SSHtööta kaugmasinas
  • devcontainerIDE konteineris

Andmeteaduse eelteadmised käsurea vaates

Edasijõudnu

Eesmärk

andmeteaduse stardis ei piisa ühest tööriistast; vaja on korraga failivormingute tunnetust, SQL-i mõtteviisi, programmeerimist ja statistilist mõtlemist.

Põhikujud

Põhiteljed

  • programmeeriminekorduv töö loogikaks
  • SQLküsi ja seo andmeid
  • vormingudCSV, JSON, XML
  • statistikaanna tähendus

CSV, JSON ja XML käsureal

Edasijõudnu

Eesmärk

vormingu tüüp ütleb, milline tööriist mõistab andmeid kõige loomulikumalt: tabelit, puud või märgendistruktuuri.

Põhikujud

  • head fail.csvvaata CSV algust
  • column -s, -t < fail.csvjoonda lihtne CSV
  • cut -d, -f1 fail.csvvõta üks veerg
  • python3 -m json.tool fail.jsonvorminda JSON
  • jq '.students[].name' fail.jsonvali JSON välju
  • xmllint --format fail.xmlvorminda XML

Olulised mõisted

  • CSVlihtne tabel
  • JSONobjektide puu
  • XMLmärgendipuu
  • jqJSON filtriks

Andmebaasi algus: sqlite ja Python

Edasijõudnu

Eesmärk

SQLite on sild tekstifailide ja päris andmebaasimõtte vahel: failina lihtne, SQL-i mõttes siiski relatsiooniline andmebaas.

Põhikujud

  • sqlite3 andmed.dbava või loo fail
  • sqlite3 andmed.db '.tables'vaata tabeleid
  • sqlite3 andmed.db '.schema'vaata struktuuri
  • sqlite3 andmed.db 'select * from students limit 5;'piilu ridu
  • sqlite3 andmed.db 'select city, count(*) from students group by city;'koonda read
  • sqlite3 andmed.db 'select s.name, r.score from results r join students s on s.id = r.student_id;'ühenda tabelid
  • python3 naide.pykasuta Pythonist

Olulised mõisted

  • primary keyrea unikaalne id
  • foreign keyviide teise tabelisse
  • JOINseo tabelid
  • GROUP BYkoonda read

Kompileerimine ja käivitamine: shell, Python, C, C++, Go, Rust, Java

Edasijõudnu

Eesmärk

Erista lähtekoodi, koostatud väljundit ja selle käivitajat. Vali üks paigaldatud tööriistaga keel.

Käsud ja näited

  • sh hello.shtõlgenda POSIX-shelliskript
  • python3 hello.pykäivita Pythoni lähtefail
  • cc hello.c -o hello-ckompileeri C lähtefail käivitatavaks failiks
  • ./hello-ckäivita äsja koostatud C programm
  • c++ hello.cpp -o hello-cppkompileeri C++
  • go build -o hello-go hello.gokoosta Go binaarfail
  • cargo runRust: koosta ja käivita Cargo projekt
  • javac Hello.javaJava: loo baitkoodifail Hello.class
  • java Hellokäivita klass JVM-is, ilma .class-laiendita

LaTeX käsurealt

Edasijõudnu

Eesmärk

LaTeX-i mõte on lihtne: lähtetekst jääb tekstifailiks, aga buildist sünnib väga täpselt juhitav PDF.

Põhikujud

  • pdflatex tere.texkompileeri PDF
  • xelatex tere.texparem Unicode tugi
  • latexmk -pdf tere.texkorda vajalikud käigud
  • latexmk -xelatex tere.texxelatex automaatselt
  • ls tere.*vaata abifaile
  • open tere.pdfava tulemus

Olulised failid

  • .texlähtefail
  • .pdftulemus
  • .auxristviidete abi
  • .logkompileerimislogi