Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Jobeet - naucz się Symfony w 24 dni
Forum PHP.pl > Inne > Hydepark
athabus
Niedawno na blogu symfony pojawił się wpis o nowym tutorialu, który ma być następcą askeet.
Dla tych co nie wiedzą - askeet to genialny tutorial, który krok po kroku rozwijał aplikację w symfony - dzięki niemu przesiadłem się na Symfony (zresztą pewnie nie tylko ja).
Jako, że tutorial się zestarzał i wyszło kilka nowych wersji symfony, od dziś zaczyna się nowa edycja tutoriala o nazwie Jobeet.

Zachęcam wszystkich do spróbowania swoich sił, bo jest to najłatwiejsza droga do nauki Symfony, jak i poznania kilku zasad dobrego programowania (sam będę się przyglądał bo na razie nie znam Symfony 1.2 a kilka rzeczy się zmieniło).

Tutorial rozpoczął się dzisiaj - będzie się składał z 24 lekcji (codziennie publikowana jest nowa lekcja).

Link do Jobeet
michalg
Super smile.gif Tutorial się na pewno przyda niejednej osobie.

Miejmy nadzieję, że na tym nie skończą i popracują jeszcze trochę nad dokumentacją. Mogliby w konću skończyć symfony forms in action.
athabus
W ogóle mam wrażenie, że dokumentacja ostatnio nie nadąża za rozwojem frameworka - tym bardziej więc ostrze sobie zęby. Zawsze też warto zobaczyć nowe mechanizmy w akcji, żeby się nie domyślać "co autor miał na myśli" robiąc dane rozwiązanie.
michalg
No niestety, każdy chciałby programować a dokumentacji pisać nie ma komu winksmiley.jpg

Nadzieja w tym, że jak się społeczność rozwinie, to znajdą się dodatkowe osoby do pisania dokumentacji.
AxZx
super:) dzięki za info.
przy okazji zauważyłem, że wyszła wersja 1.2 smile.gif
Cysiaczek
Taaaa ja nadal na 1.018 dry.gif
Z dokumentacją nie zauważyłem, ale wiem, że w pluginach się burdel zrobił. Dużo nie działa, część ma złe sumy kontrolne, jeszcze kilka to tylko puste nazwy przyszłych pluginów. Na cholerę to wpuszczają na svn?
Od nowego roku SF 1.2 ++ smile.gif
mike
Przenoszę na Hydepark.
michalg
Jeżeli już jesteśmy przy temacie dokumentacji, to właśnie pojawiła się książka na temat używania doctrine w symfony:

http://www.symfony-project.org/book/doctrine/1_2/en/
athabus
I jak tam? Ktoś uczestniczy w tutorialu?
Jak na razie nic nowego dla osób znających symfony 1.0 się nie pojawiło (w końcu to dopiero 3 dzień), ale ogólnie tutorial mi się podoba.
Widzę, że w symfony 1.2 znacznie więcej można zrobić za pomocą konsoli (w porównaniu z 1.0) i to mi się bardzo spodobało.
Jak wasze wrażenia.
ahead
Jak dla mnie kurs zaczyna się ok. Brakuje w nim paru szczegółów. Np. piszą po kolei jak budować model, a nagle zgubili polecenie propel:build-forms(oczywiście można build-all, ale jak piszą o szczegółach to czemu nie o wszystkich), bez którego nie można ruszyć daleko. Poza tym jest nieźle.
mike
Cytat(ahead @ 3.12.2008, 21:24:10 ) *
Jak dla mnie kurs zaczyna się ok. Brakuje w nim paru szczegółów. Np. piszą po kolei jak budować model, a nagle zgubili polecenie propel:build-forms(oczywiście można build-all, ale jak piszą o szczegółach to czemu nie o wszystkich), bez którego nie można ruszyć daleko. Poza tym jest nieźle.
Bo na razie nie ma wzmianki o walidacji i widokach to po Ci formularze?
athabus
A widzisz są potrzebne :-) Jest tam robiony "crud" dla jednego modelu i on wymaga formularzy.
Sam się na to naciąłem, bo w symfony 1.0 tego nie było i parę minut szukałem jak to obejść.

W pierwszym dniu był też błąd w konfiguracji serwera, który zresztą zgłosiłem na tracu, ale do dzisiaj nie poprawili.

Ogólnie jednak jest nieźle i płynnie idzie.
michalg
Pojawiła się również wersja tutoriala pod doctrine:

http://www.symfony-project.org/jobeet/1_2/Doctrine/en/
kaniagandzowski
Mam pytanie do tych co robią ten tutorial "jobeet".
Czy porównywaliście u siebie czas wygenerowania strony z czasem podanym na tym screenie poniżej


Jak widać na obrazku jest to 51 ms a u mnie jest 600ms . Naj mniej mam 400ms (przy wyświetleniu gołej stronki) I to na localhoscie
Parametry komputera:
Procesor 1.6 GHz Celeron, 2GB RAM , dysk 5400rpm (na laptopie)
Role serwera www pełni WAMP standardowo zainstalowany do którego dodałem eAccelerator

Testowałem też na innym komputerze co ma dwa rdzenie 2.3GHz i 7200rpm i tam tylko zyskałem 200ms
przy takim samych ustawieniach Apache PHP (był to klon wampa co był na tamtym kompie)

Bardzo chciał bym dowiedzieć jak to u was wygląda i co by można z tym fantem zrobić.
W sumie to widać, że ten sam kod uruchomiany gdzieś generował się znaczniej szybciej bo można rzec aż 10 razy szybciej niż u mnie (tak uogólniając)
Cysiaczek
400 ms jest możliwe, ale przy większych obciążeniach. IMO, masz coś z kompem, bo ja nawet na 1.0 z eAcceleratorem takich czasów nie widuję.


--edit
tak na marginesie - wstawcie w front controllerze micritime(1) i policzcie sami - czasami 2+2=3 smile.gif

o i jeszcze:
kaniagandzowski
Cieszę się że jest nadzieja na przyspieszenie u mnie symfony.
Ale nie wiem w czym bym miał problem, że u mnie wolniej chodzi niż u ciebie (cisiaczek). Nie upatruje winny w sprzęcie. Jak już w Wampie tzn jego konfiguracji. Trudno mi powiedzieć ale testy prowadziłem też na innym kompie. I tam nie osiągnąłem 120ms. A był to komputer typu serwer.

Serwer www na kompie był instalowany na standardowych ustawieniach (wamp z http://www.wampserver.com/en/ i do tego dodałem eAccelerator)
eAccelerator działa ale nie wiem czy optymalnie został skonfigurowany!.

Plik php.ini
  1. <?php
  2. [eAccelerator]
  3. extension=eAccelerator0953_5.2.6.dll
  4. eaccelerator.shm_size = "0"
  5. eaccelerator.cache_dir = "c:wamp\tmp"
  6. eaccelerator.enable = "1"
  7. eaccelerator.optimizer = "1"
  8. eaccelerator.debug = "0"
  9. eaccelerator.check_mtime = "1"
  10. eaccelerator.filter = ""
  11. eaccelerator.shm_max = "0"
  12. eaccelerator.shm_ttl = "0"
  13. eaccelerator.shm_prune_period = "0"
  14. eaccelerator.shm_only = "0"
  15. eaccelerator.compress = "1"
  16. eaccelerator.compress_level = "0"
  17. eaccelerator.keys = "shm_and_disk"
  18. eaccelerator.sessions = "shm_and_disk"
  19. eaccelerator.content = "shm_and_disk"
  20. eaccelerator.admin.name =
  21. eaccelerator.admin.password =
  22. ?>


Może wina jest Wamp'ie!
Dla przypomnienia powtórzę, że czasy były mierzone na Jobeet (z tutoriala). Kiedyś testowałem też askeet i też nie było lepszych czasów. Tak więc to nie wina jakości pisania programu pod symfony.
Widać, że framework na moim kompie wolno wykonuje się. Wiem, że symfony jest wolne ale jak pokazał cisiaczek, że w porównaniu z czasami jakie on ma a jakie ja mam to nie można w tym przypadku zgonić winy na frameworka czy to na jakość kodu.
Cysiaczek
A próbowałes na jakimś unixowym systemie? Windows to trochę lipa jak na serwer z PHP.
kaniagandzowski
Niestety nie ponieważ nie bardzo umiem. Choć jak uprze się to zrobię ale nie robiłem tego jeszcze.
Myślę, że pobiore sobie wirtualna maszyne dla serwera esx (bo taki mam) np. ubuntu serwer. I spróbuje.
A ty czasy podałeś jakie uzyskujesz na serwerze www, który pracuje pod systemem operacyjnym linux. Czy tak?
athabus
Ogólnie czasy podawane w toolbarze nijak mają się do czasów w prawdziwym obciążeniu. Np. pod generatorem obciążeń czasy wychodzą mi znacznie krótsze niż na toolbarze (nie jest to nic odkrywczego).
Wydaje mi się, że podawane czasy należy raczej traktować jako sygnał, że dana akcja jest zbyt wolna w stosunku do średniej - czyli gdy np. jakaś akcja wykonuje się 2 razy dłużej niż średni czas podawany przez toolbar dla innych akcji.

przykładowo dla strony głównej Jobeet z dnia 5
- toolbar podaje mi ~300ms
- generator przy ustawieniach -n 100 -c 1 -> 95% żądań wykonuje się poniżej 44ms czyli blisko 7krotna różnica
kaniagandzowski
Z ciekawości pokaże wam różnice między windowsem a ubuntu server 64 bit

Testowałem na symfony 1.2.1, na którym był tylko stworzony projekt (symfony generate:project nazwa; symfony generate:app frontend)





nr1 .
Ubuntu Server 64 Bit Procesor Xeon 2.3 GHz 1 GB Ram (Pracował na jednym rdzeniu - tak ustawiłem w ESX) dysk 7200 rpm Sata II


nr2
Windows XP Procesor Celeron 1.6 2 GB Ram (jedno rdzeniowy dysk 5400rpm)

nr3 i nr 4
Windows XP Procesor Xeon 2.3 GHz 1 GB Ram (Pracował na dwóch rdzeniach - tak ustawiłem w ESX) dysk 7200 rpm Sata II (ten sam dysk co na ubuntu)

Jak widać czasy generowania komunikatu o stworzeniu projektu w symfony różni się znacznie na windowsie z ubuntu server


Przypomnę że na ubuntu nie uaktywniłem eAccelerator. Testowałem też na ubuntu na dwóch rdzeniach ale nie było różnicy widocznej. Więc wynik podałem w przypadku jedno rdzeniowego procesora.
ahead
Hej, ktoś robi jeszcze ten tutorial czy sam zostałem?smile.gif
Nie wiem czemu style i obrazki z admin generatora(day 12) nie wyświetlają się , ktoś ma może podobny problem?
destroyerr
Tak, zostałeś sam, sztab ludzi od symfony pisze tutorial specjalnie dla Ciebie tongue.gif

Co do Twojego problemu, nie wyświetlają się być może dlatego, że nie dodałeś aliasu dla pluginu sfPropelPlugin. Możesz to sprawdzić łatwo. Otwórz kod strony, zobaczysz, że style i obrazki z generatora są poprzedzone /sfPropelPlugin. Musisz dodać alias do wirtualnego hosta tak samo jak zrobiłeś to dla /sf oczywiście na odpowiedni folder (lib/plugins/sfPropelPlugin/web).
gam3r
mam pytanie odnosnie Jobeet'a:
czy wam wszystko poszło okej w dniu 12 ( Admin generator ) ?
bo u mnie nie ładują się style generatora - przez strona wyglada beznadziejnie
jak recznie zapodam
<link rel="stylesheet" type="text/css" href="/sf/sf_admin/css/main.css" />
to w koncu cos zaczyna sie pojawiac, tylko ze nie widać obrazkow/przycisków z generatora

mam taka oto httpd.conf

Kod
<VirtualHost 127.0.0.1:8080>
  DocumentRoot "c:\wamp\www\jobeet_propel\web"
  DirectoryIndex index.php
  <Directory "c:\wamp\www\jobeet_propel\web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf "c:\wamp\www\jobeet_propel\lib\vendor\symfony\data\web\sf"
  <Directory "c:\wamp\www\jobeet_propel\lib\vendor\symfony\data\web\sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>


ktoś ma jakiś pomysł jak to rozwiazac??

oto screeny
bez styli:
http://img.org.pl/obrazek/cti03oNG3Y9.jpg
style "na sztywno":
http://img.org.pl/obrazek/cti02BRd9DC.jpg
destroyerr
Post wyżej od Twojego zawiera rozwiązanie. Nawet nie raczyłeś przeczytać. Spoko. Masz jeszcze jedno rozwiązanie: symfony plugin:publish-assets. To rozwiązanie jest chyba lepsze.
Po zawartości repozytorium jobeeta, domyślam się, że zrobili to samo i zapomnieli o tym napisać. W dzisiejszej części jednak już o tym wspomnieli.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.