Jak zostać programistą

„Jak zostać programistą”, „Jak zacząć się uczyć” , „Czego się uczyć”.  Pytania które zadaje wiele osób chcących zacząć programować, pytania z pozoru wydające się banalne, aczkolwiek osoba uzyskująca na nie odpowiedź czuje pewnego rodzaju niedosyt pomimo całej masy otrzymanych odpowiedzi.  W dzisiejszym wpisie postaram odpowiedzieć na częstą zadawane pytania.

Dlaczego chce być programistą?

To powinno być pytanie które zadasz sobie zanim zapytasz kogoś  „Jak zostać programistą”.  Dlaczego chcesz być akurat programistą ? a nie Astronauto czy gwiazdą Rocka. Obecnie trwa moda na „zostawanie programistą” wiele osób niezaznajomionych absolutnie z branżą IT, postanawia się przebranżowić i zamieć dotychczasowe zajęcie na klepanie kodu. Najprawdopodobniej większością kierują zyski, rozwój branży IT jak i w szczególności niedosyt programistów na rynku pracy znaczącą wpływa na płace w tej branży. No bo przecież programowanie to nie żadna czarna magia i jest dziecinne proste i może robić to każdy. Praca która sprawi że będziesz pływać w swoim własnym basenie wypełnionym pieniędzmi i to wszystko dzięki przeczytaniu tylko jednej książki !.

Jeżeli i ty myślisz w ten sposób, najlepiej było by jak byś już teraz dał sobie spokój z tym, szkoda twojego czasu, najprawdopodobniej po jakimś czasie zrezygnujesz z tego z powodu szybkiego wypalenia. Jeżeli jednak twoim motywatorem są pieniądze i mimo wszystko chcesz zostać programistą, to doczytaj ten artykuł do końca.

Są też tacy którzy uwielbiają komputery, mają chęć okazywania swoich potrzeb kreacyjnych, lubią łamigłówki, czytanie czy też wieczne poszerzanie swojej wiedzy. Osoby te najpewniej widzą w programowaniu możliwość dania upustu tym potrzebom, kierują nimi chęci samodoskonalenia albo po prostu są zafascynowani światem IT i pragną zgłębić kolejny z jego zakamarków. Tak czy inaczej te osoby mają największe szanse na zostanie programistami i ustrzeżenie się przed wczesnym wypaleniem.

Co musi umieć programista?

W istocie istnieją 4 główne czynniki które powinien posiadać.

  1. Myśleć jak programista
  2. Posiadać umiejętność rozwiązywania problemów
  3. Programować w jakimś języku
  4. Znać angielski

Są to czynniki typu must have, każdy chcący zostać programistą musi posiadać te umiejętności, co najważniejsze każdej z nich można się nauczyć.

Myśleć jak programista

Pod tym hasłem kryje sposób w jakim będziesz programować, jest on dość specyficzny, to trochę tak jak by zacząć myśleć jak komputer, liniowo. Potrafić tworzyć rozległe struktury, planować z dużym wyprzedzeniem, zdawać sobie sprawę jak funkcjonuje dana technologia czy też system. Myślenie programisty z całą pewnością różni się od myślenia zwykłego człowieka. Dla przeciętnego kowalskiego hasło ” Zaparz herbatę” sprowadza się do kilku kroków nalać wodę do czajnika, zagotować , zalać, zaparzyć, wymieszać. W przypadku podejścia do tego problemu jak programista w bardzo dużym uproszczeniu prezentowało to by się następującą:

  • Sprawdź czy posiadasz czajnik,
  • Sprawdź czy czajnik jest pełny, jeśli nie to nalej do niego wodę ( powtarzaj to tak długo jak czajnik będzie pełny  ).
  • Odstaw czajnik na palnik który chcesz włączyć
  • Zapal palnik
  • Sprawdź czy woda zagotowała się
  • Jeżeli nie, powtórz poprzedni krok
  • Wyłacz palnik
  • Weź czajnik
  • Zalej wodę do wcześniej przygotowanej szklanki
  • Odłóż czajnik
  • (…)

Jak można łatwo zauważyć sposób myślenia jak programista sprowadza się do bardzo precyzyjnych instrukcji.

Posiadać umiejętność rozwiązywania problemów

Każdy z nas w życiu codziennym boryka się z jakimiś problemami, zatkany zlew, niezapłacone rachunki. W życiu programisty każdy dzień jego pracy to ciągłe rozwiązywanie problemów. Każdy wyznaczony nowy cel jak na przykład stworzenie wydajnego systemu zarządzania bazą jest problemem z którymi mierzą się programiści. Pomimo tego, same w sobie opracowywanie rozwiązań rodzi dodatkowe problemy w postaci bugów. Logiczne myślenie to istotna umiejętność każdego programisty.

Programować w jakimś języku

Każdy kto chce zostać programistą, musi nauczyć się jakiegoś języka programowania, języki programowania są narzędziami programisty dzięki którym uzyskuje jakiś określony cel. Jeżeli jesteś osobą która dopiero chce zacząć naukę programowania w dalszej części artykułu znajdziesz odpowiedź na pytanie ” W czym programować”, „jaki język jest najlepszy” (więcej…)

ExpressJS + Node.js + TypeScript 2

Dzisiejszy wpis poświęcony będzie, stworzeniem aplikacji internetowej z wykorzystaniem Express.js oraz Node.js. Zamiast wykorzystać do tego domyślny język jakim jest JavaScript, zostanie wykorzystany TypeScript.

Przed przystąpieniem do dalszych kroków należy posiadać przygotowaną aplikacje wykorzystującą Express.js. Link do poradnika jak to zrobić znajduje się tutaj.

TypeScript

W skrócie jest to nakładka na język JavaScript stworzony przez firmę Microsoft. Dostarcza szereg mechanizmów i rozwiązań znanych dobrze z języków obiektowych takich jak, klasy, interfejsy, dziedziczenie itd.

Tworzenie aplikacji z użyciem TS wymaga przede wszystkim pobrania odpowiedniej paczki , można tego dokonać poprzez

Do prawidłowego działania projektu wymagane jest stworzenie w katalogu w którym znajduje się nasz projekt pliku tsconfig.json

Plik ten wymagany jest podczas procesu kompilacji, wiecej na temat tsconfig.json można przeczytać tutaj

Typings

W przypadku pracy z TypeScript wymagane jest zaopatrzenie się w odpowiednie pliki deklaracji dla każdego moduły który będzie używany.

W obecnym przykładzie app.js importuje następujące moduły: (więcej…)

Hello World – Express.js + Node – Tworzenie pierwszej aplikacji

Przed przystąpieniem do dalszej części artykułu należy upewnić się iż komputer na którym pracujemy posiada zainstalowane środowisko jakim jest Node.js.

Czym jest Express.js?

To lekki framework do tworzenia aplikacji internetowych po stronie serwera wspierający wzorzec projektowania MVC. Dzięki Express.js zyskuje się możliwość tworzenia lekkich i szybkich aplikacji. Express.js do uruchomienia wymaga zainstalowanego środowiska Node.js. Obecnie istnieje wiele rozszerzeń takich jak: mongoose, passport, express-session itd. Jako bazę danych można użyć MongoDB która świetnie sprawuje się w parze z Express.js.

 

Generowanie Projektu

Najprostsza metoda i zarazem najszybszą jest wykorzystanie narzędzie Express application generator.

W celu zaopatrzenie się w wyżej wymienione narzędzie należy wykonać z poziomu wiersza poleceń następującą komendę.

Następnie należy wykonać polecenie:

view_engine –  Parametr określa technologie która będzie przetwarzać dane wejściowe na pliki HTML. Listę można znaleźć tutaj.

nazwa_aplikacji – Parametr określa nazwę aplikacji oraz katalog w jakim zostanie utworzona.

Powyższa komenda utworzy aplikacje o nazwie hello-world-express w katalogu o tej samej nazwie, wykorzystując Pug jako view.

Kolejnym krokiem jest zainstalowanie wygenerowanej struktury (komende należy wykonać znajdująć sie w katalogu hello-world-express) wykonując komende

Następnie należy otworzyć plik views/index.pug i dopisać następującą linijkę kodu:

Zapisujemy oczywiście plik a następnie znajdując się w głównym katalogu aplikacji, w tym przypadku jest to hello-world-express/ wykonujemy polecenie npm start, spowoduje ono uruchomienie serwera na adresie localhost:3000. Jeżeli wszystko przebiegło pomyślnie powinniśmy zobaczyć następująca stronę

Express

Welcome to Express

Hello World!

Fullstack App – Angular2 + ExpressJS

W dzisiejszym poście zostanie przybliżony sposób na przygotowanie podstawowej struktury pod aplikacje typu client – server, z wykorzystaniem takich technologii jak Angular2, ExpressJs oraz Node.

Na początek należy upewnić się czy posiadamy zainstalowanego node w wersji powyżej 6.9.x oraz npm w wersji wiekszej niż 3.x.x. Można tego dokonać poprzez wpisanie w wierszu poleceń ( CLI) następujących  poleceń:

W przypadku nowszych wersji po wykonaniu następnych kroków wszystko powinno działać prawidłowo, w wypadku starszych wersji mogą pojawić się błędy. Dlatego zalecane jest zaktualizowanie node oraz npm, przed przystąpieniem do kolejnego etapu. Wszystkie poniższe kroki wykonywane są w katalogu MyApp

Generowanie struktury Angular 2 dla Client-side

Jeszcze niedawno był to proces dość pracochłonny wymagający ręcznego przygotowaniu całej struktury. Obecnie istnienie narzędzie Angular CLI , dzięki któremu można wygenerować cało strukturę bez większego wysiłku.

W pierwszej kolejności należy zainstalować Angular CLI poprzez wykonanie następującej komendy.

Od tej pory narzędzie jest dostępne globalnie.

Dobrym pomysłem jest utworzenie katalogu w którym będę przechowywane pliki servera jak i clienta. W obecnym przypadku został stworzony katalog o nazwie app. Całość wygląda następującą Myapp/app

Przechodząc do katalogu app, należy wykonać polecenie

Po wykonaniu tej komendy zostanie wygenerowana struktura Angular 2.

Następnie z katalogu Myapp/app/client należy przenieść wszystkie pliki z wyjątkiem README.md oraz katalogów (e2e oraz src) do Myapp/

Po wykonaniu tego kroku wymagana jest zmiana konfiguracji niektórych plików. Przykłady skonfigurowanych plików poniżej.

(więcej…)