Avatar billede or.han Nybegynder
17. marts 2007 - 19:02 Der er 13 kommentarer og
2 løsninger

CGI, mod_x, programmeringssprog osv.

Hej

Jeg har i længere tid set nogle ord/begreber som jeg egentlig ikke helt har forstået. Jeg har prøvet at finde forklaringer, men jeg forstår det stadig ikke fuldt ud:

- Hvad er CGI? Jeg har hørt det i sammenhænge med webservere, PHP o. lign.

- Der nævnes nogle gange moduler, fx mod_php, mod_ruby, som kan bruges som en erstatning for et eller andet??

- Jeg har altid troet at programmeringssprog og serverside-scripting var to forskellige ting. Men det er det vist ikke, da jeg har set en masse om perl, python og ruby i serverside sammenhænge.

- Hvad er frameworks? Jeg tror det er en samling af færdigt-lavede funktioner som kan lette ens arbejde, men er ikke sikker. Jeg har altid troet at API var det samme, men det er det vist ikke.

// or.han
Avatar billede roenving Novice
17. marts 2007 - 19:53 #1
1. http://www.google.dk/search?q=define:+cgi&hl=da&oi=definel&defl=en

2. Blank, søg selv på google

3. Mange serverside sprog er scripting-sprog, asp understøtter f.eks. mindst vbscript, Jscript, c/c++, Java m.m.fl.
-- .NET understøtter så endnu flere, bare de kan kompileres i .NET-scope ...
-- php er et serverside-scripting-sprog, som kan bruges til mange andre ting end html-sider ...
-- ruby-on-rails er en mulighed for at udnytte Ruby til at lave interaktive web-sider, men Ruby kan også bruges i mange andre sammenhænge ...

4. Frameworks kan måske forstås som arkitekturer, hvor der er en samlet ting serverside og udviklingsmæssigt, .NET-framework og JSP er nok det, jeg umiddelbart kan komme på ...

-- men arne_v kan sikkert give noget adskilligt bedre på det sidste !-)
Avatar billede arne_v Ekspert
17. marts 2007 - 20:09 #2
CGI er en protokol mellem en web server og et script, når web serveren får en
request så starter den en ny process hvor scriptet køres og CGI definerer
hvilke environment variable web serveren sætter op for processen og hvordan
scriptet returnerer HTTP headere til web serveren. Det er meget nemt at bruge
men der er et stort overhead fordi man starter en ny process.

PHP kan køres som CGI script. Men det giver bedre performance at bruge mod_php. mod_php
er et modul som loades ind i Apache web server processen og kører PHP scripts
inde i samme process. Det er meget mere effektivt end CGI. Apache bruger mod_xxx
moduler. IIS bruger ISAPI til det samme. Både ASP og ASP.NET er baseret på ISAPI
(ihvertfald på ældre IIS - de har lavet meget om i IIS 6 og 7).

Når man skal designe et server side script sprog, så har man jo to muligheder:
  1) opfinde et nyt sprog til lejligheden
  2) genbruge et eksisterende sprog
PHP valgte den første mulighed. De fleste andre valgte den anden mulighed.

Et API er en samling funktioner (klasser og metoder hvis det er objekt orienteret). Et
framework er også et API men det er mere end et API. Et API er noget low level
funktionalitet som man kan bruge efter behag. Et framework indeholder nogle
mere high level "gør" og "gør ikke" ovenpå API'et. Hvis man bruger et API
så kalder man typisk en funktion eller instantierer et objekt og kalder en
metode på det. Hvis man bruger et framework vil man typisk lade sin egen klasse
arve fra en klasse i frameworket og det er tit frameworket som kalder ens kode
og ikke omvendt.
Avatar billede or.han Nybegynder
20. marts 2007 - 19:45 #3
Okay tak for jeres svar.

Nu forstår jeg framework som et bibliotek med klasser/funktioner som gør ting nemmere for en selv.

API forstår jeg også som et bibliotek med klasser/funktioner som man bruger i sammenhæng med et software eller hardware. Så kan man bruge API'en til at lave plugins eller bruge softwaren/hardwaren til specielle formål.

Et andet spørgsmål som arne_v nok også kan svare på er noget om objekt-orienteret programmering:

Hvad bruges :: til?? Jeg har tidligere troet (uden at have brugt det eller noget) at det var en klasses parent. Men det er det vel ikke??
Jeg har set det fx sådan: File::open()
Er det i stedet for lave et File objekt, så kalder man i stedet for dens metode direkte??
Avatar billede arne_v Ekspert
20. marts 2007 - 19:53 #4
hvilket sprog ??

i nogle sprog vil klassenavn::metodenavn betyde kald af en statisk metode som
er en metoder der ikke kraever en instans
Avatar billede or.han Nybegynder
20. marts 2007 - 20:37 #5
Fx i Ruby har jeg set det. Nok også i noget med PHP.
Avatar billede arne_v Ekspert
21. marts 2007 - 02:07 #6
jeg mener at både Ruby og PHP bruger :: i den betydning
Avatar billede or.han Nybegynder
21. marts 2007 - 09:01 #7
Hvad er en statisk metode??
Avatar billede arne_v Ekspert
21. marts 2007 - 16:32 #8
en metode som hoerer til klassen og ikke til en instans af klassen
Avatar billede or.han Nybegynder
23. marts 2007 - 10:45 #9
Lige et sidste spørgsmål.

Hvad vil du anbefale af programmeringssprog, som kan læres relativt nemt og bruges med hensyn til et program, der kan bruges sammen med USB applikationer. Der skal også være en grafisk brugerflade, hvor man kan administrere dataene til og fra USB-porten.

Dette kan alle sprog (vil jeg tro) men I hvilket er det "nemmest"??
Avatar billede arne_v Ekspert
23. marts 2007 - 14:20 #10
hvis der er "specielel behov" for kommunikation med den applikation
er C/C++ nok nemmest

GUI vil vaere nemmere at lave i C#/VB.NET eller Java
Avatar billede or.han Nybegynder
24. marts 2007 - 16:12 #11
Mange tak for hjælpen arne_v. Bare læg et svar.
Avatar billede arne_v Ekspert
24. marts 2007 - 16:19 #12
svar

(roenving har jo også været med)
Avatar billede or.han Nybegynder
24. marts 2007 - 18:28 #13
Ja også roenving. Læg du også et svar.
Avatar billede roenving Novice
25. marts 2007 - 22:17 #14
Velbekomme, hvis der var noget, du kunne bruge '-)
Avatar billede roenving Novice
26. marts 2007 - 14:14 #15
Tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester