Od zera do .Net Juniora: Interface i klasa abstrakcyjna

W dzisiejszym poście przedstawię czym są klasy abstrakcyjne oraz interfejsy. Post ten jest swego rodzaju pilotażowym postem w moim nowym cyklu "Od zera do .Net Juniora". Będę w nim opisywał oraz pokazywał zagadnienia, z którymi powinna być zaznajomiona osoba starająca się o swoją pierwszą pracę jako Junior .Net Developer. Mam nadzieję że cykl się przyjmie, …

Advertisements

Życie asynchroniczne, czyli o async/await

Przyszedł czas na post nieco bardziej zahaczający o .Net Core. Spojrzymy dziś na przetwarzanie asynchroniczne w C#. Pozwoli nam to na wykonywanie pewnych procesów w tle, bez konieczności blokowania wątku naszej aplikacji. Przetwarzanie takie przydaje się między innymi w pracy nad plikami – na przykład odczytem i zapisem plików, które wykonywane są w osobnym wątku, …

Docker część VI: logi

Dziś zajmiemy się tematem logów w Dokerze. Czym one są? Informacją o tym, co dzieje się w naszym programie, systemie. Dają nam informacje między innymi o tym, jakie wydarzenia miały miejsce oraz jakie błędy wystąpiły w naszym programie. Do sprawdzania logów służy komenda: docker logs [args] [containerId] Może ona zostać wywołana z argumentami takimi jak: …

Docker część V: DockerHub

Po wszystkich naszych zmaganiach przyszedł czas na poznanie Docker Hub. Jest on tym samym dla dockerowych obrazów czym Github dla naszych repozytoriów – miejscem ich przechowywania, udostępniania oraz miejscem, z którego możemy je pobrać. Dziś pokażę, jak wysłać stworzony przez nas obraz z lokalnego zbioru na Docker Hub, a następnie zautomatyzuję ten proces przy pomocy …

Docker część IV: Baza mssql w dockerze i Visual Studio Code

Pracując nad aplikacjami często niezbędna będzie nam lokalna baza danych. Jako programiści .Net z pewnością regularnie, choć nie zawsze, będziemy korzystać z MSSQL. Powoduje to jednak bałagan w naszym systemie, który trzeba będzie później uporządkować. Tu z pomocą przychodzi nam Docker. Pozwala on nam na stawianie baz danych (w tym MSSQL) w kontenerach, które możemy …

Wprowadzenie do Bitbucket Pipelines

Dzisiaj omówię pokrótce, czym jest i jak używa się Bitbucket Pipelines. Jest to narzędzie do Continous Integration wbudowane w Bitbucket dostępne dla każdego, choć darmowa wersja daje nam jedynie 50 minut na budowanie naszych aplikacji. Pipelines jest oparte o obrazy dockerowe, których używa do budowania aplikacji. Jedyne czego tak naprawdę potrzebujemy to plik .yaml, który …

Deployment aplikacji ASP.Net Core w Azure Web Apps

Ostatnie dwa posty wyszły nieco dłuższe niż zakładałem, więc dzisiaj będzie krócej. Stworzymy Azure Web App, na który następnie wrzucimy kod naszej aplikacji ASP.Net Core. Pominę część teoretyczną, ponieważ można ją znaleźć choćby tutaj i przejdę od razu to przykładu: Azure Web App Na potrzeby artykułu zakładam, że każdy posiada już konto na Azure oraz …

Docker część III: dockerfiles

W poprzednich dwóch postach poznaliśmy podstawy poruszania się w dockerowym świecie. Były to jednak dosyć proste przykłady, a my, przy własnych lub firmowych projektach, będziemy używali bardziej rozbudowanego kodu. Ale nie każdy jest w stanie albo chciałby, korzystać z nano lub vima przy pisaniu aplikacji ASP.Net Core. Jednak jak przenieść kod naszej aplikacji z naszego …

Docker część II: kill/stop oraz .Net Core

W poprzednim poście omówiliśmy podstawy używania Dockera na przykładzie prostego programu konsolowego w Pythonie. Wspomniałem w nim o różnicy pomiędzy komendami: docker kill [containerName/containerId] oraz docker stop [containerName/containerId] Teraz przedstawię tę różnicę na przykładzie prostego programu konsolowego napisanego w C#. Stworzy on wątek, który można przerwać poprzez wpisanie naszego (lub nie ;)) imienia, co skończy …

Docker część I: podstawy podstaw

Mój poprzedni post dotyczył stworzenia środowiska służącego do programowania w Assemblerze opartym na Dockerze. Jednak czym ten Docker jest i dlaczego nie należy się go bać? W tym wpisie przedstawię podstawową wiedzę o Dockerze. Podzielony on będzie na 3 części: podstawy teoretyczne(baardzo krótkie ;)), kilka podstawowych komend oraz uruchomienie przykładowego hello world na kontenerze dockerowym …