Jakiś czas temu rozpocząłem implementację projektu, którego celem jest zapoznanie mnie z tematyką CQRS/ES (kod ten znajdzie się także wkrótce w serii postów o tej tematyce). Jednocześnie uznałem, że to dobry moment na poznanie drugiej wersji Release Candidate nowego ASP.NET. W pewnym momencie przyszedł moment, w którym chciałem dodać do projektu połączenie z bazą danych. Nie myśląc długo udałem się do projektu odpowiedzialnego za dostęp do danych, po czym w pliku project.json dodałem zależność do Entity ...
Strona głównaUżytkownik
dpawlukiewicz | użytkownik
Dzisiejszy odcinek jest dość nietypowy, ponieważ goszczę aż dwie osoby. A są to moi dobrzy znajomi z czasów studenckich: Huber Chylik oraz Jacek Bylina. Obaj programiści oraz miłośnicy dość świeżego „trendu” jakim jest Big Data. I to właśnie ten temat został poruszony w dzisiejszym odcinku Chłopaki powiedzieli co określa się mianem Big Data, jakie narzędzia i środowiska ułatwiają przetwarzanie i analizę dużych zbiorów danych oraz przedstawili kilka autorskich przykładów wykorzystania tej technologi, któ...
Dziś temat iście akademicki, który może wydawać się banalny. Zauważyłem jednak, że programiści dyskutując o współbieżności często używają wymiennie terminu równoległości. Czy wobec tego są to pojęcia tożsame? Nie do końca. Oba te „twory” radzą sobie dobrze razem, jak i oddzielnie. Żeby jednak tematyka nie zrobiła się nazbyt poważna (tym samym niezrozumiała), omówmy przykład, który mam nadzieję trochę nam wszystkim rozjaśni w głowach. Wyobraźmy sobie, że naszym zadaniem jest zorganizowanie turnieju szacho...
Sztuka programowania 2871 dni, 4 godziny, 11 minut temu 271 źrodło rozwiń
Przy okazji ostatniego wpisu konkursowego zapowiedziałem serię wpisów poświęconą CQRS oraz event sourcing-owi. Posty oczywiście wkrótce się ukażą, ale dziś chciałbym w ramach tej tematyki omówić nowy „mechanizm”, który zagości w siódmej wersji naszego ulubionego języka Wyobraźmy sobie, że naszym zadaniem jest implementacja odtwarzania stanu obiektu ze zdarzeń, które przetrzymujemy w tzw. Event Store. Zdarzenia wyglądają następująco: public class Event { public Guid AggregateId { get; set; } }...
Sztuka programowania 2881 dni, 2 godziny, 38 minut temu 262 źrodło rozwiń
W 1970 roku Edgar Frank Codd przedstawia koncept relacyjnej bazy danych w swojej pracy pt. „A Relational Model of Data for Large Shared Data Banks„. Blisko pół wieku później programiści nadal wykorzystują dzieło Codd-a w swoich projektach korzystając z MS SQL Server, PostgreSQL itd. Istnieje jednak stosunkowo nowy nurt, którego zadaniem jest dopełnienie funkcjonalności swojego poprzednika. Mowa o bazach danych NoSQL. I to właśnie o tym nurcie porozmawiałem w drugim odcinku DevReview. Moim gościem był Raf...
Bazy danych i XML 2884 dni, 19 godzin, 50 minut temu 114 źrodło rozwiń
Jakiś czas temu w ramach serii CodeTip podzieliłem się z Wami trikiem, który pozwalał w Entity Framework na aktualizację property bez uprzedniego pobrania obiektu. W razie czego link do wpisu macie tu. Jeden z czytelników zwrócił uwagę na możliwe użycie biblioteki, która ułatwia cały proces, a w dodatku oferuje kilka ciekawych opcji, niedostępnych w EF. Po zapoznaniu się z tym „wynalazkiem” jestem bardzo mile zaskoczony, w związku z czym chciałbym przedstawić jego możliwości. Batch update i delete ...
Bazy danych i XML 2889 dni, 5 godzin, 37 minut temu 334 źrodło rozwiń
Witam serdecznie zarówno starych jak i nowych czytelników bloga. Dzisiejszy dzień jest szczególny, ponieważ chciałbym podzielić się z Wami moim nowym projektem, a jest nim podcast – DevReview. Moim pierwszym gościem był Mariusz Litwin – analityk w dziale zarządzania ryzykiem nadużyć w EY. Porozmawialiśmy (a raczej Mariusz :D) m.in. o historii bezpieczeństwa, bezpieczeństwie proaktywnym, dobrych praktykach podczas implementowania systemów informatycznych oraz sposobach na „przeniknięcie” do profesjonalneg...
Sztuka programowania 2898 dni, 8 godzin, 18 minut temu 105 źrodło rozwiń
W procesie implementacji systemu informatycznego zwykle przychodzi moment, gdzie w naszym kodzie zaczynają pojawiać się informacje niezbędne np. do połączenia z bazą danych lub integracją z zewnętrznymi dostawcami wszelakich usług jak np. mailing. Strategi radzenia sobie z tą niedogodnością jest kilka. Możemy temat uznać za mało ważny, który po prostu olejemy. Nie jest to dobrym pomysłem chociażby z tego względu, że w dzisiejszych czasach reverse engineering jest wszechobecny i dla wprawionych osób dekom...
Sztuka programowania 2904 dni, 8 godzin, 12 minut temu 174 źrodło rozwiń
Object-Relational Mapping (w skrócie ORM) powstał, aby pogodzić dwa niekompatybilne ze sobą światy: obiektowy oraz relacyjny. Dzięki zastosowaniu ORM-ów programiści nie muszą martwić się ręcznym tworzeniem połączeń do bazy danych czy chociażby pisaniem klasycznych zapytań SQL. Wszystko co musimy zrobić to pobrać framework i dokonać prostej konfiguracji. Niestety jak to zwykle w życiu bywa, każdy kij ma dwa końce. I o ile ORM-y powstały, aby ułatwić pracę każdemu z nas, o tyle brak zrozumienia jak one dzi...
Bazy danych i XML 2910 dni, 2 godziny, 58 minut temu 478 źrodło rozwiń
Cześć! Dziś wpis, który powstał przez przypadek. Jak mawia stare chińskie przysłowie: There are only two hard things in Computer Science: cache invalidation and naming things. Taaaak, każdy to zna 😉 Pytania o to jak nazwać zmienną, metodę czy klasę to standard jeśli chodzi o programowanie. Wynika to z kilku rzeczy. Po pierwsze chcemy mieć pewność, że nazwa dokładnie oddaje istotę danego „bytu”, po drugie każdy ma swoje standardy nazewnictwa, które mogą nie być tak oczywiste dla innych jak dla n...
Daj się poznać 2016 2915 dni, 7 godzin, 51 minut temu 146 źrodło rozwiń
Witam serdecznie, po zmaganiach z architekturą oraz logowaniem użytkownika, zbliżamy się nieubłaganie do implementowania pierwszych widoków aplikacji. Zanim to jednak nastąpi warto omówić jeszcze jeden temat, który nie będzie ściśle związany z logiką biznesową. Projektując wszelkiego rodzaju systemy informatyczne zdarza się (niestety często), że proces „tworzenia” bazy danych kończy się po wykreowaniu odpowiedniej jej struktury. Model fizyczny jest spójny, generujemy zapytania SQL, execute i gotowe. Czy...
Bazy danych i XML 2919 dni, 8 godzin, 50 minut temu 241 źrodło rozwiń
Hej! często w systemach, które implementujemy zachodzi potrzeba aktualizacji jednej kolumny w bazie danych. Przykładowo, tabela Usermoże posiadać flagę IsLocked, która będzie informowała o tym, czy użytkownik jest zablokowany. Chcąc zaimplementować metodę blokującą delikwenta, część pomyśli o następującej implementacji: public async Task LockUserAsync(string id) { var context = new DbContext(); var user = context.Users.SingleOrDefault(u => u.Id == id); user.IsLocked = true; ...
Witam serdecznie ! Jak pewnie część z Was zauważyła, zmieniłem nieco layout bloga. Powodów było kilka, ale najważniejszym była zdecydowanie czcionka. Według mnie była ona nieco koślawa i mała, przez co czytanie wpisów (szczególnie tych dłuższych) mogło okazać się męczące. Mam nadzieję, że aktualna wersja przypadnie Wam do gustu bo nad ogarnięciem samego menu spędziłem dobre 30 min 😀 Dziś jednak nie o tym. Jakiś czas temu zaimplementowaliśmy mechanizm kontroli dostępu użytkowników z JWT Bearer Token. J...
Daj się poznać 2016 2932 dni, 8 godzin, 45 minut temu 265 źrodło rozwiń
0Posted on by Dariusz Pawlukiewicz Czołem, jeśli coś mogę powiedzieć o Wojskowej Akademii Technicznej to fakt, że poziom wymagany od studentów na przedmiocie Bazy danych był wysoki. Pisanie zapytań SQL na kartce z kilkoma klauzulami join, group by, select itd. to był dla mnie niepojęty kosmos. Sporo pojawiło się także teorii, którą później w mniej lub bardziej zgrabny sposób przytoczę. Kiedyś jednak natrafiłem na artykuł, który zahaczał o temat poziomów izolacji (ang. isolation level). Co to jest? Czy...
Bazy danych i XML 2935 dni, 9 godzin temu 426 źrodło rozwiń