Reporting API aims at providing a framework for browsers to deliver reports about various issues to the servers. This post explores how the experimental implementation of this standard in Chrome can be used with ASP.NET Core.
Udostępnianie interfejsów programistycznych w formie WebAPI stało się pewnym standardem. Integrujemy ze sobą różne systemy – komunikując je w celu wymiany wymaganych danych. Popularne serwisy udostępniają swoje dane, by programiści mogli wykorzystać potencjał zagregowanych danych. 📑 Jak natomiast podejść do projektowania API, które będzie dostępne dla konsumentów? Na co zwracać uwagę? Na te pytania staramy się odpowiedzieć w nowym odcinku podcastu Dev:Cast 📢
Architektura 1607 dni, 20 godzin, 56 minut temu 146 źrodło rozwiń
Wanna know a bit more about LOH? Let's examine it in today's post about a bit forgotten Large Object Heap :)
Sztuka programowania 1607 dni, 20 godzin, 56 minut temu 63 źrodło rozwiń
Polecenie git log zna każdy użytkownik gita. Jest ono jednym z pierwszych, które poznajemy ucząc się tego systemu kontroli wersji. Pokazuje ono listę naszych commitów. W tym wpisie chciałem przedstawić jak można sformatować wygląd loga w dowolnym sposób jaki tylko chcemy. Log może pokazywać tylko te informacje, które są Nam naprawdę potrzebne.
Największy facepalm jaki można popełnić używając GenericRepository i co możemy z tym zrobić ;)
Architektura 1607 dni, 20 godzin, 56 minut temu 212 źrodło rozwiń
W aplikacji czasami mamy fragmenty kodu, które dodajemy w różnych miejscach. Tak jak ostatnio opisywałem, możemy chcieć dodać cachowanie danych na poziomie logiki biznesowej, aby zmniejszyć ilość zapytań do bazy. W przykładzie dotyczącym CacheManagera wywołanie usługi CacheService dodałem bezpośrednio w kodzie logiki. Z jednej strony tego kodu nie ma zbyt dużo, ale z drugiej strony fajnie byłoby mieć ten kod automatycznie w każdej logice biznesowej. Szczególnie...
Typy takie jak List<T> czy Dictionary<T,K> wydają się niewinne. Ostatecznie, pochodzą przecież z biblioteki standardowej (BCL) samego frameworka. Czy warto używać ich w API Twojej biblioteki? Czy są jakieś zagrożenia związane z ich użyciem? Zapraszam do lektury
Sztuka programowania 1608 dni, 20 godzin, 37 minut temu 74 źrodło rozwiń
Please enable JavaScript in your browser to enjoy WordPress.com.
Microsoft dziś ogłosił 'nową' usługę a mianowicie Azure DevOps Ja jestem zagorzałą fanką odchodzącego właśnie VSTSa a nawet TFSa on premises. Nawet troszkę szczycę się staniem w opozycji do wielkich naszego światka post TFS 11 Express Beta z komentarzem Maćka zawsze rozgrzewa moje serce. Czy to znaczy że VSTS umiera?Na szczęście nie. Azure DevOps to kolejna zmiana nazewnictwa. Visual Studio Team Services to nazwa usługi która kiedyś nosiła przydomek Visual Studio Online i była młodszą chmurową ...
Jak się obejść bez Moq i NSubstitute - proste użyj Fake'ów
Sztuka programowania 1610 dni, 21 godzin, 8 minut temu 125 źrodło rozwiń
Nie każdy o tym wie, ale wzorzec adapter można rozdzielić na 2: adapter klasy i adapter obiektu. W tym wpisie opiszę pierwszy z nich.
Architektura 1610 dni, 21 godzin, 8 minut temu 84 źrodło rozwiń
Żebym mógł podzielić się pracą nad dotnetomaniakiem muszę wykonać jeden bardzo ważny krok. Muszę upublicznić repozytorium. Na początku myślałem, że udostępnię swoje prywatnego repo. Jednak ciągle czytałem: a będzie open-source?
Lubimy kategorie. Podobnie w historii, epoki ułatwiają zrozumienie i przypisanie poszczególnych zdarzeń do okresów. Co z epokami w programowaniu? Czy mają jakieś znaczenie? Czy mogą się do czegoś przydać? Zapraszam do epokowego artykułu.
Sztuka programowania 1610 dni, 21 godzin, 8 minut temu 59 źrodło rozwiń
Jeden z produktów jakie ostatnio rozwijaliśmy w naszym zespole, jest aplikacją desktopową opartą o rozbudowaną bibliotekę, która dostarczała spójne API do komunikacji, opartej o różne protokoły związane z telekomunikacją.Architektura biblioteki ...
Architektura 1613 dni, 21 godzin, 12 minut temu 123 źrodło rozwiń
Kilka zdań o moich spostrzeżeniach po rozpoczęciu przygody z TDD
Sztuka programowania 1613 dni, 21 godzin, 12 minut temu 142 źrodło rozwiń
W aplikacjach bardzo często używamy zewnętrznych zasobów. A to trzeba wykonać zapytanie na bazie danych. Pobrać dane z usługi lub wysłać wiadomość email. Zasoby te charakteryzują się tym, że mogą być przez jakiś czas niedostępne, bo na przykład wystąpił jakiś problem z siecią lub zasób jest zbyt mocno obciążony. W takich sytuacjach zastanawiamy się, czy od razu pokazać użytkownikowi informacje o błędzie, czy może spróbować ponowić operację po jakimś czasie i do...
Wanna know what is fReachable queue, how finalization works in .NET and how to use a Dispose pattern? Come and read a new post in my .NET Internals series :)
Sztuka programowania 1614 dni, 20 godzin, 51 minut temu 43 źrodło rozwiń
Ostatnimi czasy na blogu było dosyć cicho, ale wynika to z dwóch rzeczy. Po pierwsze zrobiłem sobię przerwę wakacyjną (która przyznam szczerze rozciągnęła się nieco w czasie), a po drugie aplikacja DShop zmieniła się mocno pod kontem infrastrukturalnym, dlatego pozwoliłem sobie wstrzymać serię o mikroseriwach, aby nie doszło do sytuacji, w której prezentowany w poście kod staje się po chwili nieaktualny. Tyle słowem wstępu. W jednym z ostatnich wpisów przedstawiłem czym jest, a czym nie jest wzorzec CQR...
Architektura 1614 dni, 20 godzin, 51 minut temu 225 źrodło rozwiń
Pewnie nad tym się teraz zastanawiasz. Przecież commity się łączy w jeden, żeby historia była krótsza! Po co ją wydłużać? Po co w ogóle rozdzielać commit na dwa nowe? Jest kilka powodów: 1. Chcemy, żeby historia była bardziej czytelna. 2. Chcemy przeorganizować commity (interactive rebase) i powoduje Nam to konflikty. 3. Chcemy trzymać się zasady SRP (Single Responsibility Principle) w commitach, a do jednego wrzuciliśmy za dużo kodu. O tej zasadzie w kontekście gita przec...
Generic export of csv files Once in a while, you get a task, that you need to generate an export file to the 3rd party system. It is popular when communicating with price comparer services, search services, adds services etc. So you need to generate csv file with almost the same data, but in a slightly different format. How to solve it, when you don’t want to write everything separately? How to write you code so that you can make changes very easy?Let’s start with a simple csv file export CSV acronym s...