Tag: ‘Php’

Django again

poniedziałek, 09.09.2013

Python (logo)

Powrót do Pythona był dla mnie wyczekiwanym momentem.

Dawno temu musiałem go poznać, żeby wykonać kilka projektów w pracy.

Od samego początku byłem zaciekawiony tym tworem, który nie posiada nawiasów klamrowych (szok!;)), a zamiast tego jedynie wcięcia.

Po pierwszych chwilach, które były mocno irytujące, polubiłem ten język i pragnąłem do niego wrócić.

W sumie, to nie wiem, jak można go nie lubić. Ma przecież tyle zastosowań (nie tylko aplikacje web jak popularny PHP), tyle możliwości implementacji (Jython, IronPython), tylu zwolenników (np. wielki Google) i parę innych zalet.

Nigdy jednak nie byłem człowiekiem, który od tak sobie dzióbdzia coś w języku (czy technologii), tylko dlatego, że jest fajny, albo warto się go nauczyć, nie zaczytywałem się też bez sensu w bibliach programistycznych. Zawsze uczyłem się przy okazji projektów, które po prostu trzeba było wykonać. Tak samo nauczyłem się Pythona i tak samo zarzuciłem jego użytkowanie – z braku powodów i projektów.

Django to jeden z najpopularniejszych albo najpopularniejszy z frameworków dla Python, choć ponoć są lepsze. Kiedyś, parę razy podchodziłem do tego tworu, aby zbudować autorską aplikację do zastosowań własny. Wtedy wygrał pragmatyzm i duet Zend Framework z PHP. Teraz jest ten czas by wkroczyć znowu do tej samej rzeki. Lodowatej rzeki, bo pierwsza konfiguracja Django i sprawienie, żeby to wszystko ożyło zawsze było utrapieniem. Ale do dzieła… :)

Tak na marginesie. Po kilku dniach przerwy z samym Django, przypadkow znalazłem ciekawy artykuł Wprowadzenie do Pythona, co prawda jako wprowadzenie jest średnie, ale jako przypomnienie Pythona lub Python dla ciekawski jest elegancki.
Dla osób, które chcą się nauczyć Pythona spotkałem się z zaleceniami by sięgnąć po pozycję Zanurkuj w Pythonie, ale jeszcze nie zdążyłem tego przeanalizować.

Big project

niedziela, 30.10.2011

Pierwszy raz w życiu zdarza się… jeden raz.

Do tej pory maksymalna ilość osób z którymi pracowałem na danym zadaniem programistycznym ograniczała się do 2 lub 3, ale to max. Zazwyczaj zadania, na których się opierałem wykonywałem sam i byłem za nie odpowiedzialny osobiście. Same zadania, także w poprzedniej pracy nie ograniczały się do jednego klienta, jednego systemu, itp. itd.

Team work - praca zespołowa

Team work - praca zespołowa

Teraz jest zupełnie inaczej. Jestem jednym z elementów dość dużego zespołu programistów. Sama już nasza ilość (w tym momencie, a jest niedziela 21:20, na Skype widać siedmiu, którzy pracują), a ogólnie jest nas kilkunastu, co robi na mnie spore wrażenie. Czasem jest to powodem drobnych nieporozumień, czasem utrudniamy sobie pracę nawzajem. Aby tego wszystkiego było mało, ten projekt, jest w sumie outsourcingiem, czyli jest jeszcze jeden klient pod klientem głównym.

Jak już wspomniałem, to jest coś innego:

  • jest jeden projekt, jedna aplikacja, jeden klient
  • jest jeden język (PHP) i jedna baza (Mysql)
  • jest wielu ludzi, dość mocno skupionych na swoich zadaniach, jednak którym w pewnym stopniu przyświeca myśl, że mamy wspólny cel i starają się sobie pomóc nawazajem
  • są ściśle wyznaczone terminy i etapy
  • używamy systemu umożliwiających pracę zbiorową (SVN, Redmine, Skype)

To dość ciekawe doświadczenie. Jestem jednym, z tych mniej doświadczonych programistów. Jedno co łączy to doświadczenie z poprzednim jest ogólne zwątpienie („ja się nie nadaję!”, „co ja tutaj robię”, „jestem za wolny!”), kiedy zadania, które wykonuje się 5 razy wolniej od reszty załogi, przeplatane z ekstazą jak wiąże się z tworzeniem, jakąś bystrą modyfikacją, czy możliwością pomocy programistycznej koledze.

Czasem czuję się jak kopciuszek programistyczny. Moje kodowanie jest rzadko wymyślne, zmyślne czy tym bardziej powabnym, choć chciałbym oczywiście aby było inaczej. Często stosuję metodę KISS i asekurację w modyfikacji tego co działa, szczególnie jeśli w grę wchodzą transakcje i pieniądze.

Największy stres oczywiście jest kiedy zrobi się commita i nagle pojawiają się błędy, coś nie działa, a jakaś podstrona na serwerze na którym działamy wywala błędami. Wtedy człowiekowi wstyd, że czegoś nie dopilnował, gdzieś popełnił błąd, zapomniał dodać tabeli do bazy na serwerze głównym, a to przecież nie powinno się zdarzyć. Ehhh, ten brak koncentracji i dyletanctwo.

Jednak największym problem jaki mam, to szacowanie czasu potrzebnego na wykonanie zadań. Trudno mi oszacować, nietrudno mi przekroczyć dany czas. Dlatego cieszę się, kiedy nie muszę tego robić. Intensywnie pracuje nad powierzonym zadaniami, nie musi mnie nawet nikt z tego rozliczać co do godziny, żebym czuł presję.

Nie mniej jednak uczę się tego i mam z tyłu głowy fakt, że ja też muszę być ważny dla siebie w tej układance. Za niedługo projekt w PHP (jedyny w tej firmie dla tego języka) może się skończyć, tak samo jak moja umowa i nie wiadomo jaka może okazać się przyszłość. Możliwe, że dostanę szansę przebranżowienia, ale może != na pewno.