IMM-B.Eng NYHEDSSØGEMASKINE. Hasim Coskun. Eksamensprojekt, Diplom IT. Danmarks Tekniske Universitet. Vejleder.

Størrelse: px
Starte visningen fra side:

Download "IMM-B.Eng-2010-36 NYHEDSSØGEMASKINE. Hasim Coskun. Eksamensprojekt, Diplom IT. Danmarks Tekniske Universitet. Vejleder."

Transkript

1 IMM-B.Eng NYHEDSSØGEMASKINE Hasim Coskun Eksamensprojekt, Diplom IT Danmarks Tekniske Universitet 2010 Vejleder Finn Gustafsson

2 Abstrakt Implementerer en parser prototype i PHP til en nyhedssøgemaskine. Parseren skal udvikles så den kan fungere på et valgt nyhedsbureau, som er Søgemaskinen skal kunne give brugeren muligheden for, at foretage søgninger på forskellige sprog og samtidig automatisk detektere, hvilket sprog brugeren har indtastet i en eventuel søgning. Oversættelse og sprog detektion skal udvikles således at der benyttes Google s API og dermed deres Google Translate funktionalitet. Søgemaskinen skal være up to date hvad angår design, og derfor skal det lægge sig tæt op ad Web 2.0 farver, skrifttyper mm. Inden denne parser prototype implementeres, skal der forskes og undersøges nærmere omkring hvordan nuværende søgemaskiner, såsom Google fungerer. Dette vil danne grundlag for, hvordan den mest optimale parser kan blive udviklet og dermed give ideer til udvikling af Nuttot s parser prototype. Danmarks Tekniske Universitet Side 1 af 91

3 Forord Denne rapport er udarbejdet af Hasim Coskun i forbindelse med det afsluttende eksamensprojekt på Diplomingeniør studiet ved Danmarks Tekniske Universitet. Projektet er en idé jeg selv har fundet på og ved vejledning af Finn Gustafsson er det blevet en realitet. Vejlederen på projekt har været Finn Gustafsson fra IMM DTU. Der er vedlagt en CD med kildekode bagerst i rapporten. På baggrund af denne rapports udførelse vil jeg gerne sige mange tak til Finn Gustafsson for hans hjælpsomhed og gode vejledning. DATO: UNDERSKRIFT: HASIM COSKUN S Danmarks Tekniske Universitet Side 2 af 91

4 Indholdsfortegnelse 1. INDLEDNING 6 2. PLAN 7 3. KRAVSPECIFIKATION BRUGERGRÆNSEFLADEN DATABASEN FUNKTIONALITET 8 4. TEORI GOOGLE PAGERANK SEO SPIDER & CRAWLER BOTS KONKLUSION ANALYSE SPROG DETEKTOREN PROBLEMATIKKEN I EN SPROGDETEKTOR LØSNINGSMODELLER ORDBOG BASERET (MODEL 1) ORDBOG & ENDELSER BASERET (MODEL 2) DATABASEN (MYSQL) LØSNINGSMODELLER MYSQL VS. MSSQL VS. POSTGRESQL MYISAM VS. INNODB AUTO INCREMENT VS. MANUEL INCREMENT NØGLER KOLLATION (TEGNSÆTNING) SQL INJECTION INDEXES FUNKTIONALITET (PHP) LØSNINGSMODELLER PHP VS. ASP.NET HTML VS. XHTML CSS JAVASCRIPT & AJAX DESIGN 29 Danmarks Tekniske Universitet Side 3 af 91

5 6.1. GRÆNSEFLADE DATABASEN (MYSQL) RELATIONER ER-DIAGRAM DATABASE MODEL DATABASE OVERSIGT FUNKTIONALITET (PHP) PARSER LINK CRAWLER BOT TRANSLATOR BOT SPROGDETEKTOR SØGEALGORITME IMPLEMENTERING GRÆNSEFLADE SØGEFELT SPROGDETEKTOR OVERSÆTTER VIRTUELT TASTATUR PREVIEW LOGO SØGERESULTAT BRUGERVENLIGHED WEB FARVER SKRIFTTYPER DATABASEN (MYSQL) ORIGINAL TRANSLATIONS URL SUPPORTED LANGUAGE SEARCH HISTORY SQL OPERATIONER FUNKTIONALITET (PHP) INSTALLATION CRONJOBS REGULÆRE UDTRYK LINK CRAWLER PARSER BOT TRANSLATION BOT KLASSEDIAGRAM SCRIPT & OOP GOOGLE API FREMTIDIGE FORBEDRINGER CLUSTER SPECIALTEGN I SØGESTRENG 59 Danmarks Tekniske Universitet Side 4 af 91

6 8. TEST VALIDERING BLACKBOX VIRTUELT TASTATUR SØGEFELT SPROGDETEKTOR TASTATUR SØGNING (MED OVERSÆTTELSE) SØGNING (UDEN OVERSÆTTELSE) SØGERESULTAT FUNKTIONER CRONJOBS BROWSER TEST KONKLUSION KONKLUSION BILAG LITTERATURLISTE NUTTOT MANUAL TEST BILAG 68 Danmarks Tekniske Universitet Side 5 af 91

7 1. Indledning Projektets formål er at udvikle en nyhedssøgemaskine som udskiller sig fra andre nuværende søgemaskiner ved at give brugeren en helt ny måde at søge efter nyheder på. Derfra kommer ideen om at kunne søge efter nyheder på andre sprog. Jeg vil på baggrund af Google s udgivelser og de artikler jeg har læst, forsøge at give et overordnet billede af hvordan Google s søgemaskine fungerer og forsøge at drage paralleller fra dette, således at disse kan benyttes i min egen nyhedssøgemaskine, Nuttot. Der skal anvendes en række værktøjer samt programmeringssprog, for at gøre Nuttot til en realitet. Disse består af følgende: - PHP (både script baseret og OOP) - MySQL - AJAX - JavaScript - CSS - HTML - Google API - Adobe Photoshop CS4 (billedbehandlingsværktøj) - PhpED (PHP udviklingsværktøj) Rapporten er opdelt i følgende emner: - Plan - Kravspecifikation - Teori - Analyse - Design - Implementering - Test - Konklusion - Bilag Disse ovenstående emner er opstillet og valgt, så de giver læseren et overblik over rapportens indhold. Danmarks Tekniske Universitet Side 6 af 91

8 2. Plan Tidsplanen er meget statisk sat op og mest brugt for blot at holde øje med deadlines. Der vil altid opstå situationer, hvor man er nødt til at gå tilbage for at rette i ens analyse eller design mens man f.eks. er i implementeringsdelen. Derfor er det meget smart med en planlægning, som angivet i Figur 1. Figur 1: Tidsplanen Danmarks Tekniske Universitet Side 7 af 91

9 3. Kravspecifikation For at Nuttot kan leve op til de nuværende søgemaskiner, kræver det at der opfyldes en række krav. Disse krav er både gældende for databasen, funktionaliteten og ikke mindst brugergrænsefladen Brugergrænsefladen Der skal benyttes levende farver, som lægger sig tæt op af Web 2.0. Der skal benyttes skrifttyper som er let læselige for brugeren og samtidig lægger sig tæt op af Web 2.0. Brugeren skal have et overblik over sidens indhold. Søgninger skal kunne foretages meget let. Det skal gøres klart og tydeligt, hvad Nuttot er og hvad den kan bruges til Databasen Der skal være en tabel i databasen for alle de sprog Nuttot understøtter. Alle oversættelser af nyheder skal findes i databasen. Der skal være understøttelse for tegn udover de danske alfabeter, således at der benyttes en UTF8 standard. Der skal være så meget optimering som muligt, for at få en høj performance. Der skal være sikkerhed, så der ikke kan udføres SQL injektioner. Database designet skal opfylde 3. normal form, 3NF Funktionalitet Automatisk sprog detektion skal returnere det sprog, brugeren har indtastet. Brugeren skal kunne oversætte et søgeord eller en sætning og søge på dette. Brugeren skal have overblik over søgeresultaterne, således at man kan referere til dem. Maksimum 20 søgeresultater skal udskrives pr. side. Søgeresultaterne skal sorteres efter mest relevante nyheder. Der skal være et preview funktion for brugeren, så man ikke behøver at forlade søgeresultatsiden for at se indhold af nyheden. Danmarks Tekniske Universitet Side 8 af 91

10 4. Teori 4.1. Google Google 1 er uden tvivl verdens største søgemaskine, som i øjeblikket benyttes af internet brugere verden over. Dette skyldes dels, at man stort set kan finde det man søger efter på Google og at den er utrolig simpel at benytte. Desværre offentliggør Google ikke noget omkring deres web crawlers mht. hvordan disse fungere. Dog er de ikke alene omkring dette, da Yahoo og Bing ligeledes heller ikke forklarer, hvordan deres søgemaskiner er opbygget. Det er selvfølgelig forstået, at ingen af dem offentliggøre deres metoder, da det vil være en stor ulempe for deres markedsføring. Google udgiver ingen konkrete informationer omkring hvordan deres søgemaskine fungerer, men de udgiver dog en masse andet, som kan hjælp med at gætte sig frem til deres søgealgoritmer. De udgiver f.eks. en masse artikler omkring deres PageRank 2 system og omkring, hvad der skal til for at komme højere op i søgeresultaterne, som også kaldes SEO PageRank Et søgeresultat fra Google sorteres bl.a. ud fra et numerisk PageRank værdi, som repræsenterer hvor betydningsfuld en hjemmeside er på nettet. Værdien af PageRank ligger i virkeligheden i et interval mellem 0.15-milliarder, men vises som et interval mellem 0-10, hvor 0 er den mindste værdi og 10 er den højeste. Google har specielle algoritmer, som udelukkende definerer PageRank værdier på de hjemmesider, som deres web crawlers finder frem på internettet. Disse algoritmer går ind og finder ud af om, en hjemmeside har indgående links og udgående links, dog er det indgående links, som spiller en speciel rolle i PageRank. Google anser nemlig at, hvis en hjemmeside har indgående links fra andre hjemmesider, så må denne hjemmeside have en større værdi og derfor får den en større PageRank SEO Google anbefaler at man opbygger sin hjemmeside ud fra deres kriterier, hvis man selvfølgelig ønsker at have en hjemmeside, som er SEO venlig. De mener at, hvis en webside er SEO venlig, så er den også kodet korrekt. 1 Google er en søgemaskine til internettet. Google anses som den største søgemaskine på internettet i dag, da den har over 200 millioner forespørgsler om dagen. 2 Google PageRank (systemet som, definere hvor en hjemmeside ligger i søgeresultaterne). 3 Search Engine Optimization (Søgemaskine Optimering) Danmarks Tekniske Universitet Side 9 af 91

11 Google mener at en hjemmeside er SEO venlig, hvis den gør brug af alle HTML tags de rigtige steder. En stor fejl, som mange web udviklere kommer til at lave, er bl.a. at de ikke benytter H1, H2 og H3 tags til henholdsvis hovedtitler, undertitler mm. Man benytter nemlig ofte i stedet CSS med en simpel <font> tag, og derved kun ændrer størrelsen. Problemet er dog, at Google opfatter <font> tags, som normal tekst, i stedet for f.eks. en overskrift. Benyttelse af alle HTML tags de rigtige steder er dog desværre ikke nok, da der vel og mærke vil forekomme et stort problem på søgeresultaterne, da alle webudviklere sagtens har mulighed for, at opbygge en hjemmeside ud fra Google s anvisninger. Derfor vælger Google at udføre særlige algoritmer, som tjekker et websites indhold for om, der er sammenhæng med de keywords man har defineret i hjemmesidens META TAGS Spider & Crawler bots Web crawlers, spiders og crawler bots kaldes de, men Google kalder det en, spider 5. Det er Google s mange spidere, som er starten på Google s søgemaskine. Den kaldes en spider, fordi den kravler rundt fra website til website, altså realt set vil de aldrig stoppe, da der altid bliver oprettet nye links, domæner og websites. Denne spider starter på et website og undersøger dette website for alle eksisterende hyperlinks, både intern og eksternt. Alle disse links bliver herefter gemt i en database, med unikke id er (Figur 2). Dette er primært spiderens opgave, altså at finde hyperlinks og fylde databasen med links, som er klar til at blive gennemløbet af crawling bots. Crawler bots er modsat en spider langt mere intelligente, hvad angår undersøgelse af et website. Når en crawling bot er sat i gang, bliver der sendt en vilkårlig url adresse fra databasen, som spideren i forvejen har fyldt op med links. Crawleren vil dernæst gå ind på det modtagne url og gennemløbe websiden igennem for at producere et dokument, som er klar til udarbejdelse senere af andre algoritmer. Det endelig dokument vil blive tildelt et unikt id og vil udelukkende være baseret på rent tekst og samtidig få tildelt en PageRank værdi. Dette dokument vil selvfølgelig blive gemt på Google s databaser og servere. Det vil blive gemt på Google s servere, da Google har Cached 6 funktionalitet indbygget. 4 Meta tags er data information, som sættes ind i <head> sektionen i HTML dokumenter. Meta tags kan for eksempel fortælle browseren, hvilket sprogtegn (character set), der benyttes. 5 Google spider bot. Fungerer reelt set, som en edderkop som udforsker WWW (World Wide Web) hele tiden. 6 Cached funktionen giver mulighed for at se et levende skærmbillede af en allerede crawlet og gemt hjemme, blot med den forskel at man får lov til at se, hvordan siden så ud på det tidspunkt den blev crawlet. Danmarks Tekniske Universitet Side 10 af 91

12 Figur 2: Viser hvordan en Google spider fungerer. Google benytter herefter en masse algoritmer samtidigt og jonglere rundt med ordene i de enkelte dokumenter for at skabe en kæmpe oversigtsdatabase, for hvert dokument. De tager hvert ord i et dokument og gemmer dette i en database, og ud fra dette ord, gemmer de dokuments unikke id, som ordet er blevet fundet i (Figur 2). Denne metode giver dem muligheden for ikke at søge igennem alle dokumenter, men i stedet nøjes med at søge i den aktuelle database, som indeholder ordene og dokumenternes unikke id (Figur 3). Danmarks Tekniske Universitet Side 11 af 91

13 Figur 3: Viser hvordan Google overordnet fungerer. Disse beskrevne metoder som Google benytter er dog ikke nogen forklaringer på, hvordan det kan være at Google er en så hurtig og effektiv søgemaskine, til netop at finde det som man forespørger ud fra millioner af søgeresultater. Denne høje performance skyldes dels smarte algoritmer, men samtidig også et smart valg af beregningsudstyr, som f.eks. et Cluster dvs. de udnytter effekten ikke kun en, men flere sammenkoblede computere (yderligere beskrevet under afsnittet Design ). Danmarks Tekniske Universitet Side 12 af 91

14 Konklusion Det største problem ved at beskrive Google s metoder og løsninger er, at meget af det består af gæt og teorier, da de ikke direkte forklarer, hvordan deres algoritmer fungerer, hvilket mest skyldes pga. det store marked for SEO. De hidtil beskrevne metoder og forklaringer er udelukkende mine egne iagttagelser og opfattelse af, hvordan en store søgemaskine som Google i virkeligheden fungerer. Danmarks Tekniske Universitet Side 13 af 91

15 5. Analyse 5.1. Sprog detektoren Problematikken i en sprogdetektor Det er utrolig svært at udvikle en sprogdetektor, som automatisk bestemmer sproget ud fra det brugeren har indtastet. Dette skyldes til dels, at man er nød til at udvikle mange avancerede algoritmer, som kan læse contexten før der defineres et sprog. Dog er contexten ikke det eneste problem ved en sprogdetektor, da der sagtens kan optræde sammenligninger ved flere sprog på samme tid, som f.eks. de skandinaviske sprog. Norsk og Dansk er blot et af de mange sprog, som har flere ord tilfælles og som staves på samme måde. Dette problem vil man ikke kunne løse på nuværende tidspunkt, da der her kræves, at man læser brugerens tanker for at finde ud af hvilket sprog, brugeren faktisk forsøgte at indtaste. Dog kan man lave en sideløsning på dette problem, ved blot at spørge brugeren om han eller hun mente Dansk eller Norsk som indtastningssprog. Hvis brugeren for eksempel indtaster Hej med dig, vil en typisk sprogdetektor fremvælge et sprog. Det fremvalgte sprog, vil som regel være det sprog som benyttes oftest, hvilket naturligvis vil være forkert. Problematikken i en sprogdetektor giver os 3 præsentationsmåder for det endelige resultat i en sprogdetektor, som er følgende: 1. Fortælle brugeren, at den indtastede sætning kan skrives på flere sprog, og i dette tilfælde: Dansk og Norsk. 2. Læse brugerens tanker og ud fra det, bestemme om brugeren mente Dansk eller Norsk. 3. Angiver det sprog som er mest udbredt, baseret på statistik og sandsynligheder. Hvilket i dette tilfælde hos Google Translate 7 er Norsk som resultat. Naturligvis vil punkt 2 være den mest præcise og næsten fejlfrie løsninger for en sprogdetektor. Dog er denne løsning ikke mulig på nuværende tid grundet teknologien og derfor vil punkt 1 være den mest optimale løsning. Den første løsning vil nemlig altid give brugeren mulighed for, at have en indflydelse på resultatet. Brugerens valg på denne løsning vil samtidig også kunne benyttes til fremtidige sprogdetektere, som kunne opbygges ud fra punkt 3, dog med den forskel at man vil sammenligne flere egenskaber omkring brugeren. Hvis en bruger i Danmark f.eks. vælger at indtaste Hej med dig., og herefter vælger Dansk ud fra de to valgmuligheder sprogdetektoren foreslår brugeren, kan man gemme forskellige 7 Google Translate, en service hvor man har mulighed for at oversætte tekst til 52 forskellige sprog til og fra, samt sprog detektion. Danmarks Tekniske Universitet Side 14 af 91

16 oplysninger omkring denne bruger på en række forskellige databaser. Disse oplysninger kunne være: - Landet som brugeren indtaster sproget fra, hvilket i dette tilfælde er Danmark. - Sproget som brugerens computer er indstillet til. - Sproget som brugerens browser er indstillet til. - Brugerens IP adresse, så man har mulighed for at følge efter denne bruger og evt. tjekke for denne IP adresses tidligere søgninger og valg af sprog. Disse ovenstående informationer kan herefter benyttes til punkt 3 s præsentationsmåde for det endelige resultat i en sprogdetektor. Dog er det selvfølgelig ikke ensbetydende med, at det udskrevne sprog er det sprog, som brugeren har indtastet eller ønsket, men denne løsning vil være den mest optimale efter punkt 1. Grunden til at punkt 1 er mere optimal end punkt 3, skyldes at det 1 punkt ikke kræver nær så meget analyse, beregning og eksisterende data fra selve brugeren eller en tilsvarende bruger Løsningsmodeller Der diskuteres her 2 mulige løsningsmodeller til en sprogdetektor, samt hvilke ulemper og fordele disse kan have Ordbog baseret (Model 1) Den nemmeste måde at lave en sprogdetektor vil være, at tage udgangspunkt i ordbøger og nærmest konvertere disse til elektroniske databaser. Altså hvis man f.eks. skal lave en database som skal understøtte 5 forskellige sprog, vil det kræve at man har 5 forskellige databaser, hvor indeholder alle eksisterende stam ord for hvert af de enkelte 5 sprog. Når dette så er opfyldt, har man mulighed for at sammenligne alle ord i de enkelte databaser med det som brugeren indtaster. Lad os antage at vores sprogdetektor understøtter disse 5 forskellige sprog: - Dansk - Fransk - Engelsk - Tysk - Spansk Det vil sige, at vi har 5 forskellige databaser, hvor den danske database indeholder alle danske stam ord, præcist som en fysisk ordbog. Danmarks Tekniske Universitet Side 15 af 91

17 Vi antager nu at brugeren indtaster følgende sætning: Hello min ven og at vores sprogdetektor skal angive, hvilket sprog brugeren har indtastet. Nu kan vi både analytisk og grafisk (Figur 4) gennemgå, hvordan sprogdetektoren vil forsøge, at angive et sprog: 1. Kigger på det første ord i sætningen, Hello. 2. Løber alle databaser igennem ved at søge efter et eller flere matchende ord i de eksisterende 5 databaser. 3. Søgning giver resultat, og viser sig at ordet Hello fremkommer en gang i den Engelske database. 4. Gemmer resultat fra punkt 3, og vender tilbage til punkt 1 blot med den forskel at der denne gang kigges på ordet, min. Det samme udføres herefter for det sidste ord i sætningen, ven. 5. Nu er der blevet søgt på alle ord og forskellige sprog er blevet fundet. Punkt 4 indeholder 3 forskellige resultater, som er: o Engelsk o Dansk o Dansk 6. Sprogdetektoren ser at Dansk optræder flest gange, derfor angives Dansk som det sprog brugeren har indtastet. Sprog detektor Sprog databaser Temp resultat Output Sender et ord navn på den db, ordet er fundet i returnere det sprog som optræder flest gange Figur 4: Sekvensdiagram for ordbog baseret sprog detektor. Løsningsmodellen på Figur 4 er yderst effektiv, men desværre meget utroværdig, da den rigtig mange gange enten ikke vil angive et sprog eller angive et forkert sprog. Nedenstående karakterer viser, hvor troværdig og god denne løsningsmodel er: Danmarks Tekniske Universitet Side 16 af 91

18 Model 1? Point (1-5) Er denne løsningsmodel reel til en sprogdetektor? NEJ 1 Kan denne løsningsmodel opfange alle ord i en sætning? NEJ 1 Er denne løsningsmodel hurtig til at angive det indtastede sprog? (I et succesfuldt scenarie) JA 3 Tabel 1 Denne løsningsmodel er desværre udelukkende for alle stam ord i de forskellige sprog, da der ikke tages hensyn for endelser på ordene. Hvis brugeren eksempelvis havde skrevet Hello mine venner, så ville denne løsningsmodel angive Engelsk, som det indtastede sprog, da ordene mine og venner ikke er stam ord, men kommer af stam ordene min og ven. Konklusionen er derfor at denne løsningsmodel ikke er en løsning for en velfungerende sprogdetektor Ordbog & endelser baseret (Model 2) En anden løsningsmodel til opbyggelse af en sprogdetektor kunne være en udvidelse af model 1. Således at man stadig har samme ordbogsdatabaser, som i model 1, dog med den forskel at man ved siden af disse databaser har yderligere en database, som indeholder endelser/bøjninger for de enkelte sprog. Det vil sige at man udbygger en separat database, som for eksempel indeholder følgende: endelseid endelser sprog 0 en da 1 et da 2 es da 3 er da 4 ede da Tabel 2 Denne separate database med endelser og bøjninger til alle eksisterende stam ord, vil give en sprogdetektor mulighed for at opfange flere ord end løsningsmodel 1. Dette kan beskrives ved blot at tage et eksempel, hvor brugeren for eksempel indtaster jeg arbejdede today. Vores sprogdetektor fra løsningsmodel 1, ville i dette eksempel kun opfange 2 ord, som ville være ordene; jeg & today. Dette betyder at sprogdetektoren fra model 1, ville give brugeren mulighed for enten at vælge, hvilket sprog der er indtastet eller også selv gætte sig frem til sproget, mens model 2 vil fortælle brugeren at sproget der er indtastet er Dansk. Danmarks Tekniske Universitet Side 17 af 91

19 Denne sprogdetektor aflæser nemlig brugerens indtastninger på en mere intelligent måde og hvis vi antager at brugeren har indtastet jeg arbejdede today, så kan vi gennemgå detektorens handlinger både analytisk og grafisk (Figur 5) trin for trin: 1. Kigger på det første ord i sætningen, jeg. 2. Løber alle databaser igennem ved at søge efter en eller flere matchende ord i de eksisterende 5 databaser. 3. Sprogdetektoren reagerer her anderledes, alt afhængig af det resultat som forrige punkt returnerer. A. Søgning giver resultat, og viser sig at ordet jeg fremkommer en gang i den Danske database. B. Søgningen giver ikke resultat, derfor forsøger sprogdetektoren nu at slette en endelse på ordet, på baggrund af de forskellige endelses databaser. Vi gennemgår nu denne proces med et eksempel, hvor ordet arbejdede undersøges: a) Ordet gennemløbes bagfra, for at se om det eksakt indeholder nogle af endelserne fra Tabel 2. b) Endelsen ede findes og ordet arbejdede forkortes således at endelsen ede slettes, og sprogdetektoren arbejder videre med ordet arbejd. c) Der søges nu efter arbejd i databaserne og det bliver fundet i den Danske database, som videresendes som resultatet til punkt Gemmer resultat fra punkt 3, og vender tilbage til punkt 1 blot med den forskel at der denne gang kigges på ordet arbejdede. Det samme udføres herefter for det sidste ord i sætningen, today. 5. Nu er der blevet søgt på alle ord og forskellige sprog er blevet fundet. Punkt 4 indeholder 3 forskellige resultater, som er: o Dansk o Dansk o Engelsk 6. Sprogdetektoren ser at Dansk optræder flest gange, derfor angives Dansk som det sprog brugeren har indtastet. Danmarks Tekniske Universitet Side 18 af 91

20 Figur 5: Sekvensdiagram for ordbog og endelser baseret sprog detektor. Løsningsmodellen på Figur 5 er mere effektiv end løsningsmodellen illustreret i Figur 4, men desværre kræves der mere i opbygning af denne model end tidligere model 1. Denne model vil udskrive et troværdigt resultat, hvis man formår at opbygge databaser med perfekte endelser/bøjninger indenfor alle sprog. Problemet ved denne model er dog at, hvis der mangler en eller flere endelser/bøjninger i databaserne, vil detektoren enten udelade at angive et sprog eller også vil den angive et forkert sprog. Nedenstående karakterer viser, hvor troværdig og god denne løsningsmodel er: Model 1? Point (1-5) Er denne løsningsmodel reel til en sprogdetektor? JA/NEJ 4 Kan denne løsningsmodel opfange alle ord i en sætning? NEJ 3 Er denne løsningsmodel hurtig til at angive det indtastede sprog? (I et succesfuldt scenarie) JA 3 Tabel 3 Denne løsningsmodel er mere avanceret end model 1, da den næsten kan benyttes for alle typer af ord. Detektoren kan nemlig opfange stam ord, som allerede er bøjet eller opskrevet med en endelse, og konvertere disse ord til stam ord. Der kan altså som nævnt i konklusionen for model 1, nævnes at sætningen Hello mine venner vil resultere i at, det anvendte sprog er Dansk. Sproget dansk vil blive valgt, da det op- Danmarks Tekniske Universitet Side 19 af 91

21 træder flest gange med ordene mine og venner. Disse to danske ord er allerede bøjet, men da vores sprogdetektor har mulighed for at nedskære ordene til stam ord, så vil denne sprogdetektor være succesfuld. Vi kan derfor konkludere at denne løsningsmodel er en udmærket løsning for en velfungerende sprogdetektor, dog med en relativ høj fejlprocent Databasen (MySQL) Løsningsmodeller Der diskuteres her løsningsmodeller til databasen, samt hvilke ulemper og fordele disse kan have MySQL vs. MSSQL vs. PostgreSQL De to mest udbredte database platforme, indenfor web verdenen er uden tvivl MySQL og MSSQL, da de anvendes mest blandt web udviklerne. Begge database platforme har både fordele og ulemper, som vi vil prøve at opstille overfor hinanden og derved forklare, hvorfor Nuttot s database platform er, MySQL. Krav, funktion, scenarie MySQL MSSQL PostgreSQL Brugervenligt værktøj f.eks. som MySQL s phpmyadmin JA NEJ NEJ Stored procedures? JA JA JA Open Source JA NEJ JA Lærenem syntaks? JA NEJ NEJ Høj performance? * JA JA NEJ Nem integration? JA NEJ NEJ * Performance er et område som altid kan optimeres, men indenfor dette felt er det vigtigt at benytte den database platform, som er nemmest at optimere. Heraf gives der et JA svar for den database platform, som er nemmest at optimere og omvendt NEJ for den som kræver meget for at optimere. Tabel 4 Tabel 4 viser at MySQL overlegent er den store vinder overfor de to store konkurrenter, MSSQL og PostgreSQL. Vi har ikke valgt MSSQL da der kræves en licens for at benytte denne, men også fordi at vi ikke har noget erfaring indenfor MSSQL. PostgreSQL og MySQL var de to stærke database platforme, som der var mulighed for at vælge mellem, men valget blev dog MySQL da vi har mere erfaring med denne platform end PostgreSQL. Danmarks Tekniske Universitet Side 20 af 91

22 MyISAM vs. InnoDB MySQL giver flere muligheder indenfor valg af datatyper ved oprettelse af en tabel, og de to mest udbredte datatyper er uden tvivl: MyISAM og InnoDB. Begge datatyper har både fordele og ulemper, som vi vil prøve at opstille overfor hinanden og derved forklare, hvorfor der er valgt MyISAM datatypen. Krav, funktion, scenarie MyISAM InnoDB Gendanner hurtigt ved tab af data? NEJ JA Lås af tabel ved insert og updates? JA NEJ Høj performance? * JA JA Fuld tekst søgning? JA NEJ * Performance er et område som altid kan optimeres, men indenfor dette felt er det vigtigt at benytte den datatype, som er nemmest at optimere. Heraf gives der et JA svar for den datatype, som er nemmest at optimere og omvendt NEJ for den som kræver meget for at optimere. Tabel 5 Begge datatyper er meget anvendelige til Nuttot s database del, men alligevel vælger vi dog at anvende MyISAM, da denne datatype er hurtigere at operere med. Tabel 5 viser at begge datatyper yder høj performance, men dette er kun gældende for InnoDB, hvis man for eksempel har en stor tabel, som hele tiden skal opdateres. InnoDB giver nemlig brugeren mulighed for at opdatere flere rækker på samme tid i samme tabel, mens MyISAM låser en tabel, så snart der bliver skrevet til den. Men da vi ikke har krav på at kunne redigerer i flere rækker på samme tid, så har vi valgt at benytte MyISAM, da denne er hurtigere til at reagere på inserts, updates og deletes Auto Increment vs. Manuel Increment Alle database tabeller har som regel en primær unik id felt, som udelukkende indeholder det antal rækker man er nået op til. Der er to løsninger på at lagre dette unikke id nummer for hver gang en ny række indsættes i tabellen. Disse to løsninger er: 1. Auto Increment Når man har oprettet en tabel og skal til at opbygge strukturen i tabellen, ved at angive en række feltnavne, så har man mulighed for bl.a. at angive om et valgt feltnavn skal være en primær nøgle og om dette felt skal have egenskaben AUTO_INCREMENT aktiveret. Hvis man vælger at aktiverer dette, så vil dette felt værdi automatisk stige med tallet 1 for hver gang en række indsættes i tabellen. Dette tal vil altid starte med tallet 0 og forsætte til uendeligt, afhængig af hvilke andre begrænsninger man har givet tabellen. 2. Manuel Increment Danmarks Tekniske Universitet Side 21 af 91

23 Modsat auto increment, så har man mulighed for at gøre dette manuelt, hvilket dog kræver at man hele tiden ved hvilket nummer man er nået til inde i databasen, for at undgå ikke at indsætte det samme tal to gange i databasen. Afhængig af ens database design kan man komme ud for at være nød til at benytte manuel increment, men dette vil virkelig sløve ens database performance, da det vil kræve en masse læsninger og manuel inserts. Vi har valgt at vælge den første løsning med auto increment, da denne uden tvivl er den hurtigste og effektiveste løsning Nøgler Alle tabeller i Nuttot s database indeholder en række forskellige nøgler. De er to typer af nøgler i Nuttot s database som kaldes; Primær- og Fremmednøgler. Forskellen mellem disse to typer af nøgler kan forklares således: Primær (PK) 8 o Anvendes til unikt at identificerer hver række i en tabel o Kan bestå af flere kolonner, en såkaldt sammensat primærnøgle o Der stilles følgende krav til en primærnøgle Der må ikke være to rækker med den samme primærnøgle Alle data i primærnøglen skal være unikke Der må ikke forekomme tomme (null) 9 felter Fremmed (FK) 10 o Sikrer integriteten mellem tabeller o Kan referere til den samme tabel, som den selv er placeret i, hvilket kaldes Rekursivt hierarki. o Der stilles følgende krav til en fremmednøgle Skal referere til en primær- eller uniknøgle Fremmednøglens datatype skal være den samme som kolonnen med den primære eller unikke nøgle i reference tabellen Værdien skal enten kunne findes i reference tabellen eller være null. Nuttot s database gør benyttelse af begge former for nøgle, som kan ses nærmere under Design afsnittet. 8 Den engelske betegnelse for en primærnøgle er Primary Key, deraf kommer forkortelsen PK. 9 Null er den engelske betegnelse for et tomt felt i en MySQL tabel. 10 Den engelske betegnelse for en fremmednøgle er Foreign Key, derfor kommer forkortelsen FK. Danmarks Tekniske Universitet Side 22 af 91

PHP Quick Teknisk Ordbog

PHP Quick Teknisk Ordbog PHP Quick Teknisk Ordbog Af Daniel Pedersen PHP Quick Teknisk Ordbog 1 Indhold De mest brugte tekniske udtryk benyttet inden for web udvikling. Du vil kunne slå de enkelte ord op og læse om hvad de betyder,

Læs mere

Data lagring. 2. iteration (implement backend)

Data lagring. 2. iteration (implement backend) Data lagring 2. iteration (implement backend) Emner Grundlæggende database begreber. Data definitionskommandoer ER-diagrammer og cardinalitet/relationer mellem tabeller Redundant data og Normalisering

Læs mere

Tidsregistrering. Jacob E., Jacob H., Mathias, Mads H., Jonatan og Dan 3.4. Informationsteknologi B. Roskilde Tekniske Gymnasium 25-11-2014

Tidsregistrering. Jacob E., Jacob H., Mathias, Mads H., Jonatan og Dan 3.4. Informationsteknologi B. Roskilde Tekniske Gymnasium 25-11-2014 2014 Tidsregistrering Jacob E., Jacob H., Mathias, Mads H., Jonatan og Dan 3.4 Informationsteknologi B Roskilde Tekniske Gymnasium 25-11-2014 Indholdsfortegnelse 1 Indledning... 3 2 User stories... 3 3

Læs mere

PHP kode til hjemmeside menu.

PHP kode til hjemmeside menu. PHP kode til hjemmeside menu. Home Hovedmenu 1 Hovedmenu 2 Hovedmenu 3 Hovedmenu 4 Undermenu 1 Breadcrumb Her vises indholdet af den valgte side Undermenu 2 Undermenu 3 Undermenu 4 Evt. en mulighed for

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Procesbeskrivelse - Webprogrammering

Procesbeskrivelse - Webprogrammering Procesbeskrivelse - Webprogrammering Indholdsfortegnelse Forudsætninger... 1 Konceptet... 2 Hjemmesiden... 2 Server-side... 3 Filstrukturen... 3 Databasehåndtering og serverforbindelse... 4 Client-side...

Læs mere

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding: Vi har tidligere set på spørgsmålet om et XML dokuments encoding. Det er generelt altid en god ide at gemme et dokument

Læs mere

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau Roskilde Tekniske Gymnasium Eksamensprojekt Programmering C niveau Andreas Sode 09-05-2014 Indhold Eksamensprojekt Programmering C niveau... 2 Forord... 2 Indledning... 2 Problemformulering... 2 Krav til

Læs mere

Web 2.0. World Wide Web (www)

Web 2.0. World Wide Web (www) Web 2.0 World Wide Web (www) I marts 1989 skrev Tim Berners-Lee et information udveksling program kaldt ENQUIRE. Da han arbejde i CERN, var han ikke tilfreds med kommunikationen, derfor videreudviklede

Læs mere

Drupal. Hvad er Drupal?

Drupal. Hvad er Drupal? Drupal Verdens bedste Content Management System Drupal er to år i træk blevet kåret som det bedste Open Source CMS i den såkaldte CMS Award, som årligt afholdes af det anerkendte IT-bogforlag Packt Publishing.

Læs mere

Kenn Römer-Bruhn. WordPress. - gør dig synlig på nettet

Kenn Römer-Bruhn. WordPress. - gør dig synlig på nettet Kenn Römer-Bruhn WordPress - gør dig synlig på nettet version 1.3 2. september 2013 Lidt om hvem Kenn er Arbejdsområder i dag: Forfatter, skribent, redaktør, forlægger, fotojournalist, blogger, grafisk

Læs mere

IT projekt uge 4 9. Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013

IT projekt uge 4 9. Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013 PHP-Projekt IT projekt uge 4 9 Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013 4-3-2013 Indholdsfortegnelse Indledende afsnit... 2 Brainstorm... 2 User stories... 2 Problemformulering...

Læs mere

Brugervejledning til Design Manager Version 1.02

Brugervejledning til Design Manager Version 1.02 Brugervejledning til Design Manager Version 1.02 Indholdsfortegnelse 1. Introduktion... 3 1.1 Det kan du med HostedShop Design Manager... 3 1.2 Feature list... 3 2. Design... 4 3. Filer og CSS... 4 3.1

Læs mere

SEARCH ENGINE OPTIMIZATION

SEARCH ENGINE OPTIMIZATION SEARCH ENGINE OPTIMIZATION Søgeord og online marketing v. Kristian Stoffregen Tørning, Lektor (MPL) / Maj 2013 Program 1. Hvordan søger brugerne? 2. Hvordan ved søgemaskinen, hvad der er relevant? 3. Praktisk

Læs mere

SmartWeb Brugermanual

SmartWeb Brugermanual SmartWeb Brugermanual Table of Content Table of Content... 1 Best Practice SmartWeb:... 2 Implementering... 4 Egenskaber:... 5 Filer:... 7 Oprettelse af Kategori... 9 Sider og Tekster:... 11 Slideshow...

Læs mere

2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING

2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING 2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING Baggrund Udgangspunktet er projekt 2, dvs. en blog om cupcakes, hvor målgruppe, afsender og modtager allerede er defineret. Du bliver nu bedt om at udvikle et

Læs mere

Her vil jeg gerne være Det er sådan dine kunder skal tænke

Her vil jeg gerne være Det er sådan dine kunder skal tænke Her vil jeg gerne være Det er sådan dine kunder skal tænke I denne gennemgang lægger vi vægt på hjemmesidens opbygning. For at få det optimale udbytte af en hjemmeside skal mange elementer spille sammen.

Læs mere

15. oktober. Maskine Udlejning. Jacob Weng, Jeppe Boese og Mads Anthony. Udlejningsvirksomhed. Roskilde Tekniske Gymnasium 3.4

15. oktober. Maskine Udlejning. Jacob Weng, Jeppe Boese og Mads Anthony. Udlejningsvirksomhed. Roskilde Tekniske Gymnasium 3.4 Maskine Udlejning 15. oktober 2010 Jacob Weng, Jeppe Boese og Mads Anthony Roskilde Tekniske Gymnasium Udlejningsvirksomhed 3.4 Indholdsfortegnelse Problemformulering:... 2 Planlægning:... 2 Analyse af

Læs mere

Dynamisk hjemmeside: NeuTravel

Dynamisk hjemmeside: NeuTravel Dynamisk hjemmeside: NeuTravel Problemformulering I dette projekt ønsker vi at lave en uafhængig hjemmeside til brug af turister, som gerne vil læse neutral information (dvs. information der ikke er farvet

Læs mere

Eksamen, DSDS, efterår 2008

Eksamen, DSDS, efterår 2008 Eksamen, DSDS, efterår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 6. januar 2009 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.

Læs mere

xgalleri Mulige filtyper Installation web-version

xgalleri Mulige filtyper Installation web-version xgalleri xgalleri opstod ud fra ønsket om at lægge en større samling billeder på nettet. Der findes mange programmer, som kan bruges til at lægge datafiler på nettet; men de fungerer typisk på den måde,

Læs mere

BLIV FUNDET PÅ GOOGLE! Hvorfor er det vigtigt? Hvad er Google (en søgemaskine)? Hvordan fungerer den? Hvad er SEO?

BLIV FUNDET PÅ GOOGLE! Hvorfor er det vigtigt? Hvad er Google (en søgemaskine)? Hvordan fungerer den? Hvad er SEO? BLIV FUNDET PÅ GOOGLE! Hvorfor er det vigtigt? Hvad er Google (en søgemaskine)? Hvordan fungerer den? Hvad er SEO? Mål for denne workshop: Grundlæggende forståelse for SEO Grundlæggende redskaber til SEO

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin August 2010 Juni 2011 Institution Københavns Tekniske Gymnasium, Vibenhus Uddannelse Fag og niveau Lærer(e)

Læs mere

DTU 02335 Net Teknologi A Webprogrammering og Datakommunikation Eksamensprojekt Krav til rapport September 2008 KRAV TIL RAPPORTEN

DTU 02335 Net Teknologi A Webprogrammering og Datakommunikation Eksamensprojekt Krav til rapport September 2008 KRAV TIL RAPPORTEN KRAV TIL RAPPORTEN Eksamensprojektet i Web-programmering og Datakommunikation skal afleveres som en rapport. Rapporten skal afleveres, i 2 eksemplarer (kopier). Endvidere skal være angivet URL, for emner

Læs mere

Webdesign og webkommunikation. 10. april: Søgemaskiner, optimering og tilgængelighed

Webdesign og webkommunikation. 10. april: Søgemaskiner, optimering og tilgængelighed Webdesign og webkommunikation 10. april: Søgemaskiner, optimering og tilgængelighed Program Kage næste gang: Lærerne! 10-12 Søgemaskineoptimering Tilgængelighed 13-15 Vejledning Husk: Obligatorisk opgave

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

Internet vs WWW. Internettet er IKKE det samme som www. Internettet Er et netværk af computere Gør det muligt af dele information

Internet vs WWW. Internettet er IKKE det samme som www. Internettet Er et netværk af computere Gør det muligt af dele information web som medie Internet vs WWW Internettet er IKKE det samme som www. Internettet Er et netværk af computere Gør det muligt af dele information Internet protokoller (forskellige måder at udveksle information

Læs mere

Danhost Webshop. Bliv fundet på Google

Danhost Webshop. Bliv fundet på Google Danhost Webshop Bliv fundet på Google SEO - Søgemaskineoptimering Når du arbejder med SEO, er det med henblik på, at din hjemmeside eller webshop skal dukke op i søgeresultaterne på f.eks. Google når en

Læs mere

Dokumentering af umbraco artikeleksport:

Dokumentering af umbraco artikeleksport: Dokumentering af umbraco artikeleksport: Lav en artikel side 2-3. Installationsguide side 3-5. Opsættelse af databasen og web.config side 5-8. Umbraco: templates side 8. Umbraco: borger.dk tab side 8.

Læs mere

ANALYSE AF WEBSTEDET WWW.BILFORHANDLER.DK

ANALYSE AF WEBSTEDET WWW.BILFORHANDLER.DK ANALYSE AF WEBSTEDET WWW.BILFORHANDLER.DK Denne rapport indeholder en primær analyse af webstedet www.bilforhandler.dk. Vi har kigget på: Det vigtige førstehåndsindtryk af webstedet Brugervenlighed Anvendte

Læs mere

Webside score simmi.it

Webside score simmi.it Webside score simmi.it Genereret August 01 2015 12:13 PM Scoren er 45/100 SEO Indhold Titel SIMMI - TORINO - Bomboniere, Sacchettini, Tipografia, Accessori, Confettate, Fardamè, per le Nozze, Længde :

Læs mere

Internet Information Services (IIS)

Internet Information Services (IIS) Internet Information Services (IIS) Casper Simonsen & Yulia Sadovskaya H1we080113 06-11-2013 Indholdsfortegnelse Problemformulering... 2 Hvorfor:... 2 Hvad:... 2 Hvordan:... 2 Problembehandling... 3 Introduktion...

Læs mere

Indhold. Grafisk workflow 3 Procesbeskrivelse 4 Inspiration 5 Skitser 6 Flowchart 7 Typografi og farver 8 Skelet 9 Storyboard 12 Html, css og seo 16

Indhold. Grafisk workflow 3 Procesbeskrivelse 4 Inspiration 5 Skitser 6 Flowchart 7 Typografi og farver 8 Skelet 9 Storyboard 12 Html, css og seo 16 GRAFISK WORKFLOW Indhold Grafisk workflow Procesbeskrivelse Inspiration 5 Skitser 6 Flowchart Typografi og farver 8 Skelet 9 Storyboard 2 Html, css og seo 6 Grafisk workflow Opgaven At skabe et nyt og

Læs mere

Skriftlig opgave. Designtanker i database-nære systemer

Skriftlig opgave. Designtanker i database-nære systemer Skriftlig opgave til eksamen for faget»databaser«designtanker i database-nære systemer Martin Ancher Holm Juni 2010 1 Intro Denne skriftlige opgave indeholder kort de daglige tanker jeg har omkring design

Læs mere

Sådan indlægges nyheder på DSqF s hjemmeside trin for trin

Sådan indlægges nyheder på DSqF s hjemmeside trin for trin Sådan indlægges nyheder på DSqF s hjemmeside trin for trin Systemkrav For at kunne bruge Composite kræves: Windows 95 eller nyere (bemærk - kun Windows kan bruges) Browseren Internet Explorer 6.0 eller

Læs mere

Indhold. 1 Indledning... 3. 1.1 Kompatible browsere... 3. 2 Log ind i Umbraco... 3. 3 Content-delen... 4. 3.1 Indholdstræet... 4

Indhold. 1 Indledning... 3. 1.1 Kompatible browsere... 3. 2 Log ind i Umbraco... 3. 3 Content-delen... 4. 3.1 Indholdstræet... 4 Indhold 1 Indledning... 3 1.1 Kompatible browsere... 3 2 Log ind i Umbraco... 3 3 Content-delen... 4 3.1 Indholdstræet... 4 3.2 Ændring af indhold... 5 3.3 Tilføjelse af en side/sektion... 6 3.4. At arbejde

Læs mere

MANUAL. Siteloom CMS

MANUAL. Siteloom CMS MANUAL Siteloom CMS www.hjerteforeningen.dk/cms Brugernavn: Password: 3. september, 2012 BASIS FUNKTIONER 1. Kalender... 4 1.a. Opret... 5 1.b. Rediger eller slet... 8 2. Sider... 10 2.a Opret side...

Læs mere

Tillæg til Libris-hæftet: WordPress. Temaredigering og sikkerhed m.m.

Tillæg til Libris-hæftet: WordPress. Temaredigering og sikkerhed m.m. Tillæg til Libris-hæftet: WordPress Temaredigering og sikkerhed m.m. 1. Temaopbygning og -redigering I det trykte hæfte gennemgår jeg, hvordan du installerer temaer i WordPress. Der findes tusindvis af

Læs mere

SEO GUIDE AF DATA CREATIVES IVS

SEO GUIDE AF DATA CREATIVES IVS SEO GUIDE AF DATA CREATIVES IVS Udarbejdelsen har været med tanke på det grundlæggende niveau for SEO opsætning Denne introduktion er tilrettet private og virksomheder, som har begivet sig ud på en rejse

Læs mere

Indholdsfortegnelse. Hvorfor skal jeg tage backup af min blog? Side 3. Tag backup med UpDraft Side 4. Tag manuelt backup Side 8 - 2 -

Indholdsfortegnelse. Hvorfor skal jeg tage backup af min blog? Side 3. Tag backup med UpDraft Side 4. Tag manuelt backup Side 8 - 2 - - 1 - Indholdsfortegnelse Hvorfor skal jeg tage backup af min blog? Side 3 Tag backup med UpDraft Side 4 Tag manuelt backup Side 8-2 - Hvorfor skal jeg tage backup af min blog? Lige meget om du har opbygget

Læs mere

Projekt Database, Gruppe 4A. Projekt 1, 3. Semester D A T A B A S E. Klasse MulA13 Gruppenummer: A4

Projekt Database, Gruppe 4A. Projekt 1, 3. Semester D A T A B A S E. Klasse MulA13 Gruppenummer: A4 Projekt Database, Gruppe 4A 0 Projekt 1, 3. Semester D A T A B A S E Klasse MulA13 Gruppenummer: A4 Projekt Database, Gruppe 4A 1 Fakta-ark Klasse MulA13, Gruppenummer: A4 Gruppemedlemmer: Amalie Ardahl

Læs mere

Datamodeller. 1. Elementerne. Vi betragter E/R-diagrammet, som et diagram over entiteter og relationer Tegneregler: Entitet

Datamodeller. 1. Elementerne. Vi betragter E/R-diagrammet, som et diagram over entiteter og relationer Tegneregler: Entitet Datamodeller I forlængelse af noten om normalisering, følges der her op med redskabet E/R-diagrammer til opstilling af en datamodel, opfat således dette som en alternativ metode mere end endnu et redskab

Læs mere

Sociale Medier & SEO-pakker: Karakteristikker

Sociale Medier & SEO-pakker: Karakteristikker Sociale Medier & SEO-pakker: Karakteristikker Account Mananger Vi tilbyder en engageret kundechef, som er tilgængelig i kontortiden via telefon, e-mail og Skype for at løse enhver problemstilling. Kundechefen

Læs mere

INDHOLDSFORTEGNELSE. Googles historie... Forord KAPITEL TO... 19. Introduktion til Google AdWords. Opret din AdWords-konto

INDHOLDSFORTEGNELSE. Googles historie... Forord KAPITEL TO... 19. Introduktion til Google AdWords. Opret din AdWords-konto INDHOLDSFORTEGNELSE Googles historie... Forord KAPITEL ET... 9 Introduktion til Google AdWords Hvad er en søgemaskine?... 10 Hvad er Google AdWords?...11 Eksempel på en AdWords-annonce... 12 Googles partnernetværk...

Læs mere

EasyIQ Opdatering 5.2.3 -> 5.4.0

EasyIQ Opdatering 5.2.3 -> 5.4.0 EasyIQ Opdatering 5.2.3 -> 5.4.0 Kunde: Forfatter: Thomas W. Yde Systemtech A/S Side: 1 af 17 1 Indholdsfortegnelse 2 GENERELT OMKRING FORUDSÆTNINGEN OG OPDATERINGS FORLØBET... 3 2.1 FORUDSÆTNINGER...

Læs mere

Dokumentation. Karen-Louise Fejerskov

Dokumentation. Karen-Louise Fejerskov Dokumentation Grafisk Workflow Et af produkterne, jeg skulle lave, var et redesign af FreQuence s info hjemmeside. A B Punkt 1 Ansvar: Jeg har selv stået for opsætningen af hjemmeside og selv bestemt,

Læs mere

srum Fritidsaktiviteter 04-12-2008: 1. Semester. Multimediedesigner Projektstart: 17/11-2008 Aflevering: 4/12-2008

srum Fritidsaktiviteter 04-12-2008: 1. Semester. Multimediedesigner Projektstart: 17/11-2008 Aflevering: 4/12-2008 Gruppe 9: Besir Redzepi, Jacob Pedersen, Garwun Jeffrey Lai og Sean Rørgren srum Fritidsaktiviteter 04-12-2008: 1. Semester. Multimediedesigner Projektstart: 17/11-2008 Aflevering: 4/12-2008 Indholdsfortegenelse

Læs mere

Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN

Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN Indholdsfortegnelse Introduktion... 2 Definitioner... 2 Generelt... 3 Oprettelse af en skabelon... 4 Sidetypeskabeloner... 5 Globale displaymoduler...

Læs mere

Grafisk design. Ide. Designprocess. Målgruppe

Grafisk design. Ide. Designprocess. Målgruppe Ide Designprocess I denne opgave har jeg udviklet et website for et feriehus. Kunden ønsker et site, som både fungere privat, men også som offentlig hjemmeside. Hele site skal være på dansk, tysk og engelsk.

Læs mere

Kort introduktion til Google.

Kort introduktion til Google. Google Side 1 af 10 Kort introduktion til Google.... 2 Tilpas din søgning... 2 Generelle Tips... 2 Udelukkelse af ord... 2 Brug af *... 3 Sætningssøgninger... 3 Jeg Føler Mig Heldig... 3 Avanceret søgning...

Læs mere

Kom i gang med SAS STPbaserede

Kom i gang med SAS STPbaserede make connections share ideas be inspired Kom i gang med SAS STPbaserede webapplikationer Lars L. Andersson Chefkonsulent Webapplikationer Interaktion med serverbaserede data via skærmbilleder leveret gennem

Læs mere

Internet. Komplet featureliste. Aesiras - integreret Regnskab, Handel og Internet

Internet. Komplet featureliste. Aesiras - integreret Regnskab, Handel og Internet Internet Komplet featureliste Aesiras - integreret Regnskab, Handel og Internet Aesiras Internet gør det let at komme i gang med en professionel hjemmeside og webshop. Som standard medfølger et grafisk

Læs mere

Trin for trin guide til Google Analytics

Trin for trin guide til Google Analytics Trin for trin guide til Google Analytics Introduktion #1 Opret bruger #2 Link Google Analytics til din side #3 Opret konto #4 Udfyld informationer #5 Gem sporings id #6 Download WordPress plugin #7 Vent

Læs mere

MANUAL. Siteloom CMS

MANUAL. Siteloom CMS MANUAL Siteloom CMS www.hjerteforeningen.dk/cms Brugernavn: Password: 3. oktober, 2013 BASIS FUNKTIONER 1. Kalender... 4 1.a. Opret... 5 1.b. Rediger eller slet... 9 2. Sider...12 2.a. Opret side...13

Læs mere

Søgning på Internettet

Søgning på Internettet Side 1 af 6 Indhold: Søgning på Internettet Tips til søgning på Internettet... 1 Præcis adresse:... 1 Indeks- søgning... 2 Søgerobotterne/søgemaskiner:... 3 Lidt om hvordan man søger på nettet... 4 Links...

Læs mere

Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner

Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner Af Henrik Bro og Martin T. Hansen I har måske allerede en flot, og informativ hjemmeside. Og alle jeres kursister

Læs mere

poedit og oversættelse af sprogfiler

poedit og oversættelse af sprogfiler poedit og oversættelse af sprogfiler af Georg S. Adamsen WordPress.Blogos.dk 2009 http://kortlink.dk/wordpressblogosdk/6g38 1 af 11 14-04-2009 14:55 Jeg får af og til spørgsmål om, hvordan man bruger poedit,

Læs mere

8 tips og tricks der sender din webshop i superligaen

8 tips og tricks der sender din webshop i superligaen 8 tips og tricks der sender din webshop i superligaen Indhold Intro Kend dine besøgende Gør valget simpelt og vind kunder Sådan får du en optimeret kategoriside Eksempler på to gode kategorisider Brug

Læs mere

Maj 2012. Forleasebyowner.com Case Studie. Hvordan E-Intelligence Forbedrede Side trafik, Rankering og Kundeemner For Forleasebyowner.

Maj 2012. Forleasebyowner.com Case Studie. Hvordan E-Intelligence Forbedrede Side trafik, Rankering og Kundeemner For Forleasebyowner. Hvordan E-Intelligence Forbedrede Side trafik, Rankering og Kundeemner For Forleasebyowner.com Maj 2012 Forleasebyowner.com Case Studie Ophavsret eintelligenceweb.com 2013 Kontakt os: eintelligenceweb.com

Læs mere

Object-Relational Mapping

Object-Relational Mapping Databaser for udviklere () Datamatiker TietgenSkolen Underviser: Allan Helboe 06-06-2010 Problemformulering Denne opgave er et forsøg på at beskrive problemerne der opstår ved anvendelsen af en relationel

Læs mere

Google Søgninger side 1 af13

Google Søgninger side 1 af13 Google Søgninger side 1 af13 Indholdsfortegnelse Internetforkortelser og adresser m.m.... Side 2 Søgning i Google... Side 4 Nyhed erstatning for det sorte bånd... Side 7 Avanceret søgning... Side 10 Flere

Læs mere

MANUAL. Siteloom CMS

MANUAL. Siteloom CMS MANUAL Siteloom CMS www.hjerteforeningen.dk/cms Brugernavn: Password: 13. marts, 2014 BASIS FUNKTIONER 1. Kalender... 4 1.a. Opret... 5 1.b. Rediger eller slet... 9 2. Sider...12 2.a. Opret side...13 2.b.

Læs mere

KIH Database. Systemdokumentation for KIH Databasen. 1. maj 2013. Side 1 af 13

KIH Database. Systemdokumentation for KIH Databasen. 1. maj 2013. Side 1 af 13 KIH Database Systemdokumentation for KIH Databasen 1. maj 2013 Side 1 af 13 Indholdsfortegnelse Indholdsfortegnelse... 2 Indledning... 3 Systemoverblik... 3 KIH Database applikationsserver... 5 Forudsætninger

Læs mere

Guide til MetaTraffic Pro

Guide til MetaTraffic Pro Guide til MetaTraffic Pro - dit statistikværktøj på din webside eller webshop DanaWeb benytter statistikværktøjet MetaTraffic Pro både på basis hjemmesiderne og til webshop hjemmesiderne. Du vil derfor

Læs mere

GRAFISK PRODUKTION & WORKFLOW. Endotest website

GRAFISK PRODUKTION & WORKFLOW. Endotest website GRAFISK PRODUKTION & WORKFLOW Endotest website DOKUMENTATION OPGAVEN: Endotest ApS ønskede at redesigne deres hjemmeside, så den fremstår mere professionel og enkel. Derudover skal det nye site præsentere

Læs mere

Vejledning til Teknisk opsætning

Vejledning til Teknisk opsætning Vejledning til Teknisk opsætning v. 1.0 Adm4you, 2010. Indhold Kort om denne vejledning... 3 Generelt om easyourtime... 3 Installation af databasen... 3 Sikkerhed og rettigheder... 4 SQL Login... 4 Rettigheder

Læs mere

GRAFISK WORKFLOW. Kasper Staal - Portfolio - H2

GRAFISK WORKFLOW. Kasper Staal - Portfolio - H2 GRAFISK WORKFLOW Kasper Staal - Portfolio - H2 Opgaven Denne opgave bestod i at design et website til min egen virksomed 3DService.dk. Websitet skulle være responsivt, og indeholde de mest gængse informationer

Læs mere

Indhold. Case 1: Introduktion 3. Case 2: Vælg og indstil tema 12. Case 3: Sider og indlæg 17

Indhold. Case 1: Introduktion 3. Case 2: Vælg og indstil tema 12. Case 3: Sider og indlæg 17 1. udgave 2012 Udgivet af Softworld Kurser A/S Kopiering samt gengivelse af indholdet er ikke tilladt, medmindre der er givet skriftlig tilladelse herom. Copyright Softworld Kurser A/S Forfatter: Martin

Læs mere

har jeg hentet nedenstående anmeldelse af et godt program til

har jeg hentet nedenstående anmeldelse af et godt program til Software Fra design af hjemmesider: har jeg hentet nedenstående anmeldelse af et godt program til Wordpress er intet mindre end et genialt program til hjemmesider. For det første er det gratis, og for

Læs mere

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0 SmartFraming Et vindue til nationale sundhedssystemer Version 3.0 Infrastruktur i dagens sundheds IT Det sundhedsfaglige personale benytter sig i dag af en række forskellige systemer i forbindelse med

Læs mere

INDHOLDSFORTEGNELSE. INDLEDNING... 7 Kristian Langborg-Hansen. KAPITEL ET... 9 I gang med App Inventor. KAPITEL TO...

INDHOLDSFORTEGNELSE. INDLEDNING... 7 Kristian Langborg-Hansen. KAPITEL ET... 9 I gang med App Inventor. KAPITEL TO... INDHOLDSFORTEGNELSE INDLEDNING... 7 Kristian Langborg-Hansen KAPITEL ET... 9 I gang med App Inventor Installation af App Inventor... 10 Trådløs installation... 11 Installation af emulator (Windows)...

Læs mere

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... 9 Nogle HTML tags... 9 Databaser og PHP Når vi snakker

Læs mere

Synlighed på nettet. Oplæg af Hanne Wick, Wick Kommunikation for Erhvervskvinder Århus 09.09.09

Synlighed på nettet. Oplæg af Hanne Wick, Wick Kommunikation for Erhvervskvinder Århus 09.09.09 Synlighed på nettet Oplæg af Hanne Wick, Wick Kommunikation for Erhvervskvinder Århus 09.09.09 Hanne Wick, Wick Kommunikation Har siden 1983 arbejdet med kommunikation, markedsføring og PR. Heraf de seneste

Læs mere

SEO-strategi. Kunde logo

SEO-strategi. Kunde logo SEO-strategi Kunde logo Formålet SEO-strategien skal ved udførsel skabe mere trafik til KUNDE, samt styrke deres branding. SEO-strategien skal være med til at belyse nogle af de problematikker som KUNDEløser

Læs mere

En open source løsning til bibliotekernes publikumspc ere

En open source løsning til bibliotekernes publikumspc ere En open source løsning til bibliotekernes publikumspc ere Dokument: bibos installationsvejledning bibos version: 2.1.0.1 released 25. oktober 2013 Senest redigeret: 5. februar 2014 af Niels Schmidt Petersen,

Læs mere

Web sider. Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det?

Web sider. Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det? Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det? I dag skal du lære at lave hjemmesider, så du også kan bidrage til at opbygge

Læs mere

Produktbeskrivelse - Grafisk workflow

Produktbeskrivelse - Grafisk workflow Produktbeskrivelse - Grafisk workflow Opgavebeskrivelse Det er en nyhedsmail. De er en ny opsætning Ansvar for opgaveløsning Webadministratoren står for opgavefordeling. Tekst kommer fra salgs og butikslederen.

Læs mere

Velkommen til REX onlinehjælp

Velkommen til REX onlinehjælp Velkommen til REX onlinehjælp I REX onlinehjælp kan du finde information om følgende emner: Indhold Enkel søgning...3 Hvordan kan du bruge søgefeltet?...3 Søg efter sætninger...3 Søg efter specifikke ord

Læs mere

Introduktion til frontend

Introduktion til frontend Side 1 af 43 Introduktion til frontend Dette dokument beskriver kort, hvordan du bruger WeroShop frontend. Dette omfatter at sætte dig ind i varegrupper, producenter og produkter, filtrering af produkter,

Læs mere

Ordbøgerne.dk. Navne: Andreas Foldager og Rasmus Bjerring Pedersen Fag: IT B Lærer: Karl Bjarnason Afleveringsdato: 17-11-06.

Ordbøgerne.dk. Navne: Andreas Foldager og Rasmus Bjerring Pedersen Fag: IT B Lærer: Karl Bjarnason Afleveringsdato: 17-11-06. Ordbøgerne.dk Navne: Andreas Foldager og Rasmus Bjerring Pedersen Fag: IT B Lærer: Karl Bjarnason Afleveringsdato: 17-11-06 Side 1 af 35 Indholdsfortegnelse Indledning:...3 Design...4 Visuelt design:...4

Læs mere

Dagens program. Domæner. change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog. Hvad er widgets.

Dagens program. Domæner. change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog. Hvad er widgets. Dagens program Har alle fået? Har nogen betalt for meget? Hav jeres koder klar Domæner change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog Hvad er widgets Hvad er

Læs mere

Plant nu - Høst senere

Plant nu - Høst senere 1 Plant nu - Høst senere Af Mohammed & Hussein 2014 Mohammed & Hussein. Alle rettigheder forbeholdes. Uautoriseret kopiering eller distribution af dette materiale i enhver form er strengt forbudt. Lovovertrædere

Læs mere

Rapport Undervisningsmateriale.

Rapport Undervisningsmateriale. Skrevet af Morten & Jacob A. 1.5 HTX Roskilde 2011 Side 1 Rapport Undervisningsmateriale. Arbejdsgruppen bestod af: Morten, Jacob A. fra 1.5. Dato: 6. maj 2011 Skrevet af: Morten & Jacob A. Fag: Kom/IT.

Læs mere

MANUAL - Joomla! Version 1

MANUAL - Joomla! Version 1 MANUAL - Joomla! Version 1 Indhold Retningslinjer for hjemmesiden... 3 Log ind... 3 Ret i en artikel, der allerede er oprettet... 4 Opret ny artikel... 8 a) Skriv direkte i tekstfelt... 9 b) Indsæt tekst

Læs mere

7DVWHYHMOHGQLQJ#²#,QWHUQHW#([SORUHU

7DVWHYHMOHGQLQJ#²#,QWHUQHW#([SORUHU 7DVWHYHMOHGQLQJ#²#,QWHUQHW#([SORUHU,QGKROGVIRUWHJQHOVH BROWSEREN - DE VIGTIGSTE FUNKTIONER OG BEGREBER.... 2 TILPAS BROWSEREN... 3 GÅ DIREKTE TIL EN KENDT ADRESSE... 5 LAV ET BOGMÆRKE... 6 ORGANISÉR DINE

Læs mere

Content Management System. Content Management System

Content Management System. Content Management System CMS Content Management System Content Management System ADventure/SequelSite: det mest optimale til etablering, vedligeholdelse og fornyelse af professionelle web-sites Slut med eksperter og dyre opdateringer,

Læs mere

BAAN IVc. Brugervejledning til BAAN Data Navigator

BAAN IVc. Brugervejledning til BAAN Data Navigator BAAN IVc Brugervejledning til BAAN Data Navigator En udgivelse af: Baan Development B.V. P.O.Box 143 3770 AC Barneveld Holland Trykt i Holland Baan Development B.V. 1997. Alle rettigheder forbeholdes.

Læs mere

Afsluttende opgave 2009 Kommunikation/IT

Afsluttende opgave 2009 Kommunikation/IT Afsluttende opgave 2009 Kommunikation/IT Tema: Kulløse Miljømesse Rapport af: Jacob Almann Tinnesen, Oliver Mørk og Oscar Helmersen Roskilde Tekniske Gymnasium Klasse 1.1 Afleveret: 24-04-2009 Side 1 af

Læs mere

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit.

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. XML (eng. extensible Markup Language) XML er en måde at strukturere data på i tekstform. På samme måde som

Læs mere

Automatisk Vandingssystem

Automatisk Vandingssystem Automatisk Vandingssystem Projektdokumentation Aarhus Universitet Gruppe 6-3. Semester - F15 vejleder: Michael Alrøe dato: 28-05-2015 Lærke Isabella Nørregård Hansen - 201205713 - IKT Kasper Sejer Kristensen

Læs mere

Lundtofte skole 2007/08. Åbn FrontPageExpress og Explorer begge programmer skal være åbne når du laver hjemmesiden.

Lundtofte skole 2007/08. Åbn FrontPageExpress og Explorer begge programmer skal være åbne når du laver hjemmesiden. Det vigtigste Hjemmeside i FrontPageExpress Åbn FrontPageExpress og Explorer begge programmer skal være åbne når du laver hjemmesiden. Lav en mappe til din hjemmeside. Find først din mappe på skolens netværk,

Læs mere

GRAFISK PRODUKTION PORTFOLIO DAN KLESSEN BOOSTING BUSINESS MEDIEGRAFIKER SVENDEPRØVE

GRAFISK PRODUKTION PORTFOLIO DAN KLESSEN BOOSTING BUSINESS MEDIEGRAFIKER SVENDEPRØVE GRAFISK PRODUKTION OG WORKFLOW PORTFOLIO DAN KLESSEN BOOSTING BUSINESS MEDIEGRAFIKER SVENDEPRØVE PORTFOLIO DAN KLESSEN BOOSTING BUSINESS MEDIEGRAFIKER SVENDEPRØVE 04 INDHOLDSFORTEGNELSE Dokumentation 05

Læs mere

Projektbeskrivelse RSS Læser

Projektbeskrivelse RSS Læser HTX Roskilde 3.4 Projektbeskrivelse RSS Læser IT & Programmering Elev: Christian Pihlkjær Hjortshøj og Joans Henk Jensen Dato: 19-03-2013 1. Indledning Vi er i klasse 3.4 blevet introduceret til vores

Læs mere

Dette dokument beskriver SUMOshop Backend v3, med fokus på ændringer ift. v2.

Dette dokument beskriver SUMOshop Backend v3, med fokus på ændringer ift. v2. 1 SUMOshop Backend v3 Dette dokument beskriver SUMOshop Backend v3, med fokus på ændringer ift. v2. Backend v3 er primært en visuel opdatering i et mere rent og moderne design. Hertil er der en række helt

Læs mere

18/11 2010 Version 2.0 Side 1 af 36

18/11 2010 Version 2.0 Side 1 af 36 Login til DJAS Gå ind på adressen http://www.djas.dk I feltet Brugernavn skrives den e-mail adresse som brugeren er registeret med i systemet. I feltet Password skrives brugerens adgangskode. Ved at sætte

Læs mere

Daglig brug af JitBesked 2.0

Daglig brug af JitBesked 2.0 Daglig brug af JitBesked 2.0 Indholdsfortegnelse Oprettelse af personer (modtagere)...3 Afsendelse af besked...4 Valg af flere modtagere...5 Valg af flere personer der ligger i rækkefølge...5 Valg af flere

Læs mere

Budskab Denne nyhedsmails budskab er, at der er kommet nye kataloger ud og man kan se meget mere på hjemmesiden.

Budskab Denne nyhedsmails budskab er, at der er kommet nye kataloger ud og man kan se meget mere på hjemmesiden. Forståelse for grafisk produktion & workflow Opgavebeskrivelse Det er en nyhedsmail. De er en nyopsætning med inspiration fra tidligere mail med samme emne. Ansvar for opgaveløsning En designer fortæller

Læs mere