My feelings about RuPy 2009

I just came back from the third edition of RuPy Conference, which take place in Poznań. As last year, it was very successful. There are my feelings about conference.

Read more

Cross-application partial w symfony

Ostatnio zetknąłem się z problemem wspólnych partiali dla wszystkich aplikacji w projekcie Symfony (dokładnie frontend i backend). Dokładniej, to te partiale były templatkami mailowymi, wysyłanymi zarówno przy zdarzeniach wygenerowanych w frontendzie jak i w panelu administracyjnym. Jako, że ponad wszystko cenię zasadę DRY (Don’t Repeat Yourself, czyli Nie Powtarzaj Się), chciałem, aby moje templatki były napisane raz, a używane z każdego miejsca w projekcie. Pewnym rozwiązaniem byłoby zrobienie symlinka: apps/frontend/modules/mails -> apps/backend/modules/mails i to działa, ale nie jest zbyt eleganckie. Z pomocą przyszła analiza kodu Symfony (dzięki Bogu, że jest Open Source:-)).

Read more

PHP 5.3 ujrzało światło dzienne

Dzisiaj światło dzienne ujrzała kolejna odsłona jednego z najpopularniejszych języków skryptowych – PHP oznaczone wersją 5.3. Wersja ta jest znacząca w rozwoju PHP, będąca swego rodzaju pośrednikiem pomiędzy wersją 5 a 6. Główne funkcjonalności wprowadzone w PHP 5.3 to:

Read more

Zliczenie ilości commitów dla poszczególnych użytkowników SVN

Jeśli interesuje was ile poszczególni użytkownicy SVN’a wykonali commitów, to w głównym folderze repozytorium z poziomu linii komend Linuksa wystarczy wydać komendę:

svn log |grep "^r.*|.*" |awk '{print $3}' | sort |uniq -c

Powinniśmy otrzymać coś w tym stylu:

     83 janek
    177 franek
    221 heniek
      8 bolek
    485 marian

Dzięki temu, mamy pogląd na zaangażowanie naszych kolegów w rozwój repozytorium 🙂

Read more

Live events w jQuery 1.3

14 stycznia została wydana wersja 1.3 jednego z najpopularniejszych frameworków javascriptowych – jQuery. Jak dobrą i wygodną biblioteką jest jQuery wszyscy czytający pewnie wiedzą. Jedną z ciekawszych nowości w jQuery 1.3 są live events.

Wyboraźmy sobie, że mamy do stworzenia kilka elementów i wstawienia ich w DOM. Jeśli te elementy mają mieć określone eventy, to przy każdym wstawieniu do drzewa DOM musimy im dodatkowo przypisać pożądane funkcje pod określone eventy. Bywa to momentami męczące i błędogenne i właśnie na tego typu operacje lekarstwem są live events.

Read more

Porządek w SVN, część 2, czyli jak łatwo użyć svn:ignore

Często zdaża się, że w projekcie, który wersjonujemy w SVN mamy foldery, które chcemy wykluczyć z zarządzania wersjami. Takie foldery to przeważnie katalog na logi, cache, upload i tym podobne. W tej sytuacji rozwiązaniem są SVN Properties, a konkretnie svn:ignore.

Read more

Sans-serif w CSS’owym font-family, czy to komuś potrzebne?

Odpowiedź na to pytanie brzmi: tak! Gdy używasz czcionek, które powinny być w każdym Windowsie, to Twoja strona ładnie się wyświetli w Windowsie, ale już raczej średnio w Linuksie, który może nie mieć czcionek windowsowych. W takim przypadku przy wyświetlaniu czcionki Tahoma, zamiast tego linuksiarze zobaczą domyślną czcionkę szeryfową (czyli coś pokroju windowsowego Times New Roman). Efekt jest naprawdę niepiękny. Rozwiązaniem tego jest prosty trick, który należy wykonać umieszczając definicje czcionek w CSSie (przeważnie jest to jedno miejsce, np body):

font-family: Tahoma, sans-serif;

Ten zabieg pozwoli zastępować niedostępne czcionki domyślną czcionką nieszeryfową dla systemu. Drobiazg, ale jak to mówią: diabeł tkwi w szczegółach.

Read more

PyCon 2008 – moje wrażenia

Dzisiaj wróciłem z dwudniowej konferencji PyCon, która odbyła się w Rybniku. Impreza jest polską edycją ogólnoświatowego cyklu imprez PyCon i traktuje o Pythonie i rozwiązaniach na nim opartych. Dla tych, którym nie wystarcza ten krótki opis, polecam stronę konferencji: http://liwo.polsl.pl/pycon-pl

Jako, że z Pythonem do tej pory nie miałem wiele wspólnego, uczestnictwo w tej imprezie było nie lada wyzwaniem 😉 Na codzień pracuję jako główny programista, rozwijając aplikacje w PHP, a jak wiadomo PHP to zło, jak to mówią pythonowcy ;-). I jak się okazało, mają trochę racji, ale tylko trochę 🙂

Python od dłuższego czasu leży w sferze moich zainteresowań, których nigdy nie mam czasu pogłębić. Od dawna chcę poznać Django, jako alternatywę dla Symfony. Jednym z wykładów było wprowadzenie do Django, więc mój start został solidnie ułatwiony 🙂

Read more

Metody synchronizacji projektu z serwerem produkcyjnym

Większość z programistów aplikacji webowych wie, że transfer na serwer produkcyjny to często tzw. „pain-in-the-ass” (po polsku: źródło nieszczęścia). W tym poście opowiem trochę, o znanych mi sposobach przesyłania aplikacji na serwer produkcyjny.

Read more
newer