Home / Brudnopis

Wielostronicowe formularze 2 17.07.2010

Kilka miesięcy temu popełniłem wpis na temat wielostronicowych formularzy, zaprezentowałem tam m. in. mój plugin do symfony, który tą funkcjonalność automatyzuje. Udostępniłem go niedawno w zbiorze pluginów symfony, znajduje się on tutaj. Między czasie został on zrefaktorowany i zostały dodane nowe klasy.

czytaj całość

Wielkie sprzątanie - refaktoring 18.04.2010

Niedawno w ofercie wydawnictwa helion pojawiła się ciekawa książka - Czyty Kod (ang. "Clean code", autor Robert C. Martin). Książka ta opisuje techniki oraz zasady pisania czystego, czytelnego oraz modyfikowalnego kodu. Kilka zasad z tej książki w mojej opinii jest dosyć kontrowersyjnych, ale książka sama w sobie porusza bardzo ważną kwestię, a przede wszystkim jest ona naprawdę dobra.

czytaj całość, komentarzy: 9

Wzorce w praktyce: krótko o MVC 31.03.2010

Dla odmiany przykład zastosowania tytułowego wzorca projektowego omówię na przykładzie innego języka niż PHP. Przedstawię koncepcję warstwy kontrolerów (bynajmniej nie całego MVC) niezależnych od widoku na podstawie aplikacji desktopowej w Javie.

Podstawowe pojęcia wzorca MVC w gwoli przypomnienia:
Model - dane na których operuje program. Prezentuje go widok, a kontroler wykonuje na nim operacje (zmiana danych). Model powiadamia widok o dokonanych w nim zmianach, które dokonał kontroler.
Widok - jest to warstwa prezentacji, zazwyczaj interfejs konsolowy/graficzny użytkownika, prezentuje model oraz ewentualnie pod niektóre elementy widoku może być podpięty kontroler (np. przycisk który uruchamia słuchacza, który z kolei uruchamia kontroler).
Kontroler - wykonuje operacje na modelu, aktualizuje go, przekazuje do widoku model.

czytaj całość, komentarzy: 2

JTree, a JPopupMenu 26.03.2010

JTree jest komponentem drzewka z Javy, jak każda klasa dziedzicząca po JComponent może mieć podręczne menu.

Jednak w przypadku drzewka takie rozwiązanie nie spisuje się dobrze, zazwyczaj chcemy pokazać różne podręczne menu w zależności od klikniętego węzła. Przykładem może być netbeans, z lewej strony znajduje się drzewko projektów, w zależności od klikniętego elementu drzewka (projekt, folder, plik) otwiera się inne menu kontekstowe.

czytaj całość

Wzorce w praktyce: Koordynator 29.01.2010

Dziś pora na trzeci artykuł z serii "wzorce w praktyce". Tym razem postanowiłem omówić praktyczne zastosowanie mniej znanego i stosowanego (w programowaniu w php) wzorca.

Każdy z Was zapewne wie co to jest transakcja bazodanowa. Jeśli jednak nie, to przypomnę, że transakcja w systemach baz danych polega na tym, że określony zbiór zapytań wykona się poprawnie w całości lub wogóle żadne zapytanie nie zostanie wykonane (de facto "nie wykona się" jest błędnym określeniem, raczej "nie zostanie zatwierdzone"). Więcej na ten temat znajdziecie na wikipedii. Transakcja jest implementacją wzorca projektowego koordynator, a raczej rozbudowanej specjalizacji tego wzorca o nazwie "Zatwierdzanie trój-fazowe" (Three-Phase Commit).

czytaj całość, komentarzy: 2

Wielostronicowe formularze 23.01.2010

Nie raz spotkałem się z problemem implementacji wielostronicowych formularzy w projektach w których uczestniczyłem, zazwyczaj były to formularze rejestracji, które składały się z 2-4 kroków. Podstawowe problemy które należy rozwiązać przy wykonywaniu formularza tego typu:
1. możliwie jak najprostszy, spójny i elastyczny sposób przetwarzania formularza, aby ewentualne dodanie nowego pola lub całego formularza kosztowało jak najmniej nakładu pracy
2. napisanie kodu, który będzie można również wykorzystać w przyszłości w innym projekcie

czytaj całość, komentarzy: 3

Asynchroniczny upload plików 01.01.2010

Asynchroniczne żądania są elementem, który upodabnia witryny www do aplikacji desktopowych, dzięki nim użytkownik ma wrażenie większej interaktywności. Jednakże, ze względów bezpieczeństwa, nie każdy rodzaj danych można przesyłać poprzez ajaxowe wywołanie, przykładem takich danych są pliki. To w jaki sposób asynchronicznie (bez przeładowania strony) wysłać plik na serwer www? Jest na to sporo sposobów. Trzy z nich które omówię to: technika "ukrytej ramki" (javascript), wykorzystanie flasha wraz z javascript (swfupload) oraz wykorzystanie apletu javy.

czytaj całość

< poprzednia

następna >