DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Programiranje (http://www.devprotalk.com/forumdisplay.php?f=23)
-   -   Izbor tehnologije za velike Web aplikacije (http://www.devprotalk.com/showthread.php?t=436)

marinowski 16. 12. 2005. 11:38

Na mungosovom blogu u komentarima je dat vrlo interesantan link na prezentaciju kako je flickr izgradjen:
http://www.niallkennedy.com/blog/uploads/flickr_php.pdf

PHP aplikacija sa Smartyjem i MySQLom. Ima par interesantnih trikova, kao sto je menjanje tipa baze u MyISAM kod slave replikacije. Toplo preporucujem ovu prezentaciju.

noviKorisnik 16. 12. 2005. 14:35

Citat:

XML isn’t simple :(
  • PHP 4 doesn’t have good a XML parser
  • Expat is cool though (PEAR::XML::Parser)
  • Why doesn’t PEAR have XPath?
    • Because PEAR is stupid!
    • PHP 4 sucks!

(čuj ga... neće da mi broji quote u post length... koje mučenje)

marinowski 16. 12. 2005. 18:23

Jeste prezentacija živopisno napisana, ali verujem autoru jer je prezentacija napisana na osnovu iskustva i realnih problema koji su se javljali na neosporno komplikovanom i velikom servisu.

Za razliku od očekivanih specijalnih ekspertskih rešenja, koriste se totalno obični i standardni paketi, koje inače zna svaki klinac, a i nisu zaboravili na smarty kako je servis rastao. Dobro, jesu zaboravili na normalizacijske forme kod baze podataka, a i siguran sam da postoji još mnogo trikova koji se ne pominju.

Takođe je interesantno što nisu prešli na pravu bazu podataka kada je servis postao ozbiljan, nego su vrlo elegantno zaobišli poznate MySQL probleme sa par pametno povezanih repliciranja.

Upućujem na još jedan interesantan članak, šta se može desiti kada se pređe na pravu bazu podataka. Projekat? Sitnica, Google Adwords ;) Btw, Xooglers je interesantan blog, pišu ga ex-radnici Googlea.

Izvinjavam se što se vraćam na PHP nakon što je tema splitovana :)

DejanVesic 18. 12. 2005. 09:29

Vrlo je bitno šta podrazumevaš pod "velikom" aplikacijom.

Ako se misli na VELIKI BROJ POGODAKA, onda je definitivno bolja tehnologija koja ima na bilo koji način kompajliranje strane.

Skripting jezici, kod kojih parser svaki put obrađuje stranu, su tu u debelom minusu - to itekako zna da pojede:

- procesorsko vreme
- memoriju; ako nisi pod nekim Garbage Collection enabled motorom (.Net, Java) ovo vrlo brzo dovodi do fragmentacije memorije i finalno, do pada servisa

(ovo gornje je sve iz iskustva; u pitanju je IIS i ASP, više detalja imate na blogu mog kolege Alecka: http://www.aplus.co.yu/software-web/...-very-careful/ )

Ako se "veliki" odnosi na veličinu / broj modula, onda to najviše zavisi od tvog načina programiranja: jasno odvojeni moduli sa interfejsima između njih, što manje globalnih promenljivih, čist kod bez nekih perverzija tipa cela petlja u jednoj liniji.

Moj izbor je: .Net za sve ozbiljnije projekte (odlično okruženje, kompajliranje u assemblies, mogu da stavim Test Unite za provere funkcionalnosti) i generalno ga vrlo dobro znam :) Za manje projekte, PHP

ivanhoe 19. 12. 2005. 04:24

Citat:

Originalno napisao zigor
Još interesantnije je da se radilo o Perlu. Mislio sam da su koristili nešto drugo za tako veliki projekat.

ne znam zasto ljudi nipodastavaju perl toliko? Perl ima sve sto treba za projekat bilo koje velicine. Ima OOP(mada malo cudan), ima vrlo razradjen namespacing i module, ogromnu bazu gotovog i testiranog koda na CPAN-u, a mod_perl nudi odlicne perfomanse, plus par low-level trikova sa Apachom...


Citat:

Originalno napisao nesh
Java je, sto se mene tice, skroz neupotrebljiva za www rad. Previse su generalizovali jezik da bi bio upotrebljiv. ;)

paaaa, znam par ljudi koji se ne bi slozili sa tobom, ali posto ni ja ne volim javu, svakako necu ja da je branim :D

Citat:

Originalno napisao nesh
Perl je i dan danas vrlo jak u www domenu zbog ogromne baze korisnika koji imaju xxxx godina iskustva sa njim ali je za izbegavanje zbog ooooogromne lakoce pisanja necitljivog koda.

meni je ovo kao da kazes da ne treba seci hleb ostrim nozem jer mozes lakse da se poseces :)

U svakom jeziku mozes da pises necitak kod, a oni $@% u perlu se mozda cine necitkim ljudima koji nisu navikli da gledaju perl kod, ali posle mesec ili dva rada shvatis da oni u stvari dodaju na citljivosti (jer pokazuju tip promenjive). Radio sam na nekim solidno velikim perl projektima i apsolutno tvrdim da u perlu moze bez velikog napora da se pise kod koji je izuzetno citljiv, samo treba project manager da proglasi pravila ponasanja (i zapreti sa -20% plate onima koji prave sranja) i sve bude super....plus perl podrzava ubacivanje helpa direktno u kod preko pod-ova, nesto nalik javadoc-u, sto je isto jako kul stvar...

Citat:

Originalno napisao nesh
Za velike projekte performanse su itekako vazne!! Sto veci projekat to veci hit-rate inace - sto bi bio veliki??

Pa nisu svi web based projekti klasicni sajtovi. Imas masu ogromnih aplikacija
sa web interfejsom koje uopste nemaju veliki hit rate, ali su izuzetno komplexne, tipa kompletno knjigovodstvo neke velike kompanije (recimo Telekom ima to), ili web aplikacija za spediciju neke internacionalne kompanije tipa P&G, ili na primer Maximo sistem (sa njim konkretno sam radio, on je pisan u C++ i Javi) koji sluzi da vodi stanje u magacinima (i sve moguce vezano za to, putne naloge, naloge za nabavku, zamenu, optimizaciju transporta, itd..) za ogromne sisteme kao British Petroleum. Njih koriste samo zaposleni kompanije, znaci hit rate je umeren, ali te stvari umeju da budu zilion puta komplikovanije od bilo kog sajta, rade sa ogromnim bazama, puno raznoraznog koda, razvijaju ih paralelno timovi koji su bukvalno na razlicitim kontinentima.. jednom recju mnogo je tu vecih problema od hit-rate-a, koji se uostalom uvek da lako resiti pomocu proxija i dodatnih servera...

marinowski 19. 12. 2005. 09:36

Nemam ništa protiv Perla, naprotiv. I sam ga koristim u skoro svim projektima za backend aplikacije. Bio sam iznenađen (pozitivno) da ga i del.icio.us takođe koristi.

Pametno ste pomenuli da je pravo pitanje šta se smatra velikom aplikacijom: da li je to veliki hitrate, komplikovanost same aplikacije zbog velike količine modula, ili ogromne količine podataka koja mora da se obrađuje u realnom vremenu.

Odgovor na ovo pitanje, naravno, nije jednoznačan. Svako će hvaliti svoje rešenje na koje je navikao, a svoje projekte zvati strašno komplikovanim, ili mission critical ...

Mislim da je najvažnije da se treba imati potpuno poverenje u alat koji se koristi, i da se taj alat zna u dušu, jer opterećenje, bilo to u hitrateu, modulima ili količinama podataka čeka iza ćoška.

degojs 20. 12. 2005. 03:44

Citat:

nesh
Java je, sto se mene tice, skroz neupotrebljiva za www rad. Previse su generalizovali jezik da bi bio upotrebljiv.
Kako to (ako može konkretno)? Mislim da je ocena "neupotrebljiva" više nego pogrešna.

Citat:

Java programeri su pravedno skupi, ko ima zivaca da "sazvace" onoliki API samo da bi pisao/citao fajl i treba da trazi gooomilu para.
How about Apache Software Foundation - Jakarta Commons?

Za Javu vredi, manje-više, sve što i za .NET, odnosno obrnuto :)

zextra 20. 12. 2005. 10:06

hehe, znali ste da ce se kad-tad pojaviti neko ko ima pozitivno misljenje o javi, isto kao ja o perlu ;)

bluesman 20. 12. 2005. 12:19

Nije mi jasno, a ne prozivam nikoga jer me mrzi da gledam KO je šta pisao, zašto su ljudi skloni omalovažavanju tehnologije koju ne razumeju ili nisu spremni (voljni) da koriste. I čini mi se da što manje znaš o nečemu, više si sklon da tvrdiš da to nešto ne valja.

zextra 20. 12. 2005. 15:25

@bluesman: mislim da to ljudi rade bas iz neznanja... Ja sam recimo sklon da pljujem bilo sta sto ima .NET u imenu, delom iz nepoznavanja materije, a delom sto bas i ne obozavam korporaciju koja stoji iza istog :)

Uzgred, nisam ja taj koji je omalovazavao Javu ;) Nisam bas upucen, ali znam da Tomcat radi dobar posao kada je Java na Apachu u pitanju...


Vreme je GMT +2. Trenutno vreme je 08:01.

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.