Noworoczne zamieszanie spowodowało, że prawie zapomniałam, iż dokładnie 1 stycznia 2007 roku założyłam swojego programistycznego bloga. Przez parę ostatnich dni próbowałam sobie przypomnieć jak to było wtedy i jak to bywało przez te 10 lat. Otóż w tamtym czasie nie było tak rozwiniętej jak teraz polskiej blogosfery programistycznej. Właściwie w ogóle było mało blogów innych niż pamiętniki w sieci. Wówczas mój blog miał podtytuł „miejsce na moje podręczne notatki”, bo taki właśnie był jego cel. Założyła...
Strona głównaUżytkownik
wopi | użytkownik
Nomenklatura w świecie TDD, a w szczególności ta dotycząca tworzenia atrap, jest źródłem wielu niejasności. Powodem takiego stanu jest fakt, że definicje różnią się w zależności od źródła, tj. książki, lub frameworka. W poprzednich częściach poznaliśmy trzy najbardziej popularne frameworki do tworzenia atrap dla .NET, dla których...
Sztuka programowania 3188 dni, 17 godzin, 11 minut temu 141 źrodło rozwiń
Gdy tworzymy kod jakiejś własnej paczki nugetowej, bardzo często wykorzystujemy kompilację w wariancie Any CPU. Dzięki temu docelowa DLLka zadziała zarówno na x86 jak i x64, ale również i na ARM w sytuacji gdy mamy do czynienia z systemami mobilnymi. Niestety nie zawsze jest tak kolorowo i prosto, i czasem Any CPU po prostu nie zadziała - np. w sytuacji gdy mamy składowe DLLki przygotowane pod określone platformy/architektury...
Moq to najpopularniejszy framework do tworzenia atrap w .NET. W tej części kursu poznamy jego składnię i podstawowe możliwości.
Sztuka programowania 3259 dni, 19 godzin, 5 minut temu 140 źrodło rozwiń
Podczas zabaw z Dependency Injection można się trochę zapędzić używając kontenerów, uzależniając od nich cały kod naszej aplikacji. A to źle. Na dobra sprawę logika aplikacji nie powinna nawet wiedzieć z jakiego kontenera korzystamy. Do kontenera nie powinniśmy się przyzwyczajać – jeśli wykorzystujemy go poprawnie, to jego podmiana na inną bibliotekę nie będzie nastręczać żadnych trudności. Tak naprawdę to całkowite pozbycie się kontenera z systemu również powinno być proste. Pisałem już trochę o tym w p...
Sztuka programowania 3260 dni, 8 godzin, 47 minut temu 190 źrodło rozwiń
Z SQL Injection jest jak z polio czy odrą: w drugiej dekadzie XXI wieku możemy o nim zapomnieć. Wystarczy się zaszczepić, czyli: nie sklejać ręcznie poleceń SQL. Prawda? “Użyj parametrów z ADO.NET, a będzie cacy” – mówili. “Użyj Simple.Data, a złęgo obawiać się nie musisz” – mówili. Ależ kłamali! Jakież przeogromne było moje zdziwienie, gdy niedawno dostałem buga mówiącego, iż “coś dziwnego się dzieje jeśli w nazwie rekordu wstawi się apostrof”. WTF, jak to? Oczywiście sugestią naprawienia błędu od str...
Bazy danych i XML 3370 dni, 6 godzin, 45 minut temu 278 źrodło rozwiń
Technologie typu WPF, czy Universal Apps aż proszą się o zastosowanie MVVM, jednak wsparcie dla tej architektury po stronie tych rozwiązań, jest umówmy się - co najwyżej średnie. Bardzo mało kontrolek posiada wbudowaną obsługę komend. I nawet jeśli się ona pojawia, to i tak nie dotyczy ona wszystkich dostępnych w kontrolce zdarzeń. Poza tym, nie ma jawnego wsparcia dla ViewModeli. Standardowo zbudowana aplikacja składa się ze stron wykorzystujących code-behind. Na szczęścia oba te problemy można w pewnym...
Sztuka programowania 3425 dni, 9 godzin, 11 minut temu 202 źrodło rozwiń
Ale o czym dzisiaj, dzisiaj o obcisłości po angielsku w programowaniu. Słowo tight będzie jednym z bohaterów wpisu. A nawet tight coupling, czyli coś mocno wiążącego. Co tak mocno wiąże w programowaniu? Moim zdanie new jest temu winny. Wiąże bowiem ono ze sobą klienta, klasę którą korzysta z new aby zaspokoić swoje potrzeby, oraz dostarczyciela usługi, czyli klasę, która jest w stanie zaspokoić tę (tą) potrzebę.
Sztuka programowania 3545 dni, 8 godzin, 22 minuty temu 545 źrodło rozwiń
Ponad rok temu, tj. w grudniu 2013 roku miałem okazję poznać nową bibliotekę, Simple.Data. Nawet zrobiłem nt. post na bloku w styczniu 2014 roku link. Teraz, po ponad roku komercyjnego używania tej biblioteki, mam na jej temat pewne przemyślenia, którymi chciałbym się podzielić. Czym jest Simple.Data? Jest to jeden, z coraz popularniejszych "microORM", który łączy ze sobą zalety ORM, przy okazji nie narzucając zbyt dużo konfiguracji oraz "dodatkowych bajerów", które oferują tradycyjne ORM takie jak E...
Jaki jest najfajniejszy projekt dla programisty? Pewnie większość odpowie: NOWY! A kto ma przyjemność tworzyć NOWE projekty, tzw greenfield, w codziennej pracy? Ano… prawie nikt (ja akurat czasami mam ;) ). Gro programistycznej pracy to utrzymanie istniejących systemów. Pół biedy jeśli jest to system sensownie napisany, ale często przecież siedzimy w bagnie po pachy, modląc się o to żeby nie wpaść jeszcze pół metra głębiej...
Postanowiłem przedstawić Wam dziś zajebiste narzędzie, o którym wcześniej nie słyszałem, a na które natknęła się ostatnio koleżanka pracująca ze mną w projekcie, poszukując odpowiedniego frameworka do „routingu” po stronie klienta. Zresztą mni...
Dlaczego tak wielu programistów tak często rzuca tytułowym tekstem (któremu zwykle towarzyszą mniej parlamentarne przerywniki) wykonując gest jak na zdjęciu powyżej? Odpowiedzi pewnie nie trzeba daleko szukać, dlatego dziś postanowiłem przyjrzeć się kilku powodom, dla których pada tak wiele pomstowań i siarczystych przekleństw z tak wielu pokoi projektowych Wybrałem 4 najczęstsze błędy JavaScript, bo niestety ale większość problemów związanych z pisaniem kod...
Programowanie nigdy nie było łatwe i szybkie, ale największe wyzwania stoją przed tymi, którzy chcą stworzyć prosty, czytelny, elastyczny i wydajny kod. Czy da się zawsze ładnie połączyć wszystkie elementy tej układanki? Niestety nie, ale to nie oznacza, że powinniśmy łatwo się poddawać.
Sztuka programowania 3631 dni, 4 godziny, 3 minuty temu 512 źrodło rozwiń
Dużo w ostatnim czasie piszę o aplikacjach uniwersalnych, a wcześniej również sporo było tekstów o WPF. Co łączy oba tematy? Oprócz XAMLa który pojawia się w obu tych technologiach, pewnym dość istotnym łącznikiem jest wzorzec architektoniczny MVVM. MVVM pozwala na rozbicie logiki naszej aplikacji na pewne określone elementy. Mamy widoki, modele oraz tajemniczy element ViewModel. ViewModel to klasa, która zawiera uporządkowane i wypełnione danymi klasy modelu, pasujące do pewnego określonego widoku. Inny...
Sztuka programowania 3658 dni, 8 godzin, 55 minut temu 514 źrodło rozwiń
Czwarty odcinek to badanie nowych gruntów: wyjście poza .NET! Moim gościem jest Sławomir Sobótka: założyciel firmy Bottega IT Solutions, trener, blogger, architekt. Wywodzi się ze środowiska Javy i można go spotkać na bardzo wielu konferencjach i grupach związanych z tą właśnie technologią. Rozprawiamy o Domain Driven Design, a Sławek jest jednym z najbardziej rozpoznawalnych polskich ekspertów w tym obszarze. Podczas rozmowy opowiada nam jakie korzyś...
Niedawno byłem zmuszony do powrotu do kodu, który kiedyś współtworzyłem. Musiałem dołożyć pewną w gruncie rzeczy drobną funkcjonalność. Nie sprawiło to mi większych problemów, ale samo obcowanie z tym kodem skłoniło mnie do refleksji. Dopiero porównując tamten kod (z którego byłem przecież dumny jak paw) z kodem dzisiejszym widzę różnicę (ciekawe co powiem za kilka lat o obecnym kodzie). Różnicę w sobie samym. Widzę jak przez ostatnie dwa lata się zmieniłem (ale to temat na inny post). Moją szczegó...
Sztuka programowania 3670 dni, 13 godzin, 51 minut temu 135 źrodło rozwiń
In this post, I want to go beyond “Hello World” and show real life examples. F# and Nancy – Where to start ?
Sztuka programowania 3670 dni, 13 godzin, 51 minut temu 150 źrodło rozwiń
W trzecim odcinku rozmawiam z Adamem Kosińskim – programistą, prelegentem, aktualnie kodzącym C# w Londynie. Tematem przewodnim są testy jednostkowe – nasza wspólna pasja. Gadamy zarówno o najlepszych jak i najgorszych praktykach. Przestrzegamy też na to uważać podczas przygody z testowaniem. Zastanawiamy się również dlaczego czasami testy nie spełniają oczekiwań programistów i… i wiele więcej :). Konkurs: dzisiaj rozdaję licencję na NCrunch. ...
Sztuka programowania 3678 dni, 8 godzin, 19 minut temu 152 źrodło rozwiń
Krótki artykuł opisujący cykl życia aplikacji w systemie Windows Phone 8, wyjaśniający proces tombstoningu oraz prezentujący w jaki sposób można go obsłużyć.
Mobile development 3675 dni, 21 godzin, 53 minuty temu 121 źrodło rozwiń