Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak są napisane wielkie serwisy
Forum PHP.pl > Inne > Hydepark
ciano
Mam proste pytanie ...

Czy serwisy mające "kupę" odwiedzających są napisane obiektowo czy strukturalnie?

Mam na myśli serwisy takie jak fotka.pl czy allegro.pl?
SHiP
Myślę ze to bez znaczenia bo najprawdopodobniej są one kompilowane do postaci bardziej przyjaznej procesorowi, kiedyś widzialem moduł przyspieszający kilkakrotnie skrypty php - po jego pracy pliki juz do edycji sie nie nadawały ;].
dr_bonzo
No i na pewno nie sa umieszczone na jednym serwerze tylko na wielu.
Seth
Jak sa napisane?
Z glowa.

Najpierw zespol programistow poswieca czas na analize projektu, potencjalnych problemow i watpliwosci co do funkcjonowania.

Potem przychodzi czas na zaprojektowanie bazy danych i relacji miedzy tabelami.

Nastepnie przychodzi czas na projektowanie klas, interfejsow i ich relacji.

Po stworzeniu szkieletu mozna przystapic do dlubania kodu i ew. oprogramowania SQLa.
Lompi
A ja słyszałem, że allegro bazuje na jakimś angielskim skrypcie aukcji tylko, że jest spolszczony i przerobiony. No ale moge się mylić.
sf
Cytat(Lompi @ 10.10.2006, 06:54:03 ) *
Czy serwisy mające "kupę" odwiedzających są napisane obiektowo czy strukturalnie?


Mnie tam bardziej interesuje jak powinny być napisane sleepysmiley03.gif Wiele znanych serwisów posiada zaszłości hairysmiley.png z uwagi na to, że były pisane w czasie gdy wszystko było na niższym poziomie. Aktualnie wydaje mi się, że jeśli chcemy dogonić konkurencję powinniśmy ją przewyższać właśnie techniką, możliwościami naszego systemu, łatwością rozbudowy, uniwersalnością, a to zapewnia tylko programowanie obiektowe :exclamation:
mike
Cytat(sf @ 10.10.2006, 08:28:06 ) *
(...), łatwością rozbudowy, uniwersalnością, a to zapewnia tylko programowanie obiektowe :exclamation:

Nie tylko: Programowanie aspektowe
UDAT
Cytat(mike_mech @ 10.10.2006, 08:32:29 ) *


Tak naprawdę to AOP ( Programowanie Aspektowe ) najlepiej sprawdza się wraz z OOP ( obiektowo ), chociaż jakoś mało osób używa ( co choćby widać po temacie AOP ).

Poza tym OOP wcale nie jest dużo wolniejsze ( chyba, że wliczać komentarze - wtedy trzeba użyć APC ), spore przyspieszenie uzyskać można poprzez wyrzucenie nieużywanych funkcji i klas.

-----

Co do Allegro to jestem pewien, że jest strukturalne ( Apache 1.3.34 / php 4.4.2 )
Poza tym duża część skryptów i CMSów pisana jest dla PHP4, więc tu także z obiektowością nie można mieć doczynienia ( jedynie namiastką ).
erix
Cytat
Poza tym OOP wcale nie jest dużo wolniejsze

Wolniejsze? Nie wiem dlaczego, ale u mnie, gdy przerzuciłem większość zadań do klas, to skrypt... przyspieszył (sic!).

Cytat
spore przyspieszenie uzyskać można poprzez wyrzucenie nieużywanych funkcji i klas.

IMHO będzie to znikome; lepiej zoptymalizować zapytania...
bim2
Mii tez po przezucenie się na klasy wszystko przyspieszyło. Może dlatego że wcześniej robiłem to bez głowy smile.gif
UDAT
Cytat(erix @ 11.10.2006, 20:30:44 ) *
Wolniejsze? Nie wiem dlaczego, ale u mnie, gdy przerzuciłem większość zadań do klas, to skrypt... przyspieszył (sic!).


Tworzenie obiektów jest relatywnie wolne.


Cytat(erix @ 11.10.2006, 20:30:44 ) *
Cytat

spore przyspieszenie uzyskać można poprzez wyrzucenie nieużywanych funkcji i klas.

IMHO będzie to znikome; lepiej zoptymalizować zapytania...


Przykład z autopsji: samo przeparsowanie ~ 2 * 10^4 trwało 1/80 s, z czego jak się okazało potrzeba było ok 10 razy mniej, a odliczając komentarze to ponad 60 razy, co przyspieszyło skrypt dwukrotnie.
Cysiaczek
Uhuhuhu. Programowanie aspektowe... Wiedziałem, że czegoś mi ciągle brakuje. Dzięki mike_mach za info smile.gif

Odnosząc się z kolei do szybkości kodu, to logicznym jest, że kod strukturalny jest szybszy, dlatego, że obiektowy* z założenia opakowuje inny kod i musi zostać zainicjalizowany.

* kod, czyli definicje klas, metod, a nie 'programowanie obiektowe'.
Seth
Polecam zrobic sobie testy o ile bardziej jest wolniejszy kod obiektowy od kodu proceduralnego.
Sa to liczby rzedu kilku setnych sekundy. Przy zlozonych aplikacjach moze i to ma znaczenie ale przy mniejszych i srednich, przejscie na OOP jest praktycznie nie zauwazalne (jesli chodzi o szybkosc renderowania strony), a napisany tak kod jest bardziej przejrzysty, latwiejszy do zarzadzania i rozbudowy.
DeyV
Nie mogę zapomnieć wyników pewnego konkursu dla programistów php (zwyciężonego zresztą przez Polaka) gdzie ten właśnie, zwycięski kod, był kilkakrotnie mniejszy i wielokrotnie szybszy, mimo, a może raczej DZIĘKI, napisaniu go obiektowo.
Pozwoliło to bowiem na utworzenie o wiele bardziej przemyślanego i optymalnego algorytmu, o wiele mniej również podatnego na błędy.


A że nie zawsze to jest łatwe... no cóż - nikt nie obiecywał, że będzie łatwo smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.