Python, Django, PostgreSql, PgAdmin, Windows 7 x64, Netbeans, Jython, Java SDK (I dalis - apibrėžimai)
Parašė ozzWANTED 2010 rugpjūčio 21 04:08:06
Įvadas
Python, Django, PostgreSql, Windows 7 x64, NetBeans, PgAdmin, StackBuilder, Java SDK, Jython, zxJDBC, JDBC4 PostgreSQL draiveris - štai kiek daug terminų ir/ar įrankių mums reikia žinoti/mokėti norint visapusiškai dirbti su Python+Django įrankiu kuriant Web tinklapius ir aplikacijas. Todėl šiame straipsnyje pabandysiu su jais visais supažindinti, o antrojoje straipsnio dalyje pateiksiu visą instaliacijos ir konfigūravimo procesą. Trečiąjame straipsnyje pateiksiu Pavyzdinės Python programos pavyzdį parašytos NetBeans IDE, Jython 2.5.2 progr. kalbai, naudojančiai PostgreSQL DB ir Django Web Framework'ą.

Kas yra Python ir su kuo jis valgomas manau turėtų atsakyti Google ar/ir Wikipedia.

Na o dabar apie visą iš eilės.

Windows 7 x64 - tai šiuo metu naujausia ir moderniausia Windows 64 bitų(x86-64) operacinė sistema. Priešingai nei Intel Itanium sistemose ir joms skirtose operacinėse sistemose, Inter Core ir kiti 64 bitų procesoriai iš tiesų yra tie patys 16 bitų 8086-ieji procesoriai su daugikliu x4 (imamos 4 eilutinės vienai komandai naudojant SIMD instrukcijų skaitymo būdą (SIMD - single instructrion multiple data)). Dėl šios savybės yra išlaikomas suderinamumas(angl. "backward compatibility"), su senesnėmis, tarkime 32 bitų (x86-32) Windows aplikacijomis (taikomosiomis programomis), bei techninė įranga yra pigesnė (TĮ gamintojams nereikia restrūktūrizuoti gamybos TĮ proceso). Tačiau dėl šių priežasčių gana smarkiai yra aukojamas tokios TĮ potencialus galimas našumas, todėl superkompiuteriuose yra naudojama MISD instrukcijų pagrindų paremti 64 arba 128 bitų Intel Itanium procesoriai, kurie interpretuoja vieną eilutę kaip vieną instrukciją ir dirba be daugiklio, taip vietoje 15 operacijų(tiek jų reikia SIMD atveju), tėra daroma tik 1 operacija, ir TEORIŠKAI tokie procesai ir tokius procesorius maksimaliai išnaudojant PĮ(OS+Apps) galėtų dirbti iki 15 kartų greičiau. Tačiau faktiškai našumas tėra didesnis apie 2 kartus.
(Naujausia Windows 7 sistemoje yra palaikomos abi - x86 ir x64 versijos, atitinkamai "Program Files (x86)" ir "Program Files" direktorijos skirtos x86 ir x64 PĮ'ai)
(Įsigyti Windows 7 x64 galime bet kurioje įgaliotai Microsoft įranga prekiaujančioje parduotuvėje)



Python - viena moderniausių kalbų, kurios sintaksės ir struktūros paprastumas lenkia daugybę kitų kalbų. Tame tarpe ir Php. Ilgą laiką Python terpė buvo 'UNIX šalis', ir tik pastaraisiais metais reikalai pradėjo judėti iš peties ir Windows platformoje. Ypač daug žadantys yra šie 2010-ieji ir ateinantys 2011'ieji. Na o didžiausias postūmis Windows terpėje iš Python pusės buvo padarytas 2009-2010'ų pirmoje pusėje.
Pats Python yra kalba be kompiliatoriaus. Šios kalbos implementacijos yra parašytos:
C++ kalba: CPython. (Na pats C++ yra parašytas C kalba, todėl kartu tinka ir C kalbos 'extensionai' CPython programoms)
Java kalba: Jython.
C# kalba: IronPython.
(Platformos versija(-os) surištos su šią kalbą realizuojančio kompiliatoriaus parašymo kalba)
(Naujausia Python 2.X versija - Python 2.7 versija)
(Naujausios Python 3.X versija - Python 3.1.2 versija)
(Atsisiųsti galima iš
http://python.org/download/ )


Jython - tai Python kalbos realizacija Java programavimo kalba. tai tas pats mums gerai pažystamas Python'as, tik skirtumas tas, kad jis parašytas naudojant Java. T.y. tarsi kalba kalboje. Negana to, Jython kai kuriais atvejais našumu lenkia net ir patį Python, ką jau bekalbėti apie IronPython (Python'as parašytas ant C# kalbos) ar CPython (Python'as parašytas ant C++ kalbos). Jython'as itin aktualus Windows vartotojams, nes jis turbūt vienintelis suteikia galimybę naudojantis opensource įrankiais turėti praktiškai visiškai tas pačias galimybes kaip ir turintieji UNIX sistemas ir besinaudojantys visomis Python galimybėmis.
Minusai:
-> preAlpha, beta versijos. Kai kurios problemos (pvz. exception'ų valdyme exception'o detalių saugojimas 'Except, details' buvo ištaisytas tik prieš pora mėnesių, iki tol pilnai išnaudoti exceptionų sistemos Jython naudotojai negalėjo).
-> Nuo Python versijos atsilieka gana smarkiai. Tarkim šiuo metu ir 2.X Python'ų naujausia versija yra Python 2.6.6 RC2, o Jython'as naujausias tėra Jython 2.5.2 Beta1 .
-> Python 3.X versijai analogo iš Jython nėra.
(Versija surišta su JavaSDK ar/ir Netbeans versija).
(Atsiųsti galima iš čia:
http://www.jython.org/downloads.html )


---- (TIK PAPILDOMA INFORMACIJA: PRADŽIA, INSTALIACIJAI NEBŪTINA) ----

IronPython - tai Python kalbos realizacija C# programavimo kalba. Tai tas pats Python'as, tik parašytas C# gerbėjų - "Codeplex" komandos, C# programavimo kalba. Šiuo metu yra tik smarkaus tobulėjimo stadijoje, kadangi jis yra LABAI LĖTAS. T.y. atsilieka per visą irklo plotį nuo Jython, Python ir CPython. Tačiau, kadangi tai .NET WEB framework'ui skirtas kūrinys, jis plačiai naudojamas kartu su Microsoft SilverLight. Jeigu turite Microsoft Visual Studio 2010, rekomenduočiau išbandyti IronPython+SilverLight. Negana to - IronPython, kaip ir Jython ar Python yra praktiškai ta pati programavimo kalba, su suderinamumu iki tam tikro lygio(kai nepradedama naudoti specifinių savybių), todėl jokios naujos kalbos mokytis nereikės.
Minusai:
-> Beveik būtina turėti Microsoft Visual Studio programinę įrangą
-> Veikia tik Windows platformoje ir Windows serveriuose.
-> Nėra Python 3.X palaikymo/analogo versijos.
(Naujausia STABLE versija - IronPython 2.6.1 for .NET 4.0 )
(Naujausia PROTO versija - IronPython 2.7 Apha 1 for .NET 4.0 versija )
(Platformos versija surišta su Microsoft Visual Studio / .NET versija)
(Atsisiųsti galite iš čia:
http://ironpython.codeplex.com/releases/view/36280 )


CPython - tai Python kalbos realizacija C++ programavimo kalba. Tai tas pats mums gerai pažystamas Python, laikomas pagrindine Python kalbos realizacija. Turi realizuotas naujausias Python versijas ir paskutinius atnaujinimus)
(Windows sistemoje turi ir x86 ir x64 versijas)
(Naujausios Python 2.7 versija - Windows sistemoje turi ir x86 ir x64 versijas)
(Naujausios Python 3.1.2 versija - Windows sistemoje turi ir x86 ir x64 versijas)
(Atsisiųsti galima iš
http://python.org/download/ )


CPython VS Jython VS IronPython - rinkitės tai, kas Jums priimtiniausia.
Jeigu dirbate su .NET ir C# bei Visual Studio ir YPAČ SilverLight (arba MoonLight, jeigu dribate UN- rinkitės IronPython.
Jeigu naudojatės Windows ir/ar daug ir ilgai dirbote su Java, patinka NetBeans IDE - rinkitės Jython.
Jeigu patinka dirbti Command-Line interfeise, esate UNIX mėgėjas, esate ištroškę naujovių ir didžiausių funkcijių galimybių, o C++ yra Jūsų mėgstamiausia kalba - rinkitės CPython.
Na o našumo palyginimą galite matyti šiame paveikslėlyje:
Cpython VS Jython VS IronPython

---- (TIK PAPILDOMA INFORMACIJA: PABAIGA, INSTALIACIJAI NEBŪTINA) ----


Django - vienas populiariausių web šablonų(angl. "framework"), skirtų Python programų rašymų išskirtinai web terpei. Django - tai tarsi Zend Framework'as Php kalboje. Django išpopuliarėjo 2008-aisiais ir šiuo metu yra bene populiariausias Python Web framework'as.
Nuo Jython 2.5.2Beta2 versijos, Django framework'as palaikomas ir Jython programavimo kalboje. Plačiau apie "DjangoOnJython" projektą ir instaliaciją galite pasiskaityti čia:
http://wiki.python.org/jython/DjangoOnJython
Minusai:
-> Nėra nemokamo užbaigti įrankio Windows platformai skirtai dirbti šiuo framework'u, tad tie kas naudoja Windows daugeliu atveju dar turi programuoti rašydami gryną kodą('pure code without helpers').
-> Nėra Python 3.X palaikymo.
(Python+Django atsisiųsti: http://www.djangoproject.com/download/ )
(Jython+Django atsisiųsti:
http://wiki.python.org/jython/DjangoOnJython )


PostgreSql - nors Python šiuo metu palaiko daugybę duomenų bazių, pagrindine Python duom. baze laikomas būtent PostgreSQL. PostgreSQL iki praėjusių metų nebuvo labai draugiškas Windows terpei, tačiau nuo 8.2 versijos PostgreSQL serverį galima instaliuoti ir Windows operacinėje sistemoje.
(Naujausia PostgreSQL 8.4.4-1 versija - Windows sistemoje turi TIK x86 versiją)
(Naujausia PostgreSQL 9.0.0 Beta 4 versija - Windows sistemoje turi ir x86 ir x64 versijas)
(Atsisiųsti PostgreSQL+pgAdmin III+StackBuilder galima iš čia:
http://www.postgresql.org/download/windows )

pgAdmin III - tai analogiškas įrankis mūsų jau gerai pažystamam komplektui MySQL+phpMyAdmin. PgAdmin yra analogiškas įrankis skirtas PostgreSQL duomenų bazėms valdyti. Nuo PgAdmin III versijos, šis įrankis veikia ir Windows terpėje.
PgAdmin parašytas C++ kalba naudojant wxWidgets multi-platforminį framework'ą, taip įgalinant šią programą veikti tiek Unix, tiek Windows,
(Naujausia pgAdmin3-1.10.5 versija - Windows sistemoje turi TIK x86 versiją)
(Naujausia pgAdmin3-1.12.0 BETA 4 versija - Windows sistemoje turi TIK x86 versiją)

(Atsisiųsti PostgreSQL+pgAdmin III+StackBuilder galima iš čia:
http://www.postgresql.org/download/windows )


StackBuilder - turbūt dauguma Jūsų žino kas yra EasyPhp. Tai štai - StackBuilder yra Apache+Php+(TVS)+PostgreSQL+pgAdmin serverio analogas. Jo pagalba gauname viską, ko mums reikia norint visapusiškai valdyti ir naudoti PostgreSQL duom. bazę, vos vienos programos instaliacijos dėka.
(Atsisiųsti PostgreSQL+pgAdmin III+StackBuilder galima iš čia: http://www.postgresql.org/download/windows )


zxJDBC - tai Javos JDBC (Java DataBase connector) analogas Jython'ui, skirtas prisijungti iš Jython kalbos prie įvairių duomenų bazių. Įtrauktas standartiškai į Jython instalacinį paketą kaip Jython biblioteka.
(Pilnai palaiko Python'o DB API 2.0 versija:
http://www.python.org/dev/peps/pep-0249/ )


JDBC4 PostgreSQL draiveris - Java kodo biblioteka, skirta zxJDBC Jython'o bibliotekai arba JDBC4 Java kalbos bibliotekai, skirtas prisijungti konkrečiai prie PostgreSQL duomenų bazės per zxJDBC / JDBC4.
(Atsisiųsti galima iš http://jdbc.postgresql.org/download.html - siųstis JDBC4 draiverį )
(Versija nesurišta su sistema, pateikiamas kaip Java kodo rinkinys (direktorija "org"))

(Naujausia versija - JDBC4 Postgresql Driver v8.4-701)


Java SE Development Kit with Netbeans - Java kalbos kompiliavimo/paleidimo aplinka(JRE - Java Runtime Enviroment) ir SDK - Software Development Kit, kartu instaliuojantis bene vieną geriausių Java ir Python redaktorių/IDE - NetBeans.
Netbeans 7.0 versijoje Python komanda planuoja įtraukti Django palaikymą. Plačiau galite pasiskaityti čia:
http://wiki.netbeans.org/Python70Roadmap
(Naujausia JDK 6u21 versija - Windows sistemoje turi ir x86 ir x64 versijas)
(Naujausia JDK 6 Update 21 with NetBeans 6.9.1 - Windows sistemoje turi TIK x86 versiją)
(Atsisiųsti galima iš čia:
http://www.oracle.com/technetwork/java/javase/downloads/jdk-netbeans-jsp-142931.html )


2010 (C) ozzWANTED @ PhpFusion-Lt.com