Autor Wątek: Jak zrobić własną ZOSIĘ :)  (Przeczytany 8403 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Grzegorz Gałęzowski

  • archiwista
  • ***
  • Wiadomości: 430
  • Płeć: Mężczyzna
Jak zrobić własną ZOSIĘ :)
« dnia: Wrzesień 25, 2009, »
Jak zrobić własną ZOSIĘ

Chciałbym wszystkich zachęcić do zapoznania się z frameworkiem Pylons. Jak możemy przeczytać na stronie http://pl.wikipedia.org/wiki/Pylons jest to framework przeznaczony do tworzenia wysoce skalowalnych aplikacji. Przy czym proces tworzenia jest tutaj bardzo prosty i efektywny.

Na początek będą oczywiście same podstawy. W następnych częściach będę chciał przedstawić jak tworzyć proste i bardziej skomplikowane aplikacje z wykorzystaniem Pylons. Postaram się także porównać Pylons do innego bardzo popularnego frameworka Django.

Zaczynamy od pobrania i zainstalowania Pythona. Jeżeli używamy systemu Windows pobieramy instalator  ze strony http://python.org/download/. Po pobraniu odpowiedniej wersji dla naszej platformy, po prostu klikamy dwa razy na pliku wykonywalnym i dalej postępujemy zgodnie z instrukcją instalatora.

Należy pamiętać że aby korzystać z instalatora MSI, w systemie Windows musi być dostępna obsługa Microsoft Installer (MSI). Jeżeli nie mamy dostępnej w systemie tej usługi możemy ją pobrać ze strony:

Systemy Windows 95, 98, i ME używają tej wersji: http://www.microsoft.com/downloads/
details.aspx?FamilyID=cebbacd8-c094-4255-b702-de3bb768148f&displaylang=en.
Systemy Windows NT 4.0, 2000 używają tej wersji: http://www.microsoft.com/downloads/
details.aspx?FamilyID=4b6140f9-2d36-4977-8fa1-6f8a0f5dca8f&DisplayLang=en.

Pylons jest napisany w języku Python i można go uruchomić na niemal dowolnej platformie, która obsługuje nowoczesne wersje Pythona. Może więc być wykorzystana w systemie MS Windows, Mac OS X, Linux, BSD, AS400, Z/OS i wielu innych platformach. Ponieważ Python jest językiem interpretowanym, aplikacje utworzone w Pylons napisane na jednej platformie mogą być uruchamiane także na innych bez żadnych modyfikacji.
Pylons można zainstalować na kilka różnych sposobów. W ramach tego materiału zostanie przedstawiona jedna z możliwości dla systemu MS Windows.

1. Musimy najpierw przygotować odpowiednie środowisko w systemie MS Windows. Będziemy musieli skonfigurować ścieżkę (PATH) do katalogu Python i osobno ścieżkę do katalogu Python Scripts.


 

2. W celu skonfigurowania PATH, klikamy Start i przechodzimy do Panelu sterowania z którego uruchamiamy System.




3. We właściwości systemu przechodzimy do zakładki Zaawansowane.



4. Klikamy na Zmienne środowiskowe.



5. W Zmiennych użytkownika wybieramy PATH i w Wartości zmiennej określamy położenie katalogu Scripts (np. jak na załączonym poniżej rysunku ;C:\Python24\Scripts). Musimy także pamiętać by w systemie była podana także ścieżka do katalogu Python, gdzie znajdują się pliki wykonywalne.



6. Pobieramy ze strony plik http://peak.telecommunity.com/dist/ez_setup.py
i w oknie eksploratora klikamy na niego dwa razy lewym przyciskiem myszki.
Zainstalujemy w ten sposób między innymi easy_install.

7. Gdy już mamy ustalone zmienne środowiskowe i gotowy do pracy zestaw narzędzi pobranych za pomocą skryptu ez_setup.py, możemy uruchomić cmd.exe (Start/Uruchom/cmd.exe lub Start/Wszystkie programy/Akcesoria/Wiersz polecenia).

8. Teraz możemy użyć z poziomu cmd polecenia easy_install. Pylons składa się z wielu różnych pakietów, które muszą być zainstalowane. Na szczęście nie musimy się kłopotać instalacją wszystkiego ręcznie i możemy wszystko zainstalować wydając jedno polecenie /easy_install/, dzięki czemu nie musimy się martwić o zależności pomiędzy pakietami.

Rozpoczynamy instalację. Wprowadzamy w okienku cmd.exe polecenie:

easy_install "Pylons==0.9.7"

Jeżeli wszystko mamy poprawnie skonfigurowane i posiadamy połączenie z Internetem, rozpocznie się automatyczny proces pobierania i instalowania pakietów wymaganych przez Pylons.

Obecnie większość nowego oprogramowania i wszelkie zależności pomiędzy pakietami rozwiązywana jest przez dystrybucję pakietów w formacie eggs (jajeczek). Używając programu easy_install będziemy właśnie korzystali z tego typu pakietów.



Python ma wbudowany edytor IDLE, przydatny przy edycji kodu źródłowego (niestety nie posiada obsługi znaków końca linii)

Mamy do wyboru wiele innych edytorów, dobrym wyborem jest np. SciTE, który możemy pobrać ze strony:

http://sourceforge.net/projects/scintilla/files/SciTE/2.01/wscite201.zip/download



Tak własnie wygląda edytor, którego będziemy używali później do pisania naszych programów.



Pylons to zbiór starannie dobranych komponentów, ściśle ze sobą zintegrowanych. Po zainstalowaniu Pylons, w katalogu lib/python2.x/site-packages możemy znaleźć wszystkie dostępne paczki.

Stworzymy teraz pierwszy projekt w Pylons.

Nadszedł czas, aby stworzyć pierwszy projekt Pylons. Doprowadzimy do automatycznego utworzenia struktury katalogu dla naszego projektu.
Utworzenie nowego projektu w oparciu o domyślny szablon Pylons, odbywa się za pomocą takiej oto komendy wydawanej z poziomu cmd:

$ paster create --template=pylons HelloWorld

Powyższa komenda utworzy nam projekt o nazwie HelloWorld.

Możemy użyć także takiego polecenia, ale efekt będzie taki sam:

$ paster create -t pylons HelloWorld

Jeżeli nie działa nam komenda paster. Oznacza to że prawdopodobnie źle określiliśmy zmienne środowiskowe.





Możemy teraz przejść do właśnie utworzonego katalogu wydając polecenie:

cd HelloWorld

Gdy już będziemy w katalogu, możemy uruchomić właśnie utworzony projekt wydając polecenie:

paster serve --reload development.ini

W systemie Windows, może pojawić się nam monit systemowej ściany ogniowej o tym by odblokować Python na porcie 5000.




Od tej chwili na porcie 5000 mamy działający serwer web, dzięki czemu możemy testować nasze aplikacje. Jeżeli wprowadzimy zmiany w naszym projekcie, zostaną one automatycznie dostępne i gotowe do testowania. Jest to bardzo przydatne przy tworzeniu aplikacji. Nie ma wtedy konieczności ciągłego zamykania i ponownego uruchamiania serwera. Aby zatrzymać serwer, możemy użyć kombinacji CTRL+D (lub CTRL+C w systemie Linux).

Możemy teraz uruchomić przeglądarkę i wprowadzić adres:

http://127.0.0.1:5000

Zobaczymy stronę powitalną, tak jak na poniższym rysunku.



Statyczne strony

Teraz gdy mamy już uruchomiony serwer, możemy utworzyć plik o nazwie start.html w katalogu HelloWorld/helloworld/public



/przyjęło się że naukę programowania zaczyna się zawsze od HelloWorld czyli Witaj Świecie/

Utworzymy tutaj plik start.html (możemy użyć do tego programu notepad). W treści tego pliku umieścimy następujący kod html:

<html>
<body>
Udana próba!
</body>
</html>



Teraz gdy uruchomimy stronę o adresie http://127.0.0.1:5000/start.html, zobaczymy tekst ?Udana próba!?.

Katalog public jest podobny do katalogu htdocs spotykanym w Apache. Ze względów bezpieczeństwa Pylons nie wyświetla struktury tego katalogu, więc jeżeli nie będzie tam umieszczony plik index.html, to przy wywołaniu http://127.0.0.1:5000 otrzymamy komunikat błędu ?404 File Not Found?.


 
Sądzę że na początek tyle informacji wystarczy. W przyszłości przedstawię już coś bardziej konkretnego (szczególnie SQLAlchemy).


« Ostatnia zmiana: Listopad 07, 2009, wysłana przez Grzegorz Gałęzowski »

Offline Rafał Rufus Magryś

  • Administrator
  • st. kustosz(ka)
  • *****
  • Wiadomości: 1333
  • Płeć: Mężczyzna
Odp: Jak zrobić własną ZOSIĘ :)
« Odpowiedź #1 dnia: Wrzesień 25, 2009, »
Jak chcemy ZoSIA - to lepiej pod Linksem - wydajniejszym, bezpieczniejszym, etc... systemem tutaj opis: http://wiki.pylonshq.com/display/pylonsdocs/Installing+Pylons :D

 
Rafał "Rufus" Magryś
...patience is a virtue...

Offline Grzegorz Gałęzowski

  • archiwista
  • ***
  • Wiadomości: 430
  • Płeć: Mężczyzna
Odp: Jak zrobić własną ZOSIĘ :)
« Odpowiedź #2 dnia: Wrzesień 25, 2009, »
Panie Rafale a już pełnia szczęścia jak wykorzystamy coś jeszcze bardziej bezpieczniejszego, wydajniejszego itd.: iSeries lub OS390/ZOS

Offline Rafał Rufus Magryś

  • Administrator
  • st. kustosz(ka)
  • *****
  • Wiadomości: 1333
  • Płeć: Mężczyzna
Odp: Jak zrobić własną ZOSIĘ :)
« Odpowiedź #3 dnia: Wrzesień 25, 2009, »
Więc może lepiej od razu dać opis bezpiecznej platformy niż zmuszać użytkownika, który chce skorzystać z tutoriala do instalowania Windy? ;)...

Pozdrowienia Panie Grzegorzu :)...


Rafał "Rufus" Magryś
...patience is a virtue...

Offline Grzegorz Gałęzowski

  • archiwista
  • ***
  • Wiadomości: 430
  • Płeć: Mężczyzna
Odp: Jak zrobić własną ZOSIĘ :)
« Odpowiedź #4 dnia: Wrzesień 26, 2009, »
TTekst powstał dla systemu MS Windows ze względu na jego popularność. Dzięki temu chciałem żeby trafił do szerszego grona odbiorców. Linux nie jest najlepszym systemem operacyjnym. Jako administrator z paro letnim doświadczeniem w zarządzaniu systemami linuxowymi nie mogę powiedzieć że jest to system idealny. Może ze względu na to że pracuję zarówno na systemach linuxowych jak i windowsowych nie staram się faworyzować żadnej z tych platform. Czasami podczas pracy potrafię się mocno zdenerwować na system linuxowy a innym razem na windowsowy. Oba mają sporo wad. Ja bym postawił te systemy obok siebie. Wszystko zależy od tego co chcę zrobić. Niektóre prace lepiej wykonać na linuxie a niektóre na windzie. Zresztą chyba nie jest tajemnicą że byłem przez długi czas orędownikiem wprowadzenia na szeroką skalę linuxów w AP (głównie ze względu na oszczędności finansowe - chociaż do końca nie mogę mieć pewności by takie powstały). Na swoim podwórku też coraz więcej linuxów wprowadzam.

Odnośnie bezpieczeństwa polecam zapoznać się z tekstem: http://www.viruslist.pl/analysis.html?newsid=538

Nie sądzę by doświadczony administrator pracujący zarówno na systemach linuxowych i windowsowych potrafił gloryfikować tylko jedną platformę. Wszelkie tego typu wojenki często funkcjonują na zasadzie to co moje to najlepsze.
Zresztą nie ma znaczenia na jakim systemie pisze się program w pythonie czy jest to MS Windows czy też Linux. Inną sprawą może być już udostępnianie tych programów na zewnątrz, poprzez określony serwer aplikacji lub webowy. Ale tutaj sprawa też nie jest taka prosta.
Pylons nie jest jeszcze tak dobrze udokumentowany jak np. Django. Wersja tutorialu na linuxa, trafiłaby do zbyt małego grona osób. Zresztą częściej można spotkać się z opisami na system linux, a jeżeli chodzi o Windows to dostępne opisy nie spodobały mi się i chciałem coś zrobić samemu od podstaw i to w naszym języku ojczystym.
Różnice przy instalacji na początku nie są zbyt wielkie, a przy programowaniu różnice się zacierają.
Chciałbym na zakończenie jeszcze powiedzieć że zwiększająca się złożoność programów, zwiększa prawdopodobieństwo zaistnienia błędów i te zjawisko będzie się w przyszłości potęgować. Jeżeli ktoś przekonuje nas o wyjątkowej niezawodności i bezpieczeństwie konkretnego programu, możemy mu zarzucić po prostu brak dostatecznej wiedzy.

Offline Rafał Rufus Magryś

  • Administrator
  • st. kustosz(ka)
  • *****
  • Wiadomości: 1333
  • Płeć: Mężczyzna
Odp: Jak zrobić własną ZOSIĘ :)
« Odpowiedź #5 dnia: Wrzesień 26, 2009, »
Witam,

Nie zgodzę się z tym, że tekst trafiłby do mniejszego grona tym bardziej, że każdy linuks posiada już pytona na pokładzie więc odchodzi jedna rzecz do instalacji. Reszta jest banalnie prosta i sprowadza się do przyklejenia komend do terminala. A jeśli ktoś się zdecyduje na pythona to wg mnie dla niego bez różnicy czy ma zainstalować linuksa czy nie. Uczenie ludzi na windowsie powoduje, że z tego a nie innego systemu korzystają (Consuetudo est altera natura...).
Nie będę się sprzeczał, który system jest lepszy - na mój obecny stan wiedzy mogę powiedzieć, że każdy system -nixowy jest lepszy od każdego zrobionego przez Microsoft.
Cieszę się, że jesteś orędownikiem - bo sprawa nabiera różu - wiem, że będzie taki dzień kiedy odwróci się sytuacja i będzie Windows na 2 stanowiskach (lub wogóle) a linuks wszędzie. Do tego jednym z kroków jest ZoSIA czy każde oprogramowani klient serwer niezależne od platformy systemowej - uniezależniające użytkownika od płacenia najpierw licencji na oprogramowanie systemowe, potem na antywirusa+firewall, potem MS Office etc., etc. i tak płynnie przechodzimy do linku jaki podałeś: przyjrzyjmy się lepiej kto napisał ten tekst i do kogo należy witryna jaką polecasz... no właśnie jeden z największych producentów oprogramowania antywirusowego, a ludzie piszący to ludzie z tejże firmy, firmy która żyje z tego że Windows jest dziurawy jak ser szwajcarski. Nie wchodzę w dyskusję warto poczytać artykuły jakie pojawiły się po jego opublikowaniu nie tylko na stronach miłośników linuksa... Autorom zarzucono najmniej stronniczość...
Sam również musisz przyznać, że jeśli chodzi o sprawy/usługi krytyczne - lepiej zaufać linuksowi. To tyle - nie wchodzę głębiej w dyskusję nie chcę tu robić flame'a fanboyów ;)...

pozdro

P.S. Polecam jako IDE Pythona np Erica :) (w ubuntu terminal: sudo apt-get istall eric, pod windą szukanie, ściąganie, instalowanie)
P.S. Mógłbyś przyjechać na IFAR to byśmy wtedy pobili flame'a :D
Rafał "Rufus" Magryś
...patience is a virtue...