Jak wiadomo w bajkach kryje się ukryta mądrość. W takim razie pora na bajkę, ale strzeżcie się – ukryta w niej mądrość może przewrotnie obrócić się przeciwko wam. Gotowi? No to zaczynam...
Strona głównaUżytkownik
PaSkol | użytkownik
Architektura 3278 dni, 8 godzin, 33 minuty temu 218 źrodło rozwiń
Zapewne widzieliście już prezentację Erika Meijera z Reaktor Dev Day 2014. Prelegent postanowił rozprawić się z całą tą ściemą, jaką jest Agile, a jako jej alternatywę zaprezentował podejście „One Hacker Way” – nieskomplikowane, bo sprowadzającą się prostu do … pisania kodu. Ilu z Was łyknęło tę nowinkę niczym młody pelikan swoją pierwszą sardynkę (rym niezamierzony)? Jeśli to kupiliście, to muszę Was zmartwić – zostaliście zhakowani.
Sztuka programowania 3370 dni, 13 minut temu 388 źrodło rozwiń
Mamy sezon ogórkowy, słoneczko przygrzewa, klimatyzacja ledwo dyszy z każdej dyszy, zarząd i kadra średniego szczebla udała się na zasłużony odpoczynek i tylko pasjonaci wolą spędzać ten czas w pracy. Ci pasjonaci to my. W tych ekstremalnych okolicznościach przyrody ...
Zastanawiacie się co to takiego ten tunel kodu? Otóż chodzi tutaj o specyficzny stan świadomości, z dużym skupieniem i widzeniem tunelowym, w który mogą wejść programiści tworzący kod. Można o nim przeczytać np. w książce autorstwa Roberta C. Martina "Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów", choć tam nosi on nazwę strefy lub przepływu (flow). Zgodnie z opisem we wspomnianej książce, stan ów charakteryzuje się tym, że znajdujący się w nim programiści czują się ...
Sztuka programowania 3579 dni, 20 godzin, 25 minut temu 307 źrodło rozwiń
W trakcie przygotowań do prezentacji poświęconej indeksom kolumnowym w SQL Server 2014 (“Clustered ColumnStore Index Deep Dive”) odkryłem kolejny scenariusz, w którym śledzenie liczby odczytów za pomocą SET STATISTICS IO ON jest złym pomysłem. Historycznie takich sytuacji było wiele, że wspomnę o przekłamaniach przy zapytaiach z użyciem funkcji skalarnych (wpis Gail Shaw) czy problemach z ilością odczytów przy planach wykorzystujących parallelism (wpis Aarona Bertranda). Co tym razem? Po kolei ...
Bazy danych i XML 3608 dni, 2 godziny, 24 minuty temu 74 źrodło rozwiń
Przez ostatnią dekadę wiele osób pisało i dyskutowało o problemie dotyczącym alokacji w bazie systemowej tempdb. Dość dobre repozytorium wiedzy na temat tempdb zebrała jeszcze w 2009 roku Cindy Gross na swoim blogu. Także i polscy specjaliści poruszali ten temat wielokrotnie [...]. Z jednej strony wiadomo już, że odpowiedź na pytanie, czy dzielić bazę tempdb na wiele plików danych, brzmi “to zależy”. Z drugiej strony na ogół skupiano się na udowadnianiu, że zalecenie dotyczące podziału tempdb jest ...
Bazy danych i XML 3608 dni, 2 godziny, 24 minuty temu 201 źrodło rozwiń
Jednym z tematów często pojawiających się na konferencji SQLDay 2014 (na sesjach i w kuluarach), była systemowa sesja Extended Events o nazwie systemhealth. Wspomniał o niej m.in. Bob Ward przy okazji prezentacji na temat stanów oczekiwania. Pomyślałem, że dobrze byłoby napisać parę słów o tym często niedocenianym źródle informacji dla DBA.O sesji słów kilka Gdzie można znaleźć sesję systemhealth? Oczywiście najprościej jest odszukać węzeł Management – Extended Events w ...
Bazy danych i XML 3607 dni, 52 minuty temu 48 źrodło rozwiń
W poprzedniej części dokonałem kolejnego odwrócenia – tym razem zależności. W tej – choć będzie o wstrzykiwaniu – odwracać się do tego zabiegu nie będzie trzeba ;). Wręcz przeciwnie (by nie rzec odwrotnie) to wstrzykiwanie pomoże w odwracaniu i to zarówno zależności jak i sterowania (kontroli). Jeśli więc chcecie dowiedzieć się jak to możliwe – nie ma odwrotu, należy przeczytać niniejszy wpis :D ...
Sztuka programowania 3607 dni, 52 minuty temu 179 źrodło rozwiń
Poprzednio odwracałem sterowanie (lub kontrolę, jak kto woli). Dzisiaj pora odwrócić zależność. Zasada odwracania zależności (Dependency Inversion Principle) to ostatnia (licząc wg porządku liter w nazwie) z zestawu zasad SOLID. O co więc chodzi z tą zależnością i na czym tak naprawdę polega jej odwracanie? Najlepiej będzie zademonstrować to na przykładzie. Oglądaliście "Seksmisję" (to już 30 lat od jej premiery)? Był w niej...
Sztuka programowania 3613 dni, 4 godziny, 37 minut temu 207 źrodło rozwiń
Trafiłem ostatnio na tekst o nadużywaniu var. Przede wszystkim zafrapowało mnie użycie pojęcia „nadużywanie„, bo sugerowało, że podczas tworzenia kodu należałoby (oprócz wielu reguł) brać jeszcze pod uwagę czy danej konstrukcji nie używa się zbyt często (czyli nadużywa). Tylko jakie w takim razie powinno być kryterium umożliwiające stwierdzenie, czy coś jest nadużyciem, czy nie? Czy jeśli ...
Sztuka programowania 3622 dni, 16 godzin, 2 minuty temu 345 źrodło rozwiń
W kwietniu na jednym z blogów poruszany był temat odwracania (inwersji) w kontekście tworzenia oprogramowania. Dotyczyło to takich zagadnień (pozwolę sobie na wstępie użyć ich angielskich nazw) jak Inversion of Control (w skrócie IoC) oraz Dependency Inversion Principle (DIP). Przy okazji tego drugiego odniesiono się też do Dependency Injection (DI), które ...
Sztuka programowania 3627 dni, 14 godzin, 58 minut temu 269 źrodło rozwiń
Przeglądając mojego ulubionego dotnetomaniaka zauważyłem pewną tendencję felietonistyczną, dotyczącą tematów nietechnicznych, ale związanych z naszym programistycznym środowiskiem. Tak się akurat składa, że sam od dłuższego czasu mam felietonistyczne ciągoty, więc postanowiłem poddać się temu dotnetomaniakowemu trendowi. O czym chciałbym napisać? Otóż ostatnio rozważam temat motywacji, tak w naszym zawodzie, jak i w ogólności (czyli motywowanie pracownika jako takie). Te rozważania pozwoliły mi ...
Z pewnością sporo osób zetknęło się z wzorcem MVVM (Mode View ViewModel), należącym do wzorców prezentacji (takich jak MVC lub MVP – z którego nota bene się on wywodzi), albo o nim słyszało. Wykorzystuje się go w oprogramowaniu wykorzystującym Windows Presentation Fundation (WPF). Nie zamierzam się tutaj wgłębiać w meandry tego wzorca. Chciałem się tylko odnieść do pewnej jego (nomen omen) właściwości, dotyczącej sposobu powiadamiania widoku, że właściwość modelu uległa zmianie. Dokonuje się tego ...
Sztuka programowania 3726 dni, 22 godziny, 34 minuty temu 169 źrodło rozwiń
Zgodnie z obietnicą wypada przedstawić drugi z rezultatów inspiracji wynikłej ze swoistego dialogu (diaBlogu ;) ) pomiędzy Krzysztofem Morcinkiem a mną. Tym razem skupię się na następującym fragmencie jego wpisu ...
Sztuka programowania 3759 dni, 4 godziny, 38 minut temu 166 źrodło rozwiń
Swojego czasu zachwalałem wytrawność kodu i zapraszałem do jego degustacji. Pocieszające jest, że nikt z tego powodu nie był zdegustowany, a wręcz przeciwnie – niektórych zainspirowałem. Nie ukrywam, że lubię być inspiracją, a już uwielbiam, kiedy wynikiem tejże inspiracji jest z kolei zainspirowanie mnie. Nic tak bowiem nie pomaga poszerzaniu wiedzy, jak wymiana poglądów. W przypadku, który mam zamiar omówić, moja inspiracja jest podwójna. Na razie jednak skupię się na jednym jej aspekcie. Krzysztof Mor...
Sztuka programowania 3761 dni, 26 minut temu 239 źrodło rozwiń
Ja wiem, że programistyczny świat coraz bardziej zagarniany jest przez różnego rodzaju ORM-y i – co za tym idzie – czysty SQL jest używany coraz rzadziej. Może jednak właśnie z tego powodu warto poruszać związane z nim tematy, aby ci którzy doraźnie lub incydentalnie w nim programują trzymali się jednak pewnych zasad i konwencji. W tym wpisie chciałbym jedną z takich konwencji przybliżyć i tym samym być może zachęcić osoby, które mają do czynienia z SQL-em do jej stosowania. Wspomniana konwencja...
Bazy danych i XML 3788 dni, 20 godzin, 23 minuty temu 226 źrodło rozwiń
Zapytano mnie wczoraj czego lepiej używać do konwersji typów w T-SQL, albowiem do wyboru są dwie konstrukcje cast i Convert. Zanim podzielę się odpowiedzią, jakiej udzieliłem ...
Bazy danych i XML 3801 dni, 4 godziny, 23 minuty temu 184 źrodło rozwiń
Zapewne każdy profesjonalny programista zna zasadę DRY, której nazwa jest zarazem skrótem jej treści Don’t Repeat Yourself czyli zalecenia Nie Powtarzaj Się. Najczęściej stosuje się ją, by przeciwdziałać powielaniu kodu wykonującemu tę samą czynność (czy to przez jego niepotrzebne, ponowne napisanie czy też przez zwykłe przeklejanie). To co ciekawego w tej regule, to fakt, że w swej treści skierowana jest ona do ...
Sztuka programowania 3823 dni, 22 godziny, 45 minut temu 209 źrodło rozwiń
Nie mam zamiaru nikogo indoktrynować. Nie mam zamiaru dyskutować o wyższości tego nad tym i owego nad tamtym. Zamierzam natomiast przedstawić parę zalet regionów oraz powód, dla którego podobają się właśnie mi. A skoro już zdradziłem, że wpis jest subiektywny i tendencyjny, to zacznę właśnie od tego powodu. Z urodzenia jestem ...
Sztuka programowania 3823 dni, 22 godziny, 45 minut temu 199 źrodło rozwiń
Jeżeli po przeczytaniu tytułu tego wpisu masz mieszane uczucia, bo niby co wspólnego może mieć psychologia z programowaniem, to zanim postanowisz zrezygnować z dalszej lektury, przypomnij sobie o wzorcach projektowych, a dokładnie skąd się one wzięły. Tak, początkowo to nie był pomysł programisty, ale architekta. Okazał się on jednak nie przystawać do tej dziedziny, za to zgrabnie dał się zaadaptować do naszego podwórka. W przypadku psychologii analogia nie jest może aż tak bezpośrednia, niemniej ...
Sztuka programowania 3846 dni, 2 godziny, 39 minut temu 296 źrodło rozwiń