IMM-B.Eng NYHEDSSØGEMASKINE. Hasim Coskun. Eksamensprojekt, Diplom IT. Danmarks Tekniske Universitet. Vejleder.
|
|
- Lucas Nielsen
- 8 år siden
- Visninger:
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 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 mereProcesbeskrivelse - 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 mereDatabase 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 mereIT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4
IT opgave Informationsteknologi B Vejleder: Karl Navn: Devran Kücükyildiz Klasse: 2,4 Dato:03-03-2009 1 Indholdsfortegnelse 1. Indledning... 3 2. Planlægning... 3 Kommunikationsplanlægning... 3 Problemstillingen...
Læs mere6 Ugers Digital Markedsførings Uddannelse. Online Marketing SEO Præsentation Anders Sevelsted Bigum&Co Amagerbrogade
6 Ugers Digital Markedsførings Uddannelse Bigum&Co Kursist hemmeligt Anders Sevelsted Underviser & Foredragsholder Teori Vs. Praksis Viden Vs. Færdigheder Hvad forventes det i kan når vi er færdig? Skal
Læs mereEksamen, DSDS, efterår 2007
Eksamen, DSDS, efterår 2007 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech og Martin Elsman IT Universitetet i København 7. januar 2008 Alle hjælpemidler er tilladte, dog ikke
Læs mereTillæ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 merePHP 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 mereHer 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 mereEncoding:...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 mereKenn 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 mereBemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.
Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i
Læs mereHassansalem.dk/delpin User: admin Pass: admin BACKEND
Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin
Læs mereWeb 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 mereIT 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 meregrafisk workflow OPGAVE: EMBRACE-IT WEBSITE
grafisk workflow OPGAVE: EMBRACE-IT WEBSITE BESKRIVELSE GRAFISK WORKFLOW BESKRIVELSE Den tidligere nævnte virksomhed Embrace-IT, forsøger i takt med at virksomhen vokser, at opdatere og optimere deres
Læs merePHP 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 mereData 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 mereHvorfor skal vi bruge objekt orienteret databaser?
OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal
Læs mereRoskilde 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 mereWebside score khtsb.com
Webside score khtsb.com Genereret April 04 2019 09:19 AM Scoren er 50/100 SEO Indhold Titel Welcome to XAMPP Længde : 16 Perfekt, din titel indeholder mellem 10 og 70 bogstaver. Beskrivelse XAMPP is an
Læs mereBliv 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 mereTietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125
Tietgenskolen - Nørrehus Data warehouse Database for udviklere Thor Harloff Lynggaard DM08125 Juni 2010 Indhold Beskrivelse... 3 Data warehouse... 3 Generelt... 3 Sammenligning... 3 Gode sider ved DW...
Læs mere- søgemaskineoptimering
- søgemaskineoptimering Guiden findes på bredahl-it.dk/seo Forventninger til aftenen Introduktion PageRank (og Google toolbar) Optimere webstedet (SEO) Trafikkontrol og statistikker Google Analytics Husk
Læs merehar 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 mereDenne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW.
Denne guide er oprindeligt udgivet på Eksperten.dk CSS - en gennemgang Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW. Der er lidt CSS historie
Læs mereWebteknologi evalueringsopgave Vinter 2011-2012 - Niels Sundstrup
Niels Sundstrup Webteknologi evalueringsopgave Vinter 2011-2012 - Niels Sundstrup Webteknologi - Carl- Henrik Nielsen - Syddansk Universitet, Kolding - Udlevering: 12. januar 2012 Aflevering: 19. januar
Læs mere10 Vigtigste SEO Ranking Faktorer
10 Vigtigste SEO Ranking Faktorer Indledning 10 Vigtigste Ranking Faktorer Agilitor Der findes en lang række faktorer, der har indflydelse på din websites position i Google på forskellige søgeord. Faktisk
Læs mereReeksamen, DSDS, forår 2008
Reeksamen, DSDS, forår 2008 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 22. august 2008 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.
Læs mereLav din egen hjemmeside/blog. Dag 1 22-10-2015. Agenda d. 25. oktober 2015. Pc ere på nettet. Præsentation. Hvad er WordPress? Hvad er WordPress?
Agenda d. 25. oktober 2015 Lav din egen hjemmeside/blog Dag 1 Præsentation af underviser og deltagere Pc erepå nettet Hvad er WordPress? Og hvad er forskellen på en blog og en hjemmeside Hej verden Kvik
Læs mere8.0 Distriktshjemmesider
8.0 Distriktshjemmesider Indhold Login... 2 Forside... 3 Distriktsside opbygning...4 Rediger på en side... 5 Upload filer til mediebibliotek... 8 Kontroller links på filer... 12 Indsæt billeder... 13 Slet
Læs mereSmartWeb 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 mereDokumentering 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 mereINDHOLDSFORTEGNELSE. 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 mereManual til administration af online booking
2016 Manual til administration af online booking ShopBook Online Med forklaring og eksempler på hvordan man konfigurerer og overvåger online booking. www.obels.dk 1 Introduktion... 4 1.1 Formål... 4 1.2
Læs mereMANUAL. 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 mereDatabase design for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Database design for begyndere Denne artikel beskriver hvordan man kommer fra ide til database design. Den stopper inden normal former. Den forudsætter
Læs mereLoginsystem (med MySQL)
Denne guide er oprindeligt udgivet på Eksperten.dk Loginsystem (med MySQL) Dette er en guide til, hvordan man kan lave et loginsystem med php og muligvis også med sessioner og MySQL Skrevet den 02. Feb
Læs mereSociale 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 mereSø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 mereServersideprogrammering, CMS og eshop. Dag 1: Introduktion og serverside programmering Niels Østergaard
Serversideprogrammering, CMS og eshop Dag 1: Introduktion og serverside programmering Niels Østergaard Dagens program Introduktion til forløbet Begrebet serverside Introduktion til PHP-programmering Tilmelding
Læs merePHP Snippets. De små korte. Skrevet af Daniel Pedersen
PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk
Læs mereIndledning. MIO er optimeret til Internet Explorer. Læs endvidere under Ofte stillede spørgsmål.
Indhold Indledning... 3 Søgefunktioner... 4 Søgning fra forsiden... 5 Søgning under menupunktet Instrument... 6 Sådan får man vist instrumenterne i en bestemt afdeling... 7 Sådan ændrer man status på et
Læs mereDB undervisning 01-01
Databaser... 2 Tabeller... 2 Redundans... 3 Første regel... 4 Anden regel... 4 Tredje regel... 5 Relationer... 5 Opskrift... 6 SQL sætninger til at oprette tabeller... 7 SQL sætninger til at indsætte data...
Læs mere2. 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 merevorbasse.dk Redaktørmanual Kentaur
Redaktørmanual Kentaur Indholdsfortegnelse Kapitel 1 - TYPO3 Brugerfladen 3 Log ind 3 Backend 4 Frontend 5 Hvor skal jeg klikke? 5 Gem, gem og vis, gem og luk 6 Kapitel 2 - Sider & menuer 7 Sammenhæng
Læs mereTrin 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 mereKonkurrencer NONSTOP. Motivation & problemfelt
Konkurrencer NONSTOP Nye konkurrencer Hver dag Motivation & problemfelt Dette er et oplæg til den mundtlige eksamen i Innovation & Markedsføring. I det følgende vil jeg beskrive forretningsplanen for Konkurrencer
Læs mereDet Nye Testamente lyd-app. v. Stefan Lykkehøj Lund
Det Nye Testamente lyd-app v. Stefan Lykkehøj Lund Indledning For nogle år siden, fik jeg Det Nye Testamente som lydbog på USB. I starten lyttede jeg en del med tiden blev det dog til mindre og mindre.
Læs mereEksamen, DSDS, forår 2009
Eksamen, DSDS, forår 2009 Introduktion til Scripting, Databaser og Systemarkitektur Jonas Holbech IT Universitetet i København 3. juni 2009 Alle hjælpemidler er tilladte, dog ikke computer og kommunikationsmidler.
Læs mereDATABASE - MIN MUSIKSAMLING
DATABASE - MIN MUSIKSAMLING I dette forløb skulle vi lære om databaser, som bruger sproget SQL. SQL står for Structured Query Language. Det bruges til at vise og manipulere data, gemt i en database. I
Læs mereSmartFraming 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 mereManual til indberetning. Ventelistelukning.dk
Manual til indberetning Ventelistelukning.dk Manual til indberetning ventelistelukning.dk Indhold 1. Ventelistelukning.dk 5 Om databasen 5 2. Før du indberetter 6 Superbrugere og almindelige brugere 6
Læs mereBegrynder til at lave log ind system
Denne guide er oprindeligt udgivet på Eksperten.dk Begrynder til at lave log ind system Hej Vil jeg gerne lave en lille programmering forklare til hvordan du laver din helt egen lille start på at log ind
Læs mereLæringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4
Læringsprogram Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 R o s k i l d e T e k n i s k e G y m n a s i u m Indholdsfortegnelse FORMÅL...
Læs mereProgrammering C RTG - 3.3 09-02-2015
Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...
Læs mere09/03 2009 Version 1.4 Side 1 af 37
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 mereBrugervejledning 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 mereKort 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 mereProgrammering 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 mereWebside score dictionary.com
Webside score dictionary.com Genereret September 09 2016 21:42 PM Scoren er 33/100 SEO Indhold Titel Dictionary.com Meanings and Definitions of Words at Dictionary.com Længde : 68 Perfekt, din titel indeholder
Læs mereEasyIQ 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 mereAdministration 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 mereSEO og Kommunikation
SEO og Kommunikation Agenda 1. Kommunikation på nettet 2. SEO hvad er det? 3. Teknisk SEO 4. Søgeordsanalyse 5. On-page SEO 6. Off-page SEO Kommunikation på nettet Kend din målgruppe Hvilke kunder har
Læs mereWebside score akcpdistributor.de.cutestatvalue.com
Webside score akcpdistributor.de.cutestatvalue.com Genereret Juli 19 2019 10:28 AM Scoren er 47/100 SEO Indhold Titel akcp-distributor.de is worth $ 8.95 - Website Worth, Calculator Længde : 64 Perfekt,
Læs mereGRAFISK PRODUKTIONSFORSTÅELSE
GRAFISK PRODUKTIONSFORSTÅELSE BRILLIANT BIKINIES WEBSITE MARÍ DYRMOSE OPGAVEN OPGAVEBESKRIVELSE Brilliant Bikini kompagniet skulle have designet og programmeret en website, hvor de kunne præsentere deres
Læs mereInternet. 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 mereBLIV 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 mereUPLOAD. Af Database og Website til Skolens Server
UPLOAD Af Database og Website til Skolens Server INDHOLDSFORTEGNELSE Fra projekt til server... 3 Overførsel af SQL Database... 3 Eksekvering af T SQL Script... 8 Modificering af Visual Studio Projekt...
Læs mereEn 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 mereActiveBuilder Brugermanual
ActiveBuilder Brugermanual Forfatter: TalkActive I/S Dato: Juni 2004 Version: R. 1.01 Sprog: Dansk Copyright 2004 - Talk Active - all rights reserved. Indhold: 1. INDLEDNING...2 2. QUICK-START...3 3. OPBYGNINGEN
Læs mereManual til Kundekartotek
2016 Manual til Kundekartotek ShopPlanner Customers Med forklaring og eksempler på hvordan man håndterer kundeoplysninger www.obels.dk 1 Introduktion... 3 1.1 Formål... 3 1.2 Anvendelse... 3 2 Referencer...
Læs mereSå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 mereWeb 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 mereDrupal. 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 mere18/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 meresrum 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 mereKom godt i gang. Sitecore Foundry maj Version 1.1
Sitecore Foundry 4 Kom godt i gang 26. maj 2014 - Version 1.1 Pentia A/S Store Kongensgade 66, Baghuset 1264 København K Telefon: 7023 3330 E-mail: info@foreningssite.dk Indholdsfortegnelse Indledning...
Læs mereIndholdsfortegnelse. 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 mereSEO-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 mereProjekt - Valgfrit Tema
Projekt - Valgfrit Tema Søren Witek & Christoffer Thor Paulsen 2012 Projektet Valgfrit Tema var et projekt hvor vi nærmest fik frie tøjler til at arbejde med hvad vi ville. Så vi satte os for at arbejde
Læs mereTerminologi. Search Engine Marketing (SEM) Search Engine Optimization (SEO) Black Hat SEO White Hat SEO Pay Per Click (PPC)
Terminologi Search Engine Marketing (SEM) Search Engine Optimization (SEO) Black Hat SEO White Hat SEO Pay Per Click (PPC) Definition 1 SEO is a technique which helps search engines find and rank your
Læs mereIndholdsfortegnelse Opret engelsk version af hjemmesiden... 2
Indholdsfortegnelse Opret engelsk version af hjemmesiden... 2 Indledning:... 2 Metode 1 en samling af sider, med kun en engelsk version:... 3 Metode 2 Eksisterende sider med både en dansk og en engelsk
Læs mereEn svensk version af dette dokument kan hentes her: http://itu.dk/ people/hagerman/riktlinjer.pdf (500 kb)
Denne guide er skrevet til folk, som laver hjemmesider med Øresundsregionen som målgruppe. Hvilket sprog skal man skrive på dansk eller svensk, eller måske engelsk? Hvordan kommunikerer man mest effektivt
Læs mere5 ARBEJDE MED EDITOREN
5 ARBEJDE MED EDITOREN Editor (eller Rich Tekst Editor) er et indbygget indholdsredigerings værktøj, hvor man uden nogen kendskab til HTML kodning kan skrive tekst, indsætte billeder, videoer og links.
Læs mereVejledning til vedligehold af
Vejledning til vedligehold af www.ajsport.dk Udarbejdet af Helle M. Klausen Indhold Sådan logger du på... 2 Sådan logger du af... 2 Hvad er ikke tilladt under vedligehold af www.ajsport.dk?... 2 Kan www.ajsport.dk
Læs mereOpgaveteknisk vejledning Word 2016 til Mac. Tornbjerg Gymnasium 10. december 2015
Opgaveteknisk vejledning Word 2016 til Mac Tornbjerg Gymnasium 10. december 2015 Gem!!! Så snart et dokument er oprettet skal det gemmes under et fornuftigt navn, gør det til en vane at gemme hele tiden
Læs mereGrafisk 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 mereDaglig 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 mere1. SCREENING OG BAGGRUND
1. SCREENING OG BAGGRUND BL Danmarks Almene Boliger har på forvaltningskonferencen d. 22. august 2012 lanceret konkurrencen Bedst til bolig på nettet. Bedst til bolig på nettet baserer sig på samme overordnede
Læs merexgalleri 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 mereInteraktionsudvikling
Projektopgave 3: Interaktionsudvikling CPH business, klasse: MulA2013 Projektansvarlige undervisere Thomas Hartmann MereteGeldermann lützen: Projekt produkt url: www.amalieardahl.dk/projekt3/index.html
Læs mereMålet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.
Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål
Læs mereDokumentation. 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 mereAutomatisk 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 mereLav din egen forside i webtrees
Lav din egen forside i webtrees Du behøver ikke at kunne kode eller gøre noget advanceret for at designe din helt egen forside i webtrees. Alt du skal gøre er bare at gøre brug af den indbygget editor.
Læs mere