Tjejer kodar i
Barcelona
WiFi: Valkiria
Pass: valkiriahub01
Kursen
• 5 dagar (mån - fre)
• ~6 timmar / dag
• Startar 09.00 varje morgon med presentation
• Resten är tutorials
https://tjejerkodar.slack.com
Ground rules
1. Det är du som skriver koden
2. Det är ingen tävling
3. Det viktigaste är att du lär dig
Dagarna
• Måndag: Setup och introduktion
• Tisdag: HTML + CSS
• Onsdag: Python
• Torsdag: Django
• Fredag: Modeller + Go live
Sajten
Start
Quiz
Question
Completed
”Du ska våga dela den på Facebook”
1. Quiz 1
2. Quiz 2
3. Quiz 3 Quiz 1
Starta
Fråga 1
Nästa
Svar 1
Svar 2
Svar 3
Du fick
15 rätt!
Måndag del 1:
Setup
Mål för idag
• Förstå vad programmering i Python innebär
• Kunna använda ”terminalen”
• Kunna installera pythonpaket
• Ha en kodeditor installerad och förstå den
• Kunna versionshantera med Github
• Veta vad StackOverflow är
Vad är ett
programmerings-
språk?
Maskinkod 0x85E1 0x1040
Assembler SET [0x1040], 0x0001
C int x = 1;
Python x = 1
Varför Python?
• Lättare att läsa/förstå än många andra språk
• Skalar med programmeraren
• Populärt (men inte populärast)
Varför Python 3?
• Ännu bättre för nybörjare
• Framtidssäkrat, snart har alla bytt
• … men lite krångligare att installera
Ett pythonprogram
Terminalen
PATH
• Inställning som finns för både Mac och PC
• Lista med kataloger där terminalen ska leta när man
skriver ett kommando
• Kan behöva ändras när ni installerar Python 3!
Python
pip
Sublime Text
Heroku
• Massor hostingtjänster: ”Betala för att köra din kod
på vår server”
• Olika nivåer av automatisering
• Olika priser
• Heroku: Väldigt automatiskt, gratiskonto
Måndag del 2:
Versionshantering
Förr i tiden…
Utvecklares dator Produktionsdator
ftp
Versionshantering
Idé: En logg
Måndag 13.00 Lade till två rader i fil1.txt
Måndag 13.10 Tog bort fil2.txt
Måndag 13.25 Skapa en ny fil bild1.jpg
Måndag 14.25 Lade till två rader i fil1.txt
… …
Hur man jobbar
Utvecklare
”Loggen”
push
”Loggen”
commit
Projektet
Vart pushar man koden?
Några verktyg…
Google
StackOverflow
Färgkodning
Den som sitter bredvid…
https://tjejerkodar.slack.com

Tjejer kodar 100 - Dag 1- intro och setup

Editor's Notes

  • #3 Kom i tid!
  • #4 Om ni ännu inte gått med, gör det! Jag kommer att posta länkar där till tutorials jag vill att ni ska följa.
  • #5 Låt aldrig någon annan skriva på din dator. Viktigt för att få in vanan i fingrarna. Skriv av istället för att kopiera. När du hjälper någon annan, låt den personen skriva själv Inga priser. Duktig => Erfarenhet. Hjälp varandra. Om du motiveras av mål, fokusera på målet att ha en sajt live på fredag eftermiddag. Tufft, men jag tror det går. Det är du som gör jobbet här. Ta ansvar för det, och se till att det blir så. Vi kan ge tips, råd, övningar, men det är inte säkert att det är rätt för dig. Behöver du anteckna? Gör det. Behöver du se flera förklaringar? Googla lite parallellt och läs på, allt det jag säger finns på internet.
  • #7 Här är sajten som vi kommer att bygga tillsammans. Frågesport. Något som är oklart med upplägget innan vi går in på dagens presentation?
  • #8 Del 1: Setup, Del 2: Versionshantering Ni med PC får gärna sätta er bredvid varandra!
  • #9 ”kodeditor” menar du ”konditor”?
  • #10 Ett sätt att beskriva en sekvens av saker man vill att datorn ska göra För att förklara: Tittar på ett enkelt steg, och gå tillbaka till hur det fungerade förr i tiden…
  • #11 Processorn: Sätt registret som kommer snart till ett. Register 0x1040. Ingen skriver maskinkod direkt, istället: skriver i assembler och översätt
  • #12 Bonus: Döpt efter Monty Python.
  • #13 Ändring från förra året, mycket kod/förklaringar som bara försvann
  • #14 Olika namn: eller ett program, ett python-script, eller att script En helt vanlig text-fil som man kan läsa i word om man skulle vilja En filändelse .py som gör att python känner igen att det är en python-fil Körs av python på samma sätt som en word-fil öppnas med word Enklaste sättet att börja experimentera är “terminalen”
  • #15 Kommando-prompten på PC (Din kan ha vit bakgrund, det spelar ingen roll, går att ändra i Inställningar) En utforskare/finder som är helt textbaserad Gör att man slipper använda musen, mer tangentbord Effektivt sätt att skicka saker från ett program till ett annat *Starta och skriv några kommandon* Det här ska ni få prova att latja med under tutorialsen.
  • #16 Potentiellt problem sen när ni installerar… Om installationsprogrammet frågar, svara JA! Googla ”update PATH PC”
  • #17 Ett sätt att skriva program en rad i taget, där man ser resultatet av varje rad för sig Bra för test (verkligheten: hel pythonfil som körs med `python fil.py`) Prova lite enkel python (Vi kommer gå igenom python senare)
  • #18 Det mesta man vill göra har någon redan gjort, onödigt att börja från början Istället: Använd saker som andra har gjort Finns stort bibliotek med kod PyPi ~90.000 paket med kod (varav jag har tre!) Många paket är tusentals rader kod När vi sen installerar Django så är det ett paket därifrån
  • #19 Kod är helt vanlig text, inget formatering eller fetstil Istället: Automatisk färgkodning för att göra koden lättare att läsa Finns massor av olika texteditors att välja mellan Vi kommer använda det populäraste just nu: Sublime Text Alternativ: Massor av kortkommandon: Emacs, Vim Förstår mer av pythonkoden: PyCharm, Visual Studio https://docs.google.com/document/d/1SrRUN7SEAv4hwb695god-wwBFfig4zREBD5Wj7S_jSQ/edit?usp=sharing
  • #20 Gratiskonto, max 18 av 24 timmar per dygn. Annars får man mail som säger ajja-bajja! $7/månad, dygnet runt Givet att ni inte kommer att surfa till er egen sajt dygnet runt, så går det alldeles utmärkt med gratiskonto. Jag har tre sajter som kör den utan att ha fått en enda varning.
  • #22 Förr i tiden (~15 år sedan) var det inte så vanligt med versionshantering (tyvärr finns det fortfarande företag som inte använder det!). Då utvecklade man kod på sin dator, och sen kopierade den till där den skulle köras. Klart! Varför är det ett problem? Inget sätt att ångra en uppdatering av koden. Om det visar sig att något fungerar lokalt men inte i produktionsmiljön Svårt att jobba flera personer samtidigt, hur vet man vilka filer man ska skriva över och inte? Ingen logg över vad som har ändrats
  • #23 Finns flera olika system för versionshantering: CVS, Subversion, Mercurial, Clearcase, Team Foundation (Microsoft), … Linus Torvalds: Linux Han är en manschauvinistisk skitstövel (som tur var tjänar han inget på att vi använder Git eftersom det är gratis)
  • #24 Idé: Lagra en logg över alla ändringar tillsammans med filerna: Ligger i en mapp som heter “.git” i samma katalog som projektet Varje gång man gör en ändring så håller git koll på exakt vilken rad som har ändrats. Sen gör man en “commit” för att ta den ändringen och lägga till den till loggen. Varje commit har också ett meddelande som förklarar vilken ändring man har gjort, gör att man får en läsbar logg som andra kan titta på: https://github.com/EmilStenstrom/django-components/commits/master?page=2
  • #25 Har vi löst problemen? Ångra: Titta på loggen och hoppa tillbaka till en äldre version “checkout” Jobba flera: Lättare att slå ihop två loggar (om jag har ändrat rad 10 och du rad 12 så går det ju mycket lättare att slå ihop “merge” Logg: Hela poängen med Git, “log”
  • #26 Vanligaste stället: Github (gratis för publika projekt, $7/månad för privata). Vi kör publikt, så det det är gratis, och det gör också att ni kan hjälpa varandra. Webbsajt för att se loggen, kommentera på andras ändringar, föreslå förslag. https://docs.google.com/document/d/1eFnBjFygw0g1JS_BHO_w-lyC8sUtN-6jeQGcM5Kdmac/edit?usp=sharing
  • #28 Någon har garanterat undrat samma sak som du undrar Börja med programeringsspråket, python, css, html, osv… På engelska alltid bäst träffar Lagom generell fråga: ”make left column purple” -> ”change background color”
  • #29 http://stackoverflow.com/ En frågor-och-svar för utvecklare Baserat på poäng till både de som ställer frågor och de som svarar => Bästa svaren bubblar Både nybörjarfrågor och extremt detaljerade expertfrågor Ofta en träff som kommer högt upp när man googlar, ta den! *Visa en sida och förklara de olika delarna*
  • #30 Kod är helt vanlig text, inget formatering eller fetstil Istället: Automatisk färgkodning för att göra koden lättare att läsa Finns massor av olika texteditors att välja mellan Vi kommer använda det populäraste just nu: Sublime Text Alternativ: Massor av kortkommandon: Emacs, Vim Förstår mer av pythonkoden: PyCharm, Visual Studio https://docs.google.com/document/d/1SrRUN7SEAv4hwb695god-wwBFfig4zREBD5Wj7S_jSQ/edit?usp=sharing
  • #32 Om ni ännu inte gått med, gör det! Jag kommer att posta länkar där till tutorials jag vill att ni ska följa.