Praca inżynierska, a technologie na miarę 2k19.

Odpowiedz Nowy wątek
2019-02-09 14:17
0

Hej,

mam do Was lekko enigmatyczne pytanie. Wydaje mi się to na jedno z najbardziej odpowiednich miejsc na zapytanie o technologie warto wykorzystać na miarę 2k19 w swojej inżynierce.
Wydaje nam się, że wybraliśmy dosyć prosty temat do zrealizowania, nie zagłębiając się w wielkie szczegóły, chcemy zrobić swego rodzaju "planer" rezerwacji sal na uczelni. Wybraliśmy, że zrobimy to w C#/.Net, nie mamy za dużo doświadczenia "produkcyjnego", czy w kontekście projektowania systemu od początku do końca, czy samej realizacji "czegoś większego", także przed rozpoczęciem prac chciałbym zapytać: Jakie framework'i polecacie by wykorzystać w takim projekcie, by za razem nie skomplikować sobie pracy, ale w zamyślę stworzyć fajną i wydajną aplikację internetowa. Do tej pory myśleliśmy o takim wydaje mi się "core", czyli pewnie Bootstrap z racji, że nie definiujemy się za bardzo w rejonie artystyczno-CSS'owym :P, Angular i TypeScript + coś do bazy, Microsoftowa jest odpowiednia w takim projekcie(jak już to która?)? Entity dawałoby radę(widziałem gdzieś wątek, że Entity same w sobie jest dobre do zapisu, ale do odczytu już nie? Czy to jakieś pomówienia/coś pokićkałem?)? Czy polecacie coś zupełnie innego? Macie jakieś porady/materiały cenne przy projektowaniu takiego systemu i początku prac? Co wybierać, jak pisać, czego nie pisać, jak ugryź kwestie bezpieczeństwa itp?

PS. Jak to jest z .Net Frameworkiem, a .Net Core, kiedy który? Któryś z nich jest lepszy? Mógłbym mi to ktoś z Was jakoś skrzętnie wytłumaczyć?

Z góry dziękuje za każdą mniejszą i większą poradę. :)

edytowany 1x, ostatnio: Sebixxu, 2019-02-09 14:17

Pozostało 580 znaków

2019-02-09 15:46
2

Co do EF to dajcie spokój- nie zwracajcie uwagi na jakieś tam opinie. EF jest używane produkcyjne, sprawdza się i tyle w temacie. Tak samo jak inne ORMy.

Jeśli chodzi o technologie to macie już doświadczenie z Angular? Jeśli nie, to rozwazylbym bym coś lzejszego, React albo Vue. Ponadto, jeśli macie czas i chęci to możecie rozważyć system oparty o jakiś message broker (np. RabbitMQ i MassTransit, oba open source). To tak gwoli wydajności i elastyczności.

Co do reszty, to dobrze jakbyś sprecyzowal pytania.


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.

Pozostało 580 znaków

2019-02-09 16:05
0
Aventus napisał(a):

Co do EF to dajcie spokój- nie zwracajcie uwagi na jakieś tam opinie. EF jest używane produkcyjne, sprawdza się i tyle w temacie. Tak samo jak inne ORMy.

Jeśli chodzi o technologie to macie już doświadczenie z Angular? Jeśli nie, to rozwazylbym bym coś lzejszego, React albo Vue. Ponadto, jeśli macie czas i chęci to możecie rozważyć system oparty o jakiś message broker (np. RabbitMQ i MassTransit, oba open source). To tak gwoli wydajności i elastyczności.

Co do reszty, to dobrze jakbyś sprecyzowal pytania.

Dzięki wielkie za odpowiedź!

Na początku odniosę się do tego, że mamy dużo/sporo czasu bo praktycznie do wakacji. A więc chciałbym poświęcić ten czas raz na dobry research w technologiach i dobrych zwyczajach programowania/tworzenia takich "semi komercyjnych" projektów i rzecz jasna eksperymenty i samą edukacje w wybranych technologiach. A sam projekt pewnie ma być skończony gdzieś w okolicach stycznia przyszłego roku więc czasowo wypada to całkiem nieźle.

Czyli korzystanie z EF pozostaje, cieszy mnie to bo korzystałem z niego już nie raz i jest na prawdę przyjemny. :)
Ja z naszej dwójki mam subtelne doświadczenie z Angular. Angular jest aż takim kolosem? Myślałem o Angularze z racji jego połączenia z TypeScriptem, który jest według mnie bardziej przyjemny niż suchy JS, chyba że się gdzieś mylę. :P Osobiście mam doświadczenie backendowe, z frontem nie miałem prawie wgl do czynienia. React i Vue są prostsze w zastosowaniu?

Message broker? Pewnie to duży wstyd się przyznać, ale pierwszy raz słyszę o takim pojęciu, mógłbyś jakoś rozwinąć/streścić temat?

Postaram się teraz uściślić resztę pytań:

A jak wyglądają kwestie wyboru bazy danych do takiego projektu. Wiem, że Microsoft udostępnia kilka rodzajów baz, z tego co pamiętam Developer, Express i chyba jeszcze jakieś. Czy wybór rodzaju jest jakoś kluczowy czy przełomowy w samym projekcie czy jest to stosunkowo "obojętne"? I czy sam wybór bazy Microsoftu to rozsądny wybór? Sam korzystałem z niej nie raz i bardzo cenie sobie Managment Studio.

Do tej pory zawsze wybierałem .Net Framework bez zastanowienia kiedy go wybieram. Nie bardzo myślałem nawet o .Net Core. I właśnie, kiedy .Net Core jest dobrym wyborem? Czy w takim projekcie dobrze jest na zwykłym Frameworku czy uczyć się jak rozumiem czegoś nowszego, a więc Core?

Niewiedza to nie wstyd. Wyzbądz się tego chorego poczucia, które pieczołowicie rozwijał w Tobie nasz system edukacji. - Desu dziś, 17:05

Pozostało 580 znaków

2019-02-09 16:27
2

Do tej pory zawsze wybierałem .Net Framework bez zastanowienia kiedy go wybieram. Nie bardzo myślałem nawet o .Net Core. I właśnie, kiedy .Net Core jest dobrym wyborem? Czy w takim projekcie dobrze jest na zwykłym Frameworku czy uczyć się jak rozumiem czegoś nowszego, a więc Core?

Mam wrażenie, że w obecnej sytuacji, jeżeli nie musisz wybrać .NET Framework (bo masz jakieś biblioteki, które go wykorzystują, na przykład, albo tworzysz aplikację WinForms), to powinieneś wybrać Core. Jest nowszy, szybszy, szybciej się rozwija i ma praktycznie identyczne pokrycie dostępnych API. ASP.NET Core 3.0 będzie działać już tylko na .NET Core.

Pozostało 580 znaków

2019-02-09 18:01
1

Czyli korzystanie z EF pozostaje, cieszy mnie to bo korzystałem z niego już nie raz i jest na prawdę przyjemny. :)

Oczywiscie, jest przyjemny, rowniez z niego korzystalem. Nie warto kierowac sie jakimis fanatycznymi opiniami ludzi nastawionych na tylko jedna technologie. Sam np. nigdy nie uzywalem dluzej NHibernate, tylko sie nim chwile pobawilem i nie podoba mi sie. Czy bede przez to go odradzal i mowil ze to zlo? Nie, niech kazdy stosuje to co mu wygodnie i najlepiej pasuje do danej sytuacji.

Ja z naszej dwójki mam subtelne doświadczenie z Angular. Angular jest aż takim kolosem? Myślałem o Angularze z racji jego połączenia z TypeScriptem, który jest według mnie bardziej przyjemny niż suchy JS, chyba że się gdzieś mylę. :P Osobiście mam doświadczenie backendowe, z frontem nie miałem prawie wgl do czynienia. React i Vue są prostsze w zastosowaniu?

Co do Angulara to nigdy z nim nie pracowalem, wiec opieram sie tylko na opiniach innych oraz tym co sam powierzchownie wyczytalem z dokumentacji. Ogolnie to coraz wiecej zainteresowania maja wlasnie lzejsze technologie, mniej narzucajace programiscie i posiadajace mniejszy prog wejscia. Nie ma przeszkod aby korzystac z TS wraz z React/Vue, chociaz fakt ze w Angular jest to naturalnie zintegrowane. Najlepiej jak sami sobie poczytacie o tych trzech najwiekszych tachnologiach frontendowych i razem zdecydujecie.

Message broker? Pewnie to duży wstyd się przyznać, ale pierwszy raz słyszę o takim pojęciu, mógłbyś jakoś rozwinąć/streścić temat?

Zaden wstyd. Stosunkowo niewiele osob o tym slyszalo, mniej zaglebialo temat a jeszcze mniej stosuje. Zaznaczam ze zaleznie od projektu moze byc to przerost formy nad trescia, jednakze jesli zalezy Wam na napisaniu czegos ambitnego, oraz potencjalnie latwo skalowalnego to mysle ze warto to rozwazyc. Krotko mowiac, chodzi o to ze komponenty systemu komunikuja sie za pomoca wysylania wiadomosci (messages), ktore nastepnie umieszczane sa w kolejce i "zdejmowane" z tej kolejki poprzez konsumenty (np. windows service). Skalowlnosc mozna zapewnic zwiekszajac liczbe konsumentow (instancje tego samego windows service- competing consumers). Masz kolejke z wiadomosciami, oraz kilka uruchomionych konsumentow. Najlepiej samemu poczytac:

Asynchronous message-based communication
Competing Consumers pattern
RabbitMQ
MassTransit

A jak wyglądają kwestie wyboru bazy danych do takiego projektu. Wiem, że Microsoft udostępnia kilka rodzajów baz, z tego co pamiętam Developer, Express i chyba jeszcze jakieś. Czy wybór rodzaju jest jakoś kluczowy czy przełomowy w samym projekcie czy jest to stosunkowo "obojętne"? I czy sam wybór bazy Microsoftu to rozsądny wybór? Sam korzystałem z niej nie raz i bardzo cenie sobie Managment Studio.

Jest jak najbardziej normalnym wyborem. Licencja Developer pozwala po prostu na korzystanie z pelnego pakietu (chyba Enterprise jesli sie nie myle) nie-produkcyjnie. SQL Server Express to po prostu wersja darmowa, warto poczytac o ograniczeniach ale mysle ze dla Waszego projektu w zupelnosci wystarczy. Express jest rowniez uzywany w produkcji, i sprawdza sie.

Do tej pory zawsze wybierałem .Net Framework bez zastanowienia kiedy go wybieram. Nie bardzo myślałem nawet o .Net Core. I właśnie, kiedy .Net Core jest dobrym wyborem? Czy w takim projekcie dobrze jest na zwykłym Frameworku czy uczyć się jak rozumiem czegoś nowszego, a więc Core?

Popieram to co kolega wyzej pisal. Nie zastanawiac sie tylko isc w Core.


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.
edytowany 1x, ostatnio: Aventus, 2019-02-09 18:05

Pozostało 580 znaków

2019-02-10 15:18
0

Z tego co widzę to pośrednio słyszałem o "Message broker", bo głośno o tym ostatnio w pracy, szykuje się rewolucja! :P

Jeśli ktoś ma jakieś porady czy opinie, to chętnie przeczytam nie wstydźcie się. :D

Mam teraz pytanie co do materiałów do nauki. Jestem świadomy, że najlepiej po prostu siadać i pisać kod, nie mniej poszukuję jakiś kursów/materiałów/artykułów godnych uwagi do takich tematów jak:
-.Net Core MVC
-Angular
-TypeScript
-Message broker

Polecacie coś? Udemy też wchodzi w grę jeśli ceny nie będą zbyt ogromne. ;)

Pozostało 580 znaków

2019-02-10 16:23
0

Jest sporo darmowych materialow, zalezy czy wolicie artykuly czy tez filmy. Takie pierwsze ktore przychodza mi do glowy:

ASP.Net Core (w tym i MVC)
MassTransit - naprawde warto uwaznie przeczytac, w tym poprzednie wymienione artykuly


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.

Pozostało 580 znaków

2019-02-10 17:10
0

Osobiście poszperałem trochę na Udemy z tego co widzę jest jakaś wyprzedaż, wpadły mi w oko te dwa kursy:
Angular
ASP .Net Core

Domyślam się, że nie miałem z nimi do czynienia, ale czy mógłbyś rzucić okiem? :)

Pozostało 580 znaków

2019-02-10 17:15
0

Jesli mialbym wybierac to kurs po angielsku i taki ktory przedstawia oba zagadnienia (Angular i ASP) razem, a wiec wybor padl by na ten drugi.


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.

Pozostało 580 znaków

2019-02-12 16:19
0

Serverless microservices, komunikacja po service bus i może być front w react :P
Zrób coś z użyciem tego

edytowany 1x, ostatnio: Deltech, 2019-02-12 16:20
Masz jakieś materiały do polecenia na temat serverless? Idealnie gdyby traktowało o .Net ale w oparciu o AWS. Ale cokolwiek wartościowego było by miłe. Serverless jest na mojej liście rzeczy do nauki. - Aventus 2019-02-12 16:26

Pozostało 580 znaków

dziś, 12:33
0

Hej, podczas robienia jednego z kupionych kursów spotkałem się rzecz jasna z EF, ale w innym podejściu, a więc Code First. Wcześniej sądziłem, że EF służy raczej do generowania modeli z gotowej DB i dostępu do niej i teraz kieruję do Was pytanie. Jakie podejście jest lepsze? Code First vs DB First? Moglibyście przedstawić jakieś wady i zalety obu rozwiązań? Która z praktyk jest bardziej zalecana? Osobiście wydaje mi się, że Code First nie mniej wydaje się to trudniejszy orzech do zgryzienia. :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 1, gości: 0, botów: 0

Użytkownik: Sebixxu