Sharp Enthusiasts UMK

Sharp Enthusiasts UMK Wspólnie poznajemy innowacje związane z publiczną chmurą Microsoft Azure oraz technologiami .NET

Dzisiaj porozmawialiśmy sobie o bardzo przydatnej paczce NuGet zwanej Swagger, która znacząco ułatwia tworzenie i prowad...
28/05/2018

Dzisiaj porozmawialiśmy sobie o bardzo przydatnej paczce NuGet zwanej Swagger, która znacząco ułatwia tworzenie i prowadzenie dokumentacji Web API. Wspomnieliśmy też o tym czym jest IIS (Internet Information Services) jak i jego edycja IIS Express ( + także o serwerze Kestrel obecnym w ASP.NET Core).
Poświęciliśmy też czas, aby zaznajomić się z nowinkami wprowadzonymi na Microsoft Build 2018 (ASP.NET Core 2.1, Entity Framework Core 2.1, AI + IoT + Azure Data Bricks, Azure Intelligent Edge + Azure Sphere).
Na koniec zagłębiliśmy się w chmurę Azure omawiając jak można korzystać z chmury (chmura publiczna, prywatna i hybrydowa), rodzaje usług znajdujących się na Azure (IaaS, PaaS, Laas i Saas), a także już konkretne usługi takie jak Azure Traffic Manager, Azure Content Delivery Network, Cosmos DB, Azure Storage).

Darmowy e-book wprowadzający deweloperów do wykorzystania chmury Azure w ich aplikacjach:
https://azure.microsoft.com/en-us/campaigns/developer-guide/

Get started creating apps with the Azure developer guide—everything you need to know to develop applications using Microsoft Azure.

14/05/2018

Na dzisiejszym spotkaniu zaimplementowaliśmy seedowanie bazy danych używając różnych sposobów inicjalizacji Entity Framework. Dowiedzieliśmy się jak dynamicznie można zmieniać zachowanie inicjalizatora używając transformacji pliku Web.config. Omówiliśmy też czym jest logowanie wyjątków, jak stosować global exception handler aby ważne informacje o systemie nie wyciekały na zewnątrz, a także system autoryzacji składający się z systemu Claims i Roles.
Zakończyliśmy małą powtórką z zasad SOLID oraz skorzystaliśmy ze wzorców projektowych takich jak strategy pattern, template pattern oraz adapter pattern.

Na wczorajszym spotkaniu koła rozmawialiśmy o budowaniu systemów opartych na architekturze mikroserwisów. Omówiliśmy ich...
08/05/2018

Na wczorajszym spotkaniu koła rozmawialiśmy o budowaniu systemów opartych na architekturze mikroserwisów. Omówiliśmy ich zalety oraz główne problemy jakie napotykamy podczas ich projektowania. Nie obyło się oczywiście bez wzmianki o Docker, który oparty o chmurę obliczeniową Azure pozwala nam w łatwy i zorganizowany sposób publikować mikroserwisy.
Aby móc zainstalować Docker na swojej maszynie, wymagana jest wersja Pro lub Enterprise systemu Windows 10, który można uzyskać z naszego studenckiego konta Microsoft Imagine (należy pamiętać o włączeniu usługi Hyper-V).

Przykładowy projekt mikroserwisów można zobaczyć tu: https://github.com/dotnet-architecture/eShopOnContainers

Odwiedź również stronę .NET Architecture, gdzie znajdziesz wiele darmowych e-booków opisujących dobre praktyki zastosowane przy budowaniu mikroserwisów, aplikacji webowych, mobilnych, Universal Windows Platform czy też jak opanować DevOps związany z kontenerami Docker:
https://www.microsoft.com/net/learn/architecture

eShopOnContainers - Easy to get started sample reference microservice and container based application. Cross-platform on Linux and Windows Docker Containers, powered by .NET Core 2.0 and Docker eng...

Na dzisiejszym spotkaniu zgłębiliśmy tajniki tworzenia relacji między encjami w SQL Server za pomocą Entity Framework i ...
16/04/2018

Na dzisiejszym spotkaniu zgłębiliśmy tajniki tworzenia relacji między encjami w SQL Server za pomocą Entity Framework i jego Fluent API. Pobawiliśmy się również ASP.NET Identity nadpisując jego domyślne zachowania i porozmawialiśmy o idei inicjalizatorów baz danych.

W związku z dużym zainteresowaniem w temacie łącznia aplikacji z chmurą Azure, kontenerów Docker oraz architekturą mikroserwisów załączam również linki do darmowych e-booków na te tematy:
https://azure.microsoft.com/en-us/campaigns/developer-guide/

https://www.microsoft.com/net/download/thank-you/microservices-architecture-ebook

Get started creating apps with the Azure developer guide—everything you need to know to develop applications using Microsoft Azure.

09/04/2018

Na dzisiejszym spotkaniu skupiliśmy się na pracy z bazą danych z wykorzystaniem narzędzia Entity Framework 6. Stworzyliśmy podstawowe encje, skorzystaliśmy z "interface segregation principle" w połączeniu z dziedziczeniem i klasami abstrakcyjnymi, aby uniknąć powtarzającego się kodu (zasada DRY) w naszych klasach.
Wyjaśniliśmy sobie w jaki sposób Entity Framework tworzy i organizuje bazę danych SQL korzystając z systemu migracji (metoda code first), jak komunikuje się z danymi za pomocą klasy bazowej DbContext oraz nauczyliśmy się przechowywać dane naszych użytkowników w bezpieczny sposób używając biblioteki ASP.NET Identity.
Podczas następnego spotkania poznamy Fluent API w Entity Framework w celu walidacji przechowywanych danych, dowiemy się jak działają inicjalizatory bazy danych, seeding i przygotujemy transformację pliku Web.config w taki sposób, aby dostosowywał się on do wybranej przez nas konfiguracji (development lub produkcja).

26/03/2018

Dzisiejsze spotkanie było mocno skupione na DevOps, ponieważ w pełni przygotowaliśmy nasze środowisko programistyczne i procesy związane z publikacją aplikacji.

Zainstalowaliśmy system kontroli wersji GIT i powiązaliśmy nasz nowy projekt ze zdalnym repozytorium kodu znajdującym się w chmurze - Visual Studio Team Services - omawiając przy tym jaka potrzeba stoi za kontrolowaniem wersji naszej aplikacji, ideę tworzenia gałęzi, zastosowanie komend push, pull, merge, itp. Następnie utworzyliśmy nową aplikację webową na podstawie modelu PaaS (Platform as a Service) w portalu Azure korzystając z naszej darmowej subskrypcji Microsoft Imagine. W pełni zautomatyzowaliśmy cały proces budowania i publikacji naszej aplikacji wykorzystując dostępne nam możliwości CI (Continuous Integration) oraz CD (Continuous Deployment) w VSTS.

Na następnym spotkaniu skorzystamy z usług Azure, aby stworzyć zdalną bazę danych SQL Server, zadbamy o to aby była wypełniana testowymi danymi korzystając z frameworka Entity Framework 6 (mechanizm seed) i w pełni połączymy ją z naszą aplikacją.

Do zobaczenia następnym razem! :D

Zapraszamy do wzięcia udziału w tegorocznej konferencji GET.NET. Jeśli jesteście zainteresowani najnowszymi technologiam...
20/03/2018

Zapraszamy do wzięcia udziału w tegorocznej konferencji GET.NET. Jeśli jesteście zainteresowani najnowszymi technologiami związanymi z chmurą obliczeniową Azure, IoT czy też budowaniem aplikacji cross-platformowych to nie znajdziecie lepszego miejsca żeby rozwinąć się w tym kierunku.

GET.NET zawita do Łodzi już 14 kwietnia! Tym razem spotykamy się w pięknym parku na Dołach, w Centrum Dialogu (ul. Wojska Polskiego 83).

Będziecie mieli okazję wysłuchać 11 znanych i cenionych ekspertów z CAŁEGO ŚWIATA, a aż troje z nich zostało nagrodzonych MVP Microsoftu!

Tematyka wiosennej edycji konferencji zorientowana jest przede wszystkim wokół platformy Microsoft Azure. Nie zabraknie prelekcji dotyczących praktycznego podejścia do wytwarzania aplikacji w chmurze, również w kontekście bezpieczeństwa. W programie wydarzenia znajdą się także sesje skupione na frameworku .Net CORE oraz omówione zostaną alternatywne do Visual Studio IDE - na przykładzie JetBrains Rider. Pasjonaci technologii Mixed Reality będą z pewnością zaciekawieni sesją dedykowaną programowaniu z wykorzystaniem HoloLens.

Szczegóły programu oraz abstrakty poszczególnych prelekcji znajdziecie na naszej stronie internetowej: https://konferencjaget.net/pl/lodz/program.
Zapisy i bilety dostępne są tutaj: https://konferencjaget.net/pl/lodz/rejestracja.

WAŻNE:

Pewnie większość z Was posiada status studenta – mamy dla Was dobrą wiadomość! Bilety studenckie na konferencję GET.NET kosztują TYLKO 49 zł, przez cały czas trwania rejestracji!
Kojarzycie GOUDA WORKS? Tak? To z pewnością ucieszy Was fakt, że tegoroczne pakiety powitalne będą zawierały koszulkę zaprojektowaną specjalnie na GET.NET przez tego cenionego łódzkiego artystę!

Na pierwszym spotkaniu tego semestru ustaliliśmy czego będziemy się uczyć oraz omówiliśmy:- jakie funkcje będzie spełnia...
12/03/2018

Na pierwszym spotkaniu tego semestru ustaliliśmy czego będziemy się uczyć oraz omówiliśmy:
- jakie funkcje będzie spełniać nasza mała aplikacja (https://taskorganizerdemo.azurewebsites.net)
- czym jest API i czym to pojęcie różni się od Web API
- jakie korzyści płyną z wykorzystania Web API w projekcie
- przykład Tweeter Web API
- jakiego typu programiści pracują przy projektach webowych (back-end, front-end, full-stack, itd.)
- dawne sposoby budowania Web serwisów (WCF, RPC, SOAP)
- architektura REST oraz model dojrzałości REST Richardsona (HTTP, HATEOAS, itp.)
- szybkie rzucenie okiem na architekturę projektu (BLL, DAL, IoC Container)
- pobieżny opis sposobów autoryzacji w Web API (Basic, JWT token)
- krótkie demo dodawania podstawowej funkcjonalności do Web API

Na następnych zajęciach rozpoczynamy budowę porządnego i SOLIDnego API od podstaw.

10/03/2018

Zapraszam na pierwsze spotkanie koła w semestrze letnim już w ten poniedziałek 12 marca o godz. 16:00 w sali nr 29.
Zaplanowanie przebiegu spotkań, omówienie działania i idei Web API, jak wykorzystać Web API w swojej aplikacji oraz jak zachować przy tym bezpieczeństwo końcowego użytkownika.
Do zobaczenia!

27/02/2018

TL;DR
W tym semestrze koło jest językowo agnostyczne - dowolna technologia i język programowania. Budowanie drobnej aplikacji do zarządzania zadaniami (coś w rodzaju tablicy kanban https://pl.wikipedia.org/wiki/Tablica_kanban). Celem jest stworzenie aplikacji dostępnej na wszystkich platformach (mobile, web, desktop, itd.). Osiągalne dzięki stworzonemu Web API: https://taskorganizerdemo.azurewebsites.net/
Chcesz kodzić i szukasz grupy innych pasjonatów? Wpadnij ładnie Cię proszę na pierwsze spotkanie. Weź udział w poniższym głosowaniu nad terminem spotkań.

Mam nadzieję, że dzielnie przetrwaliście sesję i jesteście gotowi ponownie pilnie uczestniczyć w spotkaniach naszego .NETowego kółka.
W tym semestrze odchodzimy od teorii i nareszcie pobrudzimy sobie ręce kodem. Chciałbym rozpocząć pracę nad prostą aplikacją służącą do zarządzania zadaniami - "Task Organizer". Będzie to coś w rodzaju prostej tablicy kanban (https://pl.wikipedia.org/wiki/Tablica_kanban) - system będzie składał się z użytkowników-managerów zarządzających użytkownikami-pracownikami. Managerowie będą w stanie dodawać nowe zadania, określać ich priorytet (niski, średni, krytyczny, itp.) i stan (do zrobienia, w trakcie, zrobione, itp.) oraz przypisywać do nich pracowników. Pracownicy będą mogli zalogować się do systemu, aby obserwować ogólny stan pracy i jakie zadania zostały im przydzielone do wykonania.
Chciałbym zaangażować jak największą ilość osób które zainteresowane są programowaniem, dlatego podjąłem konkretne kroki, aby nasze koło stało się w miarę JĘZYKOWO AGNOSTYCZNE. Dzięki wykorzystaniu Microsoftowej technologii ASP.NET Web API oraz chmurze Azure stworzyłem proste Web API, które pozwoli współpracować nam wszystkim bez względu na to jakiego rodzaju aplikacje piszecie (mobilne, webowe, desktopowe, itd.) oraz jakiego języka programowania używacie (C #, Python, PHP, Java, C++, C, JavaScript, you name it). To dzięki temu, że wymiana danych będzie odbywała się za pomocą prostego protokołu HTTP, więc dopóki wasz kodowy język jest w stanie wysyłać żądania HTTP (co robi 99% języków) to jest on jak najbardziej użyteczny w naszym drobnym projekcie.
Ostatecznym celem będzie wykorzystanie logiki zawartej w Web API, aby stworzyć aplikację osiągalną na każdej możliwej platformie (mobilna, desktopowa, konsolowa, webowa). Tak więc jeśli chciałbyś/chciałabyś wziąć udział i być częścią przedsięwzięcia to koniecznie wpadnij na pierwsze spotkanie. Wytłumaczę konkretnie jak wygląda architektura projektu i biorąc pod uwagę jakiego rodzaju koderów załapiemy do grupy zdecydujemy jakie platformy będziemy w stanie podbić.

Obecnie koło może odbywać się raz w tygodniu, w poniedziałki lub wtorki w godzinach 16:00-18:00. Zostaw swój głos, żebym mógł zabierać się za rezerwację sali. Głosowanie zakończę w niedzielę 4 marca.

A oto mały sneak peek API, na którym oprzemy logikę aplikacji:
https://taskorganizerdemo.azurewebsites.net/

Dla zainteresowanych tematem ASP.NET Web API:

Architektura:
• REST "wannabe"
• 2 level of Richardson's REST Maturity Model

Technologie wykorzystane przy budowie Web API:
• ASP.NET Web API 2
• ASP.NET MVC
• .NET Framework
• C #
• Entity Framework 6
• MS SQL Server
• IIS
• Azure
• T-SQL
• HTML5
• CSS3
• JavaScript, jQuery
• Bootstrap

Biblioteki:
• ASP.NET Identity
• Ninject
• AutoMapper
• Fluent validation
• Nlog
• Elmah
• Nunit
• Moq
• Swagger (Swagger-Net)

Narzędzia:
• Visual Studio 2017
• Visual Studio Team Services
• GIT
• ReSharper

Wzorce projektowe:
• Singleton
• Factory
• Dependency injection
• Repository
• Unit of work
• Adapter
• SOLID

Dobre praktyki:
• SoC
• DAL
• DTO
• BLL

Autoryzacja/bezpieczeństwo:
• Basic
• JWT bearer token
• Wymuszanie HTTPS z użyciem message handlera
• Szyfrowanie connection string
• Ograniczenia CORS

Przewidywane w przyszłości:
• HATEOAS
• PATCH
• HEAD
• Partial GET
• SignalR
• Caching
• OAuth 2.0
• Identity Server 3
• Refresh token
• OWIN

Adres

Ulica Grudziądzka 5
Thorn
87-100

Strona Internetowa

Ostrzeżenia

Bądź na bieżąco i daj nam wysłać e-mail, gdy Sharp Enthusiasts UMK umieści wiadomości i promocje. Twój adres e-mail nie zostanie wykorzystany do żadnego innego celu i możesz zrezygnować z subskrypcji w dowolnym momencie.

Skontaktuj Się Z Firmę

Wyślij wiadomość do Sharp Enthusiasts UMK:

Udostępnij