Gå til innhold

Webkafeen


Anbefalte innlegg

Videoannonse
Annonse
Jobbintervju hos NSN i formiddag! Wish me løkk.

9415921[/snapback]

Du kan jo ta med mac'n din og være med å spille cs kl 11.

Nei det kan du ikke nei :wee:

 

Påstand: Det er bedre å lage alle koder selv, inkl. server-script og SQL-spørringer/prosedyrer kontra å ta i bruk ferdigskrevne moduler, ikke minst Open Source.

9415983[/snapback]

Skal man bruke annen kode er første kriteriet alltid at det er testet og solid kode.

 

Da vil jeg si det er dumt å finne opp hjulet på nytt. Tankegangen med å lære faller helt bort her, for i en reell situasjon er tid og penger mer viktig enn læring.

Lenke til kommentar

Fordeler med ferdige moduler:

  • Man slipper arbeidet selv
  • Man har stadig tilgang på oppgradering
  • Sikret et proffesjonelt grensesnitt

Ulemper:

  • Alle i hele verden har fritt innsyn i hele systemet ditt via kilden for modulene, og jeg vil påstå at man dermed er mer utsatt for hacking
  • Personlige modifikasjoner vanskeliggjør viktige oppdateringer for å stadig måtte sikre seg mot kjente trusler/hull

Fordeler med å skrive selv:

  • Full kontroll av alle funksjoner
  • Kan skreddersy, og unngå overflødige koder som ikke er tjent systemet man vil ha
  • Kan skrive server-script og SQL på norsk, og dermed vanskeliggjøre hacking fra ikke-norsk opphav.
  • +Det er gøy, og det er slik man lærer å programmere...

Endret av neitakk
Lenke til kommentar
[*]Kan skrive server-script og SQL på norsk, og dermed vanskeliggjøre hacking fra ikke-norsk opphav.

9416043[/snapback]

 

Personleg så synest eg det er dårlig praksis og at det gjer kode tyngre å lese å kode "på norsk". Godt mulig det er berre meg, og det har med vane å gjere, men eg hadde aldri skrive ein "orntli" applikasjon med "norsk" kode.

 

Edit: Skrivefeil gjer òg ting tyngre å lese :hrm:

Endret av Arve Systad
Lenke til kommentar
Kan skrive server-script og SQL på norsk, og dermed vanskeliggjøre hacking fra ikke-norsk opphav.

9416043[/snapback]

...men som igjen gjer det vanskeligare å få hjelp.

 

Eg skriv vanlegvis basisfunksjonaliteten sjølv, men om eg finn eit bibliotek som passar perfekt til mitt bruksområde brukar eg sjølvsagt dette. :)

Lenke til kommentar
Fordeler med ferdige moduler:

  •  
  • Man slipper arbeidet selv
     
  • Man har stadig tilgang på oppgradering
     
  • Sikret et proffesjonelt grensesnitt
     

Ulemper:


  •  
  • Alle i hele verden har fritt innsyn i hele systemet ditt via kilden for modulene, og jeg vil påstå at man dermed er mer utsatt for hacking
     
  • Personlige modifikasjoner vanskeliggjør viktige oppdateringer for å stadig måtte sikre seg mot kjente trusler/hull
     

Fordeler med å skrive selv:


  •  
  • Full kontroll av alle funksjoner
     
  • Kan skreddersy, og unngå overflødige koder som ikke er tjent systemet man vil ha
     
  • Kan skrive server-script og SQL på norsk, og dermed vanskeliggjøre hacking fra ikke-norsk opphav.
     
  • +Det er gøy, og det er slik man lærer å programmere...
     

9416043[/snapback]

 

Security through obscurity noen?

Lenke til kommentar
Påstand: Det er bedre å lage alle koder selv, inkl. server-script og SQL-spørringer/prosedyrer kontra å ta i bruk ferdigskrevne moduler, ikke minst Open Source.

9415983[/snapback]

I stor grad feil. Ferdigskrevet kode, ikke minst rammeverk som Django, Ruby on Rails og de mest utbredte CMS/CMF er så gjennomtestet og revidert at egenskrevet kode har langt større risiko for feil og sikkerhetshull.

 

OpenSource er langt fra mindre sikker enn "lukket kode". Faktisk vurderer de fleste Open Source som sikrere enn "lukket kode". Åpenheten til kode medfører jevnt over grundigere "revidering" av koden. Lukket kode har som oftest mer begrenset testing, noe som ikke minst gjelder lite utbredte systemer.

 

Bruk av rammeverk øker jevnt over kunden sin framtidige fleksibilitet, også når det gjelder skifte av leverandør. Rammeverk reduserer også kostnaden.

 

Eneste reelle fordelen med å skrive fra bunnen er at man kan redusere "overhead" betydelig, men det er også et tveegget sverd. Utvidelse av funksjonalitet er ofte komplisert og kostnadkrevende, noe jeg ser stadig vekk.

 

Det er ikke uten grunn at flertallet av implementerte nettløsninger bygger på rammeverk eller CMF/CMS-er med tilpassinger.

Endret av Bolson
Lenke til kommentar
Security through obscurity noen?

9416098[/snapback]

Det kan du gjerne si, men man skal selsvagt bygge et sikkert system selv om man velger å lage kodene selv.

 

Personlig skriver jeg kodene slik:

 

*Lager alle variabler med norske ord, men bruker engelsk på kolonner og tabeller i database.

*Sjekker tilgangsrettigheter før hver eneste spørring og skriving mot database, selv om det er sjekket tidligere i samme fil/syklus

*Filtrerer alle ikke-numeriske ev. ikke-alfa og numeriske verdier fra query og forms

*Bruker absolutt minimalt med variabler og kode

 

Vil påstå det fungerer vel så bra, og driver man med et enmannsprosjekt ser jeg liten vits i å gi andre innsyn. Om det dog skulle være tilfelle, ville andre enn meg selv fint forstå kodene.

 

Det er min mening/praktiske erfaring da...

Endret av neitakk
Lenke til kommentar
Og vil også si at vi her snakker om større prosjekter, ikke du som skriver hjemmesiden din. For det er uinteresant.

9416207[/snapback]

Agreed. I grundig gjennomtesta rammeverk kor SQL er abstrahert er ikkje SQL Injections og liknande noko ein treng å tenkje på eingong. Likevel, XSS-angrep er farlig. Eg testa nylig ein applikasjon i Django, og <script>alert('hei');</script> gjekk rett igjennom. :)

Skulle ønskje at Django inkorporerte whitelisting i staden for brukardefinert escape av variablar.

Lenke til kommentar

Flere fordeler og ulemper ved ferdigskrevet kode:

Fordeler:

  • Du sitter med et rammeverk som ofte er laget for lett å kunne utvides i alle retninger, noe som krever mer planlegging enn man egentlig tror, og dermed slipper du denne planleggingen (og tiden) ettersom noen allerede har gjort dette for deg. Dermed sitter du med en base som er mer stabil enn noe du antakelig ville kunne hostet opp selv innenfor tidsfristen.
  • Det er enklere å spørre andre om hjelp dersom det er noe du ikke klarer, ettersom det sannsynlig vis er flere som har innsikt i kodebasen.
  • GØY! Du vil se resultater mye raskere, helt fra starten av, ettersom du bruker er ferdig rammeverk som gjør mye "kjedelig" arbeid for deg.

Ulemper:

  • Det kan være vanskelig å sette seg skikkelig inn i kodebasen og dokumentasjonen, og du risikerer å skrive funksjoner som allerede eksisterer.
  • Store prosjekter har ofte kode som er utviklet over mange år, og dermed eldre versjoner av programvaren. Du risikerer å sitte med en haug av "legacy"-kode, noe som selvsagt ikke er like gøy.
  • Du lærer ikke nødvendigvis den store sammenhengen av ting og hvordan skrive stor og omfattende kode som skal kunne utvides. Istedet lager du bare "småsnutter" som du legger inn her og der.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...