Lista artykułów

Słowo na niedzielę, o zdradzie

Na samo wspomnienie pracy z TFS mam nieprzyjemne ciary na plecach. I jak codziennie widzę kilka/kilkanaście wpisów na Twitterze rzygających na to paskudne narzędzie gorącą nienawiścią, pokłon Bozi składam że nie muszę się z tym już użerać. Na myśl przychodzi mi wówczas tekst z najlepszej płyty jaką kiedykolwiek wydano… bo słowa te mogłyby być taglinem [...]

2

Wzorce: Pyłek / Flyweight

Dzień dobry/wieczór Nastał czas na kolejną porcję wiedzy, w tym odcinku opowiem bajki o wzorcu Pyłek z angielskiego Flyweight. Nie wiem dlaczego tak się on nazywa po polsku, tzn. wiem, ale to tłumaczenie jest całkowicie bez sensu. Jak zwykle na początku co o pyłku mówią inni: wikipedia.pl wikipedia.en I teraz moja interpretacja: Pyłek to wzorzec, […]

3

Pisać, pisać, pisać trzeba:)

Wg woorank.com mam za mało tekstu w stosunku do ilości HTML, zatem trzeba się w końcu za coś konkretnego zabrać zwłaszcza, że Read More

4

Wzorce: Odwiedzający / Wizytator

Tak mnie wzięło na wzorce projektowe ostatnimi czasy, dzisiaj coś o o odwiedzającym (wizytatorze). Polska Wikipedia mówi o nim tak odwiedzający. A teraz moimi słowami: Wzorzec umożliwia przejście po strukturze danych, oraz zebranie jakichś informacji. Gdy zaistnieje potrzeba zaimplementowania nowej funkcjonalności, gdzie pobieranie danych jest zaimplementowane tak samo, ale rodzaj danych będzie się różnić, problem ten […]

Ustawianie kultury aplikacji na podstawie preferencji przeglądarki

Wielojęzyczność aplikacji www można rozwiązać na kilka sposobów. Jedne strony mają rysuneczki flag symbolizujących język, w jakim chcemy widzieć teksty (i nie tylko) i pamiętają to w cookie. Inne pozwalają to ustawić w profilu użytkownika i pamiętają ustawienie w bazie. Ostatnio pisałem rozwiązanie, które ustawia odpowiednią kulturę aplikacji na podstawie informacji wysyłanych przez przeglądarkę podczas [...]

6

Wzorce: NVI / metoda szablonowa

Czytając mądrą książeczką o której pisałem tutaj, przeczytałem fragment o wzorcu NVI – Non Virtual Interface (nazywanym także metodą szablonową – polskie wiki[słaby art], wersja ang.). Zamierzam się trzymać tej pierwszej nazwy, ponieważ pod taką nazwą ja go poznałem. Cała idea polega na tym, że udostępnia się publiczną nie wirtualną metodę, z której może korzystać […]

Moja sesja o testach jednostkowych na Politechnice Białostockiej

Wczoraj miałem przyjemność poprowadzić sesję o testach jednostkowych na spotkaniu studenckiej grupy .NET na PB. Już dobre półtora roku temu postanowiłem sobie, że takie wystąpienia to rzecz nie dla mnie i że więcej nie będę próbował sprawdzać się w ten sposób. Jednak gdy dostałem zaproszenie od Justyny Iwanowskiej, białostockiej SC, zdecydowałem "a co mi tam". [...]

8

Git podstawy

Ten wpis jest podsumowaniem wiedzy, którą zdobywałem czytając wprowadzenie do gita na stronie gitref.org. Jest to w zasadzie kurs który można tam przeczytać, tyle że przetłumaczony na język polski. Instalowanie kluczy zostało praktycznie przeklejone ze strony eastgroup.pl. Wszelkie uwagi do tłumaczenia, błędów w skrypcie, uwag stylistycznych, merytorycznych i innych złośliwości należą się mnie, brawa i […]

Ładne “from” używając sekcji system.net.mailSettings.smtp

Chciałem, aby maile wysyłane z mojego systemu w nagłówku "from" posiadały jakąś ładną nazwę zamiast gołego adresu e-mail. Jednocześnie nie życzyłem sobie rezygnować z konfiguracji SMTP w web.config. O ile ustawienie tego z kodu jest z tego co pamiętam dość proste, to już osiągnięcie żądanego rezultatu z konfiguracji wymagało kilku prób i błędów. Ostatecznie okazało [...]

Wykrycie czy socket jest połączony

Nasiedziałem się nad pewnym problemem zdecydowanie dłużej niż siedzieć się nad nim powinno. W pisanym systemie Callcenter podpinam się do FreeSWITCHa socketem TCP coby w tenże sposób kontrolować jego zachowanie. Jak się można domyślić – stan połączenia między serwerem a centralką telefoniczną jest dla aplikacji callcenter dość kluczowy. Okazało się jednak, że standardowa logika wykrywania [...]

Słowo na niedzielę, o dobrych i złych testach

Pisać testy jednostkowe do wszystkiego? Celować w 100% unit-test-code-coverage? Stosować TDD dla każdego rodzaju kodu? Na te pytania bardzo łatwo znaleźć w internecie odpowiedź i brzmi ona: TAK. Niestety nie jest to odpowiedź prawidłowa. Czasem lepiej testu nie napisać, niż go napisać. Czasem lepiej test skasować, niż go po raz dziesiąty poprawiać po zmianie w [...]

Pozbyć się Mapper.Map(…)

Wykorzystanie Automappera ma swoje uzasadnienie i często-gęsto można je uznać za "kod pożądany". Pomimo swych zalet ma jednak również wady. Jedną z nich są z pewnością dość długaśne instrukcje wykonujące mapowanie: 1: var mapped = Mapper.Map(source); Takie coś powtarzane ołwer-and-ołwer-egen potrafi zirytować. A gdyby to uprościć? Do: 1: var mapped = source.Map(); Nadal nie [...]

git bisect

Ostatnio natknąłem się na sytuację, która miejsca mieć nie powinna… a mimo to zdarza się w każdym chyba projekcie dość regularnie. Otóż podczas klikania po aplikacji w przypadkowym teście okazało się, że jedna z podstawowych funkcjonalności nie działa. Nie wykonywał się POST jakiejś prostej formy. Dziw nad dziwy… kod wyglądał OK, przejrzenie ostatnich commitów nie [...]

Automapper i mapowanie jako NHibernate.Load()

Dość dawno już temu pokazałem jak można użyć Automapper do mapowania kolekcji bez powodowania ciągnięcia ich zawartości z bazy: "AutoMapper, NHibernate, lazy loading oraz problem select n+1". Dzisiaj wrócę na chwilę do tematu Automappera i NH. Spójrzmy na klasy: 1: public class User 2: { 3: public virtual int Id { get; set; } 4: [...]

GoogleMaps v3 i jQuery

Niedawno po raz pierwszy w życiu zajmowałem się Google Maps. Spodziewałem się, że zajmie to max kwadrans, w końcu masa stron to ma, dokumentacja jest dobra… no i moja Joanna na mapach zęby zjadła:). Niestety nawet z połączonymi siłami poprawne skorzystanie z map zajęło nam dobre kilka godzin. Problemem okazało… w sumie kilka rzeczy. Wymagania: [...]