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 seisgit diffmuutused tööpuusgit diff --cachedmuutused vahealalgit add fail.txtlisa vahealalegit commit -m '...'loo versioonikirjegit switch -c parandusloo harugit pull --ff-onlyuuenda puhtaltgit push -u origin parandussaada harugit restore --staged fail.txteemalda vahealalt
Olulisemad lipud, märgid ja kiirnupud
HEADpraegune tippmainpõhiridaoriginkaugrepovahealajä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 keskkondsource .venv/bin/activateaktiveeri shellispython -m pip install -U pipuuenda pippython -m pip install requestspaigalda pakettpython -m pip listvaata pakkecommand -v pythonkontrolli tõlgenditdeactivatevälju keskkonnast
Olulised märgid
(.venv)aktiivne keskkond.venv/projekti seespython -m pipkindlam kuipipDockerterve 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 olemasoludocker run --rm alpine echo tereohutu esimene käivitusdocker build -t rakendus .koosta konteinerkujudocker run --rm rakenduskäivita konteinerdocker pstöötavad konteineriddocker logs -f nimijälgi logidocker exec -it nimi shsisene töötavasse konteinerissedocker compose up -dteenused taustaledocker compose downpeata ja eemalda konteinerid ning võrk
Olulisemad lipud, märgid ja kiirnupud
imagekonteinerkuju ehk käivitusmallkonteinerkäivitatud või peatatud eksemplarDockerfilekonteinerkuju retseptcompose.yamlmitu teenustvolumepüsiv andmeköideregistrykonteinerkujude 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öökataloogdocker 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 Pythonitpython3 -m pip --versionkontrolli pip-igit --versionkontrolli Gitidocker --versionkontrolli Dockeritnode --versionkontrolli Node'inpm --versionkontrolli npm-i
Olulised mõisted
tõlgendajakoodi tegelik käivitajasisseehitatud terminalsama projektivaadeRemote SSHtööta kaugmasinasdevcontainerIDE 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
fail -> head/less -> column/jq -> sqlite3 -> python3alusta väikese vaatusega- Pythoni
venvprojekti töölaud - CSV, JSON ja XMLandmete kuju
- SQLite ja Pythonesimene andmebaas
- Teksti teisendamineväiksed filtrid
- Vood ja tabelidkoondamine
Põhiteljed
programmeeriminekorduv töö loogikaksSQLküsi ja seo andmeidvormingudCSV, JSON, XMLstatistikaanna 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 algustcolumn -s, -t < fail.csvjoonda lihtne CSVcut -d, -f1 fail.csvvõta üks veergpython3 -m json.tool fail.jsonvorminda JSONjq '.students[].name' fail.jsonvali JSON väljuxmllint --format fail.xmlvorminda XML
Olulised mõisted
CSVlihtne tabelJSONobjektide puuXMLmärgendipuujqJSON 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 failsqlite3 andmed.db '.tables'vaata tabeleidsqlite3 andmed.db '.schema'vaata struktuurisqlite3 andmed.db 'select * from students limit 5;'piilu ridusqlite3 andmed.db 'select city, count(*) from students group by city;'koonda readsqlite3 andmed.db 'select s.name, r.score from results r join students s on s.id = r.student_id;'ühenda tabelidpython3 naide.pykasuta Pythonist
Olulised mõisted
primary keyrea unikaalne idforeign keyviide teise tabelisseJOINseo tabelidGROUP 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-shelliskriptpython3 hello.pykäivita Pythoni lähtefailcc hello.c -o hello-ckompileeri C lähtefail käivitatavaks failiks./hello-ckäivita äsja koostatud C programmc++ hello.cpp -o hello-cppkompileeri C++go build -o hello-go hello.gokoosta Go binaarfailcargo runRust: koosta ja käivita Cargo projektjavac Hello.javaJava: loo baitkoodifail Hello.classjava 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 PDFxelatex tere.texparem Unicode tugilatexmk -pdf tere.texkorda vajalikud käigudlatexmk -xelatex tere.texxelatex automaatseltls tere.*vaata abifaileopen tere.pdfava tulemus
Olulised failid
.texlähtefail.pdftulemus.auxristviidete abi.logkompileerimislogi