TDP003 Projekt: Egna datormiljön

Relevanta dokument
Att bygga enkel webbapplikation i Docker

TDP003 Projekt: Egna datormiljön

Subversion. Laboration. Höstterminen 2008 r81. Ronny Kuylenstierna

Unix-miljöer i större sammanhang

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Avancerade Webbteknologier

Instruktion för användande av Citrix MetaFrame

Instruktion för användande av Citrix MetaFrame

Dokumentation för VLDIT AB. Online classroom

Webbservrar, severskript & webbproduktion

Laboration 3 HTML och struktur samt frågorna A - C övningar/uppgifter

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Linuxadministration I 1DV417 - Laboration 1 Installation. Marcus Wilhelmsson 15 januari 2013

Projektanvisning. Webbsideprojekt. Författare: Johan Leitet Version: 2 Datum:

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

TDP005, Projekt: objektorienterade system

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande:

TSKS06 - Rapportskrivning

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

Extramaterial till Matematik Y

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Laboration: Whitebox- och blackboxtesting

Inledning. Översikt Inledning. Parallell

Linuxadministration I 1DV417 - Laboration 1 Installation, användare och allmänt Linuxhandhavande

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

TDP002 Imperativ programmering. Laborationsmaterial emacs python-mode

Inledning LAMP Perl Python.

Använda Python Laboration 1 GruDat, DD1344

Kort om World Wide Web (webben)

Instruktion för användande av Citrix MetaFrame

Arbetsuppgift 1: På virtuell maskin med Ubuntuserver, skapa katalog och skapa Dockerfile. Skapa ny katalog i din hemmakatalog, med namnet webbserver.

Tillämpad programmering CASE 1: HTML. Ditt namn

TDP013 Node.js, JSCoverage, Mocha. Marcus Bendtsen Institutionen för Datavetenskap

Webbprogrammering. Sahand Sadjadee

HIGs Remote Desktop Service med Linux

Handledning för installation och komma igång med Joomla

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Webbprogrammering - 725G54 PHP. Foreläsning II

TSKS06 - Rapportskrivning

FLEX Personalsystem. Uppdateringsanvisning

Innehåll. Dokumentet gäller från och med version

Introduktion till programmering, hösten 2011

Grundkurs i programmering - intro

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

Instruktion för användande av Citrix MetaFrame

729G04 PYTHON 6 JODY FOO. Department of Computer and Information Science (IDA) Linköping University, Sweden

TDP001: Handhavande av datormiljö, 4 hp. Ola Leifler, Institutionen för datavetenskap

Kort-kort om utdelade användarkonton och datormiljön på NADA

BILAGA A till Programvaruprojekt ANVÄNDARKRAV MultiPC v1.0

TDDI16: Datastrukturer och algoritmer

Labora&on 3 HTML och struktur övningar/uppgi:er

CMS. - Content management system

emopluppen Installationsmanual

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg

Föreläsning 4. CSS Stilmallar för webben

Tips: Titta på relevanta genomgångar på webbplatsen

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Välkommen som användare av medietekniks och informatiks publika studentserver

Din guide till. Klientinstallation MS Driftservice

Teknisk testning för otekniska testare

LOTTA MANUAL. t.o.m. version Cederlund

Skriv före adressen och lämna bort www enligt modellen:

SKOLFS. beslutade den XXX 2017.

Zimplit CMS Manual. Introduktion. Generell Information

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

1. Hur öppnar jag Polisens blanketter / formulär, trycksaker och annat som är i PDF-format?

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Innehålls förteckning

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Kort-kort om utdelade användarkonton och datormiljön på NADA

Att arbeta med. Müfit Kiper

Programmering B PHP. Specialiseringen mot PHP medför att kursens kod i betygshanteringen heter PPHP1408.

Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016

Program. Kapitel make Program Interpreterande och kompilerande program

BaraTrav Prenumeration och Installation Version 1.3.4

729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 1 Jody Foo,

Installationsanvisningar

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

WEBBUTVECKLING Kursplanering

Redigering av dokument - SaveToServer

NetBeans 7. Avsikt. Projektfönster

Programmering i C++ Kompilering från kommandoraden

Versionshantering. Problem som uppstår i större (samt även mindre) projekt:

Emacs. Eric Elfving Institutionen för Datavetenskap (IDA)

Extramaterial till Matematik Y

Tfn Telephone. Kontr Checked. Skapa PDF-filer i Windows

Kapitel 1 Komma igång... 3

Copy Cat Laboration 4

Installationsanvisningar

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Paketinformation till utbildningswebb och utbildningskatalog

Projekt Foreläsning VI

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Referenshantering med Zotero 1

Mer information om RefWorks, andra referenshanteringsprogram och hur man refererar hittar du på Linköpings universitetsbiblioteks webbsidor.

Transkript:

. TDP003 Projekt: Egna datormiljön Egen utvecklingsmiljö Kursmaterial till kursen TDP003 Höstterminen 2017 Version 2.2 2017-06-30

2017-06-30 Egen utvecklingsmiljö INNEHÅLL Innehåll 1 Revisionshistorik 2 2 Introduktion 2 3 Installation av verktyg 2 4 Flask 3 4.1 Installera Flask............................................ 3 4.2 Testa Flask.............................................. 4 5 HTML-mallar för Python 4 6 Teckenkodning 5 6.1 Tips om Unicode........................................... 5 7 Webbverktyg 5 7.1 Utvecklarverktyg i Firefox och Chrome............................... 5 7.2 Selenium................................................ 5 Version 2.2 1 / 5

2017-06-30 Egen utvecklingsmiljö 3 INSTALLATION AV VERKTYG 1 Revisionshistorik Ver. Revisionsbeskrivning Datum 1.1 Översyn av språkmissar. Borttagning av en inaktuell bild i kapitel 2. Borttagning av 2013-08-26 inaktuellt stycke på slutet om enhetstestning. 1.2 Ersatt kapitel om Apache och mod_python med Flask. 2013-08-26 1.3 Uppdaterade instruktioner för Python3 samt installation av Flask. Skrev lite kort om 2014-08-27 Selenium. 2.0 Uppdaterat layout. Infogat tabell under Revisionshistorik. Information uppdaterad 2014-09-03 till 2014. 2.1 Datum och sidnummer i sidhuvud. Tagit bort referenser till Ubuntu. Refererar till 2014-09-08 HTML5 och CSS3. Rättstavning. 2.2 Bytt ut SVN mot Git. Använder dokumentmallen i LaTeX. 2017-06-30 2 Introduktion Detta dokument innehåller information om de verktyg som du kommer använda för Portfolioprojektet. Dessa verktyg är utvalda, inte bara för detta projekt utan även för att det är viktiga verktyg som du bör lära dig och som du sedan ska kunna använda fortlöpande under utbildningen. Samtidigt undviker vi att föregå utbildningen och använda verktyg som förutsätter kunskaper som nya IP-studenter inte förutsättas att ha. Avancerade ramverk, så som Django, undviks av denna anledning. Innan själva utvecklingsarbetet kan komma igång i ett projekt måste den egna datormiljön tas ett steg vidare till att bli en utvecklingsmiljö. Detta innebär att er datormiljö måste ställas i ordning för att stödja det tekniska arbetet. Främst gäller här att installera och lära sig de verktyg som ska användas. Det brukar även vara bra att börja lära sig mer om den teknik som ska användas i det färdiga systemet, i vårt fall portfoliosystemet. I denna kurs stödjer vi sammanställandet av denna miljö i detalj, men i senare projektkurser förutsätts du normalt göra denna typ av förberedelser självständigt. 3 Installation av verktyg Din arbetsmiljö ska utgöras av följande: Linux Python3.3+ (finns ofta förinstallerat) Git Emacs med python-mode (och stöd för Git, kika på magit). Grafikverktyg t.ex. GIMP Sök reda på de paket ni saknar och installera dem med lämpligt metod (t.ex. med apt). I kursen använder vi Git. Det är baserat på öppen källkod, gratis och har ett brett stöd för olika operativsystem. Gällande Git behöver ni bara installera klientpaketet. Gitservern ni ska använda körs centralt på IDA. Läs mer om installation av Git under kursen TDP001 (https://www.ida.liu.se/~tdp001/). Verifiera att installationen gått bra genom att starta och bekanta er med de nya programmen. Vid projektstart rekommenderas att ni installerar och bekantar er med följande tekniker. Mer detaljkunskap lär ni er när aktuellt moment nås. Version 2.2 2 / 5

2017-06-30 Egen utvecklingsmiljö 4 FLASK Tekniker som kommer att användas: HTML5 CSS3 Flask webbramverk Jinja2 mallspråk för webbsidor 4 Flask I kursen kommer ni utveckla webb-delen till ert portfoliosystem med ett ramverk som heter Flask. Flask är ett så kallat mikro-ramverk för Python, byggt för att underlätta utvecklingen av mindre webbplatser. I kursen kommer vi även använda oss av Flasks inbyggda webbserver för att underlätta vår utveckling av projektet. Dock går det utmärkt att köra ett system utvecklat med Flask på andra webbserverar, exempelvis Apache. 4.1 Installera Flask Det finns ett flertal olika sätt att installera Flask. Det som presenteras är ett av de som fungerar enkelt i Linux. I en terminal, ge följande kommandon: >> sudo apt get update # a l l t i d bra a t t göra >> sudo apt get i n s t a l l python s e t u p t o o l s #kan vara f ö r i n s t a l l e r a d #hämta get pip. py f r å n : https : / / packaging. python. org /en/ l a t e s t / t u t o r i a l. html#i n s t a l l i n g t h e t o o l s >> sudo python3 get pip. py #om e j i n s t a l l e r a d per d e f a u l t >> sudo pip3. 4 i n s t a l l f l a s k #j i n j a 2 i n s t a l l e r a s också Version 2.2 3 / 5

2017-06-30 Egen utvecklingsmiljö 5 HTML-MALLAR FÖR PYTHON 4.2 Testa Flask Skapa en fil som heter test_flask.py och öppna den i Emacs. Skriv/kopiera in följande Pythonkod: from f l a s k import Flask app = Flask ( name ) @app. route ( / ) def h e l l o ( ) : return Flask h ä l s a r välkommen t i l l TDP003 i f name == main : app. run ( ) Kör sedan (i samma katalog som filen): python3 t e s t _ f l a s k. py Öppna url:en http://127.0.0.1:5000 i valfri webbläsare. Du bör då se något i stil med: Ni har nu startat Flasks inbyggda webbserver och skrivit er första minimala webbapplikation. Ni behöver, just nu, inte oroa er för att ni inte förstår kod-snutten eller vad som händer i bakgrunden. 5 HTML-mallar för Python Det som återstår är ett hjälpbibliotek för Python som förenklar skapandet av webbsidor med dynamiskt innehåll. Det finns ett flertal motorer för mallspråk till Python, vi rekommenderar att ni använder Jinja2, vilket även installeras tillsammans med Flask. Version 2.2 4 / 5

2017-06-30 Egen utvecklingsmiljö 7 WEBBVERKTYG 6 Teckenkodning OBS: viktigt! När man lagrar text i filer (eller databaser) eller överför den i form av en webbsida måste man hålla reda på teckenkodningen. Ursprungligen använde man bara engelska bokstäver och en del andra tecken (ASCII) men det duger ju inte idag! För att kunna använda alla olika tecken som finns kan de flesta programmeringsspråk idag hantera Unicode. Unicode lagras oftast med hjälp av kodningen UTF-8, men det finns även UTF-16 och UTF-32. I portfolioprojektet kommer vi att använda teckenkodningen UTF-8 för såväl datalagringen som utdata som skickas till webbläsaren. Det finns många saker som talar för detta val: Utrymmessnålt Stöds av Python Standard för HTML5-dokument Standard för utdata i mallar 6.1 Tips om Unicode I den bästa av världar fungerar det här idag av sig självt, men det är ändå viktigt att se till att hela kedjan från indata till utdata sker i samma teckenkodning. Se till att ha till exempel svenska tecken i testdata så att eventuella problem kan upptäckas! I Python3+ används Unicode som standard. Men Unicode är inget teckenspråk i sig, utan är mer av en container. Unicode kan sedan implementeras med olika typer av teckenkodningar, där ni ska se till att den utgörs av UTF-8. Ni kan läsa mer om Unicode på bland annat http://www.unicode.org. Det finns fortfarande moduler i Python som inte hanterar Unicode av sig själva. Ni får ta reda på det här och hitta vägar runt eventuella problem. 7 Webbverktyg 7.1 Utvecklarverktyg i Firefox och Chrome Både Firefox och Chrome innehåller verktyg för att inspektera och felsöka HTML-, CSS- och JavaScriptkod i en webbsida. Dessa kommer man i Firefox åt genom att trycka Ctrl-Shift-I, eller genom att högerklicka i sidan och välja Inspektera. 7.2 Selenium Selenium är ett program för att skapa automatiserade manuella tester. Ni kommer att använda Selenium senare i andra kurser, men har redan nu möjlighet att bekanta er med verktyget. http://www.seleniumhq.org/ Version 2.2 5 / 5