Pokazywanie postów oznaczonych etykietą python. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą python. Pokaż wszystkie posty

piątek, 6 lutego 2009

Szef kuchni poleca ;)

Czołem programiści (także Ci co zaczynali od <br>'ki ;P ).
Nie wiem czy kogokolwiek to zainteresuje (może tylko osoby, które mnie znają i nie zraziły się do mnie, a wręcz przeciwnie), ale chciałem wymienić kilka "technologii"?, "frameworków"?, i tym podobnych (itp.) Które polecam do używania "prawdziwym profesjonalnym programistom" :P.

Może zaczniemy od systemu operacyjnego... no cóż niech będzie Vista jak już musicie to Ubuntu. Oba systemy są właściwie od razu skonfigurowane i nie wymagają wielkiego wysiłku przy konfiguracji i używaniu. Niektóre osoby narzekają na Vistę ale ja jednak mam poczucie, że jest to system bardziej przyjazny niż XP. Wprawdzie do niektórych rzeczy trzeba się przyzwyczaić ale w przypadku Linuxa jest to dużo bardziej wymagane. Z innej strony Windows jest jednak dużo popularniejszym systemem niż Linux a pewnie odbiorcą naszego oprogramowania będą w większości właśnie użytkownicy Windowsa (i pewnie coraz częściej Visty).

Z drugiej strony jest Ubuntu bazujące na Debianie co może niektórych do tego systemu przekonać, a innych zniechęcić. Dlaczego? Po prostu działa. Od początku wszystko jest skonfigurowane itd. Nie żebym się nie interesował tym co jest "pod maską" ale w pracy mam się skupić na produkcie, a nie na nieustannym dostosowywaniu narzędzi...

Pomijając Vistę skupiam się raczej na darmowym oprogramowaniu bo jest to wygodniejsze tak w pracy prywatnej jak i w firmie gdzie łatwiej uzyskać "pozwolenie" na na pracę na darmowym oprogramowaniu.

Podstawowym narzędziem programisty jest edytor tekstu (kodu). Przechodziłem przez różne IDE ostatecznie zatrzymując się na Komodo Edit. Wcześniej podobał mi się Eclipse z tymi wszystkimi dodatkami ale okazał się zbyt wolny i "zbugowany". Komodo doskonale radzi sobie z podpowiadaniem składni bez potrzeby długotrwałego skanowania kodu itp., jest stabilny, szybki i elastyczny.

Drugim najważniejszym narzędziem wg. mnie jest System Kontroli Wersji... tu mam problem z decyzją jest kilka systemów, które podobają mi się bardziej (np. Darcs czy Bazaar) ale ostatecznie Subversion jest dużo bardziej popularny i więcej programów (i programistów) potrafi się integrować. Do rozwiązywania konfliktów itp. polecam kdiff3.

Skoro już wiadomo czego używać do pisania dobrze było by wiedzieć w czym pisać. To oczywiście zależy od tego co piszemy ale jednak dla mnie (piszącego głównie aplikacje webowe ale nie tylko) najwygodniejszym językiem jest Python. Jest on niesamowicie uniwersalny, posiada łatwą i przejrzystą składnię i niesamowicie ułatwione testowani i dokumentowanie kodu.

Jeśli specjalizujemy się w aplikacjach webowych (ale nie tylko) i chcielibyśmy skorzystać z gotowych framworków to polecam Django (python) i jQuery (javascript). Oba są bardzo elastyczne a zarazem proste w użyciu. Pisząc w nich programy możemy się spodziewać efektów w przeciągu minut nie godzin czy dni.

Pora kończyć... nie mam wiele wolnego czasu (co widać po postach :P).

Pozdrawiam wszystkich czytających. Może komuś te informacje się na coś przydadzą.

czwartek, 21 czerwca 2007

Eclipse i Django

Chciałem tu wymienić pluginy do Eclipse, które są bardzo pomocne przy tworzeniu
aplikacji w Django. Do obsługi pythona istnieją dwa pluginy jeden z nich jest darmowy a drugi istnieje jako rozszerzenie pierwszego. Są to: PyDev i PyDev Extensions (za ten trzeba odrobinę zapłacić choć ułatwia pracę to jednak nie jest niezbędny). Oba pluginy w komplecie wspaniale obsługują auto uzupełnianie składni i dynamiczną analizę kodu. Jedyny mankament jaki zauważyłem to to, że podręczna dokumentacja uzupełnianej funkcji itp. Często nie mieści się w okienku.

Kolejnym Pluginem jest Aptana (dostępna także jako osobna aplikacja) jest ona niesamowicie pomocna przy tworzeniu html (xhtml), xml, css i javascript ma wbudowane auto uzupełnianie wszystkiego co się da i gdzie się da np. uzupełnia funkcje javascript z plików importowanych w nagłówku html.

Dwa kolejne sa przydatne jeśli korzystamy z systemu kontroli wersji Subversion i Trac'a lub innego systemu zarządzania zadaniami / błędami. Do obsługi Subversion służy Subclipse, a do zarządzania zadaniami z systemu Trac MyLyn(aka MyLar).

Co najlepsze Subclipse, MyLyn oraz PyDev posiadają dodatki (dostępne z tych samych repozytoriów), które integrują te pluginy ze sobą. MyLyn pozwala dzięki temu na zaawansowane zarządzanie repozytorium, przypisywanie kontekstu (zbioru plików z projektu) do zadań z Trac'a. Zarządzanie zadaniami na Trac'u bezpośrednio z Eclipse (razem filtrowaniem i innymi funkcjami dostępnymi w Trac'u). Tu mała uwaga: Aby MyLyn w pełni współpracował z Trac'em ten ostatni musi mieć zainstalowany plugin XML-RPC.

wtorek, 19 czerwca 2007

Kompilacja Pythona do exe

Ostatnio miałem potrzebę skompilować aplikację napisaną z użyciem wxWindows (wxPython) i Pythona do pliku exe. Jakkolwiek można się zastanawiać nad celowością takiego przedsięwzięcia to jednak chcę się podzielić moimi spostrzeżeniami. Otóż szukając programu, który mógłby skompilować kod pythona do pliku exe natrafiałem głównie na wzmianki o py2exe oraz o jakimś tajemniczym Gordon McMillan's Installer. Ostatni z tych programów miał się znajdować pod adresem http://www.mcmillan-inc.com/install1.html jak widać nie ma go tam ;). Użyłem więc py2exe ale szybko się rozczarowałem py2exe natworzył pełno różnych brzydkich plików zajmujących w sumie 17 MB. Dużo za dużo jak na moją prostą aplikację (SystemTray Notifier).
Co gorsza uruchamiając program otwiera konsolę tekstową (cmd.exe). Szukałem rozwiązania tego problemu i znalazłem informację o tym żeby nie używać w swojej aplikacji os.open()... no cóż ja nie używałem. Być może jest używany w którymś z modułów pythona ale przecież nie będę ich przerabiał. Zacząłem uparcie szukać Gordon McMillan's Installer bo podobno bardziej rozbudowany. Już miałem zrezygnować gdy trafiłem na stronę PyInstaller . Okazało się, że to właśnie ten tajemniczy Gordon McMillan's Installer a właściwie jego spadkobierca. Podstawowa obsługa programu jest banalnie prosta można używając parametrów w linii poleceń określić czy kompilować do pojedynczego pliku exe czy też tworzyć dodatkowe biblioteki, czy program ma się odpalać jako konsolowy czy też nie, a nawet dołączyć do pliku exe ikonki. Ach no i mój program skompilowany za pomocą PyInstaller zajmuje ostatecznie 6MB :).

Dla ciekawskich podaję jeszcze link do py2exe.