Författare: Sandra Hindskog

Mini-intervju: Katarina Sjölund

Här kommer en intervju med  Katarina Sjölund , tidigare student på Technigo Boot Camp. Hon bytte sin tidigare roll som designer till Frontend utvecklare

BERÄTTA KORT OM DIG
Mitt namn är Katarina Sjölund, jag har en bakgrund inom grafisk design och marknad men har precis fått en anställning som frontend utvecklare efter att ha gått Technigos boot-camp. På något sätt kändes det som att frontend utveckling liksom kom som en naturlig följd av mina tidigare erfarenheter inom design, layout och marknad, går lite hand i hand enligt mig, även om tekniken var helt ny och verkligen en stor utmaning Problemlösning är ju verkligen en central del av web/app-utveckling. Sedan är ju användargränssnittet och funktionaliteten en väldigt intressant bit för mig som designer.

VAD GILLAR DU MED PROGRAMMERING?
Tror det är problemlösning i kombination med att sakta se en site/app växa fram med kod som jag skrivit. Är så belönande på något sätt samtidigt som det kan vara väldigt frustrerande när en inte får till det, kan verkligen pendla snabbt mellan känslan att vara en total idiot till att bli överlycklig över att få koden att fungera. Det har nog varit, och är, en av de tuffaste utmaningarna med att börja programmera. Men är väldigt kul, vilket väger upp och det är tur att det finns så många duktiga runt ikring att fråga och inspireras av!

 Läs mer om Technigo

Mini-intervju: Sanna Cedergren

✨Träffa Tjejer Kodars nya lärare – Sanna Cedergren @sceder  Hon kommer hålla i en av kurserna i Berlin.

BERÄTTA LITE KORT OM DIG
Jag föll för programmering under mitt första år på KTH där jag fick skriva mitt första spel – ett memory i Python – och insåg att kod var det perfekta verktyget för att använda min logiska läggning till något kreativt. Efter studierna valde jag att fortsätta med utvecklingen, som konsult hos Netlight, och har sedan dess gjort allt från att utveckla fitnessappar och online video spelare till att leda utvecklings team inom e-commerce och fintech runt över Europa.

VAD ÄR DET BÄSTA MED ATT JOBBA INOM TECH?
Oj, vart ska jag börja? Först och främst är det otroligt varierande, jag får jobba med allt från tekniska och kreativa lösningar till affärsutveckling och teambuilding. Tech är även fullt av intressanta, smarta och inspirerande människor som gör det ännu roligare. På toppen av detta så öppnar tech upp möjligheter att jobba i hela världen (man pratar javascript i Tyskland också liksom) vilket passar min rastlöshet perfekt!

Läs mer om vår kodresa till Berlin. 

Vad är API?

Text skriven av Sandra Svensson.

Ett av kodknackarens vanligaste begrepp.

Du har säkert sett eller hört förkortningen API, ett uttryck som man ganska snart råkar på när man börjar koda. Men vad betyder det egentligen? API, Application Program Interface, är ett slags protokoll som används för att program (även kallat applikationer) enklare ska kunna snacka med varandra. En slags tolk, som kommunikationen går genom.

Exempel 1: En app hämtar information eller funktioner från en annan app

Säg att du har en väderapp i din telefon. För att den ska kunna fungera måste den hämta väderprognoser. Kanske vänder den sig till SMHI:s webbapp. Väderappen kan förstås ha programmerats till att gå in på SMHI.se för att hämta informationen därifrån, ungefär som du eller jag själv kan göra. Men detta hade lätt kunnat leda till problem. Om SMHI ändrar sin hemsida till exempel. Appen är programmerad att hämta information från förstasidan, men informationen har flyttats till en annan sida.

Här är API en mer robust lösning. Eftersom väderappen är ett program kan den prata med SMHI:s API för att hämta ut data. Detta sker enligt API:ets regler (också kallat dokumentation) som säger ”så här ska du prata för att jag ska förstå” och ”så här förstår du det svar jag kommer skicka tillbaka”.

Exempel 2. Ett program på datorn snackar med operativsystemet

API:er finns inte bara på www, utan även i din dator. Exempelvis kommunicerar ditt ordbehandlingsprogram (t.ex. Word) med ditt operativsystem (t.ex. Windows) när du vill skriva ut något på din skrivare. Kommunikationen sker då via operativsystemets API.

Word säger ”Hallå Windows, jag vill skriva ut det här receptet på sötpotatissoppa”. Windows säger ”Okok, jag ska snacka med skrivaren” och beordrar sedan skrivaren att printa ut receptet.

API:er gör att program som är bra på en sak får göra just den saken. Windows är bra på att hantera flera program samtidigt och på att snacka med skrivaren. Word kan då koncentrera sig på att göra vad Word gör bäst, till exempel göra konstiga indrag i en text utan att man bett om det.

Vad är öppna API:er?

Om ett program har ett öppet API så kan vem som helst använda sig av det i sina egna program. Som i det första exemplet med väderappen. Och API:er är ju lite som byggstenar, som kan användas tillsammans med varandra. Ju fler byggstenar som finns tillgängliga, desto fler grymma projekt kan byggas. Man kan till exempel tänka sig ett program som använder sig av SMHI:s API och Booli:s API för att visa vilket hus man bör köpa för att få flest soltimmar per år.

5 exempel på populära API:er

Exakt hur många API:er det finns där ute vet jag inte. I don’t have the technology. Men testa att googla efter några av dina favorittjänster, till exempel “instagram api”, så ser du snart att de flesta har ett (mer eller mindre) tillgängligt API. Här är några andra populära API:er, som också är ganska lätta att arbeta med för nybörjare inom programmering.

1. Google Maps
2. YouTube
3. Twitter
4. LinkedIn
5. Pinterest

Bubblare: Jag vet inte hur populärt eller lättanvänt det är, men även NASA har ett öppet API. Om inte DET motiverar en till att vilja lära sig programmera, så vet jag inte vad som gör det.

Såhär hämtar du bilder från instagram, UTAN screenshot!

Trött på att sitta och ta exakta screenshots till dina mockups? Well fear no more! Såhär sparar du ner bilder från instagram, OCH öppnar de i Photoshop!

Ni vet när en ska spara ner en bild från sin instagram och det går inte? Fett jobbigt, och enda lösningen för mig var länge att ta en screenshot där jag sedan fick croppa bort kanterna jag råkade få med. Men fear no more, här kommer en lösning som får dig att se ut som en hacker (iaf för din oerfarne vän).

Precis som i Marias guide om hur du kan använda kod i arbetet ska vi använda oss av komponentgranskaren. Jag jobbar i webläsaren Chrome men det funkar i Firefox också. Här visar jag hur jag sparar ner en av mina egna bilder, det blir av någon anledning det jag behöver oftast. Here we go:

Steg ett – gå till bilden du vill ha i din webbläsare.

Steg två – högerklicka och välj inspect.

Nu är komponentgranskaren öppen. Här ser du massa grejer som du inte behöver bry dig om just nu. Dra ut fönstret så att du ser “Resources”, och klicka där.

Nu är du på resources och har en klassisk mappstruktur till vänster. Klicka in dig på Frames > (www.instagram.com/) > Images

Här hittar du lätt bilden du vill ha. Men observera att den finns i både 640×640 och 1080×1080. Högerklicka på den du vill ha, välj “Open image in new tab”.

Bilden öppnas nu i en ny flik i din webläsare, gå in på den och spara enkelt ner bilden som vanligt genom att högerklicka och välja “Save Image As…”

Ta-daa! Du har nu bilden sparad. Om du bara ska ladda upp den som t.ex profilbild på facebook eller liknande är det klart nu. Men om du vill öppna den i t.ex photoshop för att använda bilden i en mockup eller liknande måste en tyvärr göra ytterligare en grej. Om du försöker öppna den nuvarande .jpg-filen kommer du få ett felmeddelande (se nedan). Detta beror på instagram, och med tanke på hur länge det har varit på det här sättet är det nog inget de vill åtgärda.

Följande steg behöver du alltså bara göra om du vill öppna bilden i photoshop eller annat liknande program:

Öppna bilden i “Preview”, välj File/Export… och spara som en ny .jpg med högsta kvalité. YES! Bilden går nu att öppna i photoshop!

5 grymma Python-resurser för nybörjaren

Text skriven av Sandra Svensson.

Python är språket för nybörjaren. Här börjar du.

Python kan användas för en mängd olika uppgifter, stora som små. Med Python kan du bygga spel, skapa program som hämtar information från webbsidor (så kallad webbscraping), eller skapa en kattdetektor (tillsammans med microdatorn Raspberry Pi). Python används också i webbutveckling – bland annat Pinterest, The Guardian och Instagram är byggda med Python som grund. Men innan du kommer så långt måste du förstås lära dig språket. Här är fem ställen att börja på.

1. Coursera – Python for Everybody

På Coursera hittar du en mängd olika onlinekurser från universitet som till exempel Princeton, Stanford och University of Michigan. Den sistnämnda institutionen håller i ”Python for Everybody”, fem videobaserade kurser ledda av den superpopulära läraren Dr. Charles Severance (känd som ”Dr Chuck” bland sina elever). Kursen går igenom allt ifrån grunderna i Python, till hur man skriver enkla webcrawlers och webscraping-program med samma språk. Kunskapstester, kluriga inlämningsuppgifter och en tillhörande kursbok ingår också. Allt är gratis så länge man inte vill ha kurscertifikat, förutom den sista delen, kursens ”Capstone”. Första kursen i serien är Programming for Everybody.

Fördelar: Du lär dig programmera. Kursen guidar dig i hur du installerar Python och hur du sätter upp en utvecklingsmiljö. Du kommer att lära dig grundkoncept inom programmering och även få bygga program själv. Dessutom får du lära dig lite internethistoria!

Nackdelar: Gillar du inte videobaserade kurser så kanske det här inte är något för dig. Å andra sidan så gillade inte jag videobaserade kurser innan jag råkade på denna och insåg hur pedagogiskt formatet kan vara när det används rätt.

2. Codecademys Python-spår

Codecademy sägs ofta vara en bra sida för nybörjare. Deras Python-spår fungerar lite som Codecademy verkar göra i övrigt – man slängs in i språket och får lära sig genom att lösa enklare uppgifter direkt i webbläsaren. I början får man en lättsam, rolig introduktion till språket – sedan ökar svårighetsgraden.

Fördelar: Du får snabbt en känsla för programmeringsspråket, utan att du behöver installera en massa program först. Ett enkelt sätt att testa på Python, kanske för att sedan jämföra med något annat språk som sidan erbjuder.

Nackdelar: Du får inte testa på att programmera ”på riktigt”. Det kan vara svårt att förstå vad du egentligen kan använda Python till, när du bara skrivit Python-kod i browsern. Kursen ger heller ingen djupare förståelse för språket eller för programmering i allmänhet, något som märks när problemen är svårare och man inte har en aning om hur man ska lösa dem då man inte fått lära sig ”tänka som en programmerare”.

3. Learn Python The Hard Way

Första ”boken” på listan! Learn Python The Hard Way säger sig vara skapad för den som vet absolut NADA om programmering. Boken bygger till stor del på att man ska lära sig genom att koda, koda, koda och sedan koda lite till. ”The Hard Way” handlar alltså inte om svårighetsgraden, utan om att man verkligen nöter in kunskaperna genom många timmars kodknackande.

Fördelar: Precis som i Coursera-kursen så kommer du att lära dig sätta upp en utvecklarmiljö och sedan koda i den. Kursen inkluderar också en sjukt bra ”Crash Course” till Terminalen/Kommandopromptern, något du kommer ha nytta av i resten av ditt hackerliv. Du kommer också att skriva många rader Python-kod, vilket kan vara ett bra sätt att få syntaxen att fastna i skallen.

Nackdelar: Det var det där om The Hard Way. Att nöta in kod genom att om och om igen skriva av exempel från en bok är knappast en lärostil som passar alla. Vissa recensioner på Amazon.com menar också att det saknas djupare förklaringar av vissa moment och att boken alltför ofta säger ”om du vill veta mer, googla”.

4. Think Python – How to Think Like a Computer Scientist

Andra ”boken” på listan! Think Python är riktad till såväl nybörjare som till personer med förkunskaper i programmering. Den går in på djupet i språket och i grundkoncept inom programmering – den ämnar ju lära ut hur man ska tänka som en Computer Scientist! Utöver en grym teoribas så inkluderar boken flera övningar att sätta tänderna i, debugging-exempel, ordlistor och annat matnyttigt.

Fördelar: Du lär dig förstå programmering på riktigt och får gedigna kunskaper i hur Python fungerar. Jag har hört flera personer namnge denna bok som det som fick dem att lära sig Python, istället för att bara lära sig några rader kod. (Som att lära sig spanska, tänker jag, istället för att bara lära sig hur man säger ”una cerveza por favor”.)

Nackdelar: Det här är INTE en bok för den som vill ”lära sig Python på 30 dagar” (om nu det ens är möjligt eller eftersträvansvärt att göra det). Det här är en bok för den som vill bli utvecklare på riktigt. Den ger gedigna kunskaper, men kräver samtidigt en del förkunskaper. Jag fastnade på matten ganska snart – här krävs det att man har bra koll på just matematiken för att ta sig igenom övningarna.

5. Automate the Boring Stuff With Python

Tredje ”boken” på listan! Den här inleds med orden ”Everyone should learn to code, but not everyone needs to become a software engineer or computer scientist.” Automate the Boring Stuff riktar sig till den som vill lära sig att göra specifika grejer med Python. Till exempel byta namn på en massa filer i en mapp, gå igenom tusen Excel-rader för att hitta några specifika fält som ska uppdateras eller kopiera data från en mängd PDF-filer. Inga förkunskaper behövs.

Fördelar: Utöver att du får lära dig grundläggande byggstenar i Python, så får du också direkt använda dem till att bygga användbara verktyg. Många kurser lär ut programmeringsspråk med exempelövningar som kanske är svåra att förstå vitsen med (”varför ska jag skriva ett program som räknar ut vinkeln av en viss triangel?”, här ges istället exempel som man direkt kan ha nytta av.

Nackdelar: Jag har själv inte använt mig av den här boken, så jag försökte leta upp några mindre positiva recensioner av den för att ge en mer balanserad bild. Men det verkar knappt finnas några? De få som jag har sett tycker att den ger en för ytlig introduktion till Python och att IRL-varianten av boken är för dåligt bunden.

Tjejer Kodar är ett initiativ organiserat av Technigo AB.
Org. nr 559051-8030, Asogatan 122, 116 24 Stockholm


© Tjejer Kodar