Cezary Walenciuk Programowanie

C# 6.0 Kolejna prezentacja jako strona HTML28 października w grupie .NET WODNUG pokazałem prezentacje na temat C# 6.0.

Wczoraj w pracy pokazałem ten sam materiał.

Postanowiłem jednak pójść o  jeden  krok do przodu. Prezentacja o C# 6.0 tak naprawdę jest stosem slajdów pokazującym nową składnię języka.

Pomyślałem sobie, "przecież ta prezentacja nie musi być w powerpoint-cie".

http://six.cezarywalenciuk.pl/

W dwie godziny zrobiłem tę prezentację. Bazuję ona na szablonie prezentacji HTML od firmy Google.

Sam szablon musiałem trochę przerobić tak, aby on działał z moim nowym stylem kolorowania składni.

Stack modulesBootstrap oferuje łatwy skrypt do wywołania okien modalnych w stronach internetowych.

Czasem jednak istnieje potrzebna wywołania kolejnego okna, gdy już jedno z nich zostało otwarte.

Pamiętam, jak kiedyś uruchamiałem okna modalne przy użyciu kontrolek Telerik. W scenariuszu, w którym było potrzebne kolejne okno modalne, wtedy „łamałem sobie głowę”. Wywołanie okna modalnego, mając otwarte inne okno modalne, powodowało utworzenie okna modalnego w oknie modalnym. Całe szczęście, że nie programuję już z wykorzystaniem tych starych rozwiązań.

Mając jednak nawet bootstrapa i rozwiązanie godne naszych czasów wciąż zadaję sobie pytanie, jak to można zrobić.

T4MVC W ASP.NET MVC w wielu miejscach podajemy informację o widokach, kontrolerach, skryptach JavaScript, stylach css pod postacią zwykłego napisu string.

Co prawda obecnie Visual Studio oferuje Intellisense co do tych odwołań, więc się nie pomylisz.

Jest to jednak wciąż zła praktyka.

#2 DataTable

W poprzednim wpisie zebraliśmy wszystkie pliki potrzebne do uruchomienia skryptu DataTable wraz ze stylami bootstrap.

Obecnie tabelka jest obudowana mechanizmem DataTable. Dzięki temu możemy filtrować i sortować dane po tej tabelce.

Tabelka ma jednak wpisane dane na stałe. Powstaje więc pytanie, jak dynamicznie dane przekazać do tabelki? Można to zrobić na wiele sposobów.

HighlightKolejna zmiana na blogu na lepsze. Wcześniej do koloryzowania składni kodu na blogu korzystałem z trzech technik.

Każda z nich okazała się kiepska. Jedna z nich przestała nawet działać gdyż BlogEngine przestał wspierać SyntaxHiglighter.

Przez wiele miesięcy  siłowałem się z koloryzowaniem składni kodu Objective-C. SyntaxHiglighter nie wspierał tego języka programowania. Technika koloryzowania składni z której zazwyczaj korzystam  nie działała ze względu na to, że nie można zainstalować Windows Live Writera na komputerach MAC.

Postanowiłem do bloga dodać nowe koloryzowanie. Dużo się zmieniło na przestrzeni lat. Teraz widzę, że te rozwiązanie rozwiązuje wiele problemów. Mówię tutaj o koloryzowaniu składni przy użyciu Highlight js.

DataTableChciałbyś stworzyć prostą stronę z tabelką. Chciałbyś, aby tabelka miała możliwość filtrowania i sortowania. Jak osiągnąć ten rezultat bardzo szybko.

Po raz kolejny zapomnij o AJAX-owych kontrolkach ASP.NET. Zapomnij o klasycznym ASP.NET-cie. Czy nadal programujesz i tworzysz strony internetowe jak jaskiniowiec.

Inject #2Część NR.2Witam w drugim wpisie mojego eksperymentu. Tym razem będę objaśniał wstrzykiwanie zależności do konstruktora  oraz omówię podstawowe użycie Castle.Windsor. Oto seria  wpisów, które będą uczył programowania równocześnie opowiadając przy tym  historię.

W poprzednim odcinku.

W trakcie jazdy samochodem, w moim koszmarze objaśniłem, dlaczego klasa jest specyfikacją danego bytu. Powiedziałem także, dlaczego pola klasy muszą być prywatne. Podczas objaśniania tych funkcji potrąciłem autostopowicza.

Będąc w szoku, aby się odstresować, wydzieliłem swoje cechy i cechy autostopowicza do klasy abstrakcyjnej, która reprezentuje kategorie osoby i wspólnych cech.

Obiekty #1Część NR.1Oto mały eksperyment. Postanowiłem stworzyć serię  wpisów, w których będą uczył programowania, równocześnie opowiadając historię. To nie są normalne wpisy objaśniające, jak coś działa krok po kroku. Witam więc w tej emocjonalnej  wędrówce, która być może czegoś ciebie nauczy. 

Kiedyś ktoś mnie zapytał, dlaczego lubię programować?

Ja odpowiedziałem, że lubię programować, ponieważ kod ma logicznych sens w przeciwieństwie do ludzi i do rzeczywistego świata. Kod mnie rozumie i o nic mnie nie pyta?

Myślenie w ten sposób dawało wiele swobody. Wszystko jest logiczne, więc wszystko jest bezbłędne. Jeśli coś podam do systemu ,to wiem co z niego wyjdzie. Jestem perfekcyjny

TabliceCzęść NR.4Tablica jest strukturą danych używana do sortowania kolekcji wartości. Występuje ona oczywiście  C# i w Javie. Działają one tak samo. Dlatego powstał ten wpis.

Jest ona dosyć prymitywna. Ja osobiście nie pamiętam kiedy ostatnio użyłem tablicy. Każdy jednak kto studiował programowanie na uczelni to zapewne zaczynał swoją przygodę z tą kolekcją.

OperatoryCzęść NR.2Operatory są używane do operowania wartościami.

Można je pogrupować do pięciu typów operatorów: arytmetyczne, przypisania, porównania, logiczne i bitowe.

 

Witam w drugiej części cyklu, która ma uświadomić czytelnika, że składnia językowa pomiędzy Java, a C# nie wiele się różni. Jeśli dobrze znasz Jave lub C#, a nie znasz tego drugiego języka mam nadzieje, że ten wpis ciebie przekona, że ten skok potrzebny do nauki kolejnego języka programowania nie jest taki duży.

DyrektywyCzęść NR.5Czego nauczyliśmy się do tej pory?

Wiemy, że jeśli chcemy, aby jakieś dane pojawiły się na stronie, musimy użyć parametru $scope.

Do parametru $scope umieszczamy nasz model.



<script>
var MainController = function ($scope) {

    $scope.mytext = "Angular JS Rulez";

}
</script>

Model nie dotyka HTML.

ModułCzęść NR.4Nasz kontroler “MainController” żyje obecnie wewnątrz globalnej przestrzeni nazwy. To jest raczej złym pomysłem. Kiedy budujesz swoją aplikację z Angular to nie chcesz tego robić.

Jeśli spojrzysz na inne aplikacje zbudowane przy użyciu Angular zauważysz, że żaden z kontrolerów nie jest w globalnej przestrzeni nazw.

UtrataHistoria NR.4Komentarz od czytelnika Alexego: Jakiś czas temu obiecałeś, że opiszesz jak straciłeś z dnia na dzień pracę - kiedy będzie artykuł? :(

Woo, woo koleś spokojnie. Zanim zacznę opisywać cokolwiek, warto uświadomić sobie pewne rzeczy.

 

Utrata pracy, nawet jeśli miała miejsce kiedyś w przeszłości, nie jest łatwa do opisania. Wiem, bo mój kolega kiedyś na swoich rozmowach kwalifikacyjnych był pytany, dlaczego pracował w firmie X tylko dwa miesiące. Co dla niego było wielkim zaskoczeniem, bo myślał, że po 2 latach ten temat ma już zamknięty.

WywołanieCzęść NR.3Witam w trzeciej części kursu o Angular 1.X. Poprzednim razem omówiliśmy kontrolery. Postanowiłem też dodać informacje o tym, do jakiej wersji ten kurs się odwołuje. Wersja Angular 2.0 jeszcze się nie pojawiła, ale twórcy tej wersji wywracają wszystko do góry nogami.

Przykładowo: nie będzie w niej kontrolerów.

Oficjalnie twórcy, mimo wszystko radzą używać obecnej wersji. Twórcy też wierzą, że 1.X. jest nadal dobra i nie ma potrzeby aktualizować jej do wersji 2.0, gdy będzie to możliwe. Taką informację otrzymałem od autora książki o Angular, na spotkaniu WODNUG.

Przejdźmy do naszego kursu.

Wiemy już czym są kontrolery i jakie funkcje spełniają. Przejdźmy do wywołań HTTP.

PhotosW dzisiejszych czasach bardzo łatwo jest robić zdjęcia mając telefon. Można sfotografować wszystko, nawet swój obiad. Ważna jest jednak jakość, a nie ilość.

Dwa miesiące temu pomyślałem o wywołaniu zdjęć, które są umieszczane na Facebooku. To zdjęcia, na których jestem, a na razie istnieją one tylko w Internacie.

W jakim celu? Otóż wpadłem na pomysł stworzenia ściany wspomnień. Chciałem zakleić ścianę zdjęciami, które przypominają mi wydarzenia z przeszłości. Żyję w takim tempie, że czasem zapominam, co robiłem tydzień temu. Pomyślałem sobie, jakby to było super codziennie przypominać sobie swoje najlepsze momenty z życia, które tak naprawdę wydarzyły się całkiem niedawno.

MMI 201417-19 października byłem na wydarzeniu “Umysł Milionera”. O co chodzi? T.Harv Eker napisał książkę “Bogaty albo Biedny: po prostu różni się mentalnie”. Głosi on prostą ideę.

Jeśli milioner straci pieniądze, ale nie swój umysł, to jest w stanie odzyskać cały swój majątek w ciągu 3 lat. A biedny, nawet jeśli ma już pieniądze to zaraz je straci. Historii takich jest wiele.

AsbiroDzień NR.1Cóż to była za konferencja. Opis pierwszego dnia wydaje się być dwa razy dłuższy niż Festiwalu Inspiracji 2014, na którym też byłem.

Jestem członkiem klubu ToastMasters ASBIRO. Czy ja jednak wiem, co kryje się za pomysłem ASBIRO? Nie jestem na razie studentem uczelni ASBIRO, ani też uczestnikiem kursu podstawowego prowadzonego przez ASBIRO.

Krótko mówiąc o organizacji ASBIRO niewiele wiem. Dostałem zaproszenie na konferencję organizowaną przez ASBIRO - “Myśleć jak milionerzy” .

Konferencja 2-u dniowa, cena przystępna. Pomyślałem sobie, że cena nie świadczy o jakości. Miałem akurat wolny weekend więc idę.

ISP LSPZasada „Interface Segregation” stwierdza, że klient nie powinien być zmuszony do implementacji interfejsów, których nie używa. Celem tej zasady jest utrzymanie jednej odpowiedzialności wraz ze wzrostem jednego interfejsu. System nie powinien posiadać grubych interfejsów, a jeśli już takie istnieją to powinny być wydzielone na mniejsze grupy, które mają spójną funkcjonalność.

Pozwala to podklasom na stworzenie implementacji tylko grupy zachowania zamiast implementacji monolitycznej kontraktu, która będzie dziurawa i będzie zawierać wyjątki NotImplementedException informujące o braku implementacji danej metody.

ZarobkiZarobki NR.1Pytanie od użytkownika Pawła :

Panie Cezary, byłaby możliwość napisania artykułu o wynagrodzeniach dla młodych programistów i jakim torem jest ono potem zwiększane? Jeśli się spytają na rozmowie kwalifikacyjnej o to ile by chciał zarabiać, to żeby nie powiedział ani za dużo ani za mało by nie był tanią siłą roboczą? Skąd ma wiedzieć ile jest wart? Głównie mi chodzi o to jak jest na początku, czy jest się w stanie wyżyć i tym podobne.

AngularCzęść NR.1Od 2010 roku dużo się zmieniło. Kod serwerowy nie powinien operować widokiem, powinien tylko dostarczać informacji. Zapomnij o klasycznym ASP.NET i jego kontrolkach jak UpdatePanel. Tak się nie powinno programować.

JavaScript nie jest takim strasznym językiem, jakim go niektórzy malują. Obecnie istnieje wiele frameworków JavaScript, które ułatwiają pracę nad stronami pisanymi w stylu single page application.

C# 6.0 NewNowość NR.1W poprzednim wpisie krótko omówiłem kluczowe zmiany w C# 6.0. Powiedziałem też o kompilatorze Roslyn oraz o projekcie ScriptCS.

Skoncentrujmy się jednak teraz na nowinkach C# 6.0

Pamiętajmy, że nie wszystkie omówione funkcjonalności działają w Visual Studio CTP 14, nawet po dodaniu pewnej specjalnej klauzury.

C# 6.0 RoslynUzyskajmy najpierw pewną perspektywę.

Pierwsza edycja języka C# 1.0 pojawiła się 2002 roku. Obecnie więc C# ma 12 lat. (2014)

W roku 2005 pojawiła się wersja 2.0 a wraz z nią typy generyczne (List<T>). Teraz trudno sobie wyobrazić programowanie bez nich.

W roku 2007 do C# 3.0  został dodany LINQ czyli wyrażenia lambda, zapytania, które filtrują po kolekcjach obiektów oraz po kolekcjach ORM, które zostały dopiero pobrane. Nie jestem w stanie wyobrazić sobie programowania bez LINQ.

W roku 2010 do C# 4.0 został dodane słowo kluczowe “dynamic” . Programowanie dynamicznie nie jest czymś, co możesz robić każdego dnia. Ja na przykład nie używałem tego mechanizmu wcale. Jednakże ten dynamiczny mechanizm pozwala w statycznym typowanym języku, jakim jest C# na ciekawe użycia innych bibliotek, napisanych choćby w Pythonie. Coś jest statycznie deklarowane, że będzie dynamicznie. Tak to działa.

W 2012 roku do C# 5.0 zostały dodane słowa kluczowe “async” i “await”. Pozwalają one na łatwiejsze pisanie i wywoływanie asynchronicznych funkcji, choćby wezwań do usługi WCF.

Wiem, że ma się pojawić się wersja 6.0. Co nowego ta wersja przyniesie?. Językma już 12 lat i widać, że jest to dojrzały język programowania.

ImionaCezary Walenciuk. To moje imię i nazwisko. Niestety imiona i nazwiska nie są jak nazwy marki.

Jeśli chciałbyś założyć firmę o nazwie już istniejącej jak Coca Cola zostałabyś pozwany do sądu.

W takich chwilach warto jednak zadać sobie pewne ważne pytanie. Czy tak naprawdę są nasze imiona i nazwiska w świecie cyfrowym. Czym one są dla wyszukiwarek Google.

FestiwalTrudno zapamiętać każde słowo z prezentacji. Postarałem się zanotować najważniejsze fragmenty. Z doświadczenia wiem, że takie wpisy pamiątkowe powinny pojawiać się jak najszybciej. Próbowałem opisać moje doświadczenia z targów pracy w 2013r. i jak się okazało niewiele już pamiętam. Od festiwalu minęło już 11 dni. Na szczęście dałem radę i udało mi się przygotować wielkie streszczenie festiwalu inspiracji.

Dlatego też nie traćmy czasu . Klawiatura w dłoń i przechodzę do opisu wrażeń każdej prezentacji.

StatsPostanowiłem znowu przejrzeć swojego bloga od strony technicznej czy rzeczywiście znalazłem w nim wiele błędów nawet od strony kodu HTML i CSS.

Powtarzanie się elementów z takim samymi nazwami atrybutu id. Nie pozamykane tagi z obrazkami.

Dobrze jest sprawdzić swoją stronę w walidatorach W3C.

BłędyHistoria NR.3Wrzesień 2011 r. zakończył się bardzo pozytywnie. Zdobyłem pracę w Warszawie, a od października miałem rozpocząć studia w PJWSTK w Warszawie.

Był to wielki skok, ale wraz z nim wiążą się pewne błędy, które popełniłem, a warto o nich wspomnieć.

Opisana w tym wpisie historia przedstawia zdarzenia pomiędzy październikiem 2011, a marcem 2012

Gdybym miał podkreślić, co było największym problemem w tym czasie, to była to oczywiście samotność.

Zablokowany Zacznijmy jednak od początku. Od 3 miesięcy jestem członkiem dwóch klubów ToastMasters. Klub ToastMasters spełnia różne cele. Głównym z nich jest szkolenie przyszłych liderów. Stąd hasło "ToastMaster where leaders are made”.

Ja oczekuję i mam nadzieję, że ToastMasters pomoże mi zrealizować moje marzenia. W szczególności te pozwalające na prowadzenie szkoleń adresowanych do innych programistów. Staram się nie używać słów "szkoleniowiec" lub coach bo te definicje trochę nie pasują  do tego, co chcę osiągnąć.

Zapisałem się więc do dwóch klubów. Skoncentrowałem się na ścieżce "mówcy". Aby zdobyć pierwszy tytuł trzeba ukończyć 10 projektów.10 projektów - 10 mów. Każdy projekt ma inny cel i jego zadaniem jest nauczyć mówcę czegoś innego.

ToastmastersGdy pragnie się czegoś bardzo mocno, to bez względu na to, jak mało ma się czasu, to się ten czas znajdzie.

Po konferencji “Spectacular Speaking  2014 Warsav” i po dziwnej historii z maskami konia stwierdziłem, że jak w najbliższym czasie nie pójdę na spotkanie ToastMasters, to równie dobrze mogę swoje marzenia porzucić.

PSW

Za każdym razem, gdy wracam do Białej Podlaskiej wychodzę na krótki spacer po mieście i okolicy.

Zrobiła się z tego tradycja. Telewizji nie oglądałem nawet przed wyjazdem do Warszawy. W Internecie też nie ma nic ciekawego. Dlaczego więc nie wyjść na spacer i nie powspominać, jak to było kiedyś.

MaskiUkończyłem studia magisterskie, mam niby trochę więcej czasu, ale w rzeczywistości nie jest to prawda. Moje obecne wyzwania wymagają jeszcze większej siły woli niż wcześniej. Nie ma żadnych urlopów dla mnie.

Pytanie brzmi, jak można się odstresować po prawie 2 i pół rocznej walce z karierą i edukacją?

Można przykładowo spacerować po klubach w Warszawie z maską konia.

ReportViewerW C# istnieje wiele sposobów na utworzenie pliku PDF. W mojej pracy stosujemy rozwiązanie ReportViewer i jak do tej pory sprawdza się ono dobrze.

Zaletą tego rozwiązania jest wbudowany kreator pliku PDF, który jest z integrowany z Visual Studio.

Scan CV

CV jest wyjątkowo ubogim źródłem informacji o Tobie. Na ich podstawie pracodawca może dojść tylko do mglistych  wniosków na temat Twoich umiejętności.

Zdarza się jednak, że ogłoszenie tak stawia kandydata w negatywnym  świetle, że nie ma żadnych wątpliwości, co do jego przydatności w miejscu pracy.

UselessOd 4 lutego 2014 roku jestem magistrem inż.

Moja obrona przedłużyła się o semestr z powodu natłoku spraw zawodowych. Wiele z nich miało wyższy priorytet, a za cenę uzyskania magisterki musiałem poświęcić marzenia i życie towarzyskie. Raz zrezygnowałem z randki z powodu zajęć z języka angielskiego o godzinie 19:30. Nie żałowałem tej decyzji

D3Część NR.1Wizualizacja danych. Kiedyś do pracy w trakcie marszu śmierci musiałem szybko napisać kod który by rysował wykres. Skorzystałem wtedy z biblioteki JavaScript Highchart.js. Obecnie sobie uświadamiań, że te głupie wykresy które napisałem spełniają bardzo ważną rolę biznesową dla klientów. Postanowiłem więc nauczyć się bardziej zawansowanej biblioteki stworzeń do tworzenia grafik i wykresów.

DebugCzęść NR.4 Potrafisz zbudować WEB API używając frameworka ASP.NET. Niestety to tylko początek. Po stworzenie WEB API musimy go przetestować. Wysyłać do niego żądania i sprawdzać wiadomości zwrotne

Istnieje parę narzędzi, które mogą ci pomóc w testowaniu twojego WEB API.

WebApiConfigCzęść NR.3 W poprzednim wpisie stworzyliśmy proste Web API. Z niego  możemy pobrać listę gier. Przykład z poprzedniego wpisu jest bardzo prosty,

Tak bardzo prosty, że nie poruszył kwestii konfiguracji API.

W tym wpisie nadpiszemy domyślne zachowanie frameworku ASP.NET WEB API. Zmienimy także ustawienia API w taki sposób, aby zwracała ona dane w formacie JSON dla każdej przeglądarki.

Use IISJeden z bardziej powszechnych błędów i irytujących sytuacji związanych z tworzeniem aplikacji w ASP.NET.

Zwłaszcza jeśli przekazujesz/otrzymujesz kod od swojego kolegi przy pomocy solucji a nie repozytorium TFS gdzie wszystko jest ujednolicone.

Projekt twojego kolegi ma ustawione informację, które go wiążą z serwerem IIS i jego aplikacją internetową.

Dependency

Kiedyś, dawno temu ktoś mnie poprosił o stworzenie pomocnego wpisu do MVVM Light-a. Kiedyś już miałem styczność z tym frameworkiem i jego odpowiednikami.

Obecnie jednak moja praca krąży tak intensywnie wokół ASP.NET, że nie byłbym w stanie stworzyć takiego wpisu.

Pomyślałem sobie jednak, że mimo, iż Silverlight jest martwą technologią i wszystko teraz będzie iść w mobile/Web, to dla swojej frajdy zrobię kurs MVVM. Silverlight i WPF budzą we mnie pewne pozytywne wspomnienia.

MVVM Light to prosty framework, który pomaga programiście użyć wzorca MVVM. Jak ten wzorzec działa? – po co on jest ? To już inna historia. Zacznijmy od podstawy podstaw.

Zanim padnie słowo MVVM trzeba dobrze omówić mechanizm DataBinding. A przed nim obiekty DependencyProperty i Dependency Object.

Web ApiCzęść NR.1Web API jest to aplikacja, która może być manipulowana przy użyciu protokołu HTTP. Protokół HTTP zawiera 4 metody (GET,POST,PUT,DELETE) i przy pomocy tych metod manipulujemy Web API. Protokół HTTP nie jest związany szczególnie z żadną platformą. Web API jest wykorzystywane przez wiele urządzeń z różnych platform.

EPPlusKażdy kto pracuje z aplikacją biznesową lubi gdy dane wyświetlone na monitorze mogą być wyeksportowane do PDF czy Excela.Ostatnio w pracy musiałem napisać taki kod wraz z obsługą kolejności kolumn i ich widoczności co było dużo trudniejsze.Do rozwiązani problemu postanowiłem użyć czego innego niż “Microsoft.ReportViewer”.

Użyłem więc biblioteki “EPPlus”. Jest to bardzo popularna biblioteka.

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.

Wszystkie Kategorie