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 2543 dni, 22 godziny, 34 minuty 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 2545 dni, 4 godziny, 5 minut temu 179 ź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 2546 dni, 17 godzin, 6 minut temu 466 źrodło rozwiń
TDD – commit by commit String Calculator (I) In this series I want to share my approach to TDD. I will do a simple TDD kata, sharing with you all my decision and thoughts. It’s called commit by commit beacuse you will find here links to github with each step. There will be a commentary to each one of these. I encourage you to comment and show me the flaws in my “style” of TDD coding. I also want to learn from you. I do know that my approach has its problems and there is allways a wayt to do something b...
Sztuka programowania 2546 dni, 17 godzin, 6 minut temu 99 źrodło rozwiń
Introduction I think one of the most important features of Resharper is on-the-fly code quality analysis. Basically, every time Resharper finds possible pitfall in code, it indicates this with appropriate warning. The most common warning is "Possible System.NullReferenceException". You can easily reproduce it by writing this code List
Są momenty, w których jedyne co wypada zrobić do dać sobie samemu blachę z wykrzyknieniem: “kRRRRetynie!”. Tak miałem ostatnio, gdy po wdrożeniu kolejnej wersji systemu dostałem od klienta komunikat: “e ziom, nie działa!”. Po inwestygacji logów przyczyna okazała się dość prozaiczna: owszem, deploy poszedł, wszystko się udało, ale “użytkownik końcowy” nie zrobił (bo i skąd miał wiedzieć że trzeba to zrobić?) full-refresh, aby przeglądarka zaciągnęła now...
Mój mikro cykl o obsłudze ekranów dotykowych w JavaScript miał się zakończyć na poprzednim wpisie na ten temat, jednak szperając w google w poszukiwaniu materiałów do tych wpisów, natknąłem się na kilka JavaScriptowych bibliotek, które jak się okazuje pozwalają objeść problemy o których pisałem ostatnio. Postanowiłem więc, że fajnie będzie dopisać jeszcze jeden post na temat i opowiedzieć o jednej z takich właśnie bibliotek, a mianowicie Hand.js. Hand.js jest biblioteką, która powstała aby umożliwić pis...
Mobile development 2547 dni, 8 godzin, 17 minut temu 61 źrodło rozwiń
Spodobała mi się sama nazwa „Onion Architecture” jak i to co pod tą nazwą przedstawił Jeffrey Palermo. Niby zasady znane od dawna, a jednak zostały one umiejętnie pokazane na nowo. Niestety na sieci ciężko znaleźć szkielet przykładowej aplikacji, która spełniała by podstawowe założenia. W związku z tym na szybko zmontowałem takowy.
Architektura 2547 dni, 18 godzin, 9 minut temu 350 źrodło rozwiń
O problemach życia ze sprzętem z wysokim DPI pisał Scott Hanselman już jakiś czas temu (Living a High-DPI desktop lifestyle can be painful). Ja, dotychczas nie miałem z tym problemów jako, że nie posiadałem takowego. Od jakiegoś czasu pracuję jednak na MacBook Pro Retina, który z rozdzielczością 2560×1600 wystawia mnie na wszystkie te problemy, o których w swoim poście pisał Scott. Dziwne to było na początku, ale po chwili przyzwyczajenia jakoś one szczególnie mi nie przeszkadzają. Ot kolejne problemiki ...
CultureInfo zawiera informacje regionalne, przydatne, jeśli chcemy dostosować naszą aplikację do różnym krajów. Używamy tej klasy m.in. do określenia formatowania liczb, dat czy po prostu języka w jakim wyświetlamy tekst. Jeśli korzystamy z domyślnych ustawień regionalnych, wtedy poniższy kod wyświetli prawidłową wartość...
Ostatnio Łukasz Gąsior opublikował książkę o ReSharperze, więc w ramach rozruszania ostatnio martwego bloga, w ramach promocji książki naszego kolegi w ramach popularyzacji wiedzy o ReSharperze oraz w ramach eksperymentu z Rafflecopter do zgarnięcia jest ebook “ReSharper Essentials”. Zapraszam
Cztery lata temu, popełniłem post „Zapomnijcie o windows forms”. Po czterech latach i wielu innych technologiach po drodze wracam do tematu. Ostatnio miałem okazję napisać mała aplikację w WPF, to był raczej test, a nie aplikacja dla klienta, jednak nie zmienia to faktu, że musiałem przysiąść i to napisać :) Nie wiem czy to tylko mnie tyczy, czy są też inni ludzie którzy podobnie myślą, ale osobiście nie zobaczyłem, żadnych pozytywnych zmian w tej technologii mimo upływu 48 miesięcy.
Tworząc stronę internetową często potrzebujemy sprawdzić poszczególne składowe bez wracania do środowiska programistycznego. Narzędzia w przeglądarce Internet Explorer pozwalają analizować elementy widziane na stronie ze względu na budowę kodu HTML i CSS oraz sprawdzić logikę napisaną w języku JavaScript. Za...