środa, 29 czerwca 2011

modyfikowanie aplikacji popełnionej przez kogoś innego

Wcześniej czy później każdy z nas musi zmienić lub poprawić coś co napisał lub zrobił ktoś inny. Jeśli nasz poprzednik jest specjalistą w swojej dziedzinie wprowadzanie zmian lub poprawek jest samą przyjemnością. Gorzej jeśli trzeba wziąć się za pracę amatora lub, co gorsza, osoby o niskich kwalifikacjach i wysokiej samoocenie co w połączeniu z totalnym brakiem autokrytycyzmu tworzy to, z czym mam obecnie do czynienia.

Aplikacyjka ma w sumie prostą funkcjonalność. Marketing wpisuje adres url strony, oczekiwany page rank, href, który powinien znaleźć się na stronie i kilka innych. Ja miałam za zadanie dodać możliwość dodawania kategorii (żeby wyniki dało się grupować według kategorii) oraz odczytywanie rel z szukanego linka.

Aplikacja składa się z prawie 300-linijkowego pliku index.php, który robi za model, viewer i controller w jednym... Dodatkowo jest zrobiony plik tylko dla crontaba. O ile index.php korzysta z klasy do nawiązywania połączenia z db i zadawania do niej pytań, o tyle plik dla crona... tworzy połączenie samodzielnie. W pliku index.php (w cronowym też) roi się od napisanych z palca i potraktowanych sprintf() zapytań. To do czego służy w takim bądź razie pg_prepare() ??

Mam tam osobny katalog "templates" pełen plików php... poza jednym... Jest to template głównej strony zrobiony w PHPTAL... Po kiego grzyba dołączać całą bibliotekę, żeby zrobić w niej JEDEN plik? Nie wiem. Mój szef też nie wiedział. Twórcę tej aplikacji określił jako sprytny ale bez doświadczenia...

W ramach wprowadzania poprawek uzupełniłam klasę do kontaktów z bazą danych o metodę prywatną zwracającą identyfikator połączenia z bazą danych i podaję ten identyfikator za każdym razem, gdy zadawane jest pytanie bazy danych, żeby nie korzystać z ostatnio nawiązanego połączenia (które niekoniecznie musi być moje). Dodatkowo dodałam metodę sprawdzającą czy dane zapytanie było już przygotowane. No i w przeciwieństwie do całej aplikacji zamiast wyciągać ze źródła różne elementy htmla za pomocą wyrażeń regularnych korzystam z klasy DOMDocument()...

Aplikacja działa, jak trzeba, ale bałam się dotykać do niektórych części, bo mimo dużego wysiłku nie udało mi się zrozumieć jak i dlaczego działa...

Co więcej ilość zagnieżdżonych ifów wskazuje, ze twórca miał problem z rekurencją...

Ogólnie taką aplikację polecam jako antywzorzec :)

poniedziałek, 27 czerwca 2011

zmieniam pracę

W obecnej firmie jestem na tak zwanej praktyce. Dlaczego? Bo mieszkam tu dopiero 5 miesięcy, wciąż nie znam języka (na szczęście wszyscy lepiej lub gorzej mówią w uniwersalnym, czyli po angielsku), bo nie mam doświadczenia w pracy na tym rynku. A przede wszystkim, bo chciałam pracować, ale na pół etatu, żeby mieć czas na naukę języka i dzieci.

Jednak w tzw. międzyczasie zmieniła się trochę nasza sytuacja i chcę mieć normalną pracę na cały etat przyzwoicie płatną. Najmłodsza ma załatwione przedszkole obok domu - teraz też chodzi do przedszkola, ale do polskiego i jest czynne zbyt krótko jak na nasze potrzeby, no i jest trochę dalej. Jakieś 10 minut spacerkiem dalej Starsza ma szkołę. Tak więc wracając ze szkoły mogłaby odbierać Najmłodszą i mogą razem wracać (spacerkiem, albo jeden przystanek autobusem).

W każdym bądź razie zaczęłam się rozglądać. Wysłałam CV na ofertę firmy XYZ, którą znalazł mój ślubny i... w następnym tygodniu umówili się na rozmowę. Do końca czerwca mam tydzień wypowiedzenia, później miesiąc. Uprzedziłam moich rozmówców i... cisza. W zeszłym tygodniu w czwartek - telefon. Chcą podjąć ze mną współpracę na zaproponowanych przeze mnie warunkach. Uśmiałam się w duchu. Czekali praktycznie do ostatniej chwili. W piątek przed pracą odbyłam z nimi jeszcze jedną rozmowę. Po czym poszłam do pracy i powiadomiłam mojego przełożonego, że rezygnuję.

No i się zaczęło. Oni nie chcą, dobrze im się ze mną pracuje i w ogóle. I mam przedstawić swoją wizję pracy. No to przedstawiłam, podałam kwotę o 3k euro w skali roku wyższą, niż to co miałam dostać z XYZ i wysłałam mojemu szefowi w piątek wieczorem.

Dziś XYZ przysłało mi umowę na maila. A szef mojej firmy stwierdził, że po dwóch miesiącach współpracy i to na pół etatu on nie może zdecydować się na zatrudnienie mnie na cały etat, bo jeszcze nie może ocenić moich możliwości. A poza tym zaproponowałam taką kwotę na jaką ich nie stać. Grzecznie powiedziałam, że rozumiem, dlatego złożyłam wypowiedzenie a nie zapytanie, czy mogą mnie zatrudnić na stałe. Dowiedziałam się, że chcieliby żebym skończyłą praktykę. Jednak grzecznie, ale stanowczo odmówiłam i pracuję tylko do czwartku. W piątek mam wolne. A 4 lipca (btw. piękna data w USA) zaczynam w XYZ.

A Starsza zdaje w tym tygodniu egzaminy. Dwa już zaliczone, na 4.

piątek, 24 czerwca 2011

Kobieta w IT?

Masakra. Najczęściej jestem jedynym żeńskim elementem w całym zespole. Dobrze, że nie w firmie, bo miałabym problemy z identyfikacją płci.

Czym się zajmuje kobieta w IT? Zależy. Ja akurat siedzę w programowaniu aplikacji WWW. Była dziewczyna znajomego jest adminem. Kilka znajomych zajmuje się grafiką komputerową. Co prawda to już nie stricte IT, ale według mnie bez grafików to by IT daleko nie zaszło :)

Prywatnie jestem mamą i żoną. Najbardziej nie cierpię prac domowych ze sprzątaniem i prasowaniem na czele. Gotowanie jakoś idzie. Najbardziej lubię siedzieć przy komputerze zarówno w celach zawodowych jak prywatnych. Lubię też spędzać czas z dzieciakami.

A i mieszkam poza Polską. W stolicy jednego z krajów za naszą zachodnią granicą.