Wpis z mikrobloga

Cześć,

Pierwszy odcinek kursu programowania i tworzenia aplikacji z użyciem języka C# i platformy .NET Core został właśnie opublikowany - we wpisie na blogu znajdziecie trochę teorii, odnośników oraz informacje odnośnie tego, co się pojawi w odcinku nr 2, a poniżej nagranie wideo.

(Nie)stety musiałem podzielić pierwszy odcinek na 2 części, ponieważ rozgadałem się ponad 40 minut o modelowaniu klas (a i tak mógłbym o tym jeszcze dłużej nawijać) ;).
Tak jak wspominałem, kurs nie ma jeszcze sztywnie określonych ram, chcę żeby "ewoluował" w trakcie jego tworzenia tak, aby dostarczyć Wam jak najbardziej wartościowych treści.

Drugi odcinek również już jest prawie gotowy i za niedługo bierzemy się za nagrywanie kolejnego, także bynajmniej nie jest to jednorazowa zajawka.
Ja cały czas jeszcze myślę nad typem aplikacji, która będzie realizowana w ramach kursu w przyszłości, żeby stworzyć coś naprawdę ciekawego (ewentualnie pozostanie oklepane API sklepu).

Wszystkie materiały tzn. wideo, kod źródłowy oraz teksty są dostępne tutaj.

Na koniec jeszcze małe sprostowanie - w tym odcinku czasem zamiennie używam w języku polskim pól i właściwości. Oczywiście mam na myśli cały czas properties (właściwości), a nie fields (pola), więc nie chciałbym, aby kogoś to zmyliło, a o samej różnicy opowiem na dodatkowo początku 2 odcinka.

To tyle z mojej strony, na koniec standardowo garść odnośników gdzie można nas m.in. znaleźć w internetach:

Ja:
Blog
Facebook
Twitter
Snapchat

Patryk:
Blog
Twitter
Snapchat

Aby nie przegapić kolejnego odcinka, po prostu obserwuj tag #akademiaspetza lub jedno z wyżej podanych źródeł :).
Najlepiej oglądać w wersji 4K.

#programowanie #programista15k #programujzwykopem #naukaprogramowania #informatyka #dotnet #dotnetnews #csharp #spetz

Wołam plusujących z poprzedniego wpisu, ponieważ ostatnio część z Was pisała, że jakoś go ominęła.
Pierwszy i ostatni raz taki drobny spam z mojej strony (zatem z góry przepraszam), kolejne odcinki będą już tylko odpowiednio tagowane.

@gruchacz, @tomek_hydrant_duzy, @pparker884, @bartixon, @Ex3, @Fallinghammer, @wali_ci_z_kopary, @ludi889, @MQs, @Phimosis, @stary_tapczan, @Masterczulki, @cruc, @Meliengree, @qubeq, @koxok, @Zyvalt, @rrogal, @azutamhs, @oxern, @HalfGod, @przepelnieniebuforu, @Nokiius, @skretu, @filip-mikolajczak, @MirkoPolityk, @lukaszp89, @mackiy, @PrawyKuba, @tatralol, @erlang, @Raksi, @jasiek12321, @beatson, @galarulez, @barnejflinston, @ialath, @perkaman, @Vister81, @2k8_MKS, @KurczePieczone, @Nobody88, @czarnonogi, @zkpaltr, @Sleepypl, @DuzeT, @bob_kelso, @svatco, @Sasanqa, @lukasor, @dzonyloker, @zajo22, @exekutor, @Kanarky, @meohaw, @Tuly, @fruguszek, @Hulk, @ErisSilva, @dar, @istot, @RzecznyOtoczak, @azzQ, @T72, @matelusz1, @turkusowakoszulka, @Matemator, @atur94, @miedziane_dildo, @asasello, @woyoo, @Vorland, @zmienna_pomocnicza, @fabru, @posepny_zniwiarz, @Utiopa, @tibia009, @NajwyzszaFormaSztuki, @Mieszko_I, @Aganiok__, @mocno_sredni, @aajs, @meInSimulation, @vtk, @Adolf_Wojtyla, @FilozofujacaDzialka, @arcanos, @sierra-leone, @SinusAlfa, @kamil-rys-161, @zafascynowany, @btlone, @pleomax130, @kjamjl, @revolta, @michal1326, @moody19871987, @SaLi0PK, @grabowski_f, @Pan-naklejka, @paczaminiewidze, @Tom_Ja, @mik360, @srxx, @goras, @3THU5_9r3W, @infogmina, @tonikroos, @emge09, @Dzordzi, @Nevadaaa, @wychu, @Pahel, @withoutSmallGarden, @PrawieJakBordo, @Kactuzz, @Dapson, @czarnyalibaba, @rzaden_problem, @arsky, @vrdst, @Lagranzjan, @aloszaa, @bonio4, @Innowierca, @maciek770, @TrebuniTutek, @JudeMason, @ScroogeMcDuck, @Ciapaty, @Rucio, @Cancer84, @xidex123, @Ama-gi, @bbbartek, @Lygrys, @KornixPL, @CyBorek, @awaryjan, @kiepStefan, @cgn21, @Ozjasz_Goldberg, @falrond, @muszkatolowy_john, @BodzioSzajs, @p98, @dicamillo89, @gestu4e, @janvszek, @zejaco, @OKOKONIA, @pedojerry, @radkie, @chim3ra, @luque94, @Lluc, @mulen, @TheHamlet, @walezbani, @MAUER-Plytki-Ceglane, @seasickseafarer, @zly_dzien, @Duri, @krzysio19, @vinciq, @P4TRYK, @tymol14, @salvador94, @kredz, @weshu, @avangarda, @costampowiem, @imigrant, @CePeK, @DelFuego, @labibabi, @b0b3kpl, @LeeZee, @nashein, @velky_strateg, @ventris, @AVTA, @adam86, @MCFG, @HakX, @Makos11221, @nihil_novi, @Adamus_xxx, @lsamuel, @jamajus, @fiffe, @JaTuTylkoNaMoment, @Dorianek, @LetMeCaptureIt, @yennar, @l0stfake7, @fehuziom, @kajdikajdi, @Grabarzm, @szkarlatny_leon, @dirtydenier, @258esdg, @mat_pie, @rotero, @Paladyn_lvl80, @damianno879, @swos, @Kewazz, @kret_w_granulkach, @szympans1, @pempuszek, @Podziwiam_Go, @Dejzii, @klamka08, @mala_kropka, @myrad, @Kajetan8, @TheAryX, @KurczakPozogi, @Sakad, @Mack00, @lucek091, @siteman, @Sferox, @bi-tek, @RekoczynyKubkiem, @suvroc, @emjey20, @kuznikowski, @aletypteej, @edionasz, @Sobekx, @zulugula, @m_highflyer, @snuffix, @Pro-Xts, @FredZgred, @purr, @Crimson_Ghost, @Songiewicz, @ZielonyProgramista21, @un7nown, @SirDrakkainen, @Psychollo, @lukrowyn, @bartex121, @Xax92, @markedone, @Usmiechniety, @Kumek, @Ormion, @iexii, @kubbed, @Patryk7975, @artisss, @yami, @Blizz4rd, @dannycarter, @qmshallo, @ZidaneNS, @Nightcaster, @Turrsky, @kodiac, @mcsQ, @hellcham, @ohmyjw, @gumeko, @milos2, @voobar, @botul, @Seskil, @kamstrecz, @Wypoks, @P44, @maniserowicz, @an-glo, @kuskoman, @BordowaZielonka, @michalkaca88, @kmi3c, @ArcheRbest, @Davidvia0, @Eswemenasja, @barteck, @afan-bezledupski, @1mnew, @ElManiana, @Z0ltek, @espeka, @pan_welniak, @qarsow, @HeyBuddy, @cheesternik, @edbox, @Hrononim_1, @darvd29, @czornex, @WyprawaDoWnetrzaZiemi, @Biguu, @Pshemeck, @rexar, @Armizani, @jeehox25, @Arhus, @phatalnet, @MasaToMojaWaluta, @twoolf, @AlfaMenel, @Zdzisiu1, @koromyslo, @Jaxilus, @KsiazeNocy, @Fenxo, @darkpegaz, @Alryh, @szarykwadrat, @drwxr, @IcouldBeAnyone, @statekczulosci, @sssabae, @anotherguy, @Karkor, @mazi_, @majestatyczny, @robertpatrykk, @Pan_Myszon, @BarQD, @Gabishi, @dyzo, @andrzej-kopara, @wsparcie, @jam_nick, @MroczneCiacho, @rurka_kapilarna, @Genleman, @ediz4
spetz - Cześć,

Pierwszy odcinek kursu programowania i tworzenia aplikacji z użycie...
  • 67
@Kruppe: już gotowy, jeszcze musimy coś dograć na koniec i doszlifować wpis na blogu i za niedługo bierzemy się za nagrywanie trzeciego, ale całość będzie publikowana regularnie co tydzień :).

@Kras_Psycho: ja już dawno się przekonałem, że życie to taka funkcja random() ( ͡° ͜ʖ ͡°).
@spetz: Sprawdzę materiał po pracbazie. Co do wołania, to masz ograniczenie pewnie, bo na liście wołanych jestem, a powiadomienia brak. Zresztą IMO nie ma co wołać, szkoda zachodu. Kto chce niech obserwuje Ciebie/tag, a sam wpis będzie czystszy : )
@IdzieGrzesPrzezWies: robić będziemy HTTP API (backend) z naciskiem na dobre wzorce, a to jakie API będzie miało przeznaczenie (sklep czy coś innego) to już inna bajka ale myślę nad czymś ciekawym i nieszablonowym :).

@kobiaszu: miłego. Tylko tak jak mówiłem w odcinku pilotażowym, ja poruszam wybrane kwestie aby je dobrze omówić, a całą resztę trzeba nadrobić samemu (pomocne odnośniki na blogu).

@avangarda: masz rację dlatego zawołałem tylko ten jeden
Wkleję tutaj jeszcze część prywatnej wiadomości, ponieważ to pytanie padło już w kilku miejscach, albowiem dlaczego nie używam settera publicznego, który miałby w sobie np. walidację, tylko tworzę osobne metody typu SetEmail().

Dla mnie implementacja np. walidacji, aktualizacje pola UpdatedAt itd. w setterze to anty-wzorzec, ponieważ getter oraz setter powinn być wolne od "side effects" - dlatego preferuję stworzyć osobną metodę do zapisu, która explicite mówi, że coś się może tam wydarzyć.