I am back! with brand new blog post! My new approach to creating CV, everything is on github.
Simple.Data jest bardzo fajne, ale czasem… niewystarczające. Na przykład na chwilę obecną nie są wspierane podzapytania. Wtedy z pomocą przychodzi biblioteka Simple.Data.RawSql dająca możliwość wysyłania “gołego” SQLa przez Simple.Data.
Bazy danych i XML 3845 dni, 16 godzin, 27 minut temu 115 źrodło rozwiń
Tuple. Dobro czy zło? Subiektywizm każe mi powiedzieć, że straszne zło. Obiektywizm – zło umiarkowane/neutralność. Zamysłem przy tworzeniu Tuple było ułatwienie zagnieżdżania struktur. Na papierze wygląda nieźle, natomiast jest bardzo nadużywane w projektach, co czyni je nieczytelnymi. Osobiście uważam, że Tuple może być wykorzystany przy tworzeniu prototypów, kiedy chcemy zobaczyć, czy dany kod robi dokładnie to, o co nam chodzi, inaczej mówiąc – do tworzenia działającej metody. Zaraz po tym, konieczn...
Sztuka programowania 3846 dni, 26 minut temu 282 źrodło rozwiń
Jak do tej pory, mimo że raczej ciągnie mnie w stronę UI, nie miałem za wiele styczności z czymś takim jak Bootstrap czyli framework służący do tworzenia „responsywnych” i z pudełka dostosowanych do obsługi na urządzeniach mobilnych interfejsów użytkownika. Do tej pory miałem tylko trochę do czynienia z jednym z bardziej popularnych „preprocesorów” CSS czyli z Less’em. Jednak to tak naprawdę dwie różne sprawy. Less jest fajny, bo rozszerza CSS o kilka przydatnych „ficzerów” takich jak zmienne, funkcje it...
Today’s post opens the series of my notes I will collect during preparation for the Microsoft exam 70-483 which focuses on programming in C#...
Filtry w ASP.NET MVC potrafią znaczącą polepszyć czytelność kodu, jeśli dana logika musi być wykonywana dla wielu akcji. Stanowią one tak naprawdę programowanie aspektowe, które jest całkowicie odmienne od powszechnie znanego programowania obiektowego. Ze względu na to, że programiści nie są przyzwyczajeni do tego modelu, należy uważać jak wykorzystuje się filtry. Klasyczne zastosowanie aspektów czy filtrów to caching, logging czy autoryzacja. Problemy te nalezą do grupy tzw. cross-cutting concerns, czy...
This post is a part of preparation for 70-483 exam. Information written down here are related with the part Manage program flow. .NET framework provides several mechanisms to write concurrency, parallel and asynchronous code. They all are included in System.Threading namespace. This namespace contains types that allow creating multithreaded applications. Today’s post is about the Thread class.
Programowanie rozproszone 3847 dni, 17 godzin, 49 minut temu 46 źrodło rozwiń
This post is a part of preparation for 70-483 exam. Information written down here are related with the part Manage program flow. First of all I decided to explain the differences between concepts which come along with a phrase multithreading...
Programowanie rozproszone 3848 dni, 4 godziny, 53 minuty temu 103 źrodło rozwiń
Dzisiaj nie technicznie jednak temat bardzo ważny bo przecież połowę życia spędzamy w pracy. Tak połowę. Czas to najcenniejszy zasób jaki mamy (najcenniejszy asset jeśli pracujesz w korpo). Doba dla wszystkich ma tyle samo godzin, minut i sekund. Nikt na ziemi nie dostał go mniej lub więcej, wszyscy dokładnie tyle samo, jak w komunie.
O projekcie Fody po raz pierwszy, usłyszałem dość dawno temu, ale dopiero ostatnia prezentacja Tomka na Wroc.NET uświadomiła mi jak fajny jest to projekt. Ja sam będę miał przyjemność prezentować Fody’ego w nadchodzącym tygodniu (na spotkaniu KGD.NET) a dzisiaj wstęp na blogu. Czym jest fody? Krótko mówiąc to framework, który umożliwia odpalanie własnych tkaczy modyfikujących kod już po kompilacji. Dzięki temu cały tzw. pluming code, możemy wyciągnąć z naszego kodu źródłowego do osobnych modułów.
Hej. Bardzo lubię, kiedy życie zawodowe samo podsuwa mi pomysły na wpisu na tego bloga. Tak jest właśnie w tym przypadku – właśnie dziś musiałem sobie poradzić z opisywanym problemem czyli potrzebą zatwierdzania kilku części formularza kilkoma różnymi przyciskami submit. Starzy wyjadacze ASP.NET MVC pewnie doskonale wiedzą jak to zrobić, pewnie też znajdą się osoby, które powiedzą, że w ogóle tak nie powinno się robić, jednak ASP.NET MVC na to pozwala… Zresztą czasami spotykamy się z sytuacją niestandard...
Kilka wpisów wcześniej pisałem o atrybucie OutputCache. Dla prostych zastosowań sprawdza się dość dobrze, ale bardzo szybko można dostrzec jego ograniczenia i błędy. Przedstawmy najpierw kilka niedogodności związanych z OutputCache.
Post Sławka z przemyśleniami na temat prezentacji Wujka Boba. Jeżeli myśleliście, że Uncle Bob skończył się na Kill'em All, to zachęcam do obejrzenia prezentacji na temat profesjonalizmu....
Sztuka programowania 3851 dni, 23 godziny, 25 minut temu 344 źrodło rozwiń
Over a year ago I created simple Windows 8 app: Pomidoro (the name ‘Pomodoro’ was already taken at the Windows Store). And yes, it is for applying The Pomodoro Technique. I published it to the Windows Store on January 7, 2013. The reason I created this app, was to learn Windows 8 Metro apps development. From time to time I receive e-mails that my app got some third party award or was reviewed by some website I have never heard about.
Simple.Data jest super. A ostatnio okazało się jeszcze… supersze. Chciałem wygenerować zapytanie update “doklejające” pewną wartość do kolumny tekstowej. W Postgre byłoby to coś takiego: update people set StatusUpdate = StatusUpdate || "new status," where id=1 Jak widać – robię update jednocześnie odwołując się do wartości kolumny z aktualizowanego wiersza To by akurat nie zadziałało dla pierwszej “iteracji”, bowiem “null || string” zwró...
Bazy danych i XML 3853 dni, 4 godziny, 55 minut temu 181 źrodło rozwiń
CSRF jest dzisiaj bardzo dobrze znanym atakiem, ale niestety wciąż wiele aplikacji internetowych pozostaje niezabezpieczonych. W poście nie będę opisywał szczegółowo CSRF ponieważ w Internecie jest już od dawna mnóstwo informacji o tym. Chciałbym jednak pokazać jak dzięki ASP.NET MVC możemy w łatwy sposób uchronić się przed atakiem. W MVC standardowy formularz tworzymy w następujący sposób:@using (Html.BeginForm("Manage", "Account")) { } Następnie mamy w kontrolerze akcję implementującą obsług...
Ostatnio pierwszy raz w życiu miałem okazję ustawiać nagłówki HTTP odnośnie cachowania. Pogłębiłem trochę temat i okazało się, że trzeba myśleć nie w kategoriach czasu lokalnego, tylko czasu uniwersalnego. Na nasze: zamiast DateTime.Now trzeba używać DateTime.UtcNow. Wstęp: Przechowujesz datę i czas? Może warto w UTC? DateTime ma właściwość Kind typu DateTimeKind: public enum D...
Zastanawialiście się kiedyś jak zrobić układ strony podobny do tego, który zobaczyć możemy między innymi w serwisie Pinterest? Pewnie większość z Was zna ten serwis – jeśli nie to spieszę wyjaśnić, że jest to serwis społecznościowy, w którym użytkownicy dzielą się z innymi swoimi zdjęciami. Wyróżnia się on ciekawym układem, w jaki prezentowane są zdjęcia. Generalnie chodzi o to, że „layout” podzielony jest na kolumny o określonej szerokości, a ilość tych kolumn zależy od szerokości okna przeglądarki. W u...
W poprzednim wpisie Czas UTC a DateTime.Kind byłem zbyt mało stanowczy lub nie wyczerpałem tematu Maciek w komentarzu podzielił się linkiem i skomentował krótko – DateTime.Now praktycznie nigdy nie ma sensu Autor podlikowanego posta (The case against DateTime.Now) proponuje aby DateTime.Now i DateTimeKind.Local zostały w następnej wersji .NET oznaczone jako [Obsolete]. Postaram się streścić ten ar...
Temat czytelności kodu jest bardzo dyskusyjny. Mam na myśli to, że jest tutaj wiele “zależy”. Funkcję, którą dziś opisuję, popełniłem kilka dni temu, nie myśląć specjalnie o tym, że będą ją tutaj omawiał. Spójrz najpierw na oryginalny kod poniżej krytycznym okiem, a później zapraszam do mojej analizy “dlaczego tak, a nie inaczej”.
Sztuka programowania 3854 dni, 17 godzin, 56 minut temu 467 źrodło rozwiń