Lista artykułów

1

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: [...]

Słowo na niedzielę, o pomysłach

Wpadanie na świetne pomysły warte miliony jest chyba wpisane w zawód programisty. Ja, odkąd sięgam programistyczną pamięcią, mam dwa-trzy takie pomysły w roku. Ba, nawet aktualnie, w tej właśnie chwili, nie mogę pozbyć się jednego z głowy. A jeszcze 4 miesiące temu siedział tam zupełnie inny! Wiem, że inni programiści również co i rusz coś [...]

10

Początki raz jeszcze

Jest taka książka Accelerated C# 2010 którą postanowiłem przeczytać, aby utrwalić swoją wiedzę z C#. W polskiej księgarni można znaleźć za około 120 nowych polskich złotych. Jest przyjaźnie napisana i tłumaczy w lekki (dla mnie) sposób C#. Jej dużym plusem jest to, że nie jest ona dla początkujących programistów, a raczej dla osób które posiadają […]

Specyfikacyjna rozedma wtrakcieprojektowa

Miłe złego początki Przychodzi baba do lekarza… Tfu. Przychodzi klient do freelancera. Wręcza całkiem niezłą i dokładną specyfikację. – Za ile? – Za tyle. – Ile czasu? – Tyle. – To robimy. I projekt rusza. Wszystko jest jasne, dograne i wytłumaczone. Zakres prac określono w specyfikacji, ptaszki ćwierkają, freelancer z zapałem uderza w klawiaturę, klient [...]

SQL z NHibernate w konsoli Visual Studio

NHibernate posiada zmienną show_sql, której ustawienie na "true" powoduje wypluwanie na konsolę wszystkich SQLi idących do bazy. Zachciało mi się pewnego dnia podpiąć po prostu debuggerem pod aplikację i zobaczyć te SQLe w Visualu, w okienku Output. Była to aplikacja web – więc konsoli brak. Trial na nhprof akurat się skończył:), więc w danej minucie [...]

Czyszczenie cache SQL Servera

Optymalizacja procedur składowanych czy zwykłych zapytań do bazy danych nie jest zadaniem wdzięcznym, ale potrafi dać bardzo wiele satysfakcji. Kto doświadczył zoptymalizowania działania jakiegoś potworka w taki sposób, że po pół godziny pracy czas wykonania spada z 2 minut do 1 sekundy, wie doskonale o czym mówię. A jak uda się tego dokonać bez grzebania [...]

14

Visual Studio 2010 – skróty klawiaturowe.

Skróty klawiaturowe do Visual Studio 2010 (ze strony: Visual Studio 2010 Keybinding Posters) – VisualStudio2010_KeyBindings.

Magiczny fix na “find all” w Visual Studio

Dość regularnie zdarza mi się, że próbując wyszukać coś w projekcie dostaję wielką śmierdzącą figę zamiast wyników. Co prawda lepsze to niż wielkie śmierdzące figi, ale i tak oczekuję czegoś innego. Jest na przykład tak: Wyraźnie widać, że szukany tekst "pnlall‘ znajduje się chociażby dokładnie tu, w otwartym już pliku! WTF?? No ale dobra, bug [...]