DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > Web aplikacije, web servisi i software
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

Web aplikacije, web servisi i software Frameworks, web servisi, programi, plugin-ovi, ekstenzije korisni za razvoj web sajtova. Sponzor: vivvo

Odgovori
 
Alati teme Način prikaza
Staro 25. 05. 2007.   #11
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

Citat:
Originalno napisao Dragi Tata Pogledajte poruku
@invanhoe: prosto ne znam odakle da počnem sa demantijima, pa neću ni da počinjem
ma slobodno, nisam uopste u advocacy fazonu (bar trenutno ).. ako sam rekao nesto glupo ili netacno slobodno udri...
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 26. 05. 2007.   #12
degojs
I'm a PC too.
Wrote a book
 
Avatar degojs
 
Datum učlanjenja: 06.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
degojs će postati "faca" uskorodegojs će postati "faca" uskoro
Default

Citat:
Ilija:
100% stoji. Poenta frameworka je da ti omogućava lak start i jednostano održavanje, ali kada se suočiš sa situacijom da ti trebaju ludačke performanse onda kompletna poenta pada u vodu pošto baš ono što frameworke čini zanimljivim sada predstavlja ogroman performance killer koji treba da bude odstranjen.
Diskutabilno.

Dobar framework će da omogući da programiraš na višem nivou, dok će on na sebe preuzeti odgovornost i posao da se npr. kod izvršava paralelno na više jezgara, što je danas sasvim očekivano. Da li ćeš baš sam uspeti da budeš tako efikasan i da posao raspodeliš na više jezgara?

Uzmi za primer SQL. Odluka o tome kako izvršiti upit je skoro u potpunosti prepuštena bazi. I radi to dobro, zar ne?
__________________
Commercial-Free !!!
degojs je offline   Odgovorite uz citat
Staro 26. 05. 2007.   #13
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

@Dejan - Ta diskusija poteže definiciju frameworka, a to je nešto u šta ne bih želeo da se upuštam Ograničimo ovu diskusiju na web frameworke - Django, Rails, ASP.NET, Symfony, CakePHP i sijaset drugih koji su na tržištu.

Navedeni primeri dodaju funkcionalnost u slojevima na sam jezik (obrada zaheva, apstrahovanje pristupa baze i drugim resursima, ORM, serviranje podataka itd) čime ubrzavaju razvoj, ali usporavaju izvršavanje. Otklanjanjem tih slojeva se dobija na brzini izvršavanja, ali se gube razne funkcionalnosti zbog kojih se inače frameworci i koriste tako da se zna desiti da sa nekim projektima dođeš u tačku da ti je framework kamen oko vrata i da bi ti bilo bolje da si počeo bez njega.

To je u suštini poenta onoga što sam rekao u prethodnom postu. Činjenica je da dobar deo tih frameworka optimizuje izvršavanje kako bi stvari bile rešene brže, ali retko kad to može da nadomesti gubitak performansi uzrokovan samim korišćenjem frameworka.

Poslednja izmena od Ilija Studen : 26. 05. 2007. u 12:27.
Ilija Studen je offline   Odgovorite uz citat
Staro 26. 05. 2007.   #14
degojs
I'm a PC too.
Wrote a book
 
Avatar degojs
 
Datum učlanjenja: 06.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
degojs će postati "faca" uskorodegojs će postati "faca" uskoro
Default

^Ma kako to?

Pa hajde da napravimo najobičniju stranicu u ASP.NET-u pa da mi onda neko pokaže ekvivalent u C ili C++ koji će jednako dobro (i jednostavno) da skalira od servera sa jednim procesorom do onog sa npr. 8 procesora.

Što se pominjanja SQL-a tiče, poenta je oko deklarativnog programiranja, a npr. ASP.NET to sasvim podržava. Evo primer:
Kôd:
<asp:SqlDataSource ID="sql1" SelectCommand="Select * From t1" ... />

<asp:Repeater ID="rep1" DataSourceID="sql1" ...>
  <ItemTemplate>
    <div class="item">
    ...
    </div>
  </ItemTemplate>
</asp:Repeater>
I to je to. Nikakvo smaranje sa ovim ili onim oko baze, petljama, a pokažite mi kako će to loše da skalira, itd. Ili, pokažite mi ručno pisani kod koji će to da radi brže (a pogotovo ako se ne oslanja na framework).
__________________
Commercial-Free !!!

Poslednja izmena od degojs : 26. 05. 2007. u 19:49.
degojs je offline   Odgovorite uz citat
Staro 26. 05. 2007.   #15
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Frejmvork je vrlo širok pojam, neki od njih teže da pokriju i performanse, a neki (o kojima Ilija priča) samo lakoću razvoja. Django, recimo, sam kreira tabele u bazi i SQL upite na osnovu modela i svakako ne može biti efikasniji od ručno optimizovanog upita. Barem do sad fokus njihovog razvoja nije bio na skalabilnosti.
jablan je offline   Odgovorite uz citat
Staro 26. 05. 2007.   #16
degojs
I'm a PC too.
Wrote a book
 
Avatar degojs
 
Datum učlanjenja: 06.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
degojs će postati "faca" uskorodegojs će postati "faca" uskoro
Default

Citat:
Originalno napisao jablan
Django, recimo, sam kreira tabele u bazi i SQL upite na osnovu modela i svakako ne može biti efikasniji od ručno optimizovanog upita. Barem do sad fokus njihovog razvoja nije bio na skalabilnosti.
To onda više liči na samo ORM, zar ne?
__________________
Commercial-Free !!!
degojs je offline   Odgovorite uz citat
Staro 26. 05. 2007.   #17
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

ORM, plus solidan templejt endžin, plus dobro osmišljeno URL mapiranje, validacija formulara itd. Otprilike sve što veb developeru treba. Mislim da se to može nazvati frejmvorkom.
jablan je offline   Odgovorite uz citat
Staro 26. 05. 2007.   #18
degojs
I'm a PC too.
Wrote a book
 
Avatar degojs
 
Datum učlanjenja: 06.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
degojs će postati "faca" uskorodegojs će postati "faca" uskoro
Default

Dobro, ali pošto je spemanje i dovlačenje podataka (tj. objekata) iz baze rešeno na "ORM način", onda je besmisleno gledati samo brzinu. ORM rešenja, koliko je meni poznato, nikad nisu bila brzinski šampioni u tim operacijama, naravno da nisu, upravo zbog O<->R mapiranja.

Hajde da uzmemo framework koji nije obavezno ORM. Npr. neki koji može da koristi stored proc za spremanje i izvlačenje podataka. Možda, Subsonic za ASP.NET.

Citat:
Gives you the option to go full-tilt OR/M, or use SPs/Views. We don't want to tell you what to do, you already know best. We just want to help.
__________________
Commercial-Free !!!

Poslednja izmena od degojs : 26. 05. 2007. u 20:37.
degojs je offline   Odgovorite uz citat
Staro 27. 05. 2007.   #19
degojs
I'm a PC too.
Wrote a book
 
Avatar degojs
 
Datum učlanjenja: 06.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
degojs će postati "faca" uskorodegojs će postati "faca" uskoro
Default

Samo da dodam još malo ulja na vatru, ovo mi je promaklo (sorry Ilija, mislio sam da je od tebe krenulo )

Citat:
Originalno napisao caboom
ali kada dodje do skaliranja na velikom broju upita/s koji izlazi iz okvira samog framework-a:
Šta znači tačno ova rečenica?

Da "čista" rešenja ("čist" PHP, "čist" ASP.NET..) mogu da serviraju beskonačno mnogo upita na nekom hardveru i da nećeš doći u situaciju da dostigneš maksimum?

(Pa i "čist" PHP, itd. je framework.)

Citat:
1) moraces da izlomis dobar deo funkcionalnosti zbog kojih si uopste krenuo da ga koristis
A šta kad koristiš npr. "čist" PHP i dođeš do maksimalnog broja upita koje hardver može da izdrži? Šta onda? Pa i onda moraš da "lomiš", po tebi.

Pa i ako ćeš da "lomiš", šta onda kad za 6 meseci opet dostigneš max? Opet "lomiš"? Pa dokle tako prijatelju? Dok ne odeš u asembler? Pa i tamo ima max.

Citat:
2) na kraju ces skontati da lagano gubis prednost koju si imao na pocetku izborom udobnijeg okruzenja
3) neces mnogo spavati
Kupi se novi server (doda CPU, itd) i kraj priče.

Ne znači da od početka trebaš da ideš sa najsporijim rešenjem i traljavim programiranjem, naravno.
__________________
Commercial-Free !!!

Poslednja izmena od degojs : 27. 05. 2007. u 02:42.
degojs je offline   Odgovorite uz citat
Staro 27. 05. 2007.   #20
caboom
profesionalac
Qualified
 
Datum učlanjenja: 10.02.2006
Poruke: 181
Hvala: 2
20 "Hvala" u 11 poruka
caboom is on a distinguished road
Default

Citat:
Samo da dodam još malo ulja na vatru, ovo mi je promaklo (sorry Ilija, mislio sam da je od tebe krenulo )



Šta znači tačno ova rečenica?

Da "čista" rešenja ("čist" PHP, "čist" ASP.NET..) mogu da serviraju beskonačno mnogo upita na nekom hardveru i da nećeš doći u situaciju da dostigneš maksimum?

(Pa i "čist" PHP, itd. je framework.)
ova recenica znaci veoma prostu stvar - od trenutka kada korisnik zatrazi neki content do trenutka kada ga obavi deli ga N tralalala operacija i svaka apstrakcija i svaki layer se penalizuje na odredjeni nacin, u nekim situacijama cena nije bitna - u nekim jeste. kao sto sam spomenuo - u velikom broju slucajeva to apsolutno nije problem, ali twitter je primer u kojem je bilo potrebno osakatiti sam RoR da bi se aplikacija dovoljno dobro skalirala - as easy as that. druga opcija je da pises sve ispocetka, ili da se napravis pametan i kazes "e da sam ja to pisao - ja bih to u ... i stavio ... i upotrebio hepek i ... ma ljubi ga majka".

Citat:
A šta kad koristiš npr. "čist" PHP i dođeš do maksimalnog broja upita koje hardver može da izdrži? Šta onda? Pa i onda moraš da "lomiš", po tebi.

Pa i ako ćeš da "lomiš", šta onda kad za 6 meseci opet dostigneš max? Opet "lomiš"? Pa dokle tako prijatelju? Dok ne odeš u asembler? Pa i tamo ima max.
hm... pre svega sa modernim kompajlerima nisam siguran koliko je racionalno poredjenje sa asemblerom - ali da, ima situacija u kojima je potrebno spustiti se dovoljno "nisko", zasukati rukave i raspisati dobar deo stvari od nule - gde nula nije tabula rasa programiranja, nego komponente kao sto su custom index, custom parser content-a, custom whatever - kao sto spomenuh - ovo nije narocito cest slucaj, pogotovo ne u klasicnim biz aplikacijama (u prevodu - koji ce ti?), ali igrom slucaja u kompaniji u kojoj trenutno radim je tako nesto bilo neophodno (vast.com) - to svakako ne znaci da je neko bio retardirano dokon i frontend pisao C-u.

Citat:
Kupi se novi server (doda CPU, itd) i kraj priče.
jel? mozda ako aplikacija moze prakticno da se skalira vertikalno, takodje - i vertikalno skaliranje ima veoma grube limite koje namece hardware, OS, kao i sam jezik/framework - npr. ruby i sa njim RoR nisu sampioni vertikalnog skaliranja - jedan request == 1 VM (ok, postoje neki standardni mehanizmi kojima se ovo moze delimicno kompenzovati i svakako je cena instanciranja ruby VM-a daleko manja od instanciranja npr. JVM-a) i to ti je sto ti je - i tu opet dolazimo do toga da sam super-mega framework koji te resava mnogih glavobolja na pocetku i ciji izbor izgleda kao jako dobar potez koji stedi mnoge sate programiranja, debagovanja, smanjuje kompletnu cenu izrade, ... name it - u takvoj situaciji pocinje da gubi ogromnu prednost koju je u prvom trenutku davao.

Citat:
Ne znači da od početka trebaš da ideš sa najsporijim rešenjem i traljavim programiranjem, naravno.
naravno, ali ovde je u pitanju situacija kada npr. odjednom aplikacija koja je iz racionalnih razloga bila pisana da podrzi max 10 upita u sekundi u nekom trenutku mora da skalira na 1000 upita u sekundi i kada "buy more iron" ne pomaze, ili je ekonomsko samoubistvo - struja kosta, rackspace kosta, iron kosta (ovo je barem jednokratna investicija) - ili kada naprosto ne resava problem.

ovo je rasprava koja moze da ide u beskonacnost, ali ono sto mene nervira u celoj prici je X je postigao Y bez price o uslovima Z - u prakticnom primeru to je:
1) django je podrzao ~140 upita u s (out of the box?)
2) twitter koji koristi RoR podrzava ~11K upita u s (out of the box?)
3) java je brza kao/brza od C/C++-a (10 primera u kojima ni u tragovima nije moguce videti ponasanje JVM-a kada GC divlja, ili su na nivou domaceg zadatka iz osnova programiranja - ne mislim nista lose, ali cesto takvi primeri pokazuju izuzetno malo, a buzz koji se generise je izuzetno velik)
4) ... name it, web je prepun potpuno banalizovanih benchmark-a

Poslednja izmena od caboom : 27. 05. 2007. u 04:20.
caboom je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Domaci Django hosting? jox Web Hosting, web serveri i operativni sistemi 5 25. 08. 2008. 11:31
Django framework Milos Micic Programiranje 6 05. 05. 2007. 20:21
Django book pre-release Petar Marić Programiranje 1 01. 11. 2006. 23:29
Django on a Windows PDA Petar Marić Programiranje 5 28. 10. 2006. 22:03
Moj prvi django-enabled sajt nesh Web site, dizajn i multimedia 8 17. 11. 2005. 21:39


Vreme je GMT +2. Trenutno vreme je 13:05.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.