Agentic Development - nowa era programowania z AI jako partnerem
Czym jest Agentic Development, jak i dlaczego zmienia rolę .NET Developera? Kompletna seria od pierwszych kroków po kompletną 'aplikację'.
Czym jest Agentic Development, jak i dlaczego zmienia rolę .NET Developera? Kompletna seria od pierwszych kroków po kompletną 'aplikację'.
24 przepisy dla zaawansowanych: zarządzanie sesjami, staged context loading, batch review, characterization tests i wzorce konwersacyjne dla teamu.
Kompletny workflow od issue do PR – agenci, Skills i MCP razem na projekcie TaskList plus pre-commit hook i generator opisu PR.
MCP Servers: wbudowany GitHub, Filesystem i Microsoft Learn – aktualna dokumentacja .NET/Azure i workflow issue-to-PR bez opuszczania terminala.
Skills jako automatyczne standardy teamu – SKILL.md z dotnet-checklist, xunit-gen i commit-message, auto-trigger i /skills w praktyce.
Własni agenci .NET w plikach .agent.md – dotnet-reviewer, xunit-helper, security-reviewer oraz AGENTS.md jako zawsze aktywne standardy projektu.
Pięć workflow z terminala: code review, refactoring, debugging, generowanie testów xUnit i integracja z gitem przez conventional commits.
Składnia @, wieloetapowe rozmowy i zarządzanie sesjami – /rename, --continue, --resume, /compact oraz context window w praktyce.
Instalacja CLI na Windows/Mac/Linux, autoryzacja device flow i pierwsze demo – trzy tryby pracy: Interactive, Plan i Programmatic.
Wprowadzenie do serii CLI – czym jest Copilot w terminalu, rodzina produktów Copilot i projekt przewodni TaskList.
Roadmapa rozwoju - ASP.NET Core, Entity Framework Core, Blazor, MAUI, ML.NET, cloud-native, źródła wiedzy i kariera.
Performance - BenchmarkDotNet, memory allocation optimization, Span<T>, async best practices i code analyzers Roslyn.
Unit Testing - xUnit/NUnit/MSTest, Arrange-Act-Assert, mocking z Moq/NSubstitute, FluentAssertions i TDD intro.
Dependency Injection - Microsoft.Extensions.DependencyInjection, service lifetimes Transient/Scoped/Singleton i IoC patterns.
JSON i serializacja - System.Text.Json, serialization/deserialization, custom converters i Source Generators dla JSON.
Praca z plikami - File/Directory/Path, StreamReader/Writer, async file operations, memory-mapped files i System.IO.Pipelines.
Obsługa błędów - try/catch/finally, exception filters when, custom exceptions, Result pattern i global exception handling.
User-defined operators - operator overloading, compound assignment += -= C# 14, conversion operators implicit/explicit.
File-scoped i Global Usings - file-scoped namespaces, global usings, implicit usings .NET 6+ i file-local types C# 11.
Partial types - partial classes, partial methods, partial properties C# 13, partial constructors C# 14 i Source Generators.
Attributes i Reflection - built-in attributes, custom attributes, reflection basics i Source Generators jako alternatywa.
Delegates i Events - Action, Func, Predicate, lambda improvements C# 14, static lambdas i expression trees.
LINQ - Language Integrated Query, query vs method syntax, Where/Select/GroupBy/Join i custom LINQ operators.
Async/Await - Task, ValueTask, ConfigureAwait, IAsyncEnumerable, Parallel.ForEachAsync i cancellation tokens.
Span<T> i Memory<T> - wydajność bez alokacji, implicit span conversions C# 14, stackalloc i zero-copy programming.
Pattern Matching - type/property/positional patterns, list patterns, logical patterns and/or/not i switch expressions.
Extension Members C# 14 - extension methods, extension properties, extension operators i extension blocks.
Typy generyczne - generic classes/methods/interfaces, constraints where T, generic math i static abstract members.
Interfejsy w C# 14 - static abstract members, default implementations, extension members dla interfejsów i generic math.
Dziedziczenie i polimorfizm - virtual, override, abstract, sealed, default interface implementations i pattern matching.
Records - record classes vs structs, with-expressions, positional records, value-based equality i kiedy używać.
Klasy w C# 14 - primary constructors, init-only properties, auto-properties z field keyword i file-scoped namespaces.
Null safety - nullable reference types, operatory ?, ??, ??=, null-conditional assignment i programowanie bez NullReferenceException.
Metody w nowoczesnym C# - local functions, expression-bodied =>, lambda improvements i static lambdas C# 14.
Kontrola przepływu - if/else z pattern matching, switch expressions, type/property/positional patterns i pętle.
Kolekcje - List, Dictionary, HashSet, collection expressions [1,2,3], spread operator [..list] i LINQ podstawy.
String'i w 2026 - raw string literals, string interpolation, UTF-8 literals, Span<char> i Memory<T> dla wydajności.
Zmienne i stałe - var, const, readonly, nowy field keyword C# 14 i pattern matching dla zmiennych.
Typy danych w C# 14 - typy wartościowe vs referencyjne, nullable reference types, target-typed new i required members.
Fundamenty C# 14 - top-level statements, nullable reference types, init-only properties i ewolucja od C# 6.0 do 14.
Od zera do PR w 45 minut - walkthrough budowania TaskFlow API z Coding Agentem krok po kroku.
Cookbook dla .NET - gotowe przepisy do skopiowania: instrukcje, skills, agenci, hook i konfiguracja MCP.
Słownik terminologii Copilot - definicje pojęć i tabela polskich odpowiedników kluczowych terminów.
Przed i po customizacji - 8 przykładów z .NET: HTTP client, testy, API endpoint, EF Core i code review.
Instalacja i używanie Plugins - marketplace, zarządzanie i pakowanie konfiguracji .NET w jeden plugin.
Copilot Coding Agent w praktyce - delegowanie issues, review PR i 7 błędów agenta w projektach .NET.
Agentic Workflows - autonomiczne automatyzacje GitHub Actions z triggerami, schedule i slash commands.
Hooks w Copilot - automatyzacja zdarzeń sesji i quality gate z dotnet format oraz Roslyn Analyzers.
MCP Servers - podłączenie GitHub, PostgreSQL i Azure DevOps do agenta przez Model Context Protocol.
Budowanie własnych agentów - anatomia .agent.md i gotowi agenci code reviewer i planner dla .NET.
Tworzenie Skills w Copilot - SKILL.md, bundlowane zasoby i gotowe skills dla testów i scaffoldingu .NET.
Definiowanie custom instructions - rodzaje, path-specific frontmatter i przykłady dla .NET.
Trzy poziomy konfiguracji Copilota - user, workspace i repository z plikiem copilot-instructions.md.
Jak Copilot rozumie kontekst projektu - okno kontekstu, warstwy i @workspace vs #codebase.
Agents, Skills i Instructions w Copilot - trzy warstwy konfiguracji i ich wzajemne zależności.
Czym jest agentic development i dlaczego zmienia rolę .NET developera - wprowadzenie do cyklu.
Full Stack: React + TypeScript frontend i .NET Core API - CRUD i deployment.
JWT, przechowywanie tokenów, refresh tokeny i ochrona tras.
useMutation, optimistic updates, invalidation i paginacja w React Query.
React Query - useQuery, cache, klucze zapytań i strategie refetch.
Fetch vs Axios, interceptory, timeouty i retry logic w komunikacji z API.
Error Boundaries, fallback UI oraz logging i monitoring błędów.
Testing Library i Jest: testowanie komponentów, hooków i interakcji.
Zustand jako lekka alternatywa dla Redux do zarządzania stanem globalnym.
React Hook Form: rejestracja pól, walidacja i integracja z yup/zod.
Konfiguracja TypeScript w React, typowanie propsów, state i eventów.
Memoizacja komponentów, useMemo, useCallback, lazy loading i profilowanie.
CSS Modules, Styled Components, Tailwind i dobre praktyki stylowania.
Instalacja i użycie React Router: trasy, parametry i protected routes.
Tworzenie własnych hooków: useFetch, useLocalStorage, useDebounce.
useReducer jako sposób na złożone zarządzanie stanem i pattern Redux.
Problem prop drilling i użycie Context API wraz z useContext.
Cykl życia z Hooks, useEffect, czyszczenie efektów i dependency array.
useState, zdarzenia, formularze kontrolowane vs niekontrolowane i listy.
Struktura projektu React, JSX i pierwszy komponent funkcyjny.
Osobiste wprowadzenie i powody wyboru React - od .NET do frontendu.
Podsumowanie całej serii i propozycje dalszego rozwoju z użyciem Semantic Kernel.
Finalny projekt z użyciem Semantic Kernel – budujemy Research Assistant od podstaw.
Najlepsze praktyki i pułapki w pracy z Semantic Kernel – czego unikać i co stosować.
Zaawansowane scenariusze użycia Semantic Kernel – case study z życia wzięte.
Porównanie Semantic Kernel i LangChain – różnice, podobieństwa i kiedy warto wybrać który.
Integracja Semantic Kernel z Microsoft 365 – jak połączyć moc AI z usługami Office.
Zarządzanie kontekstem i pamięcią w Semantic Kernel – klucz do efektywnego działania AI.
Tworzenie własnego agenta AI w Semantic Kernel – krok po kroku, od podstaw do działania.
Czym są planery w Semantic Kernel i jak pomagają w organizacji działań agenta AI.
Przegląd wbudowanych pluginów w Semantic Kernel i ich zastosowań w codziennej pracy.
Jak tworzyć i używać własne pluginy w Semantic Kernel – praktyczne przykłady i zastosowania.
Wprowadzenie do Semantic Kernel – czym jest, jak działa i dlaczego warto go używać w projektach .NET.
Poznaj historię naszego wejścia w świat Semantic Kernel – od pierwszych problemów po konkretne rozwiązania.
Najlepsze praktyki w TypeScript - wskazówki, jak pisać czysty, zrozumiały i wydajny kod.
Dowiedz się, jak korzystać z TypeScript z bibliotekami JavaScript i dodawać brakujące typy.
Tworzenie typów dla API w TypeScript - skuteczne typowanie danych przychodzących.
Przewodnik po używaniu TypeScript w aplikacjach backendowych z Node.js.
Jak integrować TypeScript z React? Dowiedz się, jak typować komponenty i propsy.
Asynchroniczność w TypeScript - typowanie funkcji async i obsługa Promises.
Obsługa błędów w TypeScript - techniki typowania wyjątków i zarządzania błędami w kodzie.
Dekoratory w TypeScript - jak je stosować, aby modyfikować klasy, metody i właściwości.
Type Guards w TypeScript - narzędzia do sprawdzania typów podczas działania aplikacji.
Union i Intersection Types - jak łączyć i przecinać typy, aby zwiększyć elastyczność kodu.
Odkryj typy użytkowe w TypeScript, które upraszczają zarządzanie typami, takie jak Partial czy Readonly.
Poznaj typy generyczne w TypeScript i jak wykorzystać je do tworzenia bardziej uniwersalnych funkcji.
Dowiedz się, jak tworzyć złożone typy w TypeScript, takie jak typy zagnieżdżone czy opcjonalne.
Wprowadzenie do klas w TypeScript - podstawy programowania obiektowego w praktyce.
Zrozum, jak działają interfejsy w TypeScript i jak pomagają w definiowaniu struktur danych.
Naucz się, jak typować zmienne i funkcje w TypeScript, aby kod był bardziej czytelny i bezpieczny.
Poznaj podstawowe typy danych w TypeScript, takie jak string, number, boolean i inne.
Napisz swój pierwszy program w TypeScript - od prostych komend po pełne uruchomienie.
Kompletny przewodnik instalacji TypeScript i konfiguracji środowiska do pracy z tym językiem.
Dowiedz się, czym jest TypeScript, jakie są jego zalety i dlaczego warto zacząć używać go w swoich projektach.
W tym krótkim wpisie utworzymy prosty translator korzystając z aplikacji konsolowej, paczki OpenAI oraz możliwości samego ChataGPT.
Strategie indeksowania i tworzenia kopii zapasowaych, zarządzanie pulami połączeń, przestawienia i przekształcenia danych, optymalizacja zapytań.
Asynchroniczna obsługa bazy danych, kontrola współbieżności, analiza statyczna, migracja schematu, pula połączeńm synchronizacja danych.
Fragmentacja, zapytania SQL, optymalizacja indeksów, replikacja, prodecury składowane, deduplikacja danych, wyzwalacze.
Widoki, transakcje bazodanowe, zapytania SQL, efektywne zarządzanie danymi w bazie danych.
ADO.NET, EntityFramework, optymalizacje baz danych w .NET, migracje, procedury składowane, warstwy dostępu, buforowanie danych, indeksy, connection pooling.
Pora na 50 promptów z perspektywy technologii .NET ORM. Wpis podzielony na 5 części, aby łatwiej przebrąć przez wszystkie przykłady.
ASP.NET WebAPI: rozpoznawanie obrazów, integracja z mediami społecznościowymi, nagłówki żądania, analiza sentymentu, kontroler asynchroniczny, formater MessagePack, eksporty Excela, transformacja danych, middleware ograniczeń, uczenie maszynowe.
ASP.NET WebAPI: buforowanie, agregacja danych, HATEOAS, metryki, szyfrowanie, płatności online, kompresja, raporty, powiadomienia, walidacja.
ASP.NET WebAPI: WebSocket, niestandardowe formatery, generowanie PDF, geolokalizacja, OAuth 2.0, negocjacja treści, operacje obrazów, szyfrowanie, kody kreskowe, analiza sentymentu.
ASP.NET WebAPI: graniczenia ilościowe, złożone filtrowanie, rejestrowanie żądań, wersjonowanie, powiadomienia e-mail, niestandardowy model binder, operacje wsadowe, częściowe aktualizacje, kompresja odpowiedzi, pełnotekstowe wyszukiwanie.
ASP.NET WebAPI: uwierzytelnianie JWT, niestandardowy atrybut wyjątków, kontroler JSON, middleware walidacji, atrybut filtra akcji, Swagger, paginacja, buforowanie, przesyłanie plików, nagłówki CORS dla bezpiecznej integracji API.
Pora na 50 promptów z perspektywy technologii ASP.NET WebAPI. Wpis podzielony na 5 części, aby łatwiej przebrąć przez wszystkie przykłady.
ASP.NET MVC: Eksport Excel, Infinite Scroll, Web API, Buforowanie, Wiązanie danych po stronie serwera, Transakcje bazodanowe, Pliki kalendarza ICS, Aktualizacje w czasie rzeczywistym (SignalR), OAuth, Atrybuty Filtra dla Wydajności.
ASP.NET MVC: WebSocket, generowanie kanałów RSS, wizualizacja danych, przetwarzanie w tle (Hangfire), tokeny antyCSRF, MVVM, kompresja HTTP, preprocesory CSS, wyszukiwanie pełnotekstowe.
ASP.NET MVC: Bootstrap, żądania HTTP, autoryzacja, JavaScript/jQuery, filtrowanie, eksport CSV, buforowanie, obsługa wyjątków, rejestrowanie, internacjonalizacja.
ASP.NET MVC: Niestandardowy ogranicznik trasy, walidacja jQuery, generowanie plików do pobrania, helper HTML, strony układu, przesyłanie plików, autoryzacja, paginacja z PagedList, powiadomienia e-mail, generowanie dokumentów PDF.
ASP.NET MVC: Metoda kontrolera do pobierania i przekazywania danych, walidacja modelu, widok z listą, aktualizacja formularza, niestandardowy wiązacz modelu, komponenty interfejsu, JSON, autoryzacja, model widoku, obsługa AJAX.
Pora na 50 promptów z perspektywy technologii ASP.NET Core MVC. Wpis podzielony na 5 części, aby łatwiej przebrąć przez wszystkie przykłady.
Integracja z Elasticsearch, generowanie wykresów, geokodowanie, wzorce w tekście, wysyłanie SMS, konwersja Markdown, integracja z kolejkami, eksport danych do Excel.
Przesyłanie plików do chmury, generowanie miniatur, szyfrowanie ustawień, generowanie PDF, analiza PDF, wysyłanie maili, powiadomienia push.
Operacje na obrazach, generowanie bezpiecznych haseł, konwersja daty, logowanie, API, wyszukiwanie tekstu, JWT, ADO.NET.
Silnia, podstawowe operacje matematyczne, konwersja JSON, sprawdzanie hasła, szyfrowanie AES, generowanie kodu QR, odległość Haversine.
Sortowanie, rekurencja, wyrażenia regularne, generowanie losowych ciągów, operacje CRUD z EF Core, konwersja tekstu na liczbę.
Pora na 50 promptów z perspektywy technologii .NET. Wpis podzielony na 5 części, aby łatwiej przebrąć przez wszystkie przykłady.
Pora na frontend: generowanie i przegląd kodu, pisanie scenariszy testowych, konwersja kodu, dokumentacja i wiele, wiele więcej.
Najlepsze prompty z perspektywy programistów backend: składnia, najlepsze praktyki, generowanie kodu, testowanie, dokumentacja i wiele, wiele więcej.
Prompt Engineering to proces tworzenia skutecznych i precyzyjnych poleceń dla modeli językowych, takich jak GPT, w celu uzyskania pożądanych odpowiedzi lub zachowań.
ChatGPT jako nasz asystent usprawniający proces programowania i zwiększający naszą produktywność.
Ostatni wpis w tym cyklu, spróbujmy podsumować wszystko czego się nauczyliśmy i omówimy najlepsze praktyki w pracy z DynamoDB.
Przed zakończeniem cyklu wpisów musimy jeszcze spojrzeć na obsługę błedów wraz z praktycznym przykładem w języku C#.
Wykorzystajmy narzędzie monitorowania jakim jest CloudWatch w celu agregowania i analizy wydajności naszych tabel w DynamoDB.
Rozszerzmy nieco poprzedni wpis zwracając uwagę na dozwolone działania, dostęp do zasobów oraz warunki dostępności dla poszczególnych akcji.
Zbliżamy się powoli do końca tego cyklu. Musimy jednak spojrzeć jeszcze na kilka rzeczy. W tym wpisie porozawiamy o kontroli dostępu.
Pora na omówienie transakcyjności w DynamoDB - przygotujcie się na długi wpis.
Teoria odnośnie LSI za nami - pora na praktyczne przykłady z wykorzystaniem AWS SDK dla .NET.
Przechodzimy do drugiego z wspomnianych indeksów, tj. LSI (lokalny indeks wtórny).
Mnóstwo teorii w poprzednim wpisie, pora na przykłady z wykorzystaniem języka C#.
Przechodzimy do szczegółowego opisu GSI w którym skupimy się m.in. na omówieniu przykładowego scenariusza, odczycie danych z indeksu czy samym zarządzaniu indeksem.
Ten i kilka kolejnych wpisów to tematy dotyczące indeksów oraz informacje dotyczące efektywnego ich wykorzystania.
Pora na praktyczne przykłady operacji Scan przy pomocy AWS SDK dla .NET.
W bardzo dużym skrócie: operacja Scan to odczyt każdego elementu w tabeli lub indeksie pomocnicznym.
Przechodzimy do praktycznych przykładów wykorzystania operacji Query przy pomocy AWS SDK dla .NET.
Zapytania to nie tylko 'Query' ale szereg powiązanych tematów, tj. spójność odczytu, wyrażenia filtrujące, zliczanie elementów w wynikach i wiele więcej.
W poprzednim wpisie dodaliśmy nowe elementy do dwóch tabel. Sprawdźmy teraz jakie elementy zostały dodane.
Przechodzimy do operacji wsadowych, tj. serii zadań do wykonania - w tym przypadku dodamy wiele elementów za jednym razem.
W tym wpisie usuniemy z tabeli element na którym działaliśmy przez ostatnie wpisy. Wykorzystamy metodę DeleteItem.
Spójrzmy na kolejną z metod operacji CRUD, UpdateItem, tj. aktualizowanie elementu.
Tym razem wykorzystamy metodę GetItem w celu pobrania elementu dodanego w poprzednim wpisie.
W tym wpisie zapoznamy się z operacją PutItem, która pozwala na dodanie nowego elementu do tabeli.
Interface API DynamoDB pozwala nam na szereg różnych operacji do których zaliczamy: manipulowanie tabelami, odczyt danych czy modyfikację danych.
Kolejny krótki wpis, tym razem dokonamy usunięcia naszej przykładowej tabeli.
Tym razem krótki wpis o aktualizacji tabeli.
W poprzednim wpisie utworzyliśmy nową tabelę. Zanim przejdziemy dalej sprawdźmy czy rzeczywiście jest na swoim miejscu.
Przechodzimy do konkretów: tym razem utworzymy pierwszą tabelę wykorzystując AWS SDK i nasz obraz Dockera.
Przed utworzeniem swojej pierwszej tabeli w DynamoDB musimy jeszcze omówić typy danych - będziemy ich regularnie używać od kolejnego wpisu.
Wykorzystując Docker'a przygotujemy lokalną wersję DynamoDB do testowania aplikacji w trybie offline (bez ponoszenia kosztów).
Szersze spojrzenie na podstawowe pojęcia: tabele, atrybuty, elementy, klucz główny, indeksy, przepustowość.
Na zakończenie tej serii wpisów spróbujemy wygenerować szablon prostej strony internetowej, którą możemy potem dopasować do swoich potrzeb.
Nikt z nas nie lubi debugować kodu. Ze swoim kodem zwykle jednak nie mamy problemu, gorzej, gdy musimy sprawdzić rozwiązania innych programistów.
Sprawdźmy kilka przykładów generowania kodu w języku C#.
To co nas najbardziej interesuje, pomoc generatywnej sztucznej inteligencji przy generowaniu kodu.
ChatGPT pozwoli zaoszczędzić trochę czasu przy publikacjach postów również na Facebooku.
Potrzebujecie przygotować publikację o biznesowym charakterze, nową ofertę pracy albo interesujące statystyki? ChatGPT pomoże i w tym zadaniu.
Pisanie postów nigdy nie było tak proste. Przekazując odpowiedni kontekst możemy w kilka chwil dostać serię postów na nasze media społecznościowe.
Dopełnieniem poprzedniego wpisu jest list motywacyjny.
Szukacie nowej pracy a ostatnie CV utworzyliście kilka lat temu? Chatbot przygotuje szablon, który możemy dopasować do własnych potrzeb.
Chcecie poznać wyjaśnienie jakiegoś skomplikowanego (a może nudnego) zagadnienia? Warto skorzystać z wiedzy jaką oferuje ChatGPT.
Nie macie czasu na czytanie danego artykułu, interesuje Was tylko podsumowanie? ChatGPT może w tym pomóc.
Potrzebujecie przygotować wiadomość dla nowego klienta albo napisać skargę na zbyt niskie odszkodowanie? Chatbot już czeka, aby nam pomóc.
W tym wpisie zajmiemy się poszukiwaniem nagłówka idealnego. Zrobimy kilka eksperymentów a efektem są pomysły na kolejne wpisy.
A to pierwszy opublikowany na tym blogu wpis w pełni napisany przez ChatGPT.
Pomysł na wpis już macie, ale jak zacząć? Z pomocą przychodzi ChatGPT.
Brakuje Wam pomysłów na organizację wydarzenia czy tematy wpisów? Warto przeprowadzić burzę mózgów z AI.
Omówienie techniki zero oraz few-shots.
Poza kontekstem polecenia niezywkle istotne jest pojęcie roli - różne role generują różne wyniki.
Tworzenie konta, pierwszy prompt oraz kilka informacji o ChatGPT Plus.
Krótkie podsumowanie poprzedniego wpisu, kilka ogólnych zasad dotyczących pisania poleceń i lecimy dalej.
Zaczynamy nową serię wpisów w której skupimy się na generatywnej sztucznej inteligencji. Na tapetę bierzemy ChatGPT.
Czym jest DynamoDB? Jakie ma zalety? Czym się różni od RDMBS? Jakie ma ograniczenia?
Wracamy po dłuższej przerwie...kontynuujemy naszą przygodę z AWS a w tej serii zapoznamy się z DynamoDB.
Rozdzielenie warstw aplikacji, wykorzystanie różnych technologii, przygotowanie kompletnej aplikacji.
Rozdzielenie warstw aplikacji, wykorzystanie różnych technologii, przygotowanie kompletnej aplikacji.
Pora na nieco bardziej skomplikowany przypadek użycia - tym razem przekażemy dodatkowy parametr.
API Gateway pozwala na wywołanie funkcji Lambda wykorzystując adres HTTPS.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Amazon Kinesis ułatwia zbieranie, przetwarzanie i analizowanie danych strumieniowych w czasie rzeczywistym.
W tym wpisie skupimy się na usłudze pomagającej logować wszelkie działania wykonywane w konsoli AWS.
W tym wpisie skupimy się na usłudze powiadomień świadczonej w ramach AWS - dokonamy oczywiście integracji z funkcją Lambda.
Realizacja zaplanowaych zadań jest niezwykle częstym mechanizmem stosowanym w programowaniu - jak poradzi sobie Lambda?
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
DynamoDB jako wyzwalacz dla funkcji Lambda w momencie dodawania, aktualizowania oraz usuwania danych.
Przechodzimy do praktycznych przykładów: przygotujemy funkcję reagującą na dodanie pliku do S3.
Tworzenie funkcji Lambda nie jest nam już obce - spójrzmy jak przygotować implementację w języku C#.
CloudWatch to usługa pomagająca w rejestrowaniu wszystkich żądań kierowanych do funkcji. Ułatwia monitrowanie całego systemu.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Sprawdźmy jak w praktyce wygląda testowanie funkcji z poziomu konsoli oraz CLI.
Pora na utworzenie pierwszej funkcji Lambda, wdrożenie, przetestowanie oraz sprawdzenie dziennika zdarzeń.
AWS CLI jest narzędziem wiersza poleceń, które pomaga w pracy z usługami AWS.
W tym wpisie połączymy Visual Studio ze swoim kontem Amazon dzięki czemu będziemy deployować kod w prosty sposób.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Czym jest AWS Lambda? Z jakimi usługami potrafi się integrować? Jakie są popularne przypadki użycia?
Zanim rozpoczniemy nową serię wpisów zrobimy małe przypomnienie w związku z wprowadzeniem do usług AWS.
Event Sourcing to przechowywanie każdej zmiany stanu w kolejności w jakiej wystąpiły w aplikacji.
W tym wpisie omówimy CQRS (z przykładową implementacją) oraz wzorzec mediatora.
Podsumowanie serii wpisów, wstęp do kolejnego cyklu, książki w oczekiwaniu na nowe wpisy.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Work Mail to zarządzana w chmurze usługa poczty elektronicznej i kalendarza.
Uczenie maszynowe to usługa, która pozwala na tworzenie aplikacji predykcyjnych za pomocą algorytmów oraz modeli matematycznych...
Amazon Kinesis ułatwia zbieranie, przetwarzanie i analizowanie danych w czasie rzeczywistym.
Tym razem skupimy się na usłudze, która pozwala na tworzenie i dostęp do relacyjnej bazy danych.
Amazon Route 53 to wysoce dostępna i skalowalna usługa DNS (Domain Name System).
Auto Scaling to proces automatycznego skalowania instancji w górę lub w dół w zależności od zapotrzebowania.
Kiermasz programisty - zbiór promocji na książki (oraz ebooki) programistycznie przecenione o nawet 50%. (Uwaga: ładownie kolekcji trwa kilka sekund.)
Amazon Elastic Block Store to system blokowej pamięci masowej służący do przechowywania trwałych danych.
Pora na poznanie usługi, która pobiera dane z S3 i dystrybuuje je do wielu centrów danych
DynamoDB to w pełni zarządzalna usługa bazodanowa NoSQL.
W tym wpisie zapoznamy się ze skalowalną, szybką i tanią usługą do przechowywania danych.
Lambda to niezwykle przydatna funkcja, która reaguje na różne zdarzenia w naszej aplikacji.
VPC pozwala na korzystanie z zasobów AWS w wirtualnej sieci prywatnej.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
EC2 (Elastic Compute Cloud) to usługa pozwalająca na dynamicznie zarządzanie zasobami obliczeniowymi w chmurze.
Poznajmy konsole zarządzania usługami AWS, której będziemy używać na każdym kroku.
Pora na utworzenie konta, zapoznanie się z identyfikatorami AWS, uproszczenie procesu logowania, itd.
W tym wpisie omówimy kilka podstawowych komponentów architektury AWS.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Czym jest Cloud Computing? Rodzaje chmur obliczeniowych. Modele usług w chmurze. Zalety i wady rozwiązania.
Rozpoczynamy nowy cykl wpisów - tym razem poznamy usługi, które oferuje nam Amazon Web Services.
Zmiany na blogu związane z nagłówkiem artykułów, mała prośba dotycząca reklam pionowych oraz wsparcie bloga w postaci 'Postaw Kawę'.
Szybkie spojrzenie na polecenia dostępne dla konsoli menadżera pakietów oraz dotnet CLI.
Migracje pozwalają na zachowanie spójności pomiędzy modelem EF Core a bazą danych.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Mechanizm logowania i rejestrowania poufnych wartości do których zaliczamy parametry tworzonych poleceń.
Wykorzystanie metod FromSqlRaw oraz FromSqlInterpolated w celu wykonywania procedur oraz poleceń.
Wykonywanie nieprzetworzonych zapytań SQL dzięki metodzie FromRawSQL.
W tym wpisie wykorzystamy metodę TrackGraph w celu własnoręcznego zarządzania stanem EntityState.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Omówienie zmian stanu EntityState dla encji głównej oraz podrzędnych w scenariuszu rozłączonym.
W tym wpisie poznamy niezwykle przydatne Shadow Properties, tj. właściwości cienia.
Klasa ChangeTracker pozwala na śledzenie stanu każdej encji w obrębie tego samego kontekstu.
Omówienie operacji DELETE na bazie scenariusza rozłączonego.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Omówienie operacji UPDATE na bazie scenariusza rozłączonego.
Omówienie operacji INSERT na bazie scenariusza rozłączonego.
Omówienie scenariusza rozłączonego w którym kontekst nie jest świadomy o zmianach zachodzących na encjach.
Konfiguracja relacji wiele do wielu w oparciu o Fluent API.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Konfiguracja relacji jeden do jednego w oparciu o Fluent API.
Konfiguracja relacji jeden do wielu w oparciu o Fluent API.
W tym wpisie poznamy możliwości konfiguracyjne, które oferuje Fluent API oraz poznamy udostępnione metody.
Przechodzimy do omówienia różnych sposobów konfiguracji klas domenowych: Data Annotations oraz Fluent API.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Lazy Loading - odroczenie ładowania danych do momentu w którym są nam rzeczywiście potrzebne.
W tym wpisie poznamy sposoby na tworzenie złożonych zapytań: Eager Loading, Include, ThenInclude oraz zapytania projekcyjne.
Kolejny wpis to omówienienie automatycznego tworzenia relacji jeden do jednego na bazie domyślnej konwencji.
W tym wpisie poznamy 4 konwencje, które pozwalają na automatyczne budowanie relacji jeden do wielu.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Konwencje to zbiór domyślnych reguł na bazie których EF buduje schemat bazy danych.
Na bazie przygotowanego w poprzednim wpisie modelu przetestujemy wykonywanie operacji: INSERT, UPDATE oraz DELETE
Tym razem omówimy podejście code first, utworzymy model, klasę kontekstową oraz dokonamy migracji.
DbContext - klasa kontekstowa EF, która reprezentuje sesje z bazą danych.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Zaczniemy od podejścia database-first, które ułatwi nam zapoznanie się z klasą kontekstową oraz wygenerowanymi modelami.
Rozpoczęcie pracy z frameworkiem wiąże się z poznaniem i instalacją odpowiednich paczek.
EF Core: krótka historia, spojrzenie w przyszłość, podejścia projektowe, porównanie z EF 6.
Wpis wprowadzający do szeroko rozumianej technologii Entity Framework.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Zapytania podrzędne/podzapytania są specjalnym rodzajem zapytań używanym wewnątrz klauzuli WHERE.
Widoki pozwalają na tworzenie wirtualnych tabel w których możemy przechowywać dane w sposób uporządkowany.
Tworzenie indeksów pozwala na poprawę wydajności bazy danych. Nieumiejętne wykorzystanie może jednak prowadzić do odwrotnego efektu...
Świąteczne kodowanie - zbiór promocji na książki (oraz ebooki) programistycznie przecenione o nawet 50%. (Uwaga: ładownie kolekcji trwa kilka sekund.)
W tym wpisie zajmiemy się omówieniem wartości NULL, która jest bardzo istotnym konceptem języka SQL.
Polecenie UNION pozwala na łączenie zbiorów z usunięciem duplikatów. UNION ALL łączy oba zbiory.
Klonowanie/Kopiowanie tabel pozwala na przeprowadzanie testów na duplikatach tabel zamiast ich oryginalnych reprezentacjach.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
W tym wpisie wykorzystamy aliasy w praktyce - dokonamy łączenia kilku tabel przy użyciu polecenia JOIN.
Niezwykle użyteczna funkcjonalność języka SQL, która pozwala na tymczasową zmianę nazwy danej tabeli.
10 listopada 2020 roku Microsoft udostępna platformę .NET 5.0.
Pierwszy wpis dotyczący nieco bardziej skomplikowanych zagadnień dotyczących języka SQL - zaczynamy od ograniczeń.
Pora na ostatnie polecenie, którego nauczymy się w ramach startu z językiem SQL. Skupmy się na klauzuli DELETE.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Po dodaniu nowego rekordu do naszej tabeli przyszła pora na jego aktualizację. Tym razem zapoznamy się z klauzulą UPDATE.
Pobieranie, filtrowanie czy grupowanie danych nie sprawia nam już żadnych problemów. Spróbujmy zatem dodać swój własny rekord.
W tym wpisie wykorzystamy klauzulę DISTINCT w celu zwrócenia unikalnych rekordów.
Tym razem skupimy się na trzech kolejnych klauzulach: TOP, LIKE oraz HAVING.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
ORDER BY: sortowanie zwracanych wyników wyszukiwania. GROUP BY: grupowanie zwracanych wyników wyszukiwania.
WHERE - jak zawęzić kryteria wyszukiwania w bazie danych? Odpowiedzią jest instrukcja WHERE.
SELECT - fundamentalna instrukcja języka SQL, która jest podstawą niemal wszystkich innych zapytań.
Kolejnym krokiem związanym ze składnią SQL jest dodanie, zmodyfikowanie oraz skasowanie tabeli.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Przechodzimy do długo wyczekiwanej praktyki - w tym wpisie poeksperymentujemy z poleceniem CREATE/DROP DATABASE.
Operatorów w języku SQL używamy do zdefiniowania warunków instrukcji oraz dokonania ich połączeń.
Krótkie omówienie typów danych dostępnych w języku SQL z którymi mamy styczność w tabelach, zmiennych i wyrażenianiach.
W tym wpisie spojrzymy na najpopularniejsze zapytania jakie oferuje nam język SQL.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Zaznajomieni z koncepcją RDBMS zapoznamy się z trzema najpopularniejszymi systemami zarządzania relacyjnymi bazami danych.
W drugiej części skupiamy się na nieco bardziej skomplikowanych zagadnieniach: ograniczenia, integralność oraz normalizacja.
W pierwszej części omawiamy podstawowe pojęcia takie jak: RDBMS, tabele, pola, rekordy, kolumny, 'wartość' NULL.
Rozpoczynamy nowy cykl wpisów. Tym razem skupimy się na języku SQL co pozwoli nam dążyć do bycia Full Stack Developerem.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
W tym artykule wyślemy swój pierwszy sms z aplikacji ASP.NET Core przy wspiarciu serwisu Twilio.
W ramach odskoczni od 'normalnych' wpisów przygotujemy pierwszą grę w oparciu o JavaScript
W tym wpisie poznamy 5 użytecznych wtyczek dostępnych w środowisku Visual Studo 2019.
W tym wpisie skupimy się na jednym z prostszych wzorców projektowych jakim jest Łańcuch Zobowiązań.
Podsumowanie konferencji Microsft Build 2020 z perspektywy programisty .NET.
Runtime compilation - automatyczne odświeżanie widoku po zapisaniu zmian w pliku *.cshtml
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
W artykule spojrzymy na działanie 'Client-Side Library' oraz wykorzystamy bibliotekę Font Awesome.
Tematem tego wpisu jest omówienie strukturalnego wzorca projektowego jakim jest Kompozyt.
Krótka ankieta mająca wpływ na kierunek rozwoju bloga.
Krótki wpis dotyczący nazewnictwa technologii, który na blogu powinien pojawić się jakiś czas temu.
Tym razem sami spróbujemy napisać Newsletter - nie korzystamy z zewnętrznych rozwiązań.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Zanim zaczniemy naszą przygodę z .NET 5 warto lepiej zaznajomić się z narzędziem Visual Studio 2019.
W tym wpisie poruszamy temat wzorca projektowego 'Budowniczny', który należy do grupy wzorców konstrukcyjnych.
Jaka jest przyszłość platformy .NET? Spróbuje odpowiedzieć na to pytanie.
W tym wpisie omówimy 12 podstawowych poleceń wiersza poleceń, które warto znać.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Wraz z zakończeniem cyklu wpisów o Angularze skupimy się nieco na optymalizacji SEO witryny.
W tej części połączymy API z front-end'em przygotowanym w Angularze.
Rozpoczynamy proces integracji Angulara z API utworzonym w technologii .NET Core
Tym razem omówimy niezwykle istotne zagadnienie jakim jest routing.
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
W tym obszernym wpisie porównamy dwa rodzaje formularzy dostępne w Angularze.
Tematem tego wpisu jest omówienia wiązania typu: two-way data binding
Tematem tego wpisu jest omówienia wiązania typu: event binding
Tematem tego wpisu jest omówienia wiązania typu: string interpolation
Tematem tego wpisu jest omówienie wiązania typu: property binding
Zbiór najlepszych promocji (aktualnych w dniu publikacji) na książki specjalistyczne z księgarni: Helion, Onepress, Senus.
Niezwykle istotnym zagadaniem w Angularze jest wiązanie danych - w tym wpisie spojrzymy na różne typy wiązań.
Skupimy się na dyrektywie ngSwitch - omówimy składnie, przeanalizujemy zastosowanie oraz różne przypadki użycia.
Skupimy się na dyrektywie ngFor - omówimy składnie, przeanalizujemy zastosowanie oraz różne przypadki użycia.
Skupimy się na dyrektywie ngIf - omówimy składnie, przeanalizujemy zastosowanie oraz różne przypadki użycia.
Prześledzimy podział dyrektywy oraz najważniejsze z nich - wpis potraktujemy jako wstęp do kolejnych artykułów.
W tym wpisie omówimy kluczowe cechy Angulara 8. Każdy aspekt będzie omówiony w osobnym podrozdziale artykułu.
Odchodzimy od domyślnej struktury folderów w projekcie - wprowadzamy zmiany i dodajemy nowe komponenty.
Zanim pójdziemy dalej musimy prześledzić sposób ładowania aplikacji by w przyszłości nie mieć problemów z dodawaniem nowych komponentów.
Długo wyczekiwany wpis - utworzenie pierwszej aplikacji Angular 8.
Ten wpis przybliży nas do utworzenia pierwszej aplikacji w Angular 8 - zainstalujemy niezbędne narzędzia.
W tym wpisie omówimy kluczowe funkcjonalności wprowadzone lub/i zaktualizowane w Angular 8.
Angular 8: rozpoczynamy naszą nowę przygodę.
Książka, którą zdecydowałem się przeczytać przez rozpoczęciem prac na kolejnym systemem typu enterprise.
W tej części wpisu skupiamy się na architekturze Wielu Klientów i współdzielenia kodu.
W tej części wpisu skupiamy się na architekturze Klient-Serwer.
Tym razem skupimy się na zamianie adresów na postać współrzędnych geograficznych, które mogą zostać naniesione na mapę w postaci znaczników.
W tej części wpisu skupiamy się na architekturze all-in-one.
Wprowadzenie do nowej serii artykułów dotyczących Angulara i jego stosu technologicznego.
Ankieta skierowana do Was, Drodzy Czytelnicy, której celem jest podsumowanie prawie 4 lat działania bloga.
W tym wpisie skupimy się na tworzeniu dokumentów PDF przy użyciu biblioteki IronPdf.
Krótki wpis dotyczący tworzenia danych na potrzeby FakeAPI przy użyciu biblioteki GenFu.
Opis projektu wykonanego po godzinach, który bazuje na technologii ASP.NET Core MVC.
Książka pozwalająca na znakomite przygotowanie do rozmów kwalifikacyjnych - zagadki wymagające myślenia
Ostatni z serii wpis dotyczy problemu związanego z użyciem właściwości Length wewnątrz pętli for.
Kolejny ważny aspekt wydajności związany jest z operacjami wykonywanymi na kolekcjach.
W tym wpisie skupimy się na porównaniu wydajności różnych metod łączenia łańcuchów znaków.
Pierwszy wpis dotyczący pisania wydajnego kodu. W tej części omówimy metodę Split klasy String.
W tym artykule opiszę 7 sposobów pozwalających na bardziej efektywną pracę z typami wyliczeniowymi.
Kolejna z książek mająca na celu rozwój umiejętności związanych z tworzeniem interfejsu użytkownika.
Artykuł ten powstał z okazji 20 lat po premierze pierwszej części filmu Matrix. (proces ładowania może być nieco dłuższy niż zwykle)
Tym razem skupimy się na nowym zastosowaniu operatora binarnego '^'. Jego użycie pozwoli na znacznie łatwiejszy dostęp do tablic.
Wpis pokazuje zmiany związne z nową funckcjonalnością języka C# 8.0 - wyrażenie typu docelowego 'new'
Celem tego artykułu jest prześledzenie zmian związanych z interpolacją ciągu oraz interpretacją dosłownego wyrażenia.
Wpis dotyczący książki do której sięgnąłem wraz z przejściem (tymczasowym) na projekt w pełni skupiony na interfejsie użytkownika.
Omówienie popularnych wtyczek dla środowiska Visual Studio Code. Lista zawiera wtyczki, których używam w codziennej pracy - wpływają pozytywnie na funkcjonalność jak i odbiór całego środowiska.
Rozszerzenie poprzedniego wpisu dotyczące środowiska Visual Studio 2019 Preview. W tej cześci skupimy się na podstawowym omówieniu technologii ASP.NET Core 3.0 Preview.
Pierwszy artykuł dotyczący środowiska programistycznego Visual Studio Code. Skupimy się w nim na debugowaniu aplikacji webowej prosto z VSCode.
Krótkie spojrzenie na nowości, które pojawiły się w Visual Studio 2019 Preview - mowa tutaj o kolejnych wersjach poglądowych ponieważ pojawiają się one dosyć często zanim dojdzie do premiery ostatecznej wersji.
Wpis dotyczący książki, która ułatwila mi zrozumienie metodologii Agile stosowanej w firmie w której obecnie pracuję.
Rozszerzenie poprzeniego artykułu dotyczącego Google Maps API - w tej części skupimy się na śledzeniu położenia urządzenia oraz nanoszeniu przebytej drogi na mapę.
W artykule omówimy sposób zwracania odpowiedzi z API przy pomocy pliku konfiguracyjnego.
Szybkie wprowadzenie do ASP.NET Core 2.1 z poświęceniem głównej uwagi na bezpieczeństwo i prywatność naszych użytkowników.
Artykuł ma na celu wprowadzenie do najczęściej używanych, a jednocześnie bardzo pomocnych skrótów klawiszowych.
Zamysł artykułu jest niezwykle prosty (z pozoru) – porównanie dwóch technologii, tj. dojrzałego .NET Framework oraz całkowicie nowej i ciągle rozwijanej .NET Core.
W tym artykule skupimy się na najważniejszych funkcjonalnościach oferowanych przez ASP.NET Core, które powinny być znane dla każdego programisty tej technologii.
Wpis ma na celu zapozanie się pojęciem serwera Kestel, który pojawił się wraz z technologią .NET Core.
W tym artykule skupimy się na nieco bardziej skomplikowany zagadnieniu dzienników zdarzeń przygotowanych w aplikacji webowej ASP.NET Core.
Kontynuacja poprzedniego artykułu, którego celem jest rozszerzenie wiedzy oraz skupienie się na najlepszych praktykach w pracy z dziennkiem zdarzeń.
Wprowadzenie do tworzenia dzienników zdarzeń przy pomocy biblioteki log4net.
Artykuł ma na celu porównaniu dwóch, obecnie najpopularniejszych brokerów wiadomości: RabbitMQ i Apache Kafka. Wprowadzenie, różnice, przypadki użycia będą naszym głównym tematem.
Plugin do zarządzania serwerem RabbitMQ, CLI (nowy użytkownik, uprawienia), testy i bardziej złożone przykłady użycia
Wprowadzenie do brokera wiadomości: RabbitMQ. W artykule skupimy się na wprowadzaniu, podstawach i bardzo prostym przykładzie.
Przykład prostej aplikacji konsolowej współpracującej z bazą danych NoSQL: MongoDB.
Wprowadzenie do baz danych NoSQL oferujących mechanizm przechowywania i wyszukiwania danych w inny sposób niż relacje tabelaryczne używane w bazach danych SQL.
Tworzenie interaktywnej dokumentacji (Swagger) w projekcie ASP.NET Core WebAPI.
Tworzenie interaktywnej dokumentacji (Swagger) w projekcie ASP.NET WebAPI.
Poprzedni artykuł zakończyliśmy utworzeniem obrazu z naszą aplikacją. Była to aplikacja konsolowa przygotowana w oparciu o technologię .NET Core. Zauważyliśmy jednak pewien problem, wielkość (...)
Artykuł jest kontynuacją pierwszego wpisu dotyczącego platformy Docker: .NET Core – wprowadzenie do platformy Docker. W tej części skupimy się na utworzeniu obrazu i uruchomieniu kontenera z (...)
Docker jest platformą przeznaczoną dla programistów i administratorów pozwalającą na rozwijanie, wdrażanie i uruchamianie aplikacji w oparciu o kontenery. Użycie kontenerów do wdrażania apli (...)
Nie ma niczego zaskakującego w stwierdzeniu, że jednym z największych wyzwań w programowaniu systemów biznesowych jest złożoność. Zmiany były, zmiany będą – zmiany są nieuniknione. Problem n (...)
Używanie map osadzonych w naszych aplikacjach nie jest tak częste jak uwierzytelnianie przez zewnętrzne serwisy – warto jednak również zagłębić się w tym temacie. Może kiedyś będzie przygoto (...)
Artykuł jest poświęcony uwierzytelnianiu za pomocą zewnętrznego serwisu jakim jest Facebook. Krok po kroku pokazuję jak założyć konto na developers.facebook.com, jakie dane nas interesują, j (...)
Podsumowanie całego kursu napisane na prośbę Czytelników. Zebrałem podstawowe informacje dotyczące platformy .NET, zbiór artykułów, książek oraz przydatnych szkoleń.
Jest to podsumowanie kursu dla początkujących programistów C#. Wspomniane są tam kolejne kroki, które można podjać, aby rozwijać swoje umiejetności programistyczne.
Wersjonowanie API jest jedną z niekończących się debat w programowaniu. Niezależnie od tego ile API zbudowałeś, jakie podejście zastosowałeś, zawsze spotkasz się z głosami dobiegającymi z ró (...)
ASP.NET został zaprezentowany 15 lat temu. Od tego czasu był używany przez miliony programistów do tworzenia aplikacji internetowych. Prawie każdego roku Microsoft dodaje nowe możliwości i prezentuje (...)
Drodzy czytelnicy, poniższe pytania zostały przygotowane w taki sposób, aby każdy z Was mógł się zaznajomić rodzajem pytań na które możecie natrafić w trakcie rozmowy kwalifikacyjnej związanej z język (...)
Drodzy czytelnicy, poniższe pytania zostały przygotowane w taki sposób, aby każdy z Was mógł się zaznajomić rodzajem pytań na które możecie natrafić w trakcie rozmowy kwalifikacyjnej związanej z język (...)
Drodzy czytelnicy, poniższe pytania zostały przygotowane w taki sposób, aby każdy z Was mógł się zaznajomić rodzajem pytań na które możecie natrafić w trakcie rozmowy kwalifikacyjnej związanej z języ (...)
Po długiej nieobeności na blogu pora odswieżyć swoją wiedzę związaną z językiem. Microsoft wprowadził nową wersję języka C#. Nauczymy się 7 nowych (wybranych) funkcjonalności. Datą premiery tej wersji (...)
Kilka tygodni temu napisałałem artykuł SQL - wyzwalacze - część I. Skupiłem się na podstawowych operacjach – najważniejsze z nich to dwie tabele wirtualne: inserted i deleted. Pokazałem równ (...)
Trigger (wyzwalacz) jest obiektem bazy danych, który jest dołączony do tabeli. W wielu aspektach jest podobny do procedury składowanej. W rzeczywistości są często określane jako 'specjalny rodzaj proc (...)
W tym artykule skupię się na podstawach obsługi błędów za pomocą bloku TRY CATCH, który został wprowadzony w SQL Server 2005. Opiszę podstawowe funkcje do zwracania informacji dotyczących bł (...)
W tym artykule skupię się na omówieniu podstaw transkacji. Zostaną one opisane oraz pokażę przykłady operacji takich jak: commit oraz rollback. Pokażę również jak poprawnie wyłapywać błędy procedur sk (...)
Procedury składowane to nic innego jak przygotowany kod SQL, który może być wielokrotnie używany. Jeżeli więc masz na myśli zapytanie, które piszesz wielokrotnie warto zapisać je jako procedurę składo (...)
Artykuł ten zostanie podzielony na trzy osobne podartykuły celem łatwiejszego przyswojenia wiedzy. Pierwszy będzie dotyczył funkcji, drugi procedur składowanych a trzeci transakcji. Dobre praktyki pro (...)
ODP.NET, którego używamy do budowania dużego projektu internetowego wprowadził nas w prawdziwe zakłopotanie a my straciliśmy dwa dni na poszukiwania czegoś co w rzeczywistości nie ma prawa działać. (...)
Bazy danych napędzają nowoczesną sieć. Każda duża lub dynamiczna witryna wykorzystuje bazę danych w jakiś sposób a w połączeniu z SQL (Structured Query Langauge) daje praktycznie nieograniczone możlwi (...)
Większość projektów, które ostatnio wykonuje bazuje na technologii .NET Core. Chciałem również dowiedzieć się czegoś na temat zwiększania RPS (Receive Pocket Steering) po stronie backenu. Jest to zwią (...)
Większość programistów zdaje sobie sprawę z tego, że pliki PDB pomagają w debugowaniu kodu – na tym jednak kończy się ich wiedza. Nie czuj się źle jeżeli nie wiesz co dzieje się z plikami PDB. W Inter (...)
Jeżeli rozpocząłeś swoją pracę z ASP.NET MVC prędzej czy poźniej spotkasz się z pojęciem Progresywanego Ulepszania oraz Dyskretnego JavaScript. Pomijając użyteczności i wydajność należy wspomnieć o ba (...)
Jeżeli czytałeś posty lub artykuły na MSDN poświecone nowym funkcjonalnością języka C# 6.0 napewno natrafiłeś na informację, że operator warunkowy null może Ci pomóc znacznie zmniejszyć liczbę trudnyc (...)
Po wielu latach pracy z frameworkiem .NET przyszedł czas na .NET Core. Co zostało zmienione i dlaczego takie zmiany zostało wprowadzone? Tego dowiemy się z poniższego artykułu. (...)
W dzisiejszym artykule skupimy się na opisaniu nowości w języku C# w wersji 6.0. Bez omawiania historii przechodzimy do najnowszej wersji języka, która w poniższych porównaniach zostanie zestawiona ze (...)
Ostatnio w trakcie wprowadzania poprawek w starszych projektach zauważyłem ogromny spadek wydajności działania Visual Studio 2010. W internecie możemy natknać się na wiele sposobów rozwiązania tego pr (...)
Visual Studio dostarcza trzy odmienne sposoby uwierzytelniania użytkowników: Konto indywidualne - aplikacja używa bazy danych; Konto organizacji - użytkownik loguje się do swojego konta Azur (...)
Jaki jest pierwszy krok przy rozpoczęciu pracy nad nową aplikacją biznesową? Czytamy specyfikacje i sprawdzamy jakie są wymagania funkcjonalne. Rozbijamy zadania na mniejsze. W większości przypadków c (...)
Tematem tego artykułu będzie zrozumienie zagadnień związanych z nowym środowiskiem uruchomieniowym. Poznamy relację pomiędzy .NET Version Manager (DNVM), .NET Execution Environment (DNX) ora (...)
W tym artykule postaram się wytłumaczyć czym jest XSS (Cross Site Scripting). Przedstawię kilka przykładów, które są podatne na XSS oraz próbują wstrzyknąć skrypty do naszej strony. W kolejnej części (...)
W tym artykule dowiemy się czym jest SQL Injection, w jaki sposób wpływa na bezpieczeństwo naszych stron internetowych oraz jakie kroki powinniśmy podjąć tworząc aplikację ASP.NET, aby była odporna na (...)
Wzorzec strategii może być traktowany jako wzorzec projektowy reprezentujący zachowanie, który jedocześnie jest prosty w implementacji i łatwy w zrozumieniu. Znajduje on zostosowanie w scenariuszach, (...)
W artykule tym zostanie omówiony wzorzec projektowy Obserwator oraz sposób jego użycia w języku C#. Wielokrotnie w naszej aplikacji może pojawić się potrzeba dokonania aktualizacji danej części aplika(...)
Obecnie TDD jest jedną z najszybciej rozwiąjących się gałęzi w świecie IT. Większość z nasz porusza się w metodologii Agile szukając sposobu na przetestowanie kodu w ramach istniejącego kodu. (...)
W artykule tym postaramy się rozumieć podstawy Repository (repozytorium) oraz Unit of Work (jednostki pracy) a także przygotujemy przykładową aplikację w technologii ASP.NET MVC, która pozwoli nam na (...)
W artykule zostanie omówiony sposób modelowania tabel w relacji jeden do wielu oraz wiele do wielu. Postaram się pokazać co robi za nas Entity Framework oraz jak możemy wydajnie używać tej technologii (...)
W artykule tym zostanie omówione podejście Code First. Zobaczymy również jakie są korzyści zastosowania takiego podejścia. Zanim jednak przejdziemy do właściwej treści artykułu należy się skupić na no(...)
Wiele osób nie zna różnicy pomiędzy Single(), SingleOrDefault(), First() oraz FirstOrDefault(). Poniżej, mam nadzieje w czytelny sposób, zostały przedstawione różnice pomiędzy nimi (...)
Oba powyższe interfejsy mogą wydawać się bardzo podobne do siebie. Interfejs IQueryable implementuje interfejs IEnumerable (...)
Jednym z największych problemów związanych z przygotowaniem aplikacji opartej na połączeniu z bazą danych jest zmniejszenie różnic pomiędzy relacyjnym przechowywaniem danych a ich obiektowym (...)
Artykuł ten będzie poświęcony Entity Framework z perspektywy osoby początkującej a przeznaczony przede wszystkim dla programistów używających na co dzień ADO.NET jako warstwy dostępu do danych. Dla do (...)
NHibernate jest rozwiązaniem ORM dla platformy .NET. Dostarcza środowisko do mapowania obiektowo-relacyjnego dla tradycyjnego, relacyjnego modelu bazy danych. Jego podstawową funkcją jest mapowanie z (...)
Artykuł ten tłumaczy czym jest LINQ to SQL oraz wyjaśnia podstawową funkcjonalność. Funkcjonalność ta ułatwia programiście debuggowanie kodu oraz oferuje wiele nowych sposobów pisania aplikacji. (...)
Artykuł ten jest wprowadzeniem do zapytań wykonanych przy użyciu języka LINQ. Język ten pozwala nam na swobodną pracę z kolekcjami, tj. ich edycję, filtrowanie czy przeszukiwanie. Takie operacje można (...)
Artykuł ten ma na celu zrozumienie różnych pojęć związanych z dostępem do danych przy użyciu ADO.NET. Artykuł ten przeznaczony jest dla osób początkujących w którym zostaną omówione podstawowe technik (...)
W tym artykule postaramy się zrozumieć podstawy wzorca fabryki (Factory Pattern), poznamy jakie są korzyści użycia tego wzorca oraz jak może zostać zaimplementowany w języku C#.(...)
Zasadniczo Tuple (krotka) to uporządkowany ciąg, niezmienny, stałej wielkości i różnorodnych obiektów, np. każdy obiekt określonego typu. Krotki nie są nowe w programowaniu. Są już wykorzystywane m.in (...)
Kiedy w środowisku .NET tworzymy obiekt składa się on z dwóch części, pierwsza z nich to zawartość a druga to referencja do tej zawartości. Dla przykładu, jeżeli utworzymy obiekt taki jak w poniższym (...)
Delegaty są bardzo potężnym narzędziem dostępnym w środowisku .NET. W tym artykule przypomnę po krótce zastosowanie delegatów oraz opiszę ich nowoczesne funkcjonalności. Omówione zostaną poniższe funk (...)
Słowo kluczowe var zostało udostępnione w C# 3.0 z kolei typ dynamic w C# 4.0. Zmienne deklarowane jako var definiowane są niejawnie ale są to typy statyczne. Zmienne deklarowane jako dynamic są typow (...)
Słowo kluczowe yield pozwala na przygotowanie niestandardowych iteracji dokonywanych na kolekcjach. Możemy wyróżnić dwa scenariusze w których użycie słowa kluczowego yield może okazać się przydat(...)
Obecnie komputery osobiste i stacje robocze wyposażone są w procesory wielordzeniowe. Większość aplikacji .NET nie wykorzystuje pełnego potencjału komputera. Nawet, jeżeli programiści starają się wyko (...)
Wyrażenie lambda to anonimowa metoda, która najczęściej jest używana do tworzenia delegatów w LINQ. Mówiąc innymi słowami, jest to metoda bez deklaracji. Jest to bardzo wygodne. Skrót taki pozwala na (...)
Lady loading jest pojęciem polegającym na opóźnieniu ładowania obiektu, aż do punktu w którym tych danych potrzebujemy. Ujmując to w innych słowach, obiekt ładujemy na żądanie, zamiast niepotrzebnego, (...)
Metody rozszerzające to dodatek, który pojawił się w C# w wersji 3.0. Metoda taka umożliwia nam dodanie metod do istniejących typów bez potrzeby tworzenia nowego typu pochodnego, rekompilacji lub mody (...)
Artykuł ten ma na celu zrozumienie różnych pojęć związanych z dostępem do danych przy użyciu ADO.NET. Artykuł ten przeznaczony jest dla osób początkujących w którym zostaną omówione podstawowe technik (...)