Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zasady pisania na forum Pro

Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.

> php a duże projekty., Jakie środowisko używać.
anas
post
Post #1





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Witam.

Od jakiegoś czasu jako firma realizujemy w miarę duże projekty bazując częściowo na własnych rozwiązaniach (jak to już w świecie php bywa - każdy pisze własny framework). Interesuje mnie wasza opinia czy warto dalej brnąć w tworzenie własnych fundamentów, czy np. nie lepiej pozostawić to innym (Zend Framework, Symfony, itd). Jak wiemy w php zanim się "przetnie deskę", należy sobie stworzyć piłę, samą deskę, a najlepiej to okulary ochronne i wiele innych narzędzi. (szkoda że nie wygląda to tak jak w .net). I teraz najważniejsze to jakie wy narzędzia byście zastosowali przy tworzeniu większych serwisów internetowych (dla przykładu serwis - 50k userów na dzień dobry przeniesionych ze starej wersji - docelowo liczba może sięgnąć kilkuset tysięcy, a może i więcej).

Chodzi mi o solidną platformę - czy ktoś z was pracował na jakimś dobrym ogólnodostępnym frameworku, nad podobnej wielkości projektem i może zdradzić mi jak się zachowywał? A może inne narzędzia? Czego wy używacie przy naprawdę dużych projektach?

Ps. Zależy mi również na szybkości pracy - przy np. 4 programistach nad takim projektem koszta mają dla mnie duże znaczenie.

Pozdrawiam dzięki za sugestie.

anas
Go to the top of the page
+Quote Post
6 Stron V   1 2 3 > »   
Start new topic
Odpowiedzi (1 - 99)
nazihipi
post
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 14.07.2006

Ostrzeżenie: (10%)
X----


Jeżeli chodzi o naprawdę duże projekty to ja wogóle stawiam na inny język niż php mianowicie Ruby. Korzystam przy tym (co będzie odpowiedzią na Twoje pytanie) z framewroka Ruby on Rails (dobry framework to na prawdę niezastąpiona sprawa. Radzę Ci po prostu wrzucić na warsztat to co wymieniłeś i samemu określić co spełnia Twoje oczekiwania)
Go to the top of the page
+Quote Post
splatch
post
Post #3





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Jeśli idzie o szybkość działania. Ruby w połączeniu z Railsami jest bardzo wolne. Z grupy RoR, Symfony, Django najszybsze jest Django, najwolniejsze Symfony..
Co do Cake php - http://www.litfuel.net/plush/?postid=138.
Go to the top of the page
+Quote Post
nazihipi
post
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 14.07.2006

Ostrzeżenie: (10%)
X----


Cytat(splatch @ 28.08.2006, 08:10 ) *
Jeśli idzie o szybkość działania. Ruby w połączeniu z Railsami jest bardzo wolne.

tak... ? a z czym to porównujesz? może jakieś testy?
tracąc nawet trochę na szybkości działania zyskujesz na niesamowitej szybkości tworzenia.

ps. pisząc o szybkości, nie mieszałbym frameworków dla różnych języków..
Go to the top of the page
+Quote Post
anas
post
Post #5





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Hej.

Ogólnie rzecz biorąc trudno by mi było teraz przekonać wszystkich programistów do tworzenia w Ruby - chodziło mi głównie o frameworki dla php. Co do Symfony - czy ktoś z was postawił na nim duży serwis, z dużą ilośćią odsłon - chodzi mi o porównanie jak się poszczególne fw zachowują w stosunku do obciążenia, jak działa w nich cachowanie, jak szybko się w nich pisze, testuje, etc. Między tym co jest napisane w dokumentacji, a rzeczywistością są zawsze duże rozbierzności - dlatego ciekawią mnie wasze doświadczenia.

Czy np. warto postawić na szybkie tworzenie (stosowanie narzędzi typu ORM) i późniejszcze cachowanie wyników, czy też lepiej skupić się na dobrym oprogramowaniu warstwy DAO i zapomnieć o takim rozwiązaniu?

Ja mam swoją opinię na ten temat, ale nie chciałbym wprowadzać jakichkolwiek sugestii, tylko usłyszeć waszą w miarę obiektywną ocenę.

Pozdrawia i dzięki za pomoc.

anas
Go to the top of the page
+Quote Post
bela
post
Post #6


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

Ostrzeżenie: (0%)
-----


nazihipi: chodzi pewnie o ten test http://wiki.rubyonrails.com/rails/pages/Fr...ork+Performance
Go to the top of the page
+Quote Post
sf
post
Post #7





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Wg mnie aktualnie jeśli ktoś ma już coś swojego i to się dobrze sprawuje to nie widze powodów by się przesiadać na inne rozwiązania. Zwłaszcza, że nie powalają.. a wręcz przeciwnie ma się zawsze jakieś swoje zastrzeżenia do nich.

Wiele osób zachwala Cake php, ale jak już pisałem nie raz dla mnie ten framework od strony kodu jest nie do zaakceptowania. Symfony.. przeglądałem jego możliwości, wszystko ładnie wygląda jak się robi schematyczne rzeczy.. ale u mnie w pracy zawsze są jakieś odchyły i żadko kiedy wygląda to tak prosto jak na przedstawionych tam przykładach.

Stawiam na swoje rozwiązanie z uwagi na to, że wiem jak chce tworzyć aplikacje, jeśli zauważe jakiś problem/złe podejście to sam je rozwiązuje, nie musze czekać na poprawki. Ważne tylko by podglądać `konkurencje` i unowocześniać swój framework od czasu do czasu.
Go to the top of the page
+Quote Post
Ace
post
Post #8





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


anas: framework to nie wszystko. Mozesz rowniesz podkrecic baze danych/serwer. Zamiast np Apache moze zainteresuj sie lighttpd, ktory ponoc jest szybszy od apache (nie wiem nie testowalem, widzialem tylko benchmarki na stronie lighttpd), ktory w sobie uwzglednia mozlwiosc loadbalancing. Dodatkowo rozdzielenie uslug baza na innej maszynie, duzo ramu, + programowanie na poziomie bazy danych - postgresql, chyba ze mowimy o platnych rozwiazaniach, to oracle/mssql.

Mysle ze warto zwrocic uwage na optymalizacje kodu. Np generowanie statysytk moze byc czasochlonne... dlatego takie zadanie moze byc wykonywane raz dziennie, o 3-4 w nocy gdy obciazenie serwera jest praiwe zerowe... Cos za cos, raz na dzien aktualizowane statystyki, ale ... nie obciaza to maszyny. Takich praktyk jest wiele.

Ale dobry projetk systemu + dobry projekt bazy + dobre wykonanie + konfiguracja maszyny = sukces.

Cachowanie calych fragmentow strony moze okazac sie owocne, po co za kazdym razem wyciagac to samo menu z bazy, jak mozna raz zchacowac i miec w postaci pliku html gdzies zapisane?
Go to the top of the page
+Quote Post
mike
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(J4r0d @ 28.08.2006, 23:46 ) *
Przecież mysql jest dostępny w wersji darmowej (bez wsparcia)...

Znasz różnice pomiędzy mySQL a wspomnianymi oracle lub mssql?
Róznice sa tak duże, że nie ma co porównywać (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) a do dużego projektu MySQL się nie nadaje.
Może w przyszłości MySQL5.0 ale teraz jeszcze nie
Go to the top of the page
+Quote Post
SongoQ
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


@mike_mech podejrzewam ze wersja MySQL 7.0 (hehe)

@J4r0d zwracaj uwage na nazwy bo mylisz pojecia

Jesli chcesz wydajność polepszyc zainteresuj sie DB z plsqlem, bedziesz mogl wiekszosc funkcjonalnosci kodu przeniesc na baze danych. Podejscie ze jeden uzytkownik systemu = jeden uzytkownik bazy danych jest najlepszym rozwiazaniem. Uprawnienie dostep do rekordow zostawiasz bazie danych. Wyciagajac dane automatycznie sa filtrowane dla konkretnego usera. Przy wiekszych, zlozonych bazodanowych aplikachacg jak uczy literatura powinno się wiekszosc logiki zostawic bazie danych.
Go to the top of the page
+Quote Post
Ace
post
Post #11





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mysle ze duzy projekt - chociazby gdzie jest strasznie duzo danych w bazie, liczony w milionach rekordow. Po prostu niektore usprawnienia baz typu oracle/pg/mssql usprawnia analize takich danych, co przyczyni sie do wzrostu szybkosci dzialania aplikacji.

Zwroccie uwage, ze zle oprogramowane zagadnienie pracujace na kilku tysiacach rekordow moze byc wolniejsze niz, takie samo zagadnienie lepiej oprogramowane liczone w milionach rekordow.

Wiekszosc pracy ma jednak programista, nie FrameWork, czy Baza danych i to od niego wychodzi ta wydajnosc.
Go to the top of the page
+Quote Post
sobstel
post
Post #12





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(SongoQ @ 29.08.2006, 02:38 ) *
Podejscie ze jeden uzytkownik systemu = jeden uzytkownik bazy danych jest najlepszym rozwiazaniem. Uprawnienie dostep do rekordow zostawiasz bazie danych.


no nie wiem, ciezko mi sobie wyobrazic zakładanie dziesiątek tysięcy kont w bazie dla jednej tylko aplikacji i zarządzenie uprawnieniami dla takiej kupy. bardziej juz chyba, rola/grupa w systmie = jeden uzytkownik bazy danych.

Ten post edytował sopel 29.08.2006, 09:21:05
Go to the top of the page
+Quote Post
anas
post
Post #13





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Hej.

Wracając do topicu: głównie chodzi o pogodzenie czasu (wydajności pracy) w stosunku do jakości tworzonych rozwiązań.

@sf: jasne że własne rozwiązania są bardziej elastyczne - co nie znaczy że jak poznasz dogłębnie jakiś framework to nie możesz nim manipulować.

@SongoQ: zgadzam sie w 100% - lecz rozwiazania ktore proponujesz sa czasochlonne, aczkolwiek bardzo wydajne - stosujac w aplikacji warstwe DAO, zawsze mozna w miare potrzeb przepisywac pewne elementy systemu.

@mike_mech, @SongoQ: odnośnie MySQL 5.0 - my aktualnie korzystamy z mysql 5.1.x - wersji beta - wprowadzono wiele zmian, wydajnosc jest akceptowalna, a funkcjonalnosc dla rozwiazan www jak najbardziej wystarczajaca. Oczywiscie nie zamierzam tutaj porownywac rozwiazan MS, Oracle, czy nawet PostgreSQL - bo wiadomo co zapewniaja tamte systemy - ale uwazam ze MySQL zmierza w dobrym kierunku i przyjemnie stosuje sie go nawet w duzych projektach dla www.

Idac dalej - pogodzenie wydajnosci / jakosci = akceptacja klienta. Teraz stosujac rozwiazania ORM, gotowy framework, ktory zapewnia mi wiekszosc standardowej funkcjonalnosci, oprogramowujac sama logike zyskuje na czasie - pytanie jak to wazyc - czy lepiej np. zrezygnowac z narzedzi ORM - oprogramowywac warstwe danych stosujac wyspecjalizowane obiekty DAO i poswiecajac na to wiecej czasu.

Jak to wynika z waszego doswiadczenia - gdzie jest ten zloty srodek - bo my zastosowalismy rozwiazania ORM, przy odpowiednim cachowaniu, sprzecie, acceleratorze i all jest ok - w przyszlosci w przypadku zwiekszajacego sie obciazenia, czy nie uwazacie ze taniej jest inwestowac w sprzet niz godziny programistow?

Pozdrawiam

anas
Go to the top of the page
+Quote Post
nasty
post
Post #14





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Cytat
czy nie uwazacie ze taniej jest inwestowac w sprzet niz godziny programistow?

Ja uwazam, ze nie koniecznie, bo piszac aplikacje, to optymalizacja, podobnie jak bezpieczenstwo, nie jest doczepiana na koniec,
tylko aplikacja jest pisana w optymalny i bezpieczny sposob od pierwszej linji, tak wiec majac dobrzych programistow powinnines dostac
najoptymlaniejszy (prawie) kod. Ja osobiscie radze kompilowania php (Zend Encoder, eAccelerator, etc..) do postaci opcodow zenda, co oszczedza,
bardzo duzo czasu. a co do sprzetu, to dobrze jest miec mocny, server, ale prawie 70-90 % wydajnosci skryptu (wykluczajac polaczenia i zadania DB)
jest zalezna od jakosci napisanego kodu.
Pozdrawiam
Go to the top of the page
+Quote Post
anas
post
Post #15





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


@Nasty - tak o to się nie martwie - chodzi mi o gotowe narzędzia jak orm - ich wydajność nie jest znakomita, a tym samym jakoś wytwarzanego oprogramowania. Co do optymalizacji w tej chiwli używam APC i rzeczywiście zwiększa to znacznie wydajność. Lokalnie używamy do developerki ZendPlatform i dzięki php Inteligence i profilowaniu udaje się wyszukać wąskie gardła, ale przy np. przetwarzaniu w jednej chwili 50 000 rekordów przez wiele konkurncyjnych połączeń może powodować nie lada problemy - jak sobie z tym radziliście?

Pozdrawiam

anas
Go to the top of the page
+Quote Post
Ace
post
Post #16





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


@J4r0d: przeczytaj jeszcze raz post anas,
Cytat
Lokalnie używamy do developerki ZendPlatform i dzięki php Inteligence i profilowaniu udaje się wyszukać wąskie gardła


@anas: a powiedz mi czy za kazdym polaczeniem musisz te 50k rekordow przetwazac? czy nie mozesz przypadkiem robic tego okresowo, raz na dzien/godzine/minute. przy wielu polaczeniach w ciagu minuty, generujac takie dane raz na minute i tak zyskujesz czas.

Jesli chodzi o wydajnosc mysql 5.1, na ktorym to robisz, to nie wiem, nei testowalem. Ja staram sie odejsc od mysql na rzecz postgresql.
Go to the top of the page
+Quote Post
pawel_k
post
Post #17





Grupa: Zarejestrowani
Postów: 211
Pomógł: 3
Dołączył: 29.07.2005
Skąd: Szczebrzeszyn

Ostrzeżenie: (0%)
-----


zgadzając się z większością zdań dodam od siebie, że dla naprawdę dużych projektów, gdzie online siedzi powiedzmy 5-10 tysiecy ludzików, żaden czołowy framework nie będzie się niestety nadawał. frameworki mają jak najbardziej uprzyjemniac i przyspieszac pracę, przykładowo pisząc dośc prosty cms w symfony sam napisałem ok 800 linni kodu, gdzie pisząc normalnie musiałbym napisać (korzystając z gotowych bibliotek do obsługi bazy, tempalteów itp.) przynajmniej ok 4-5 tysięcy. cena za to - czas generowania na poziomie 0,2 sekundy, co nie jest wartością porywającą (oczywiście dużo też zależy od konfiguracji sprzętowej)... spotkałem się nawet z poglądami że czasem nie warto stosować się do zasad programowania obiektowego - kolejny zysk na wydajności... myślę że przy ogromnych projektach złotym środkiem jest prosty kontroler, szybki system templatów i biblioteka do obsługi bazy (jednak raczej nie rozwiązanie typu orm) + jak największe uproszczenia wszystkiego. przyjemnie i w miarę szybko będzie się programowało, a kod będzie wydajny...
Go to the top of the page
+Quote Post
anas
post
Post #18





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


J4rod - co do testowania i wąskich gardeł ja profilu skrypty za pomocą Zend Platform - dzięki temu rozwiązaniu zyskaliśmy na wydajności nawet do 1000%. Czas wykonywaniu skryptu przy przeszukiwaniu takiej ilośći danych z zastosowaniem narzędzi ORM to nawet do 3-4s - co nie jest akceptowalne - stwierdziliśmy że warto będzie budować indeks.

Cały system to bardzo duża aukcja internetowa - w tej chwili dzięki cachowaniu wydajność jest akceptowalna, ale nie jest górnych lotów.

Rzeczywiście jak napisał pawel_k zdecydowanie szybciej pracują duże serwisy napisane proceduralnie - tworzyłem osobiście www.gorzow.com jak uczyłem się php pod koniec lat 90-tych - obecnie muszę stwierdzić że ta aplikacja pracuje wydajniej niż obecne napisane obiektowo przy użyciu frameworka.

Z moich odczuć wynika że przy bardzo dużych projektach znaczący wpływ na wydajność ma tak naprawdę cachowanie - jeśli znacie jakiś mechanizm cache którym łątwo zarządzać i który daje duże możliwości to będę wdzięczny za podpowiedź - obecnie stosujemy po stronie serwera eAccelerator'a, a po stronie aplikacji własne rozwiązania.

pozdrawiam

anas
Go to the top of the page
+Quote Post
itsme
post
Post #19





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




a co do znaczy duzy projekt ?
duzo kodu, duzo danych ?
duzo userow online ?

czy moze ilosc $$ na umowie ...

w php naprawde mozna wiele napisac ... nie koniecznie stron www.
zas wybor narzedzi wspomagajacych pisanie projektu zalezy rowniez od wymagan zlecajacego ...
przeciez nie bedziemy brali kobyly na ksiege gosci ktora bedzie miala 100 mln rekordow i obciazenie 200 usero online

ciezko tu poradzic cos jednoznacznie ....
Go to the top of the page
+Quote Post
anas
post
Post #20





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


@itsmeMowiac o duzych projektach, mialem na mysli projekty w ktorych jest w miare zlozona funkcjonalnosc - np. serwis aukcyjny, duzy sklep internetowy - i takie ktore maja przy okazji duzy lub bardzo duzy ruch.

@J4rod - nikt tego nie powiedzial - tak poprostu jest - jednak programowanie obiektowe pozwala latwiej organizowac prace, sam projekt, kod, kod staje bardziej elastyczny i co wazne mozna pewne jego fragmenty uzywac w innych projektach bez potrzeby refaktoringu.

Pozdrawiam

anas
Go to the top of the page
+Quote Post
NuLL
post
Post #21





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Co do frameworkow i innego softu pisanego przez innych. Korzystanie z nich w duzych projektach to tak naprawde porazka. Na frameworki jest moda - miec fw ktory wszystko potrafi. A tak naprawde cos co jest do wszystkiego jest do niczego. Kazdy projekt ktory ma pracowac na duzym obciazeniu powinien miec swoj wlasny szkielet inwidualnie dobrany do projektu - po co komu router ktory supportuje rozne schematy linkow skoro w danym projekcie bedzie tylko jeden (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) I tak pokolei. Tlumaczenie sie tym ze ktos chce miec projekt szybciej przy skalowaniu go na kilkaset tysiecy userow szybciej ( i chce zarobic wiecej kasy ) to zadne tlumaczenie tak naprawde.

Ten post edytował NuLL 3.09.2006, 03:51:17
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #22





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Faktycznie OOP jest lepsze do dużych projektów, ale coś za coś - tracimy na wydajności. Jest to widoczne zwłaszcza w php, gdzie inicjalizacja aplikacji odbywa sie nimal za kazdym kliknięciem (AJAX trochę pomaga).
Już samo tworzenie obiektów to duże obciążenie dla progrmu, a dobry kod obiektowy w duzych projektach zazwyczaj charakteryzuje się sporą ilością obiektów.
Z tego, co zdążyłem zauważyć, to gotowe frameworki nadają się zazwyczaj do małych i średnich projektów - przy większych okazuje się, że są po prostu za wolne, a do tego wymagają przebudowania.
Pozostaje pokładać nadzieję w jeszcze szybszym rozwoju infrastruktury sieci oraz sprzętu.

Pozdrawiam,
Go to the top of the page
+Quote Post
060156
post
Post #23





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Czesc ...
Odpowiadacja nad temat duzych projektow i roznych frameworkow,
to sa one takie uzywajac przenosni ze aby "sie napic mlepka to trzeba krowe kupic".
Przerabialem, wysztkie po kolei w nadzieji ze cos jest w miare przyzwoite ale
sie okazalo, ze wiekszosc to przyslowiowe wolne kobyly. Dlatego opracowalem
swoj, ktory nazywa sie IWA albo SOWA (Services Oriented Web Architecture),
zajelo to kilka lat ale wyniki sa rewelacyjne ... Pislame aplikacje przez 6 tygodni
a inn profesjonalna firmasoftwerowa spedzila nad nia (5 osob) uzywajac wlasnie
tych frameworkow 1.5 roku i ani sie nie zblizyla funkcjonalnoscia do mojej ..
pozdrawiam 060156
Go to the top of the page
+Quote Post
itsme
post
Post #24





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




sluchajcie nie rozumiem zdan ze przez OOP tracimy na wydajnosci i takie tam.
Nie ma innej mozliwosci niz kodowanie OOP. Inne podejscie przy duzych, srednich i malych projektach jest bledne.

Zatem nie rozmawiajmy o tym ze OOp jest wolniejsze bo roznice sa tak niewielkie ze szkoda to poruszac.
Oczywiscie wszystko zalezy od jakosci kodu.

ja wraz ze wspolnikami (tak samo jak 060156 ) rowzniez napisalismy aplikacje ktora ma stale kompenety i jest niezwykle uniwersalna. Jest to program klasy CRM, DMS. Interfej zawsze ten sam wiec nie interesuje nas wogole co sobie zyczy klient. To jest program nie strona www.

Korzysci ? system do zarzadzania zadanami, zasobami (pojazdy, telefony komputery), kontakty (adres, osoby kontaktowe) oraz powiazania pomiedzy tymi obiektami zajmuje nam 2-3 dni. I mamy wszystko od uprawnien, baze po formularze.

kazdy z nas chce kodowac tak aby niska iloscia pracy osiagnac maksymalne wyniki. I wlasnie to chcielismy osignac.

oczywiscie co jezeli klient bedzie chcial cos jeszcze ? wszystko w OOP i MVC zatem zmiany nie sa ciezkie do wdrozenia.

Co do duzych projektow. Uwazam ze mozna korzystac z malych wspomagaczy ktore wspomoga a nie zastapiam nam nasza prace
Go to the top of the page
+Quote Post
anas
post
Post #25





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


@060156: moze pochawlisz sie chociaz czesciowo jak wyglada architektura Twojego systemu?
@itsme: Nie mialem na mysli zastapenia czyms wlasnej pracy - przeciez .net to tez gotowy framework prawda? Chodzi mi o podobne podejscie, tak abym nie skupial sie na rozwoju narzedzi, a rozwiazywaniu problemu ktory jest przedmiotem prowadzonego projektu.

@060156: Jeśli Twój system zastępuje pracę 5 osób przez 1.5 roku w stosunku do 6 tygodni jednej to ja jestem skłonny Ci za takie rozwiązanie zapłacić dużo pieniędzy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) - w takim razie ile by Ci zajęło postawienie systemu ze złożonością powiedzmy allegro na Twoim systemie (orientacyjnie)? Może zwolnie 5 osób i zatrudnie Ciebie dając Ci 5x ich wypłata x okres potrzebny na zrobienie tego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (choiaż trudno mi w to uwierzyć)

Pozdrawiam

anas

Ten post edytował anas 3.09.2006, 11:03:54
Go to the top of the page
+Quote Post
itsme
post
Post #26





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




caly czas mowie ze ciezko to okreslic
system aukcyjny ma zupelnie inne narzedzia niz CMS, niz forum i inne - nie ma uniwersalnych rozwizan do roznych typow projektow - niestety.

ZAtem nie ma tez jednoznacznej odpowiedzi na Twoje pytanie
Go to the top of the page
+Quote Post
Dravo
post
Post #27





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2003

Ostrzeżenie: (0%)
-----


Ja dodam, że wiekszość wspaniałego oprogramowania, które widzimy na co dzień jest pisana niechlujnie (nie jestem święty) a powodem jest pośpiech.

Co do frameworków, to sprawa jest oczywista: coś co jest do wszystkiego jest do niczego.

(Ale) Może spojrzeć na to jak na silną podstawę do tworzenia swojego projektu? To tak jak z językami programowania, dlaczego nadal nie pracujemy w Assemblerze, tylko przenosimy się na coraz wyższą abstrakcją?

Ja osobiście nie pracowałem nad dużymi projektami, więc mogę jedynie gdybać, ale warto tutaj podejrzeć rozwiązania chociażby z .NET.

Ciekawym pomysłem jest również rozwinięcie swoich komponentów, które poźniej łatwo modyfikować.

Co do sprzętu: sprawa jest oczywista pośpiech powoduje bałagan, a stan idealny - złoty środek - to po prostu bajka. Programiści wychodzą z butów, żeby zdąrzyć na czas, a straty rekompensują sprzętem i właśnie to jest postęp... Mamy nowsze procesory, większe dyski...

Nie zapominajmy, że przyzwyczajenie i nałogi to nasza prawdziwa natura (wedle Arta) i przejście na nowe oprogramowanie też może mieć mały impakt powodujący opóźnienia.
A praca na swoich śmieciach i sprawdzonych rozwiazaniach taki problem niweluje pozwalając maksymilizować zyski z obecnych sposobów bycia.

Pozdrawiam
ww
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #28





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




@itsme - wydaje mi się, że anasowi chodzi o narzędzia takie jak cashe, validatory, auotoloadery itp. Te wystepują (niekoniecznie razem) w prawie wszystkich większych systemach i stawia się na prostę ich konfiguracji niż pisanie od nowa. Dzięki temu są użyteczne. Tak mi się przynajmniej wydaje.

Pozdrawiam.
Go to the top of the page
+Quote Post
060156
post
Post #29





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Odnosnie,
Framoworkow to sie zgadzam, ze cos co jest do wszystkiego to jest do
niczego.
Dlatego zastosowalem inne podejscie.
Nie budowanie monstrum tylko podejscie polegajacych na budowaniu klas
z ktorych mozna skladc system. Oto ich przyklady:

PRZEGLADARKI KLASY:
--------------------------
Service
content marshaling
request, response
Database
Presentation
Screen
Dialog
Canvas, Dynamic, Static
Element
Style
Move
Resize
Default Dialogs
Info
Message
Confirmation
Popup Menu
Upload File
Calendar
Cookie
Clipboard

php KLASY
------------
Service
content marshaling
request, response, forwarding
Database
mysql
browser mysql
odbc
PDF Document
Macromedia Monitoring
Html
pages, emails
Session
License
expiration, evaluate, customer name
Validate
date, zip, phone, credit cards, email
Email
preferred, text, html, attachment
Log
error, warning, info, debug

Pozysze klasy sluza do budowania services po stronie php z ktorymi
sie komunikuje Browser przesylajac lub dostajac business content.
Warstwa komunikacyjna wywolywania serwisow jest obecnie
zaimplementowana w HttpRequest, Frame i IFrame.









Cytat(anas @ 3.09.2006, 10:02:07 ) *
@060156: moze pochawlisz sie chociaz czesciowo jak wyglada architektura Twojego systemu?
@itsme: Nie mialem na mysli zastapenia czyms wlasnej pracy - przeciez .net to tez gotowy framework prawda? Chodzi mi o podobne podejscie, tak abym nie skupial sie na rozwoju narzedzi, a rozwiazywaniu problemu ktory jest przedmiotem prowadzonego projektu.

@060156: Jeśli Twój system zastępuje pracę 5 osób przez 1.5 roku w stosunku do 6 tygodni jednej to ja jestem skłonny Ci za takie rozwiązanie zapłacić dużo pieniędzy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) - w takim razie ile by Ci zajęło postawienie systemu ze złożonością powiedzmy allegro na Twoim systemie (orientacyjnie)? Może zwolnie 5 osób i zatrudnie Ciebie dając Ci 5x ich wypłata x okres potrzebny na zrobienie tego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (choiaż trudno mi w to uwierzyć)

Pozdrawiam

anas


Tutaj zalaczam opis Sowa frameworku: http://216.122.144.196/Sowa/SowaPolishIntroduction.doc
Go to the top of the page
+Quote Post
MMP
post
Post #30





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 2.06.2006

Ostrzeżenie: (0%)
-----


Cytat
Zatem nie rozmawiajmy o tym ze OOp jest wolniejsze bo roznice sa tak niewielkie ze szkoda to poruszac.
Oczywiscie wszystko zalezy od jakosci kodu.

(...) To jest program nie strona www.


Może i w wypadku programu uruchomianego za przez każdego na swoim komputerze nie ma znaczenia, ale odpal ten program 1000 razy na tym samym komputerze - tak jak działa serwer.

-------------------
060156, Twoje podejście wg mnie jest najlepsze - jednoczesnie szybkie jak i wygodne.

Ten post edytował MMP 3.09.2006, 21:01:12
Go to the top of the page
+Quote Post
itsme
post
Post #31





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




MMP aplikacje pisane przez moja firme dzialja na serwerach jest tam okol 2GB ramu i mocny procek
online pracuje okolo 200 userow na jednym programie
zas na drugim okolo 190 USerów
wiec obciazenie jest i naprawde napisanie takiej aplikacji strukturalnie i badanie czasow wydaje sie hmmm niekonieczne prawidlowe ...

dlatego nie mowmy tutaj o OOP i strukturce inne poziomy programownia i inne zastosowanie.

Ten post edytował itsme 3.09.2006, 21:55:10
Go to the top of the page
+Quote Post
anas
post
Post #32





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


@060156: Twoje rozwiazanie pochodzi mi pod EZ Components + dobudowanie prostej obsługi żądań i odpowiedzi. Domyślam się że to jest bardzo szybkie rozwiązanie - każde żądanie używa bibliotek takich jak potrzebuje, wykonuje swoje zadania zwraca dane i finito.

Mam jednak wątpliwości co do użeteczności - tak naprawdę pewne czynności mogą być uciążliwe: forwardowanie, przekierowania, obsługa błędów, autentykacja, obsługa formularzy, wymiana widoków(HTML, PDF, RTF...), obsługa filtrów. Tak naprawdę jeśli chcesz wprowadzić globalne zmiany musisz modyfikować dużo kodu.

Jak to rozwiązałeś? Lub może ktoś inny rozwiązał?

Pozdrawiam

anas
Go to the top of the page
+Quote Post
Prph
post
Post #33





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Znowu gadanie typu frameworki sa zle tez jest bez sensu.

Framework nie koniecznie oznacza cos wielkiego i skomplikowanego. Przeciez oczywiste jest, ze kazda aplikacja wymaga obslugi pewnych rzeczy, takich jak sesja, autoryzacja, baza danych. A co z samym uruchamianiem odpowiednich akcji?

Mozna przeciez napisac framework lekki, ktory udostepnia nam minimalnych srodkow koniecznych do sprawnego budowania aplikacji. W ten sposob oszczedzamy na czasie pisania oraz (co jest moim zdaniem duzo bajdziej znaczace) nasza aplikacja staje sie jednolita pod wzgledem budowy i trudniej o popelnienie jakiegos bledu.

Adrian.
Go to the top of the page
+Quote Post
060156
post
Post #34





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

Ostrzeżenie: (0%)
-----


Cytat(anas @ 5.09.2006, 16:52:34 ) *
@060156: Twoje rozwiazanie pochodzi mi pod EZ Components + dobudowanie prostej obsługi żądań i odpowiedzi. Domyślam się że to jest bardzo szybkie rozwiązanie - każde żądanie używa bibliotek takich jak potrzebuje, wykonuje swoje zadania zwraca dane i finito.

Mam jednak wątpliwości co do użeteczności - tak naprawdę pewne czynności mogą być uciążliwe: forwardowanie, przekierowania, obsługa błędów, autentykacja, obsługa formularzy, wymiana widoków(HTML, PDF, RTF...), obsługa filtrów. Tak naprawdę jeśli chcesz wprowadzić globalne zmiany musisz modyfikować dużo kodu.

Jak to rozwiązałeś? Lub może ktoś inny rozwiązał?

Pozdrawiam

anas

Nie jest to trudne, wlasnie wszystkie te funkcje co opisales za zaimplementowane i modyfikacja
bazowych klas nie zdaza sie czesto, ostatnio modyfikacje wykonalem 4 miesiace temu
i sa one postepujace to znaczy wszystkie poprzednie wersje sa zgodne z
postepujacymi modyfikacjami ...
Klasy zostaly tak zaprojektowane, ze miedzy nimi istnieje tylko relacja warstwowa,
czyli:
- klasa service (request, response, marshaling, forwarding, obsluga bledow applikacji i systemowych)
- ogolne klasy funkcjonalne (pdf, flash, html, email, validate, session, database, dialogs, etc ...)
- klasy applikacyjne (security, kalendarz, workflow engine, page builder, etc ..)
- aplikacje uzywaja powyzszych klas ..


Mozesz poczytac o tym na: http://216.122.144.196/Sowa/SowaPolishIntroduction.doc

pozdrawiam 060156





Cytat(Prph @ 5.09.2006, 17:25:39 ) *
Znowu gadanie typu frameworki sa zle tez jest bez sensu.

Framework nie koniecznie oznacza cos wielkiego i skomplikowanego. Przeciez oczywiste jest, ze kazda aplikacja wymaga obslugi pewnych rzeczy, takich jak sesja, autoryzacja, baza danych. A co z samym uruchamianiem odpowiednich akcji?

Mozna przeciez napisac framework lekki, ktory udostepnia nam minimalnych srodkow koniecznych do sprawnego budowania aplikacji. W ten sposob oszczedzamy na czasie pisania oraz (co jest moim zdaniem duzo bajdziej znaczace) nasza aplikacja staje sie jednolita pod wzgledem budowy i trudniej o popelnienie jakiegos bledu.

Adrian.

Mam pytanie jak rozumiesz framework ?
Dla mnie to specifikacja i zestaw komponentow(np. Smarty) do budowania aplikacji. Czyli masz dostep
tylko do warstyw aplikacyjnej, jesli chcesz cos zrobic co nie miesci sie w warstwie aplikacyjnej
to jest problem. Moje doswiadczenia wykazaly, ze wlasnie specyfikacja frameworku czasami
jest zaleta bo masz przepis jak budowac aplikacje a czasami duzym ograniczeniem jesli
chcesz zrobic cos co nie miesci sie w niej. Dlatego ja zrezygnowalem z frameworkow
natomisat postawilem na uzywanie roznych klas w miare malych i dobrze, ktore umozliwiaja
pisanie szybko i roznych aplikacji ..
pozdrawiam 060156


---
korekta: dr_bonzo
Go to the top of the page
+Quote Post
Prph
post
Post #35





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam,

Framework kojarzy sie z raczej z kombajnem, ktory daje w prosty sposob uruchomienie dosyc skomplikowanego procesu. Sam uruchimi sesje, wyswietli prezentacje, ble, ble...

Ale jak kolega dobrze zauwazyl - bywaja one czasem wielkiem utrudnieniem. Juz sporo czasu wczesniej myslalem, jak stworzyc system, ktory pozwalalby na wydaje pisanie nowych aplikacji, ktore moga sie bardzo roznic.

Czy ktos ma jakies swoje wlasne szkielety dobrze sprawdzajace sie w takich sytuacjach? Moglby je udostepnic?

Pozdrawiam, Adrian.
Go to the top of the page
+Quote Post
patrycjusz
post
Post #36





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


że tak spytam z czystej ciekawości jakim utrudnieniem jest wykorzystanie dobrze napisanego frameworka? Bo nie bardzo rozumiem, ale konkretnie przykłady itp.
Go to the top of the page
+Quote Post
Prph
post
Post #37





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Nie mam duzego doswiadczenia w pracy z frameworkami. Ale zauwazylem jedno - fraweworki bardzo dobrze sprawdzaja sie okreslonych sytuacjach, takich jak budowanie stron portalowych, blogow itp.

Ale co w przypadku budowanie zupelnie innych aplikacji? Zaraz po napisaniu frameworka stworzylem na nim newsletter - swietnie sie na nim pracowalo (tj. na frameworku). Ale kiedy wzialem pioro do reki, zeby zaprojektowac szkic innej aplikacji, to przyznam, ze framework okazal sie wielkiem utrudnieniem.

Sprawa wygladalaby inaczej, gdyby framework byl zupelnie bazowy - bylby odpowiedzialny jedynie za podstawowe rzeczy, takie jak uruchamianie akcji, forwardowanie. Ponadto udostepnialby szereg klas, dzieki ktorym moznaby szybciej tworzyc aplikacje.

Wtedy zabierajac sie za nowy projekt, moglbym go dobrze zaprojektowac i nie myslec, czy moge cos zrobic, bo framework mi na to pozwoli lub nie.

A do tego wystarczy spojrzec na rozne projekty... wieksze projekty. Zaden z nich nie przypomina frameworkow, takich o jakich ostatnio na forum wiele sie mowi. To raczej bazowe elementy z bogatym zapleczem bibliotek. I co wazne - to jakos bardziej oddaje idee programowania obiektowego, przez co moze byc bardziej intuicyjne - nawet dla autorów.

Adrian.
Go to the top of the page
+Quote Post
Ace
post
Post #38





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(Prph @ 3.10.2006, 22:17:07 ) *
Sprawa wygladalaby inaczej, gdyby framework byl zupelnie bazowy - bylby odpowiedzialny jedynie za podstawowe rzeczy, takie jak uruchamianie akcji, forwardowanie. Ponadto udostepnialby szereg klas, dzieki ktorym moznaby szybciej tworzyc aplikacje.


no popatrz, a ja myślałem, że to właśnie jest Framework? Czyli coś co umożliwia podstawowe rzeczy - stworzenie akcji, nałożenie filtrów, oraz zawiera klasy pomocnicze hm - ORM, uprawnienia użytkowników, klasę do obsługi SOAP, do generowania RSS z podanych danych...

To nie framework? Framework to podstawa na której budujesz reszte. To fundament dobrej budowy.

Cytat
Nie mam duzego doswiadczenia w pracy z frameworkami. Ale zauwazylem jedno - fraweworki bardzo dobrze sprawdzaja sie okreslonych sytuacjach, takich jak budowanie stron portalowych, blogow itp.


Z jakiego frameworka skorzystałeś? Może z gotowego systemu blogów czy systemu portalowego.. - Wordpress??

Ja mam dosyć banalny Framework, ale sprawdza sie. Pisałem na nim portale, sklepy internetowe, system spedycyjny, systemy wewnętrzne (obieg dokumentów) i ... wyobraź sobie, żę zrobiłem to na 1 swoim frameworku... Dziwne nie?

Ten post edytował Ace 3.10.2006, 22:14:22
Go to the top of the page
+Quote Post
Prph
post
Post #39





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Wyobraz sobie, ze uprawnienia najbardziej ograniczyly mnie w projekcie...

A z jakiego korzystalem? Z wlasnego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) W sygnaturze mam linki do Rapide.

Adrian.
Go to the top of the page
+Quote Post
Ace
post
Post #40





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


W takim razie Twój framework w czym stwarzał Tobie problemy? Wnioskuje z twojej wypowiedzi, żę Rapide umożliwia tworzenie tylko ... no właśnie czego? Bloga? Portalu?

Spróbuj użyć może jakiegoś nie własnego? Może będziesz mógł stworzyć więcej typów aplikacji (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
bela
post
Post #41


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

Ostrzeżenie: (0%)
-----


Cytat(Prph @ 4.10.2006, 07:10:34 ) *
Wyobraz sobie, ze uprawnienia najbardziej ograniczyly mnie w projekcie...

A z jakiego korzystalem? Z wlasnego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) W sygnaturze mam linki do Rapide.

Adrian.

Hm, po to m. in. programuje się obiektowo, zeby mozna latwo zamieniac implementacje poszczegolnych interfejsow. Wiec nie wiem jaki tu problem. Jak klasa nie pasujesz to piszesz nowa i juz.
Go to the top of the page
+Quote Post
Prph
post
Post #42





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Nie twierdze, ze nie dalo sie tego wymienic na inny system, ale w takim wypadku lepiej jest stworzyc cos bardzo prostego i miec wieksza elastycznosc pracy.
Go to the top of the page
+Quote Post
sadu
post
Post #43





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 25.04.2006

Ostrzeżenie: (0%)
-----


Heja

Pytanie na temat, ale troche z innej strony. Duzych projektow zwykle nie robi sie samodzielnie lecz jakas grupa programistow, grafikow itp... Jakich narzedzi uzywacie wspomagajacych prace grupowa ?

Pozdrawiam i z gory dzieki
Go to the top of the page
+Quote Post
anas
post
Post #44





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Hej.

Jak najbardziej chodziło mi o pracę grupową. Wspomagamy się Subversion, do raportowania błędów używamy flayspray'a, MS Project do zarządzania projektem i oczywiście inne narzędzia przy etapie projektowania. Pytanie dotyczyło technologii która ułatwi sam etap implementacji, a dodatkowo będzie bardzo wydajne ze względu na wielkość projektu i jego docelowo dociążenie.

Pozdrawiam.

anas
Go to the top of the page
+Quote Post
patrycjusz
post
Post #45





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

Ostrzeżenie: (0%)
-----


continuum+ant lub trac+phpunit
Go to the top of the page
+Quote Post
jarrod
post
Post #46





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Witam.

Myślę że php + mysql całkiem dobrze sobie radzi nawet w dużych projektach... Ale nie mam zamiary się wdawać w dyskucje na temat co jest lepsze bo to głupota...

Myślę również że czas spędzony nad tworzeniem kodu jest zależny od umiejętności programistów. Nic nowego ale dodam że im większe umiejętności to ten czas się ... wydłuża. Lepiej zabezpieczmy, kombinujemy etc.

To jak się pracuje w php zależy od tego jaki framework sobie stworzymy.
W mojej firmie na php + mysql działa kilka serisów mających w jednej bazie ponad 430K userów. Przy czym najpopularniejszy serwis w sezonie internetowym (mam na myśli wrzesień - październik) ma 2M odsłon dziennie.
Muszę przyznać że jeszcze nie mieliśmy problemów z przeciążeniem serwera... Dzięki dobrze skonstrowanemu cachowaniu można poważnie odciążyć serwer bez kompromisów.

Myślę że można zaprojektować w php odpowiedni framework niemal do wszystkiego (portal czy chociażby newsletter). My sobie taki stworzyliśmy i każdu pomysł jaki nam teraz przyjdzie do głowy to kwestia dopisania odpowiedniej klasy.

Fakt jednak jest faktem że aby stworzyć DOBRY framework potrzebna jest dobrze zgrana drużyna programistów którzy mają doświadczenie w programowaniu więcej niż jednym języku.

Pozdrawiam
Go to the top of the page
+Quote Post
Ociu
post
Post #47





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




@jarrod: imho nie php+mysql, a php+$db gdzie !in_array('mysql', $db) == true. MySQl jest dość słabą bazą, nie korzystałem z 5, także wypowiedziałem się na temat 4. Myśle, że wielkie projekty można opisać na 'mocniejszych' bazach , np. pgsql.
Go to the top of the page
+Quote Post
Sh4dow
post
Post #48





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Z tego co anas sie wypowiedział że to tak duży projekt to na dzieńdoby powienien pogadac z adminami na temat mozliwosci i architektury sprzetowej całości. Bo jesli to ma działać na jednej maszynce to juz sobie dajcie spokoj. Bo jesli ktos mowi o paru tysiacach ludzi online i złożonej funkcjonalnosci to rozumiem ze to raczej powazna firma ktora ma powazna kase i wlasne zaplecze serverowe.
Z tym ze MySQL sie nie nadaje do duzych projektow, to albo nie widział duzych projektów albo nie umie wykozystac MySQL'a. Podchodze krytycznie do tego i takich tekstów bo jak na razie nic nie było w stanie przekonac mnie ze MySQL nie potrafi obsluzyc duzych baz danych czy tez nie poradzi sobie z duzym ruchem. Jakos przacowałem przy dużym sklepie na MySQL'u gdzie była wielo gigabajtowa baza i chodziło szybko i bez problemów. Aktualnie pracuje przy impementacji klastra mysql ktory takze posiada duże możliwosci których nie potrafił zapewnić postresql, a na oracle nas niestety jeszcze nie stać.
Proponuje przez serverami z apache postawic loadbalancer'a. Podejzewam ze to bedzie apache a nie lighthttpd poniewaz on obsluguje dobrze rzeczy statyczne. Co za tym idzie podzielenie serwerow na serwery generujace strony i na serwer z danymi statycznymi da duży wzrost wydajnosci.
Przy takiej aplikacji raczejbym stawiał na własne wyspecjalizowane rozwiazania aby uzyskać dużą wydajność. Wszystkie rzeczy, które są bardzo elastyczne, do najbardziej wydajnych nie należą. Dobra budowa Bazy danych tez jest wazne.
Wszystkie elementy sa bardzo wazne przy takich aplikacjach wiec nie mozna zostawiac tego tylko w kwestii samej aplikacji.
Go to the top of the page
+Quote Post
Bora
post
Post #49





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 15.06.2003

Ostrzeżenie: (0%)
-----


Mysql wspiera np synchronizacje baz danych co pozwala na rozbicie na pare serwerów.
Go to the top of the page
+Quote Post
MStaniszczak
post
Post #50





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.10.2004

Ostrzeżenie: (0%)
-----


a może Bizgres? http://www.bizgres.org/home.php Pamiętam że ktoś na pl.comp.bazy-danych miał z ta bazą do czynienia i chyba nawet mile wspominał jako alternatywa dla czystego PostgreSQL-a w "dużych zastosowaniach".

Pozdrawiam,
Marcin Staniszczak
Go to the top of the page
+Quote Post
rashid
post
Post #51





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 22.11.2003

Ostrzeżenie: (0%)
-----


Cytat(anas @ 27.08.2006, 22:03:12 ) *
Witam.

Od jakiegoś czasu jako firma realizujemy w miarę duże projekty bazując częściowo na własnych rozwiązaniach (jak to już w świecie php bywa - każdy pisze własny framework). Interesuje mnie wasza opinia czy warto dalej brnąć w tworzenie własnych fundamentów, czy np. nie lepiej pozostawić to innym (Zend Framework, Symfony, itd). [...]

Chodzi mi o solidną platformę - czy ktoś z was pracował na jakimś dobrym ogólnodostępnym frameworku, nad podobnej wielkości projektem i może zdradzić mi jak się zachowywał? A może inne narzędzia? Czego wy używacie przy naprawdę dużych projektach?

Ps. Zależy mi również na szybkości pracy - przy np. 4 programistach nad takim projektem koszta mają dla mnie duże znaczenie.

Pozdrawiam dzięki za sugestie.

anas


Trudno jest jednoznacznie ocenic czym jest 'w miare duzy projekt', ale mysle ze wspolnym mianownikiem dla takowych jest brak mozliwosci skorzystania z gotowych rozwiazan bez ich modyfikacji. Wiekszosc frameworkow jest pisana pod malej/sredniej wielkosci serwisy: blogi i przegladarki bazy danych. Duze projekty maja to do siebie, ze podczas ich pisania wychodza zupelnie nieprzewidywalne problemy wydajnosciowe (np. powolnosc __autoload) i wtedy trzeba usiasc i zmienic implementacje na lepsza dla specyficznych wymagan projektu. Przywiazanie do frameworka w takiej sytuacji moze bolec. Trzeba moc powiedziec 'stop', odpiac sie od drzewa rozwojowego frameworka i zrobic jego wyspecjalizowana wersje.

Sama wydajnosc jest zwodnicza. Programista zawsze chcialby, zeby wszystko bylo ladnie i szybko, ale ilu z Was zastanawialo sie co o tym mysli klient? Niektore zapytania raportowe zawsze beda trwaly kilka godzin, a czasami klient korzystajacy z aplikacji siedzi po drugiej stronie oceanu i jest mu zupelnie obojetnie czy serwis reaguje w 5ms czy w 100ms, bo u siebie i tak ma to z 200ms opoznienia. Nie odgaduj wymagan klienta, sam ci powie czego oczekuje.

Piszac duzy system musisz byc elastyczny, scisle trzymanie sie frameworkow zmniejsza elastycznosc.
Go to the top of the page
+Quote Post
DeyV
post
Post #52





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Rozmowa o frameworkach zawsze stanowi pewien problem, tak jak i wymagania zawsze są inne.

Wydaje mi się więc, że jedyne rozwiązania które mogą się sprawdzić w różnorakich zastosowaniach i nie stanowić zbyt dużego obciążenia dla wydajności do zestawy klas typu EZ compontents albo ZF - dobrze przemyślane mechanizmy realizujące konkretne zadania w szybki i skuteczny sposób.
Są to jedyne 'frameworki' które uznaję, bo w ich przypadku nie mam cały czas wrażenia, ze 'za chwilę' okaże się, że wykorzystywany przeze mnie szkielet nie będzie wstanie czegoś zrobić. W przypadku wykorzystywania ZF oznaczać to może po prostu, że należy coś inaczej zestawić, wykorzystać inny komponent, lub po prostu coś dopisać.

Oczywiście narzędzia typu Prado albo Symfony również mogą się wielu ludziom przydać, szczególnie w przypadku braku własnych narzędzi i sprawdzonych rozwiązań, jednak ich użyteczność jest znacznie mocniej ograniczona.
Go to the top of the page
+Quote Post
mike
post
Post #53





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(DeyV @ 6.02.2007, 19:51:46 ) *
(...) jednak ich użyteczność jest znacznie mocniej ograniczona.

Jeśli porównując Symfony do ZF mówisz że Symfony jest przy nim ograniczone to nie masz zielonego pojęcia o czym mówisz.
Najzwyklej nie znasz Symfony.
Go to the top of the page
+Quote Post
DeyV
post
Post #54





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




mike_mech - myślę jednak, że tym razem nie przeczytałeś ze zrozumieniem.

Symfony jest bardzo rozbudowaną aplikacją, w bardzo zaawansowany sposób wspierająca programistę. I ja dobrze sobie z tego zdaję sprawę, choć osobiście nie przepadam za tego typu rozwiązaniami.

Z przekonaniem będę jednak bronił stanowiska, że:
1) narzędzia typu ZF czy eZComponents można zastosować w o wiele większej ilości przypadków - są bardziej elastyczne i pozwalają na bardziej "wybiórcze" wykorzystanie
2) zarówno Symfony jak i PRADO - mimo bardzo rozbudowanych systemów cache i sporej optymalizacji kodu - narzucają spory bagaż na wydajność aplikacji. W takim przypadku chęć optymalizacji pewnych elementów, ich uproszczenie lub 'rozczłonkowanie' może być na tyle trudne, że łatwiej byłoby pewnie napisanie tych elementów od zera.

A w Symfony osobiście nie lubię nadmiernego pracowania "za" programistę i oraz wykorzystywanie XML'owego DAO, choć wiem, że to akurat można ominąć.

@Turgon - a Twoja wypowiedź jak zawsze - ma bardzo dużo sensu. Żeby choć była gramatyczna... (kurcze - tylko nie tłumacz się potem, że znów byłeś chory)
Go to the top of the page
+Quote Post
menic
post
Post #55





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

Ostrzeżenie: (0%)
-----


To że symfony jest wolne i krowiaste to niestety fakt. Ale ze sie wygodnie na nim pracuje to co innego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) , chociaż brakuje pare rzeczy (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
Go to the top of the page
+Quote Post
bela
post
Post #56


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

Ostrzeżenie: (0%)
-----


Cytat(DeyV @ 6.02.2007, 22:14:02 ) *
1) narzędzia typu ZF czy eZComponents można zastosować w o wiele większej ilości przypadków - są bardziej elastyczne i pozwalają na bardziej "wybiórcze" wykorzystanie
2) zarówno Symfony jak i PRADO - mimo bardzo rozbudowanych systemów cache i sporej optymalizacji kodu - narzucają spory bagaż na wydajność aplikacji. W takim przypadku chęć optymalizacji pewnych elementów, ich uproszczenie lub 'rozczłonkowanie' może być na tyle trudne, że łatwiej byłoby pewnie napisanie tych elementów od zera.

ZF może da się użyć w dużej ilości wypadków, ale trzeba jeszcze dużego nakładu pracy aby powiązać to w miarę sprawnie. I właśnie na tym polu Symfony wygrywa, gdyż rozwiązanie zostało sprawdzone wielokrotnie, a do ZF trzeba obsluge podstawowych czynności dopisać (odpalanie akcji, filtow etc) a jak praktyka wielokrotnie dowiodła rozwiązania dopiero co wprowadzone w 99% będą wolniejsze.

Cytat(menic @ 7.02.2007, 11:29:45 ) *
To że symfony jest wolne i krowiaste to niestety fakt. Ale ze sie wygodnie na nim pracuje to co innego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) , chociaż brakuje pare rzeczy (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

1) Czy duża biblioteka znaczy, że rzecz jest krowiasta? Jakiś konkretny dowód masz odnośnie Symfony?
2) Czego brakuje?

A ja będę dalej dawać za przykład tego, że Symfony nie jest krowiaste i nieelastyczne Yahoo Bookmarks
Go to the top of the page
+Quote Post
Krolik
post
Post #57





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.11.2004

Ostrzeżenie: (0%)
-----


Jak już o frameworkach mowa: czy w php są jakieś LEKKIE frameworki do budowy aplikacji?
Przez lekki rozumiem framework, który nie narzuca określonego sposobu pisania kodu - możesz wziąć z frameworka tylko tyle ile chcesz, a reszty swojego kodu nie musisz do tego dostosowywać.
Przykładem lekkich frameworków dla Javy jest SPRING. Mozna pisać kod w Springu, który jest 100% czystym kodem Javy bez używania jakichkolwiek importów ze Springa.

I drugie pytanie:
Czy jest dla php jakiś framework wspierający IoC? IoC bardzo ułatwia tworzenie i testowanie dużych projektów.
Go to the top of the page
+Quote Post
nrm
post
Post #58





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


CodeIgniter albo ZendFramework przy czym chyba ZF by ci bardziej spasował skoro chcesz poszczególne klasy sklecić wg. własnego 'widzimisie'.
Go to the top of the page
+Quote Post
anas
post
Post #59





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Witam,

jako że jestem autorem wątku, postaram się odnieść do wypowiedzi powyżej i tego na co ostatecznie postawiliśmy:

Symfony Framework - za jego wydajność, skalowalność, szybkość kodowania, dokumentację, wsparcie, wydajność, wydajność, wydajność, szybkość kodowania, wsparcie, dokumentację, wydajność... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

MySQL w wersji 5.1.x obsługiwany za pomocą ORM'a - pewnie za raz padną teksty, że nie ma to prawa bytu, a ja na to jak na lato - bo to działa bez zarzutu - co ciekawe nie jestem jedyny, na grupach Symfony pojawiły się posty w których to autor prezentował wyniki działania aplikacji opartej o Symofny mającej ponad 25, a może i 35 mln rekordów w bazie danych. Wszystko to stoi na 2 serwerach (jeden do obsługi ruchu WWW, a drugi do obsługi serwera baz danych - MySQL.

Od kilku miesięcy cała moja firma, a tym samym programiście w niej pracujący kodują większość rozwiązań PHP'owych właśnie w oparciu o Symfony. Klienci są zadowoleni z wydajności pracy, ja z kasy, serwery z małej ilości pracy przy dobrej konfiguracji środowiska produkcyjnego.

Dodam że dziś wyszła stabilna wersja 1.0 Symfony, niedawno opublikowana została książka - za darmo dostępna na stronach projektu, a np. takie dodatki jak obiekt $browser (odsyłam do dokumentacji) do testowania wydajności aplikacji mówią mi że jako kierownik projektów postawiłem na dobre rozwiązanie.

Co do innych rozwiązań, jak ZF czy EZ Components - można wybiórczo użyć w Symfony, albo napisać sobie plugin, ehhh po co pisać pewnie już jest napisany (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) .

Pozdrawiam, anas
Go to the top of the page
+Quote Post
splatch
post
Post #60





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(normanos @ 20.02.2007, 00:12:30 ) *
a potem się obudziłeś? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Różne rzeczy można powiedzieć o Symfony (nawet dobre he he) ale wydajność? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


Wbrew pozorom, symfony nie jest najwolniejsze. Z moich testów, które przeprowadziłem przy pomocy XDebuga wynika, że było szybsze niż Agavi (+Smarty). (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
nrm
post
Post #61





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


true, smarty przymuli wszystkim (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

http://www.alrond.com/en/2007/jan/25/perfo...ing-frameworks/
http://wiki.rubyonrails.com/rails/pages/Fr...k%20Performance
http://www.sellersrank.com/php/cakephp-cod...iter-benchmark/ (+symfony)

oczywiście zawsze można mieć jakieś "ale" odnośnie metodologii badań ale wiecznie ostatnie miejsca okupowane przez Symfony chyba nie plasują tego FW w kategoriach "wydajny"?
Go to the top of the page
+Quote Post
anas
post
Post #62





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Cytat(normanos @ 20.02.2007, 10:52:40 ) *
true, smarty przymuli wszystkim (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

http://www.alrond.com/en/2007/jan/25/perfo...ing-frameworks/
http://wiki.rubyonrails.com/rails/pages/Fr...k%20Performance
http://www.sellersrank.com/php/cakephp-cod...iter-benchmark/ (+symfony)

oczywiście zawsze można mieć jakieś "ale" odnośnie metodologii badań ale wiecznie ostatnie miejsca okupowane przez Symfony chyba nie plasują tego FW w kategoriach "wydajny"?


"Hehe" potęguje tylko fakt, że podpierasz się opiniami innych, a nie swoim doświadczeniem - testowałem różne rozwiązania, testowałem rozwiązania własne, oceniałem je na tle kosztów utrzymania, rozwoju...

Ja mogę napisać skrypt, który nazwę HyperFastPHPFW, który będzie po prostu realizował wyświetlenie Hello World i nie zapewniał nic dodatkowego - wygram we wszystkich testach, pytanie co z tego. Symfony dostarcza mnóstwo narzędzi, które usprawniają pracę, wydajność(cache po stronie templatów, cache po stronie dostępu do danych). Tak naprawdę fakt czy dany framework jest dobry czy nie, wydajny czy też nie - nie określa głupi (bo inaczej go nie nazwę) test wyświetlania HelloWorld, a składowa wielu czynników o których zapomniałeś.

Osobiście nie zależy mi na tym aby ktokolwiek wierzył, czy nie wierzył w to co piszę - Polacy to uparty naród - ale Symfony jest wydajnym frameworkiem, tylko trzeba go odpowiednio dostroić.

Pozdrówka, anas

Edyta:

Tak BTW, to warto poczytać wyniki różnych innych testów - mimo, że nie odnosiłbym się jak pisałem powyżej z pełnym zaufaniem, bo są "debilnie" nierealne, ale poniżej dowód na to, że Symfony nie wypada aż tak źle - bo z 4 testowanych FW, jest tutaj drugim pod względem wydajności, przy założeniu że ma największą ilość załadowanych dodatków(plików) - dając tym samym dużo większe możliwości.

Oto adres: http://paul-m-jones.com/blog/?p=236

Ten post edytował anas 20.02.2007, 22:51:54
Go to the top of the page
+Quote Post
anas
post
Post #63





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Cytat(normanos @ 20.02.2007, 23:01:48 ) *
jeżeli swojego doświadczenia nie przeleje na oficjalny wpis na blogu to dla ciebie jest to gówno warte?
a Hummer H3, podobno obiekt westchnień (?!?) spala 10-20l na setkę...


Czytanie ze zrozumieniem to chyba kolejny problem naszego narodu, cóż.

Pierwsza rzecz to przelewanie na wpisy w ramach blogu - gdzie, ktokolwiek wspominał, że masz to robić - podkreślam, bazujesz na opiniach z blogów, przytaczasz argumenty innych - napisz: pracowałem na: X, Y, Z - w mojej ocenie Y wypada najlepiej bo... i jeśli przekonasz mnie, moich klientów, programistów, administratorów że inny framework jest korzystniejszy, podbudowując to konstruktywną argumentacją, uwierz mi że będę się mocno zastanawiał nad ewentualną zmianą.

Porównanie do Hammer'a jest ni w ząb nie trafione, bo moja "Edyta" wyraźnie wskazała, że nie masz racji, nawet co do testów na których bazujesz. Są inne, całkiem odwrotne do tych które podałeś. Ja dodatkowo mogę powiedzieć co nieco prosto z warsztatu, bo moja firma jak wspominałem bazuje na Symfony, jeśli chodzi o aplikacje PHP.

Porównując Symfony do np. takich FW jak ZEND FW, Solar - to tak jak bym porównywał .net + VS Studio, do EditPlus'a i korzystania z MFC. Dzisiejsze koszty sprzętu w stosunku do kosztów pracy inżynierów są śmieszne. Skoro optymalizacja wydajność, bazująca na pracy 3-4 inżynierów to koszt średnio 12-15 tyś miesięcznie na rękę + ZUS, podatki, koszta utrzymania firmy, to ja za te pieniędzy dozbroję się w kolejny serwer i wydajność zostanie podniesiona dużo bardziej. Dodatkowo optymalizując środowisko pracy, można zbliżyć się do wyników najbardziej wydajnych środowisk, który przytaczałeś.

Dodam jeszcze, że w stosunku do inżynierów Yahoo, Twój autorytet ma dla mnie mniejszą wagę, a oni postawili właśnie na Symfony, przy jednym z serwisów tematycznych i co ważniejsze, są z tej decyzji zadowoleni. Niemniej jednak każda konstruktywna wypowiedź ma wartość merytoryczną, byleby właśnie była konstruktywna.

Każdy robi to co lubi, jeśli nie lubisz Symfony to używaj innych narzędzi, jeśli jednak nie masz pewności polecam wypróbować - to nic nie kosztuje poza poświęconym czasem.

Pozdrówka, anas

Edyta: No i bym był zapomniał - porównujemy FW bazujące na 4 i 5 wersji PHP - to też silny argument który wpływa na decyzję - zalet programowania obiektowego nie trzeba chyba nikomu tłumaczyć, ograniczeń co do tych kwestii 4 wersji PHP też, nie będę wspominał o tym że warto zastanowić się nad dostępnością php4 w stosunku do php5 teraz i za kilka lat, chyba że myślimy o aplikacji na dzisiaj i wczoraj, nie dzisiaj i jutro.

Wydzieliłem z tematu parę "bardziej osobistych" postów.
Szkoda psuć ciekawy wątek. - DeyV
Go to the top of the page
+Quote Post
NuLL
post
Post #64





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


PHP4 to przezytek - czy jest na serwerach czy nie. I to jest pewne.

Duze projekty przewaznie chodza na serwerach dedykowanych badz firmowych - bo duzego projektu na hostingu wspoldzielonym to ja nie widze. Dlatego tez jedyne sensowne PHP w duzych projektach to PHP5 i basta.

Co do testowania - zadnego z testow nie uwazam za wiarygodne - sporo z nich przegladam ( linkow nie pamietam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) i przewaznie sie rozne wyniki.

Z tego co ja przejadlem pomimo mojego mlodego wieku wynika iz miejscami dobrze napisac FW pod konkrenty projekt. Mowie tu o obciazeniu rzedu kilku mln uniq (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Napisanie fw pod taki projekt do dla dobrego programisty nie jest niczym szczegolnym. Kierujac firmowym FW wycina sie to co zbedne. Np. jakies pluginy kontrollera ( ZF ) na rzecz konkretyzacji np. pluginu autoryzacyjnego.

ORM - korzystalem tylko z phpDoctrine. Propela chcialem raz uzyc z grubej dosc rury (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) pt. 70 kilka tabeli. Pojawialy sie joiny po kilkunastu tabelach i nie chcialo mi sie patrzec na wydajnosc tego bo jej nie bylo. SMARTY do tego i byl kill. Ale Propela wywalilem przechodzac czesciowo na phpDoctrine, czesciowo na proste mapowanie klasami tabel i pojedynczych wierszy ( activeRecord itp ), do tego szablony przeszly na PHP i cud miod malina (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował NuLL 22.02.2007, 18:54:29
Go to the top of the page
+Quote Post
nasty
post
Post #65





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Cześć!

Tak sobie czytałem ten topic i nasuną mi się pomysł jak można odrobinę "ztiuningować" serwis.
Wszyscy zapewne kojarzycie technologie AJAX z serwisami web 2.0 gdzie głownie jest wykorzystywana dla bajeru, po to aby użytkownikowi przyjemniej się chodziło po portalu.
Ale można tez wykorzystać AJAX-a to poprawy wydajności serwisu.

W "normalnych" okolicznościach to surfowanie po portalu wygląda następująco: użytkownik wchodzi na stronę, strona się ściąga, użytkownik klika jakiś link, i kolejna strona się ściąga, aż mu się znudzi i wyjdzie. W tej sytuacji można skorzystać z AJAX-a następująco: użytkownik wchodzi na stronę, strona się ściąga, użytkownik klika w jakiś link, i ściąga się tylko pewna część strony, a inne elementy pozostają nie zmienne. W tym przypadku przyjmijmy ze strona ma rozmiar 50 KB a użytkownik klika w 10 linków zanim mu się nie znudzi.

Wiec jest tak:
- 50 KB (pierwszy raz) + (50*10) = 550 KB
czyli serwer to każdego człowieczka wysyła ponad 0,5 MB

A przy wykorzystaniu tego co omówiłem przed chwilą, to wygląda tak:
- 50 KB (pierwszy raz) + (10*10) = 150 KB
czyli serwer wysyla tylko ~ 27% tego co by wyslal w tradycyjnych warunkach.
Czemu 10 KB a nie 50 KB? dlatego ze główne elementy które sporo waza takie jak reklamy, grafika, itd. pozostają niezmienne.

ps. Może ktoś mówić ze przeglądarki maja cache, ale według mnie to nie daje takich możliwości jak AJAX.

Pozdrawiam

Ten post edytował nasty_psycho 14.03.2007, 22:44:24
Go to the top of the page
+Quote Post
Łukasz O.
post
Post #66





Grupa: Zarejestrowani
Postów: 191
Pomógł: 5
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


a kiedy przychodzi do SEO to zbierasz resztki tego co z Ciebie zostanie po tym jak Cię klient dorwie i zaczynasz pisać wszsytko od nowa - AJAX w postaci zaproponowanej przez Ciebie TAK - ale dla panelu administracyjnego chyba, albo strony, która całkowicie pozycjonowanie olewa
Go to the top of the page
+Quote Post
Ace
post
Post #67





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 9.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Można to wszystko napisać tak, aby googlebot widział ten content. Po prostu każdy komponent piszesz w wersji AJAX i zwykłej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A w serwisie wtedy możesz rozpoznać w jakiś sposób, czy np: Googlebot sobie chodzi i ustawić mu AJAX=false i po ptakach.
Go to the top of the page
+Quote Post
Diwi
post
Post #68





Grupa: Zarejestrowani
Postów: 245
Pomógł: 4
Dołączył: 22.01.2005

Ostrzeżenie: (0%)
-----


Tyle że to jest Cloaking czyli podstawianie botowi wyszukiwarki innej treści za co niestety Google potrafi ukarać.

Pozdrawiam
Go to the top of the page
+Quote Post
nrm
post
Post #69





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


już tam nie przesadzajcie, jak wszystko trzeba używać z głową (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ajaxa używać do takich elementów, których bot i tak nieindexuje (przykład: głosowanie w ajaxie, zamiast oddania głosu i reloadu strony) a nie do np. paginacji czy innych kluczowych elementów strony.

Poza tym jaki cloaking skoro każdy bot zobaczy to samo?
Go to the top of the page
+Quote Post
bełdzio
post
Post #70





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Cytat(Ace @ 16.03.2007, 09:42:00 ) *
Można to wszystko napisać tak, aby googlebot widział ten content. Po prostu każdy komponent piszesz w wersji AJAX i zwykłej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A w serwisie wtedy możesz rozpoznać w jakiś sposób, czy np: Googlebot sobie chodzi i ustawić mu AJAX=false i po ptakach.

ewentualnie jedna wersja strony + funkcja JS, która zamieni linki z normalnych na "ajaxowe"
Go to the top of the page
+Quote Post
Fuzja
post
Post #71





Grupa: Zarejestrowani
Postów: 216
Pomógł: 0
Dołączył: 6.11.2005

Ostrzeżenie: (0%)
-----


Zawsze lubiłem symfony, a zf jakoś mnie odrzucał.
Wczoraj poczytałem dokumentację tutorial przetłumaczony przez Wojtka Naruńca i naprawdę super rzecz. Byłem sceptycznie nastawiony do tego frameworka ale teraz jestem jego wielkim fanem.
Polecam wsystkim, dla których liczy się szybkość tworzenia, świetna dokumentacja oraz wsparcie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
a79rtur
post
Post #72





Grupa: Zarejestrowani
Postów: 331
Pomógł: 1
Dołączył: 23.05.2004
Skąd: Tarnów/Londyn

Ostrzeżenie: (0%)
-----


anas: twoj lobbing na rzecz symfony jest calkiem przekonywujacy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , dlatego troche sie tym zainteresowalem
mam pytanie, jak wyglada tam sprawa z uzyciem szablonow xsl ? czy jest to wogole mozliwe ?
Go to the top of the page
+Quote Post
anas
post
Post #73





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Hej,

a79rtur: a dlaczego miałoby nie być możliwe? Przecież to Open Source - można sobie przepisać framework w taki sposób aby była taka możliwość. Rozumiem, że chodzi Ci o jakąś automatyzacje, tak więc:

widok, to zwykły plik, więc możesz tam tworzyć XML'a który będzie opisywał Twój dokument, a następnie transformować go za pomocą XSL do np. XHTML'a - po stronie serwera można to usprawnić poprzez podmianę klasy

rendering_filter:
class: sfRenderingFilter

w pliku factories.yml

Oczywiście można też transformację przenieść na przeglądarkę, ale tutaj pojawia się wiele problemów z obsługą przez nie XSL'a.

Tak czy siak wszystko jest możliwe.

------------

BTW. Teraz borykam się z innym problemem - chodzi o wersjonowanie danych w bazie - wyobraźmy sobie sytuację, że produkt jest opisany za pomocą kilku tabel: produkty, atrybuty, atrybuty_produktow, zalaczniki_produktow, itd...

Teraz jakiś klient sklepu internetowego składa zamówienie dla produktu znajdującego się w jakimś stanie - jakaś cena, przypisane atrybuty, załączniki. Po złożeniu zamówienia dochodzi do tego że administrator kasuje załącznik i dodaje nowy, w drugim wprowadza zmiany (np. dotyczące gwarancji z 24 na 12 miesięcy). Zmienia wartość atrybutu "gwarancja" też z 24 na 12 msc, a tym samym wpływa to na cenę i w głównej tabeli produktu, więc i ją edytuje. Takich zmian dokonuje w między czasie wiele - użytkownik po 2 tygodniach loguje się na swoje konto i chce zobaczyć załącznik do produktu który zamówił (czyli stan taki jak z daty kiedy składał zamówienie) - podobnie ma widzieć odpowiednią cenę i atrybuty produktu.

Jak rozwiązujecie wersjonowanie danych na poziomie bazy, w systemach gdzie stan na daną datę jest krytyczny?

Pozdrówka, anas.
Go to the top of the page
+Quote Post
NuLL
post
Post #74





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Cytat
Jak rozwiązujecie wersjonowanie danych na poziomie bazy, w systemach gdzie stan na daną datę jest krytyczny?


Troche to hardcore mowiac prawde (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) W większości wypadków trzeba wesjonować wszystko - mowie np o calym rekordzie. Rozwiazanie z jakiego korzystam to pakowanie tar-em najczesciej i trzymanie wersji poszczegolnych w SQLLite - ew mozna to trzymac w plikach - obecna wersja w glownej bazie i tylko. Z takimi rzeczami jak atrybuty to by trzeba pomyslec - ale jakby sie chcialo do tego przylozyc to zapewne wypadaloby sobie napisac mechanizm drzewiasty bo on idealnie do czegos takiego sie nadaje : )

Jak się składa zamowienie na produkt - to sie powinno zgodnie z prawem dostac to co sie zamowilo - ale to taki maly OT: D

Ten post edytował NuLL 18.05.2007, 16:07:17
Go to the top of the page
+Quote Post
Łukasz O.
post
Post #75





Grupa: Zarejestrowani
Postów: 191
Pomógł: 5
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


przykład z zamówieniem w sklepie internetowym:
dodałem dodatkową tabelę z zapisanymi zserializowanymi informacjami o produkcie (na wypadek gdyby mi jakieś pola doszły/uciekły) - klient zapisuje dane, a ja odczytuję - kiedy zamówienie zostanie zrealizowane rekord jest usuwany

PS. wszystkie zrealizowane zamówienia zrzucane są do osobnej tabeli a ta archiwizowana raz na miesiąc (umożliwia to odtworzenie wszelkich transakcji)
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #76





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


W sumie jak jest zmieniane coś więcej niż cena to już się staje innym produktem, bo zmieniając okres gwarancji tworzy się nowy produkt, najczęściej z inną ceną.
Edycja produktu powinna się ograniczyć do poprawy błędnych informacji, czy zmiany ceny (bo cena danego produktu maże się zmieniać, ale ją można trzymać w tabeli wiążącej transakcja-produkty)
A więc zmiana okresu gwarancji to utworzenie nowego artykułu, a stary staje się niedostępny do kupna.
Ale to są raczej moje rozmyślania, bo tabela produktów robi się przerostowa. A jak chcieć przenosić skasowane do innej to tabela wiążąca transakcja-produkt powinna wiedzieć, że produkt nie jest w aktywnej liście produktów, tylko w archiwum.
Np. mając dwie kolumny id jedna odnosi do aktualnej tabeli a druga do archiwalnej, tylko wtedy wyzwalacz który by przenosił produkt do archiwalnej przy kasacji musiał by też zmienić kolumnę z id... lub lepiej mieć dwie tabele wiążące transakcje z produktem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Co do przenoszenia (podkreślam, bo tworzenie kopi to inna sprawa) jakiś danych z bazy do pliku, jest dziwne, no chyba że to są elementy nie istniejącego już systemu, a dlaczego dziwne? Bo przecież wchodząc w swoje transakcje chcę widzieć wszystkie i móc zobaczyć co wtedy kupiłem, a nie że (np.) po pół roku znikają...
To przypomina mi Allegro gdzie jednaj osobie wystawiłem trzy razy komentarz, bo zmieniali system czy też archiwizowali(?), ale transakcja została, tylko informacja o komentarzu wyleciała...
Go to the top of the page
+Quote Post
Rokis
post
Post #77





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.08.2008

Ostrzeżenie: (0%)
-----


Panowie, gdy sprawdzałem sobie wydajność frameworków to za głowę się złapałem. My piszemy kod na podstawie własnego framework'a, który za każdym razem obcinamy na potrzeby konkretnego projektu.

Ten sam kod po implementacji i benchmarkach:
Nasz FW: 300 req/s
ZF: 60 req/s
CakePHP: 27 req/s


Naszym zdaniem:
1. Zaoszczędzisz na czasie kodowania ($ dla programistów) = wydasz na infrastrukturę
(40k BRUTTO za m-c pracy zespołu to mały wydatek przy zakupie 10 wysokowydajnych serwerów)
2. Klient którego ktoś przekona że da się szybciej bez inwestowania w infrastrukturę nie zostawi u Ciebie po raz kolejny pieniędzy.
Go to the top of the page
+Quote Post
rybik
post
Post #78





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 29.07.2006

Ostrzeżenie: (0%)
-----


Bardzo to dobry i pożyteczny topic (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) proszę wytłumaczyć laikowi tak w kilku zdaniach (bo wiem, że o frameworkach napisano juz wiele) co różni wymieniane frameworki i na jakie cechy kładzie się największy nacisk we własnych fw pod kątem aplikacji dużych i mocno obciążonych.
To nie jest pytanie z cyklu "który framework wybrać". Chciałbym się z grubsza dowiedzieć "co kosztem czego" w danym frameworku.
Go to the top of the page
+Quote Post
chlebik
post
Post #79





Grupa: Zarejestrowani
Postów: 113
Pomógł: 5
Dołączył: 12.09.2006
Skąd: Pruszków/Warszawa

Ostrzeżenie: (0%)
-----


Panowie, ale wydaje mi sie, ze caly czas zapominamy o podstawowej rzeczy - o tworzeniu elastycznego i latwego w utrzymaniu kodu. Owszem, mozna napisac swoj FW (no dobra, biblioteke klas bo nowka sztuka FW to raczej nie bedzie) pod konkretna aplikacje. Mozna, ale potem project manager sie zmieni, lead programmer tez kiedys w koncu odejdzie skuszony praca dla JeszczeBardziejNowatorskiejFirmy i zostanie 2 swiezo przyjetych koderow, ktorzy beda probowali zrozumiec, o co chodzi w tym kodzie.

Ja wiem, upraszczam, ale zaleta stosowania najbardziej popularnych FW jest to, ze w razie jakichkolwiek zawirowan personalnych, dosc szybko mozna znalezc ludzi, ktorzy projekt pociagna dalej, bez tracenia miesiaca na rozgryzanie pozostalosci po poprzednikach. Zas nawet w samych popularnych FW da sie tak przykroic kod, ze zostanie tylko to, co konieczne - bezposrednie wpisywanie kodu SQL do zapytan, cache na wyniki zapytan do bazy, statyczny content, cache serwera lub samej bazy (memcache), uzywanie statycznego w znacznej mierze layoutu rozwiazuje kwestie wydajnosci w 90% przypadkow tzw. duzych projektow.
Go to the top of the page
+Quote Post
nrm
post
Post #80





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


+1 dla @chlebika (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

To m.in. dlatego duże firmy wybierają Symfony.
Go to the top of the page
+Quote Post
Krolik
post
Post #81





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.11.2004

Ostrzeżenie: (0%)
-----


Trochę rozbawiła mnie dyskusja na temat wyższości wydajności jednego frameworka PHP nad innymi (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
To trochę jak w czasach, kiedy szczytem marzeń był Polonez, porównywać czyj Fiat 126p wykręca więcej na liczniku.

A tak bardziej na serio, to:
1. Wiele serwisów przytyka się na bazie danych, nie na warstwie prezentacji / logiki biznesowej. I winny temu nie jest zwykle ORM, tylko po prostu brak umiejętności posługiwania się obecnymi RDBMSami. Np. jak ktoś robi złączenia kilkunastu tabel na MySQL, to tylko się prosi o kłopoty z wydajnością.

2. Tam gdzie wydajność wyższych warstw ma rzeczywiście ma znaczenie - lepiej pisać serwis w J2EE / .NET. Wydajność wykonywania kodu znacznie wyższa
(ponad 10x), lepsze biblioteki i frameworki, udogodnienia w języku specjalnie do dużych projektów (np. statyczna typizacja), narzędzia do refactoringu, większe możliwości buforowania różnych rzeczy, wiele gotowych zaawansowanych rozwiązań jak np. replikacja, failover itp. Wszystko to oczywiście da się uzyskać w PHP, ale robiliśmy kilka projektów w tym i w tym, i musze przyznać, że w J2EE wychodzi taniej szybciej i porządniej. Jedyny problem, że programiści J2EE cenią się zwykle wyżej niż PHPowcy, więc trzeba im więcej zapłacić. No i ostatnio coś ciężko ich na rynku znaleźć. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #82





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Co do porównania pehapowych FW to może i bym się zgodził, ale o jednej rzeczy zapomniałeś - o tym, że logikę też można skopać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ba! Można ją skopać razem z bazą danych - wystarczy prosty skrypt w php wyświetlający dane z bazy w widoku przez mysql_fetch_assoc(), gdzie w pętli umieścimy dodatkowe obliczenia. Gwarantuję, że jeśli baza ma limity, to zdechnie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) .

W dużym serwisie łatwiej dostawić serwer z aplikacją niż kolejną bazę ( http://forum.php.pl/index.php?showtopic=10...st&p=515320 ). Jeśli łatwiej, to koszt utworzenia aplikacji w .NET, J2EE, czy PHP zdaje się nie mieć znaczenia. Różnice wydajnościowe muszą być niewielkie, skoro php jest dalej stosowane - te 10x to skąd wziąłeś? Bo to tak trochę jak z Rubym, który niby jest taki pro, a jednak muli i nikt go nie chce. Java też muli... .NET - nie wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam.
Go to the top of the page
+Quote Post
Krolik
post
Post #83





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.11.2004

Ostrzeżenie: (0%)
-----


1. Benchmarki: Wejdź sobie na Great Language Shootout. Ruby jest na końcu listy wydajności, PHP niewiele lepiej. Można instalować przyspieszacze (bytecode cache), ale i tak daleko jeszcze do szybkości języków z górnej części listy (C, C++, D, Java i parę innych).

2. Teoria: Język interpretowany, dynamicznie typowany (PHP, Ruby) zawsze będzie dużo wolniejszy od języka ze statyczną typizacją, natywnie kompilowanego (Java, .NET).

Mimo to, napisałem, że wydajność PHP na ogół nie jest przeszkodą, bo jak się dobrze napisze warstwę logiki / prezentacji, to ona niewiele ma do roboty w porównaniu z np. bazą danych. Oczywiście wszytko zależy od konkretnego systemu.

BTW: Dołożenie nowego serwera aplikacyjnego jest w PHP trudniejsze niż w J2EE. Choćby dlatego, że takie rzeczy jak replikacja przezroczysta dla aplikacji jest w J2EE dostępna "out of the box" (np. Terracotta) - instalacja w kilka minut i mamy klaster - z dowolnej aplikacji, bez ruszania ani jednej linii kodu źródłowego. Podobnie przy aplikacjach w EJB3 - przełączasz 2 switche w ustawieniach serwera aplikacyjnego i masz klaster. Tymczasem o PHP był tu gdzieś wątek i z tego co pamiętam, nikt nie podał satysfakcjonującego rozwiązania (replikacja sesji + failover).
Go to the top of the page
+Quote Post
mrok
post
Post #84





Grupa: Zarejestrowani
Postów: 258
Pomógł: 17
Dołączył: 22.05.2007

Ostrzeżenie: (0%)
-----


J2EE Taaaak zajebisty pomysł (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) pracuję właśnie w firmie zajmującą się tą technologią - pewnie dało się to zrobić lepiej, ale teraz projekt nad ktorym pracujemy jest ogromną kobyłą, która kompiluje się 12 minut, a uruchamia na serwerze kolejne 25min - najdrobniejsza nawet zmiana to ponad pol godziny czekania. Koledzy z .net mówią ze u nich jest podobnie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Dlatego wole php - większość zmian wymaga tylko ctrl+r w przeglądarce i widzę efekty
Go to the top of the page
+Quote Post
starach
post
Post #85





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

Ostrzeżenie: (0%)
-----


mrok: Normalnie mało ze śmiechu się nie popłakałem. A nie można tego modułowo napisać i kompilować tylko konkretne części / biblioteki.
Poza tym chyba trochę przesadziłeś z tymi 25cioma minutami. Przecież to jest nierealne. To ta aplikacja służy do obliczeń danych z LHC. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Mógłbyś uściślić co to za kobyła która odpala się 25 minut ?
Go to the top of the page
+Quote Post
sf
post
Post #86





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Cytat(chlebik @ 19.08.2008, 02:09:18 ) *
Panowie, ale wydaje mi sie, ze caly czas zapominamy o podstawowej rzeczy - o tworzeniu elastycznego i latwego w utrzymaniu kodu. Owszem, mozna napisac swoj FW (no dobra, biblioteke klas bo nowka sztuka FW to raczej nie bedzie) pod konkretna aplikacje. Mozna, ale potem project manager sie zmieni, lead programmer tez kiedys w koncu odejdzie skuszony praca dla JeszczeBardziejNowatorskiejFirmy i zostanie 2 swiezo przyjetych koderow, ktorzy beda probowali zrozumiec, o co chodzi w tym kodzie.


Dlatego taki framework można potem udostępnić np. na zasadach open source. Tak przecież zdobył popularność code igniter. Z drugiej strony nie wydaje mi się dużym problemem by zapoznać programistę w pierwszym miesiącu z wewnętrznym frameworkiem. Istotną kwestią jest to czy ten framework jest udokumentowany, dobrze napisany i ciągle rozwijany, jeśli tak to moim zdaniem śmiało w firmie można go używać.

@Krolik: pomyliłeś topiki? to jest forum o PHP, pytanie jest o PHP i duże projekty, więc sobie o tym JAVA vs PHP pisz w osobnym topiku na hydepark
Go to the top of the page
+Quote Post
Krolik
post
Post #87





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.11.2004

Ostrzeżenie: (0%)
-----


Pytanie jest o PHP i duże projekty. Wyraziłem tylko opinię, że w dużych projektach PHP nie jest tym co tygryski lubią najbardziej, bo są lepsze rozwiązania i tyle. Może nie na temat?

PHP nigdy nie było projektowane z myślą o dużych systemach. Że niektórzy je stosują na siłę do dużych projektów, bo najpierw projekt był mały, chodził na tanim hostingu, ale zdobył popularność i się rozrósł, to inna sprawa. Ale później są niezłe problemy. Jak mi goście z dużego polskiego portalu opowiadali jakie cuda musieli robić, żeby ostatecznie rozwiązać problem składowania i replikacji sesji, to się zastanawiałem, gdzie sens i logika, skoro w J2EE te rzeczy są gotowe i działają od razu.

Frameworki do budowy aplikacji - wszystko fajnie, jeśli chodzi o funkcjonalność, ale tylko do stron o małym obciążeniu. Narzut czasu wykonania jest ogromny, kiedy taki framework MVC przy każdym requeście musi parsować ponownie wszystkie szablony w XML, tworzyć obiekty, które po zakończeniu skryptu lecą na śmietnik. Są na to jakieś tam obejścia, acceleratory i inne hacki, ale jakbym miał kasę wyłożyc na projekt, to wolałbym, żeby nie był to jeden wielki hack powiązany sznurkami i taśmą klejącą, tylko coś porządnego zaprojektowanego raz a dobrze. Duże serwisy jak Onet, owszem robią w PHP, ale piszą w sposób proceduralny i nie polegają na gotowcach.

BTW: To jakiś niezły WTF macie w tej aplikacji, że musicie restartować wszystko aby zmienić coś w kodzie. W Javie/.NET też można edytować kod bez restartu apikacji. Po kliknięciu "save" zmiany są nanoszone od razu na działający kod. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) A już ten czas 25 minut to jakiś wielki ROTFL. Robimy duży portal mobilny w J2EE oparty na frameworku komponentowo/zdarzeniowym i odpala się ok. 6-10 sekund na 5 letniej developerskiej maszynie.

Ten post edytował Krolik 13.09.2008, 11:52:44
Go to the top of the page
+Quote Post
nrm
post
Post #88





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


spoko, ale nie śmiećcie tutaj o czymkolwiek innym niż PHP. Temat jest jasno sprecyzowany, a miejsce na jakiekolwiek flejmy jest w hydeparku.
Go to the top of the page
+Quote Post
mrok
post
Post #89





Grupa: Zarejestrowani
Postów: 258
Pomógł: 17
Dołączył: 22.05.2007

Ostrzeżenie: (0%)
-----


//adminie to moj ostatni off o javie w tym temacie - odpowiem krotko przedmówcą

orglee - powiem Ci co to za projekt jak zmienie prace (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) można było podzielić na moduly, ale wcześniej nikt o tym nie pomyślał a teraz brak odważnych (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Cytat
A już ten czas 25 minut to jakiś wielki ROTFL. Robimy duży portal mobilny w J2EE oparty na frameworku komponentowo/zdarzeniowym i odpala się ok. 6-10 sekund na 5 letniej developerskiej maszynie.
Nie pisałem o maszynie (ja odpalam na 3 letniej), ale serwerze aplikacji (JBoss, GlassFish).
Go to the top of the page
+Quote Post
Krolik
post
Post #90





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.11.2004

Ostrzeżenie: (0%)
-----


Dobra, pozostając przy PHP: czy są jakieś dobre frameworki do budowania aplikacji komponentowo / zdarzeniowo?
IMHO przy dużych projektach ten sposób programowania jest łatwiejszy, i w przeciwieństwie do proceduralnego, bezstanowego podejścia serwowanego przez większość frameworków MVC (nawet jeśli zaimplementowanych przy użyciu klas i PHP5), w pełni wykorzystuje obiektowość.
Go to the top of the page
+Quote Post
LBO
post
Post #91





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


PRADO, ale i tak polecałbym zapoznać się z czymś innym.
Go to the top of the page
+Quote Post
Krolik
post
Post #92





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.11.2004

Ostrzeżenie: (0%)
-----


Dlaczego z czymś innym? Jakie są wady / zalety PRADO?
Czy wydajność w dużym projekcie jest rzeczywiście tak dobra, jak piszą na stronie?
Ktoś się tym bawił?

BTW: znalazłem coś takiego: http://www.avnetlabs.com/php/php-framework...ison-benchmarks
Wynika z tego, że wszystkie te frameworki są okropnie powolne i generują olbrzymie narzuty. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował Krolik 16.09.2008, 10:31:49
Go to the top of the page
+Quote Post
kwiateusz
post
Post #93


Admin Techniczny


Grupa: Administratorzy
Postów: 2 072
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




ale jak to ktos madry powiedział: serwer jest tanszy niz programista (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #94





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(kwiateusz @ 17.09.2008, 16:34:59 ) *
ale jak to ktos madry powiedział: serwer jest tanszy niz programista (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Bo miesiąc pracy programisty to serwer, a więc jak coś sprawi że coś zajmie 2 razy mniej czasu, to po miesiącu już się zwróci ten dodatkowy serwer, po dwóch...
Dlatego FW, OOP itd. jest tak rozchwytywane, bo skraca czas tworzenia, poprawiania, modyfikacji, mimo że daje dodatkowy narzut do obciążenia.
Go to the top of the page
+Quote Post
nrm
post
Post #95





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(Krolik @ 16.09.2008, 09:23:50 ) *
Wynika z tego, że wszystkie te frameworki są okropnie powolne i generują olbrzymie narzuty. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

To tak jakby narzekać, że lepiej używać kosy bo kombajny są duże, głośne i na drogą benzynę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
starach
post
Post #96





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

Ostrzeżenie: (0%)
-----


Hahahaha pięknie podsumowaliście pytanie dlaczego należy używać frameworków ^^
Jednak tutaj pytanie jest zdaje się o wydajność innych i to czy warto pisać własny.

Myślę że na drugie można odpowiedzieć tak...
Jeśli możesz wygospodarować trochę czasu lub widzisz wyraźne irytujące braki w innych młotkach, powinieneś zrobić swój własny.
Pisanie własnego czy też używanie już istniejących niesie ze sobą tyle samo zalet co i wad. O tym czy konstruować własny młotek każdy musi zdecydować sam biorąc pod uwagę wiele drobnych szczegółów. Sytuacja ma się nieco inaczej jeśli dotyczy to firmy i grupy programistów.
W takim wypadku jestem zdania że należy użyć już istniejącego jeśli nie chce się doprowadzić do nierentowności firmy.
Go to the top of the page
+Quote Post
Krolik
post
Post #97





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.11.2004

Ostrzeżenie: (0%)
-----


No, ja się zgadzam z tym, że czas programisty jest droższy niż sprzętu, ale... różnice w tych benchmarkach są rzędu 10-15x na niekorzyść frameworków w porównaniu z "baseline PHP", a koszty sprzętu to nie jedyne wydatki związane z niższą wydajnością. A kto: będzie to serwisował, płacił za prąd, pilnował by nie wynieśli, udostępniał pomieszczenia? IMHO koszt zbudowania klastra 50 serwerów zamiast 4 może być bardzo duży w porównaniu z kosztem samych skrzynek. Zresztą skrzynki serwerowe tanie nie są. Przecież nie postawię serwisu na sprzęcie domowym w garażu u kolegi. Serwer dedykowany to ok. 5 tys /rok. Stawiając takich 50 łatwo wylecieć z całego budżetu na projekt... Przy projektach, które przewidują duże obciążenie, użycie frameworku PHP przynosi korzyści na początku, ale na dłuższą metę może być ryzykowne.

A jeśli pisać własny, to czy w ogóle da się dorównać wydajności zwykłego proceduralnego PHP?


Cytat
Cytat

Wynika z tego, że wszystkie te frameworki są okropnie powolne i generują olbrzymie narzuty. sad.gif

To tak jakby narzekać, że lepiej używać kosy bo kombajny są duże, głośne i na drogą benzynę


Ale co, jeśli można mieć kombajn, który nie pali dużo i jest cichy?

Cytat
Dlatego FW, OOP itd. jest tak rozchwytywane, bo skraca czas tworzenia, poprawiania, modyfikacji, mimo że daje dodatkowy narzut do obciążenia.


Tylko w PHP jest to szczególnie widoczne. W kompilowanych językach narzutu na OOP praktycznie nie ma.
Go to the top of the page
+Quote Post
nrm
post
Post #98





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(Krolik @ 18.09.2008, 14:47:26 ) *
Ale co, jeśli można mieć kombajn, który nie pali dużo i jest cichy?

Właśnie takim jeżdżę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ale Ty ciągle mimo wszystko mówisz o kosie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
LBO
post
Post #99





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(normanos @ 18.09.2008, 17:57:19 ) *
Właśnie takim jeżdżę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ale Ty ciągle mimo wszystko mówisz o kosie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


Czytam te Wasze analogie i przypomniała mi się rozmowa na GG z nienzjaomym Mi kolesiem na temat frameworków vs. własne rozwiązania.

Cytat
:nieznajomy:
nie, po prostu uwazam ze nie zatrudniam calej druzy pilkarskiej do strzelenia gola do pustej bramki
alan 11:14:50
Tak, ale mozesz miec takiego trenera, ktory wystawi tylko jednego gracza
:nieznajomy:
tylko ** ***** mam placic za pozostalych 10 zawodnikow i samego trenera



(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nie zrozumiałem tego ostatniego argumentu, ale i tak bladł przy innych Jego wymysłach.

Cytat
:nieznajomy:
projektuje sie na potrzeby a nie na wyrost
:nieznajomy:
wrzucasz folder 10GB na dysk a potem go otwierasz i usuwasz 9.99GB bo potrzebujesz z niego tylko 1 plik tekstowy!?
alan 11:30:06
ale co to za argument? skoro masz framewrok o swietnej architekturze pozwalajacej na niemal wszystko
alan 11:30:12
i mozesz wylaczyc
alan 11:30:15
to czego nie potrzebujesz
alan 11:30:20
nie chcesz bazy
alan 11:30:26
wylaczasz obsluge bazy
alan 11:30:29
nie chcesz loggerów
alan 11:30:33
wylaczasz loggery
alan 11:30:44
nie chcesz autoryzacji, ba - nie ma sprawy
alan 11:30:48
i nie korzystasz z nich
alan 11:31:12
....po czym nagle klient prosi zby mu dorobic zarzadzanie userami z logowaniem etc
alan 11:31:15
to co robisz?
:nieznajomy:
to po co ma byc na serwerze 90% niepotrzebnych rzeczy?
alan 11:31:22
wlaczasz autoryzacje
alan 11:31:27
dodajesz maly modul
alan 11:31:29
i po prawie
alan 11:31:37
jak to 90%?
:nieznajomy:
chyba tylko jako potencjalne dziury do wykorzystania
alan 11:31:39
chodzi tobie
alan 11:31:45
o źódła frameworka?
alan 11:31:51
źródła?


Cytat
:nieznajomy:
jak mowilem - to nie nasa
:nieznajomy:
kiedys poszedlem do firmy, pogadalem chwile i pytam na jakim systemie pracujecie, a oni ze na ezPublish i joomli, z miejsca podziekowalem i wyszedlem
alan 11:43:33
skoro tak twidzisz, nie chce ciebie przekonywac, bo wydajesz sie nieroformowalny - z argumentami typu, źródeł zajmujacych miejsce na serwerze.
:nieznajomy:
dla mnie firma ktora korzysta z rozwiazan opensource to firma ktora nie potrafi zrobic nic swojego
Go to the top of the page
+Quote Post
kbsucha
post
Post #100





Grupa: Zarejestrowani
Postów: 113
Pomógł: 19
Dołączył: 2.08.2007

Ostrzeżenie: (0%)
-----


Cytat(normanos @ 18.09.2008, 17:57:19 ) *
Właśnie takim jeżdżę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ale Ty ciągle mimo wszystko mówisz o kosie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


Rozumiem, ze masz na myśli Kohane. A skoro w wątku mowa jest o dużych projektach, to zastanawiam się czy sprawdzałeś jej możliwości w takich projektach. Czy sobie poradziła z naprawdę dużymi serwisami. Na razie z tego co widziałem to projekty na stronie oficjalnej nie są zbyt wygórowane, parę blogów, jakieś stronki z filmikami itp. I z tego co widzę po ogromnych zmianach w Core w wersji 2.3 to raczej długo nic poważniejszego nie zobaczę.

Pozdr
Go to the top of the page
+Quote Post

6 Stron V   1 2 3 > » 
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.09.2025 - 00:00