Enum T4Czasami w bazie danych mamy tabelkę z prostymi wartościami, które są później wykorzystywane przez ich klucze główne.

Po stronie kodu często tworzymy typy wyliczeniowe, które mapują zawartości takiej tabelki. Później zmieniając zawartość tabelki musimy także zmienić typy wyliczeniowy w C#.

Używając T4 jesteśmy wstanie generować automatycznie taki typ wyliczeniowy. Zmieniając zawartość tabelki zmieniam równocześnie zawartość naszego typu wyliczeniowego.

DelegataWiele kontrolek w WPF,Windows Forms i Silverlight ma właściwość “Tag”. W niej możemy przechowywać dowolny obiekt powiązany z daną kontrolką.

W tym wpisie pokaże jak użyć delegat wraz z właściwością Tag. Każda kontrolka z właściwością tag może użyć tej techniki. Dla uproszczenia wpisu ja skorzystałem z kontrolki Button.

Delegata

Co to jest delegata? Dobre pytanie na rozmowę kwalifikacyjną.

Delegata jest wskaźnikiem do danej metody bądź metod. Delegata przetrzymuje więc referencję do danej funkcji.

Istnieje jeden wymóg.

Markup ExtCzęść NR.4Po długiej przerwie zastanawiam się czy uzupełniać ten kurs dalej, zwłaszcza że ma on swoje wady, ale co tam.

W poprzednim wpisie omówiłem właściwości elementów z punktu widzenia języka XAML.

Czyli w wielkim skrócie możemy ustawić właściwości elementów na dwa sposoby.

ZmienneCzęść NR.1Witam w nowym cyklu, w którym szybko będę omawiał składnie języka C#, Java bez zbędnego opisu. Typ wartościowy i typ referencyjny? Nie będzie takich opisów, bo mówimy tutaj o składni języka. . Zauważyłem, że 70% ruchu na moje stronie dotyczy wpisów z C# dla początkujących więc kto wie może to nie jest taki głupi pomysł.

 

Obliczyłem, że ten cykl zajmie 27 wpisów, ale przy dobrym planie powinien zakończyć ten cykl.

Targi Pracy23 listopada 2013 roku zostałem poproszony o poprowadzenie prezentacji na tragach kariera programisty.

Na samych targach było dużo atrakcji i polecam na przychodzenie na takie targi, gdyż są one za darmo i nie koncentrują się na jednej miejscowości.

Następne targi w Warszawie mają się odbyć 8 lutego 2014 roku i kto może nawet przyjdę ponownie.

Fanpage - https://www.facebook.com/KarieraProgramisty

Nie byłem na wszystkich prezentacjach dlatego omówię 4 prezentacje, które były na tyle ciekawe, że pamiętam ich treść do dzisiaj. A to o czymś już świadczy.

PythonNie jestem programistą Pythona, ale kiedyś bawiłem się IronPython-em. Microsoft ostatnio otworzył się na inne technologię. Visual Studio może być obecnie używane do pisania aplikacji w node.js.

W chmurze Azure istnieją komponenty wspomagające środowiska PHP.

No i Python, który brew pozorom był pod okiem programistów Microsoftu od jakiegoś czasu.  W końcu mamy IronPythona, który pozwala na odwoływanie się .NET bibliotek jak WPF przy użyciu Pythona.

MangaJapońskie komiksy zazwyczaj są o kosmitach, podróżach w czasie, magii innych nadprzyrodzonych tematach oderwanych od rzeczywistości. Japońskie komiksy są kojarzone zwykle z cukierkowatymi postaciami o dużych oczach.

Welcome to the N.H.K nie jest takim komiksem. Jest to najlepszy komiks o rzeczywistości, jaki znam.

PracaHistoria NR.2W poprzednim wpisie krótko opisałem co musiałem zrobić zaraz po ukończeniu studiów inżynierski. Tak jak mówiłem wcześniej po pierwszej niezbyt przyjaznej rozmowie kwalifikacyjnej postanowiłem nauczyć się technologii .NET najlepiej jak się da.  Zaplanowałem 2 lata ciężkiego treningu i ukończenie studiów magisterski.

 

W rzeczywistości trening trwał tylko 2 miesiące. Kumpel Jakub już od jakiegoś czasu zachęcał mnie do przyjazdu do Warszawy. Dlaczego? No cóż, wypadałoby powiedzieć coś o moim najlepszym kumplu.

Inż i co dalejHistoria NR.1Pomyślałem, że opiszę trochę swoją historię jak moje życie z biednego studenta zmieniło się w bardziej owocne i pełne przygód życie. Ku mojemu zdziwieniu otrzymuje ostatnio e-mail na temat początków programowania i odnalezienia się na właściwych studiach i w pierwszej pracy czy na runku pracy. O ile w tym zawodzie jest najłatwiej zdobyć pracę to wciąż trzeba włożyć trochę wysiłku w swoją karierę. Jednak nie, aż tak trudno zwłaszcza w Warszawie.

Programista i Warszawa znacznie zmniejsza poziom trudności szukania pracy. To tak jakbyś miał poziom “Very Easy” w bijatyce gdzie w międzyczasie wszyscy inni mają poziom trudności “Impossible”.

ZeroC IceSystemy rozproszone. Jak systemy napisane w różnych środowiskach programistycznych i językach mają się ze sobą komunikować. Usługa sieciowa SOAP bądź RES brzmi sensownie. W drugim semestrze moich studiów magisterski musiałem napisać na zaliczenie różne sposoby komunikacji. Uczelnia PJWSTK jest głównie ustawiona na Jave a co zatem idzie na rozwiązanie CORBA polegającą na komunikacji pomiędzy środowiskami na bardzo niskim poziomie. Jest to szybsze rozwiązanie niż SOAP i REST.

Smart UI ASP.NET Web Forms i Visual Studio łatwo wprowadzają początkujących programistów w świat technologii webowych . Ktoś mógłby powiedzieć, że pisanie aplikacji w ASP.NET sprowadza się do przyciągania i upuszczania kontrolek do okna designer-a HTML. W ASP.NET każda strona HTML o rozszerzeniu pliku .aspx zawiera swój drugi plik z kodem pobocznym. W tym kodzie zawiera obsługę zdarzeń, dostęp do danych i logikę biznesową aplikacji.

Dla początkującego programisty te proste założenia znacznie przyspieszają naukę frameworka. Nie zmienia to jednak faktu, że ten domyślny styl programowania jest wadliwy i już dla średnio zaawansowanych aplikacji webowych tworzy następujące, poważne problemy.

Blog

DisqusStwierdziłem, że mój poprzedni formularz do komentowania wpisów jest zbyt skomplikowany i odstraszający.

Większość użytkowników nawet nie wie co to gravatar i nie rozumie, dlaczego jest wymagany adres e-mail w formularzu.

PNGOUTOstatnio wprowadziłem dużo zmian na blogu, które być może opiszę później. Zacząłem się zastanawiać co mogę jeszcze w nim ulepszyć.

Postanowiłem zrobić test szybkości mojej strony używając PageSpeed Insights . Jak można domyślna strona nie przeszła wszystkich testów. Zaciekawiła mnie  kompresja plików PNG i o tym jest dzisiejszy wpis.

Copy PasteOto kilka ukrytych sztuczek dotyczących operacji kopiuj CTRL + C wklej CTRL +V.

Każdy programista wie, że kopiowanie tego samego kodu w wielu miejscach brudzi kod. Nie zmienia to jednak faktu, że jest to jedna z najczęstszych operacji wykonywanych w Visual Studio.

Mam, jaki gotowy kod z innego projektu i wklejamy go w inne miejsce. Jeśli chcemy przenieść kod do innej metody wycinamy kod i wyklejamy go gdzie indziej.

Istnieje jednak wiele innych ukrytych sekretów, o których być może nie wiesz.

FilterKiedy pracujesz z bazą danych, która ma wiele obiektów ciężko jest odnaleźć ten konkretny. Object Explorer w SQL Management Studio  listuje wszystkie obiekty według kategorii dlatego ciężko jest odnaleźć ten konkretny.

By rozwiązać ten problem możemy skorzystać z opcji filtrowania obiektów.

Toxic 2.0Pogląd NR.2 Zastanawialiście na taki zjawiskiem.

Czasem mam wrażenie, że całe życie słuchałem o tym, jaki to jestem głupi albo jak źle jest na świecie. W takim momentach człowiek się zastanawia jak ma w ogóle zacząć żyć po swoim procesie edukacji. Bo cała ta toksyczność go wypełnia go wszędzie.

A tu taki bajer mam, miałem i będę miał pracę i to nie jedną i nie tak, że musiałem za sukcesem wyjechać z kraju czy wygrać w totka.

4 FeaturesVisual Studio 2013 już jest do pobrania w pełnej wersji RTM. Niedługo można będzie pobrać Visual Studio 2013 przez studenckiego MSDN.

Na co warto zwrócić uwagę w Visual Studio 2013. Szczerze wystarczy przyjrzeć się czterem nowym funkcjonalnościom i poświęcić im przynajmniej 4 minuty by zwiększyć swoją produktywność jako programista.

IntellisensePamiętam jak kiedyś pisałem swój pierwszy projekt ASP.NET Visual Studio 2008. Nie było to przyjemne. Trochę nawet bolesne, gdy tylko chciało się coś zrobić w JavaScript-cię. Od tamtego czasu dużo się zmieniło. Visual Studio obecnie posiada Intellisense do JavaScript-u. Jak jednak skorzystać z tego narzędzia. Działa ono lepiej niż kiedykolwiek, ale by go użyć trzeba się trochę wysilić.

Jak więc mieć Intellisense do jQuery, gdyż domyślnie go nie ma.

jQuery brak intellisense

Domyślnie Visual Studio skanuje wszystkie referencje do plików JS i na jej podstawie tworzy Intellisense.

XAML WstępZaktualizowałem system do Windows 8.1. Nie ma sensu robić długiej recenzji, ale dla przeciętnego użytkownika PC aktualizacja właściwie nie jest potrzebna. Obecnie dla mnie najważniejszych gadżetem Windows 8.1 jest odpicowana przeglądarka Internet Explorer 11 wraz z narzędziami developerskimi.

Pierwszy raz mam wrażenie, że to narzędzie jest na tyle intuicyjne by go używać zamiast FireBug w FireFox-ie lub Developer Tools w Chrome.

WhereW .NET istnieje wiele technik do iteracji i wybierania danych z kolekcji. Najlepszym wynalazkiem C# jest LINQ.

Zostałem poproszony o stworzenie prostego przykładu LINQ, który by po prostu pobierałby elementy kolekcji w zależności od naszych potrzeb. Nie mam dużo czasu by się rozpisywać więc pomyślałem czemu nie.

Ten wpis jest przeznaczony całkowicie dla początkujących.

RandomKiedyś na blogu zrobiłem wpis o procedurze SQL Server, która zwraca losowe znaki.

Jak stworzyć podobny generator losowych znaków w C#?

Istnieje wiele możliwości.

ConvertAllSłyszałeś o metodzie ConvertAll, bo ja nie xD . Jak sama nazwa metody wskazuje ta metoda konwertuje wszystkie elementy kolekcji na inny typ danych. Zwykle do utworzenia nowej kolekcji używam pętli foreach. LINQ daje nam jednak alternatywę i krótszą składnie. Rodzi się jednak pytanie czy w ogóle ta metoda jest nam potrzebna, gdyż ten sam rezultat możemy otrzymyać używając metody Select

Null ToString

Pisząc pewien zawansowany program w pracy zdałem sobie z czegoś sprawę.

W kodzie nie raz widziałem takie konstrukcje.

 

int? myInt = null;
string test = myInt.HasValue ? myInt.Value.ToString() : string.Empty;

Dlaczego jednak nie użyć po prostu bezpośredniego odwołania ToString().

Bad RequestCałkiem niedawno w pracy napotkałem na dziwny błąd. Używam IIS Express do testowania własnej instancji DotNetNuke i z jakiegoś powodu z dnia na dzień przeglądarka Google Chrome zaczęła mi zwracać błąd “Bad Request – Request Too Lonq”. W aplikacji nic się nie zmieniło więc nie była to wina aplikacji.

Death March „Marsz śmierci”. Jeśli jesteś programistą to wcześniej, czy później spotkasz się z tą definicją.

Lepiej znać tylko definicję tego słowa, ale w tym biznesie czasem trafiają się genialne pomysły. Pomysły, które mogą utrwalić pozycję firmy na rynku, bądź uratować ją od np. bankructwa (czyli wszystko albo nic).

Istnieje tylko jeden problem, mianowicie stworzenie samego projektu i wdrożenie klienta do systemu wymaga to czasu, przynajmniej 7 miesięcy. Niestety, by wygrać z konkurencją, której jeszcze nie ma trzeba być pierwszym, bez względu na jakość stworzonego programu . Jest to pewna złota zasada marketingowa.

MatematykaObjective-C używa matematyki języka “C”, którą możesz odnaleźć w math.h.

Ostatnio moim celem było liczenie odległości geograficznych pomiędzy różnymi punktami. Znajomość paru funkcji matematycznych przydało się do spełnienia tego celu. Oto prosty wpis objaśniający niektóre funkcję matematyczne.

CSS3 AnimCSS3 oferuje znacznik “@keyframes”, który potrafi określić animację danego elementu html.Oczywiście wcześniej by osiągnąć taki prosty efekt musieliby użyć jQuery, Flasha albo Silverlight-a.

W tym wpisie pokaże banalną animację wypełnienia napisu.

VS 2013PMicrosoft na pewno dba o swoje narzędzia programistyczne i środowiska. Co prawda z doświadczenia wiem, że wiele osób nie lubi tego całego pośpiechu związanego z nowymi technologiami w .NET-cię, ale dobrze wiedzieć, że Visual Studio ciągle się ulepsza. Co dwa lata pojawia się nowa wersja Visual Studio, a co rok pojawia się wersja Preview następnej wersji. Obecne Visual Studio 2012 miało już 3 Update, które trzeba przyznać fajniej brzmią niż Service Pack-i.

Filozofia

XAML WstępZawód programisty nie jest łatwy, ale na pewno jest bardzo płatny. Twoi koledzy mogą być bezrobotni lub rozdawać ulotki (nie jest jednak to fajne uczucie), a ty już jesteś we właściwym miejscu.

Łatwo więc zacząć podchodzi do swojej profesji emocjonalnie jak i traktować swój kod jak swoje własne dzieci.

SerializationOto krótki wpis o Serializacji i Deserializacji JSON-a w Objective-C. Komunikaty w usługach sieciowych  zwykle mają notację XML-ową lub JSON-ową.  JSON jest lżejszy jest on więc bardziej stosowany. Usługa sieciowa typu SOAP jest ciężka więc urządzenia mobilne lubią usługi sieciowe typu REST.

Get FilesCałkiem niedawno napisałem prostą aplikację operującą  na bazie danych SQLite. Po zrobieniu kilku insertów na bazie z możliwością zapisu zrodziło mi się głowie pytanie, jak wydobyć z telefonu czy tabletu moją zmodyfikowaną bazę, którą umieściłem w telefonie.

ŚmieszneUfff. Dawno nie miałem takiego miesiąca. Studia, praca i problemy na stancji. Życie na pewno nie oszczędziło mnie w tym miesiącu. A ja myślałem, że już nic nie przybije zatrucia pokarmowego i uczenie się w takim stanie do trzech egzaminu w sesji za dwa dni. Nie ma jednak czasu na narzekanie. Jak więc poprawić sobie humor? Na pewno mały remont na blogu poprawił mi humor Uśmiech(praca zawodowa dobrze się równoważy z pracą hobbistyczną/ społeczną) , ale czy są jeszcze inne sposoby.

Zauważyłem, że wiele pozytywnych  komentarzy  nie dochodziło do moje skrzynki pocztowej i te komentarze też dały mi siły. Dzięki.

Sposobów jest wiele, ale dzięki sieci społecznościowej Google+ przypomniałem sobie szybko zabawne filmiki na temat programowania.

ReflectionCzęść NR.6Prawdopodobnie ostatni wpis z tego cyklu. Uczę się Objective-C od dwóch tygodni po godzinach, ale tempo nauki musi zostać jeszcze bardziej zwiększone.

Chociaż być może jeszcze napiszę o rzutowaniu. Podstawy refleksji przydają się na codziennie w programowaniu. Jak więc refleksja wygląda w Objective-C.

Add whiteW tym wpisie dodam białe znaki do dużych liczb tak aby były one bardziej czytelne.

Czyli chcemy sformatować liczbę 1000000000 do takiej postaci “1 000 000 000”. Dodatkowo chce dać użytkownikowi możliwość ustalenia co ile znaków ma się pojawiać znak spacji.

KeyBoradOd jakiegoś czasu zacząłem używać MACa i zobaczyłem, że układ klawiszy w nim jest trochę sprzeczny z układem z Windows.

Na początku myślałem, że mi się tylko tak wydaje, ale potem na swoim laptopie zacząłem mylić klawisze CTRL z ALT.

StringCzęść NR.2Naukę Objective-C można zacząć od rzeczy najprostszy, dlaczego więc nie zacząć od napisów

Podobnie jak w poprzednim wpisie użyje przykładu z C# i Objective-C dla porównania. Uznałem także ,że nie będę tracił czasu na zbędne opisy kodu.

StartCzęść NR.1 Zawodowo programuje w C# od 2 lat. Licząc czas spędzonych na studiach z C# ten czas wydłuża się przynajmniej dwukrotnie.  Aby pisać aplikacje na iOS bez pomocy firmy Xamarin trzeba oczywiście znać Objective-C.

Czasu do nauki tego języka mam niewiele i jest to spore wyzwanie dla mnie biorąc pod uwagę, że jest praca na drugi etat.

ACROd tego miesiąca stałem się programistą  Objective-C. Chociaż ten termin nie powinien sobie jeszcze przypisywać biorąc pod uwagę ,że obecnie uczę się składni języka oglądając programy Hello World. W najbliższym czasie na blogu będzie dużo wpisów o Objective-C. Tak czy siak, miałem oczywiście interesują konwersację z swoim współlokatorem oraz najlepszy przyjacielem na temat moich zdolności programistycznych.

Paint.NETNarzędzie NR.1Każdy edytuje obrazki do pewnego stopnia. Bez względu na to, czy jest to proste wycięcie, zmniejszenie czy dodanie tekstu – warto mieć pod ręką prosty edytor, który jest szybki i łatwy w nawigacji oraz wykona  zdanie bezboleśnie.

Istnieje wiele edytorów. Najbardziej znanym programem jest Adobe Photoshop. 

C#

F# DLL -> C# Krótki tutorial o tym, jak wykorzystać kod napisany w F# w C#

Krok pierwszy. Utwórz projekt “F# Library Project”. Nazwij go przykładowo “FsharpTestDLL”.

IE StylesJeżeli zajmujesz się Web Developmentem to zapewne nie raz chciałeś wynaleźć wehikuł czasu i zabić wszystkich programistów odpowiadających za wygraną IE 5.0  w wojnie przeglądarek przeciwko Netscape.  Zwycięstwo tej wojny jest odczuwane ,aż do dzisiaj. Wiele użytkowników ślepo korzysta z IE. Świat na szczęście się zmienia…ale dzięki popularności systemu Windows XP użytkownicy IE8 i IE7 wciąż istnieją.

Tak to jest, gdy scalisz swoją przeglądarkę z systemem operacyjnym. Poza tym nie oszukujmy się nawet JQuery oficjalnie powiedziało nie dla IE8.

Tak koniec pisania specjalnych skryptów dla IE, bo są jakieś bugi z właściwością z-index i itp.

SignalRPróbowałeś kiedyś napisać chat. Co ile sekund ma on wyciągać dane od serwera? Nie to z góry kiepski pomysł.

Lepszą techniką jest “long polling”. Otwieramy połączenie i utrzymujemy je otwarte zmuszając klienta (przeglądarkę) do czekania udając ,że dane połączenie rzeczywiście trwa długo.

Jeżeli połączenie jest zerwane wtedy połączenie jest otwierane ponownie po obu stronach(klient serwer). W przyszłość WebSockety  rozwiążą ten problem lepiej.

CSS3 GenIstnieje tona wspaniałych generatorów, które za ciebie napiszą style CSS3 wraz ze specyficznym prefiksami do przeglądarek.

Gradienty, Animacje, obramowania, cienia.

Oto krótka lista takich generatorów.

WykładowcaOto co widzą me oczy. Nieskrępowane przez czasu okowy. Trójkę nieprzyjazny wykładowców dane ci będzie spotkać…Żaden jednak z nich nie będzie jednakże najbezpieczniejszy niż ty w pełni swojej chwały. To cienie matematyki, automatyki i starego programowania obdarzone życiem i zniekształcone zgodnie z prawami, jakim się uczelnie rządzą…

Link do orginalnego dialogu

…Dojdziesz do więzienia z żalu i płaczu powstałego, gdzie nawet studenckie cienie odchodzą od zmysłów. Zażądają tam od ciebie potwornej ofiary, Najdroższy. By móc w końcu spocząć, zmuszony będziesz unicestwić to, co utrzymuje cię wśród studentów i przestać być wiecznym studentem.

Wiem ,że musisz ukończyć studia, póki masz taką możliwość. Krąg *musi* się zamknąć najdroższy. Nie przeznaczonego takiego życia i praca już zbyt długo czeka na ciebie. Musisz odnaleźć to co zostało ci odebrane i udać się w podróż poza granicę tej egzystencji do krainy ludzi pracujących.

Będę na ciebie czekała w komnatach pracy…najdroższy.

Po tygodniu siedzenia w kontrolkach Telerik postanowiłem zrobić wpis bardziej na luzie. Może napiszę coś o studiach, jutro przecież mam zjazd. Mój głupi wpis o tytułach mgr licencjatach cieszy się taką popularnością. Może to niezły pomysł. W rezultacie poczułem nieodpartą chęć zrobienia wpisu o wykładowcach i studentach. Zatem nie traćmy czasu.

Focus BorderChyba dawno nie odrobiłem pracy domowej z technologii webowych, ponieważ nie mogłem ustalić co powoduje  to obramowanie. Teraz już wiem.

Zacząłem swoją przygodę z kontrolkami Telerik i jedną z najbardziej irytujących rzeczy było właśnie to obramowanie. Sprawa wydawała się trudna, ponieważ to obramowanie nie wywodziło się od żadnych styli CSS.

HightChartNowe bajery HTML 5 pozwalają na rysowanie złożonych zawartości bez użycia pluginów takich jak Flash czy Silverlight. Z punktu widzenia biznesowego prawdopodobnie chcielibyśmy w Canvas narysować jakiś wykres niż postać z anime.

Canvas i HTML 5 istnieją już od dłuższego czasu ,a to oznacza ,że już ktoś opracował gotowe biblioteki do rysowania takich wykresów.

C++ c# C

Specjalny znak “#” nie może być zakodowany w adresie url. Jak więc zmaksymalizować SEO pod tym kontekstem.

Co zrobić, gdy człowiek zdaje sobie sprawę ,że słowa kluczowe jak“C#” “C++” "i “C” dla Google mogą reprezentować ten sam kontekst.

AttachDzisiaj w pracy pokazałem koledze jak w Visual Studio potrafi się dołączyć do procesu aplikacji w celu debugowania aplikacji. Trochę się uśmiałem, ponieważ pewien kolega nauczył mnie tego w poprzedniej pracy.

Czasami nie możemy debugować aplikacji. Przykładowo moduły w DotNetNuke nie mogą być inaczej debugowane, gdyż reprezentują tylko część systemu ,a nie całość.

JDBCUdało mi się połączyć bazę danych PostgreSQL z .NET. Dostałem zapytanie czy to samo mogę zrobić używając Javy i JDBC. Można. Cały proces przygotowania tego wpisu był dużo przyjemniejszy. W .NET z tego, co wiem nie ma gotowych sterowników do PostgreSQL ,a użycie w tym wypadku ODBC wymaga przejścia kilku okienek dialogowych. W Javie ten proces jest łatwiejszy.

LockSłowo kluczowe “lock” oznacza część krytyczną kodu, która zablokuje przepływ kodu dla innych wątku ,aż do jego zwolnienia.

Wewnątrz części krytycznej zabezpieczam kod, który mógłby zachowywać się nie przewidywalnie, gdyby wiele wątków naraz próbowało wykonać jedną i tą samą operację.

Polski

Przyszedł czas aby poruszyć niewygodny temat. 8 miesięcy temu przeniosłem bloga z bloggera na BlogEngine.NET. Blog wygląda teraz bardziej profesjonalnie. Wcześniej sam nie mogłem traktować poważnie tego starego wystroju.

To nie było coś, co mógłbym pokazywać z dumą i chwałą.

Java+JSJak sprawdzić czy ktoś ma ogólne pojęcie o programowaniu?

Najlepiej zadać mu pytanie, jaka jest różnica pomiędzy JavaScript-em ,a Javą. Sam kiedyś dawno temu myślałem ,że oba języki programowania mają ze sobą dużo wspólnego ,że JavaScript jest Javą dla przeglądarek (cokolwiek to znaczy).

Awaiting XNauka “async i await” się nie kończy. Co można jeszcze zrobić przy pomocy tych słów kluczowych.  W WPF w prosty sposób możemy zwolnić wątek UI. W WCF możemy łatwo przejąć kontrolę nad wiadomościami zwrotnymi usługi. To jednak nie koniec.