Jak zacząć programować?

Artykuł jest we wczesnej fazie - szkic, ale już teraz może ci pomóc. Wszelkie uwagi są zawsze mile widziane.
Docelowo artykuł podzielę na części.

 

Zanim zaczniesz programować musisz sobie odpowiedzieć na kilka pytań.

Dlaczego chcesz programować?

Musisz mieć prawdziwy powód dlaczego chcesz się nauczyć programować.


Nauka programowania to nie sprint, to niekończący się maraton!

Być może zauważyłeś, jak szybko zmienia się Informatyka.
Technologie, które wchodzą dziś, po kilku latach mogą już nie istnieć lub być przestarzałe.
To się dzieje cały czas.

Jedyną stałą jest ciągła zmiana. Musisz cały czas się rozwijać (uczyć się, podejmować decyzje).

Gdy się zatrzymujesz (zwalniasz), to tak jak byś się cofnął, ponieważ cały świat brnie do przodu!

Kiedyś zrozumiałem tą ideę, gdy po wielu latach trafiłem do luksusowego hotelu tętniącego życiem z mojego dzieciństwa.
Przeżyłem szok, hotel bardziej przypominał mi PRLowską umieralnię. Dlaczego? Przecież hotel nic nie zmienił.
A w tym czasie świat poszedł do przodu, zmieniły się oczekiwania, a bogate wyposażenie mogło zachwycać jedynie w latach 90.
W informatyce czas leci znacznie szybciej!
 

 

Programowanie, to nieustająca nauka, szukanie rozwiązań, ...

 

W związku z tym, że IT rozwija się tak szybko i z każdą chwilą powstają nowe, kolejne możliwości.
Musisz nauczyć się podejmować decyzje, "w co warto pójść", co ma przyszłość, a co nie.
 

Może się okazać, że po kilku latach, twoja specjalizacja w wybranej technologii jest całkowicie bezużyteczna.
Gdybyś kilka lat temu był fanem WPF'a/Silverlight'a to co byś robił dzisiaj?
 

Nauka języka programowania, to bardzo mały wycinek całości!
Na szczęście gdy nauczysz się jednego języka, wiele innych opanujesz w mgnieniu oka.

 

IT, to niekończąca się droga problemów, wypadków, .. Jednak gdy jesteś odpowiednio zmotywowany (masz cel, wiesz dlaczego) to zawsze znajdziesz sposób.

 

Mnie zawsze pasjonowała możliwość tworzenia, automatyzacji, ułatiwania życia. Czasem kilka linijek potrafi zaoszczędzić godziny pracy - magia.
Robisz coś raz i działa.

Zanim..

Zanim przejdziesz dalej, zobacz (jeśli nie czytałeś):

 

Zarobki

Dla wielu osób motywacją są zarobki (choć według mnie istnieją silniejsze powody, dla których warto programować).

Pamiętaj pracując w IT.
Twoim głównym narzędziem jest komputer.
Możesz znaleźć pracę, która pozwoli Ci pracować zdalnie (z domu, z Tajlandii, gdziekolwiek będziesz).

Warto zwrócić uwagę, że nie musisz wcale pracować dla polskiej firmy.
Możesz zarabiać np. "tyle samo", tylko w euro, dolarach, funtach.

 

W ekonomii  funkcjonuje prawo popytu i podaży.
Jeśli jest pracodawcy potrzebują programistów X,

  • a programistów X jest mało (to zarabiasz więcej)
    w końcu jakoś trzeba Cię zachęcić byś wybrał akurat tą firmę a nie inną (trudno będzie znaleźć kogoś na twoje miejsce).
  • a programistów X jest dużo (to zarabiasz mniej)
    naturalnie stawki są niższe, bo zawsze ktoś się znajdzie na twoje miejsce.

 

Programista programiście nie równy.
Nieraz większe doświadczenie, potrafi skrócić czas produkcji o dni, tygodnie, miesiące.
Doświadczony programista zrobi coś w tydzień, a początkujący informatyk będzie potrzebował co najmniej miesiąca tworząc przy tym produkt gorszej jakości.
Dlatego doświadczenie jest tak bardzo pożądane!
 

Warto również wiedzieć, że stawki są negocjowane i często tajne.
Nieraz osoba dopiero co zatrudniona, może zarabiać znacznie więcej niż osoba która od dłuższego czasu pracuje w firmie - to jest IT.


Jak w każdej innej pracy w przypadku dużego popytu, niższej podaży - nieraz zdarza się, że nowo zatrudniona osoba bez większego zatrudnienia - zarabia znacznie więcej niż osoba doświadczona pracująca wiele lat w danej firmie - życie - biznes.

 

Wykres z: mamstartup.pl, dane z ChallengeRocket.com (dane na rok 2017). 

 

 Dane dotyczące polskiego rynku również znajdziesz w artykule na mamstartup.pl.

W zależności od celu - wybierasz język

Podobnie jak w życiu, wybór narzędzi zależy od tego co chcesz zrobić.

Siekierą można rąbać drewno, ale nie pomoże przy grabieniu!

Grabie pomagają wyrównać teren, ale są nieprzydatne gdy chcesz przygotować drewno do kominka.

 

Różne technologie - różne perspektywy

Najpierw zastanów się:
- co chcesz robić?
- jak chcesz pracować?
- jakie masz oczekiwania?

Dopiero potem jęzky, platformę, technologię!!

Każdy język jest 'trochę inny'. Nawet parząc tylko na języki ogólnegoprzeznaczenia - jedne mogą być wygodniejsze/wydajniejsze/lepsze w danych zastoswaniach niż inne.
Wokół każdej technologii bardzo ważna jest tzw. społeczność. Samemu nigdy nie rozwiążesz wszystkich problemów. Zatem im więcej 'aktwynych' ludzi w społeczności, tym łatwiej zrobić 'coś więcej'.

 

Jedne technologie będąc na czasie są niestabilne. To co napiszesz dziś, może sprawić wiele problemów z uruchomieniem np. za 3 lata.
Inne technologie są za to bardzo stabilne, kosztem współczesności.

 

Dlatego jedne są np. bardziej mile widziane w korporacjach niż inne.

Jeśli chcesz pracować w korporacji, prędzej przyda Ci się znajomość języka: Java niż np. Pythona.

 

Zastanów się gdzie chcesz być, za 2, 3, 5, 10, lat

W zależności od tego wybierz język (technologię).

 

Co można wybrać? Mapa informatyki

https://www.flickr.com/photos/95869671@N08/36231833334/

 

 

 

 

 

 

http://coin.wne.uw.edu.pl/dcelinska/en/pages/rogueviz-langs.html

 

 

Programowanie: Jaki język?

Każdy język ma swoją specyfikę. Używa się ich do różnych zastosowań. Przy wyborze języka warto uwzględnić, co chcesz pisać. Jaka jest dostępnośc biblotek, wsparcie społeczności etc.

Jak się uczyć?

Metod nauki jest wiele. Jak zawsze najważniejsza jest praktyka.

Przede wszystkim musisz zadbać o środowisko, które pomoże Ci w nauce.

Będziesz popełniał błędy. To dobrze. Dzięki nim się nauczysz.

Jednak musisz zadbać o to byś jak najszybciej dowiedział się o popełnionym błędzie.

Niektóre języki wymagają kompilacji. Przez co musisz napisać pewną część kodu, dopiero potem możesz skompilować (czyli przetłumaczyć na język zrozumiały dla komputera). Dopiero wtedy może okazać, się że coś nie działa.

W językach skryptowych
W chwili wpisywania linijki możesz zobaczyć jaki ma efekt. Jeśli efekt Ci się nie podoba - możesz zmienić.
Dużo szybciej możesz 'podłapać' o co chodzi.

Dlatego zachęcam do języków skryptowych/interpretowanych przynajmniej na początek.

Istnieje wiele serwisów w których możesz uczyć programowania w sposób interaktywny.

Interaktywne kursy programowania

Najlepiej uczyć się programowania ćwicząc - rozwiązując różne problemy. Czasem, przygotowanie środowiska pracy, by napiać pierwszą linijkę 'kodu', może trwać godziny / dni (gdy dopiero zaczynasz). Na początek dobrym pomysłem są języki skryptowe i wszelkie interaktywne kursy (CodecAdemy, CodeWars, CheckIO, CodeFights, ...).

 

 

Społeczność

Angielski!

Na bardzo elementarnym poziomie angielski nie jest wymagany.
Później jednak będzie niezbędny chociażby do czytania dokumentacji bibliotek/komponentów z których będziesz chciał skorzystać.


 

 

Słownik

Kompilacja

Język programowania

Framework

 

Aplikacja Natywna

 

Frontend/Backend

W informatyce wyróżnia się Frontend i Backend.

Przypomina to koncert.
W czasie koncertu widzisz scenę (frontend), jednak by odbył się koncert, ktoś musiał przygotować scenę, zamontować głośniki, oświetlenie, ktoś musi tym zarządzać. Ważne są też toalety, bezpieczeństwo, obsługa i sprzedaż biletów, reklama (dzięki której wiesz, że taki koncert będzie) i wiele wiele innych. To wszystko z tyłu to backend (w przypadku koncertów mówimy o backstage).

Frontend - to widoczna część projektu - zazwyczaj widoczna w przeglądarce.
Backend - to niewidoczna część projektu, dzięki której wszystko działa.

 

Mobile/Desktop

Mobile - telefon - często w kontekście aplikacji na telefon.

Desktop - komputer - często w kontekście aplikacje na komputer

Co chcesz robić - jaki język?

Statystyki z serwisu GitHub (https://octoverse.github.com/).

 

Statystyki z serwisu: StackOverflow (https://insights.stackoverflow.com/survey/2017#technology)

 

Każdy język ma swoją specyfikę - inne zastosowanie.

 

Garbage Collector (Odśmiecanie pamięci)


Jeśli programujesz w Pythonie, JS, .. to gdy korzystasz korzystać z obiektu, po prostu go zostawiasz.

Niektóre języki, posiadają tak zwany "Garbage collecttor" (GC). Dzięki ktoś inny dba o to by wyrzucać smieci, a ty skupiasz się na tym co jest ważne.

W przypadku takich języków jak C, C++, sam musisz zarządzać obiektami. Gdy przestajesz z nich korzystać - musisz je wyrzucić!

Język C / C++ nie posiada "Garbage collector", zatem śmieci musisz wyrzucać sam, jeśli tego nie będziesz robił, w pewnym momencie stanie się to dużym problemem.

 

Warto wiedzieć, że we wspomnianych językach C/C++, sam zarządzasz pamięcią. Wiąże się z tym naprawdę wiele różnych potencjalnych problemów, gdzie niewyrzucone śmieci, to najmniejszy problem.

Programy napisane w C, C++ mogą być naprawdę szybkie, jednak lepiej zacznij od innego języka.

Osobiście jestem fanem Pythona :)

Detale techniczne

By zacząć programować, wiele nie trzeba wiedzieć.
Jednak brak pełnego zrozumienia co robi twój komputer, czasem może sprawiać problemy.

Dla ciebie pewnie oczywiste jest, że

0.1 + 0.2 = 0.3

Czy tak jest, możesz sprawdzić w przeglądarce internetowej.

Jeśli korzystasz z Chrome, naciśnij F12 (za pierwszym razem może pojawić się ostrzeżenie).

W konsoli wpisz:

0.1 + 0.2 == 0.3

W ten sposób zapytasz czy 0.1 + 0.2 jest równe 0.3 (czy liczby są równe).

Odpowiedź: false - nie. Liczby nie są równe!

Jaką wartość ma 0.1 + 0.3

Co: 0.30000000000000004?

Wynika, to ze sposobu w jaki komputer liczy liczby zmiennoprzecinkowe.
komputer korzysta z systemu binarnego, my z dziesiętnego.
Tak jak my nie możemy zapisać liczby 1/3 w systemie dziesiętnym (daje to 0.3333333..... i nieskończoną ilość trójek), tak komputer ma problem w tym przypadku (arytmetyka zmiennoprzecinkowa).

Problemów w przyszłości możesz spotkać wiele, od kodowania znaków unicode, poprzez detale systemowe (każda operacja może zostać przerwana przez system), po kolejności bajtów (little edian, big edian), która może być inna niż u sąsiada.

 

 

Co chcesz robić?

 


 

Zarobki?

Korporacja -> Java

Dlaczego

Aplikacje Webowe

 

 

 

Możliwe opcje?

 

 

 

Aplikacje na telefon?

Korzystając z komputera prawdopodobnie korzystasz z systemu operacyjnego Windows.

Każdy smartfony również posiadają swój system operacyjny.
W przypadku smartfonów, na rynku dominują urządzenia z systemem Android.
Kolejnym najpopularniejszym systemem jest iOS - dostępny w urządzeniach firmy Apple (iPhone, iPad).
Istnieją jeszcze inne systemy np. Windows phone jednak Microsoft już ogłosił zakończenie wsparcia - to znaczy nie będzie więcej smartfonów z tym systemem.
Być może w przyszłości pojawi się system operacyjny Tizen (od Samsunga)

 

Koncepcyjny wykres systemów operacyjnych.

Wykres pochodzi z serwisu: AndroidPub.

 

I co z tego?

Każdy system operacyjny posiada inne API.

API jest to sposób w jaki możesz komunikować się z systemem z twojej aplikacji.

Aplikacje na Androida pisze się w języku: Java.

Aplikacje na iOSa pisze się w języku: Objective C.

Są to zupełnie inne języki programowania!
Musisz poznać zupełnie inną specyfikę systemu.

 

Skoro za większość rynku odpowiada Android, to po co iOS?

Każdy rynek ma swoją specyfikę.

Użytkownicy Androida są przyzwyczajeni, że aplikacje są darmowe.
Jeśli będziesz chciał sprzedać swoją aplikację, wiele osób wybierze darmową alternatywę.
Dlatego planując monetyzację aplikację trzeba być być kreatywnym.
Oczywiście można zarabiać na reklamach, dodatkowych opcjach w aplikacji, sprzedaży danych użytkowników, ...
 

Użytkownicy iOS, od początku są przyzwyczajeni, że trzeba płacić.
Dlatego mimo iż urządzeń z iOS jest zdecydowanie mniej przynoszą większe zyski.

 

Uwaga.
Zanim aplikacja trafi go sklepu np. iTunes (iOS), czy Google play w Androidzie musi zostać zweryfikowana.
Różne sklepy mają różny zasięg, różne wymagania.

 


Popularność języków programowania na platformach mobilnych. Zobacz pełen raport Realm.

Widać m.in, że język: Kotlin, powoli zaczyna zjadać Jave. Być może niedługo dogoni popularnością Objective-C.

Google na swojej konferencji "Google I/O", rekomendowało język Kotlin do tworzenia aplikacji na Androida.
Kotlin podobno jest wygodniejszy, zaś rozwiązanie wielu problemów wymaga średnio 40% mniej linii kodu, niż ten sam kod napisany w Javie.

 

 

Aplikacja na dowolny telefon (Android i iOS).

Istnieją technologie, które pozwalają napisać aplikację w jednym języku (bez potrzeby uczenia się osobno Javy i Objective-C i ..).

Technologia sprowadza się do tego, że tworząc aplikację faktycznie w aplikacji znajduje się przeglądarka internetowa, która udostępnia Ci możliwość komunikacji z systemem operacyjnym telefonu z poziomu JavaScript (język programowania).

W wyniku tego nawet najprostsza aplikacja np. dla Androida będzie zajmowała minimum 30MB!

Cordova

https://cordova.apache.org

Zalety:

  • Wygoda wystarczy że znasz tylko JavaScript.
    Dla wielu osób, to po prostu wykorzystanie znanych umiejętności.

Wady:

  • Duży rozmiar plików (minimum 30MB)

 

PhoneGap

https://phonegap.com/

 

 

react native

React - technologia od Facebooka.
Wydajny framework ...

Zobacz więcej: https://facebook.github.io/react-native/

 

 

Technologie webowe

 

 

 

 


 

Aplikacje na komputer

 

TODO: "Natywne czy .."

Języki, plusy i minusy

 

Electron pozwala na pisanie aplikacji przy użyciu dobrze znanych Webowych (internetowych) technologii: JavaScript, HTML, and CSS.

Takie aplikacje będzie można uruchomić na Windowsie, Makach a nawet na Linuxie.

https://electron.atom.io/

Przykłady aplikacji z wykorzystaniem "electron".

Ile kosztuje nauka?

W informatyce w zasadzie wszystkie informacje są dostępne za darmo!

Znajdziesz wiele kursów w pełni za darmo, choć możesz wybrać również płatne.
Większość narzędzi programistycznych dostępnych jest za darmo, choć również istnieją płatne.

 

Nie potrzebujesz rozwiązań płatnych, jednak mogą one dawać większą wygodę.

 

 

 

Zacznij od

Jeśli chcesz się nauczyć programpować, to na początek polecam interaktywne kursy, w których uczysz się po przez programowanie.

Interaktywne kursy programowania

Najlepiej uczyć się programowania ćwicząc - rozwiązując różne problemy. Czasem, przygotowanie środowiska pracy, by napiać pierwszą linijkę 'kodu', może trwać godziny / dni (gdy dopiero zaczynasz). Na początek dobrym pomysłem są języki skryptowe i wszelkie interaktywne kursy (CodecAdemy, CodeWars, CheckIO, CodeFights, ...).

 

 


https://www.udemy.com

 

Tutorial

 

C++, py3, Java, JS, jQuery, CSS, C#, PHP, Ruby, SQL

https://www.sololearn.com/

====

https://learnxinyminutes.com/

====

 

Python

Kurs online (angielski)

codecademy

https://www.learnpython.org/

 

https://learnxinyminutes.com/docs/python3/

http://www.pyschools.com/

 

https://automatetheboringstuff.com/

 

https://www.youtube.com/watch?v=YYXdXT2l-Gg&list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU

 

https://www.youtube.com/watch?v=hvoiILSUWsc&list=PLT_6xP6jAq8jGg4QgDHqOwxHLy-L66mqU

http://anandology.com/python-practice-book/index.html

http://www.alwayslearning.io/8-practice-steps-to-help-you-become-a-qualified-python-web-developer.html

 

 

// like notprom http://www.pythonchallenge.com/

Ruby

https://www.learnrubyonline.org/

 

Java

https://www.learnjavaonline.org/

 

HTML & CSS

https://www.learn-html.org/

JS

https://www.learn-js.org/

 

PHP

https://www.learn-php.org/

 

 

Shell

https://www.learnshell.org/

 

 

Go

https://www.learn-golang.org/

 

C

https://www.learn-c.org/

 

C++ (cpp)

https://www.learn-cpp.org/

 

C#

https://www.learncs.org/

 

Perl

https://www.learn-perl.org/


Szkolenia stacjonarne


Na polskim rynku szkolenia
https://coderslab.pl

 

 Coders Lab to szkoła, która pozwala zyskać nowe kompetencje i nowy zawód. Współpracujemy na co dzień także z pracodawcami po to, by kursy odpowiadały na ich potrzeby, by potem chętnie zatrudniali naszych absolwentów, a ci absolwenci, żeby jak najlepiej odnajdywali się na rynku pracy – wyjaśnia Marcin Tchórzewski.

Firma istnieje na rynku od 2013 roku i przez ten czas zdołała wyszkolić ponad 1500 programistów webowych, z czego ponad 700 w samym 2017 r.

https://businessinsider.com.pl/firmy/strategie/grupa-pracuj-inwestuje-w-coders-lab-szkole-programowania/w07zfzk

 

Nauka języka programowania to mały fragment całej układanki!

 

 

Na pewno musisz rozumieć różne algorytmy i pojęcie złożoności obliczeniowej.

Kontrola wersji: np GIT,

Deployment (wdrażanie aplikacji).
Bazy danych,

Bezpieczeństwo,

Testy jednostkowe, testy integracyjne, automatyzacja.

 

 

 

 

 

 

Środowisko

 

Do programowania zazwyczaj wystarczy zwykły edytor tekstu.
Nawet standardowy notatnik może wystarczyć.
Jednak "wystarczy" nie oznacza komfortu i efektywności twojej pracy.

 

Tonę ziemi możesz można przekopać zwykłą łopatą (męczące, długotrwałe),
jednak zdecydowanie wygodniej jest użyć specjalnej maszyny.

 


 

 

Zamierzam opisać różne aspekty programowania - z czym się to wiąże

Dlatego poniżej znajduje się wiele obrazków, które mi się niedługo przydadzą :)

 

 

Styl, konwencje i dobre praktyki

W każdym języku istnieją pewne bardziej popularne konwencje.

Wiele rzeczy można napisać w różny sposób.
Twój kod może być czysty, przejrzysty - czytelny, może równie dobrze być nieczytelny i skomplikowany.

Trzymając się pewnego stylu:

  • inny programista będzie w stanie zrozumieć co miałeś na myśli,
  • gdy za pół roku wrócisz do swojego kod, będziesz w stanie go poprawić.

 

W Pythonie,
konwencje zostały opisane w dokumencie PEP8: Style Guide for Python Code.
Dokument opisuje nawet ile spacji mają mieć wcięcia.

Naprawdę warto się do nich stosować.

 

 

Błędy w oprogramowaniu

Błędów w oprogramowaniu nie da się uniknąć (im większa aplikacja tym większe prawdopodobieństwo istnienia jakiegoś błędu).

W IT, jeśli coś może się wydarzyć TYLKO raz na milion, to znaczy, że będzie to miało miejsce co kilka minut.
Sprawa jest prosta nasze komputery są bardzo szybkie, razy ilość komputerów.. Nie mniej, może się zdarzyć, że błąd ukrywa się latami.

 

By ograniczyć ilość potencjalnych błędów, pisze się tak zwane testy.
Testy to po prostu sprawdzenia, czy nasz program robi w danym przypadku robi to co powinien - czy nie zawiera błędów.

 

Błędu nazywamy BUGami (po angielsku: "Pluskwa").
Nikt nie lubi robactwa :)

 

Proces szukania błędów - próbę ich lokalizacji nazywami odpluskwianiem - debugowaniem (ang debugging).

Co ciekawe, nieraz naprawdę trudno odtworzyć sytuację w której może dojść do błędu.
Zatem możemy mówić o sztuce debugowania.

 

Stąd słynne.

 

"Dziwne,

U mnie DZIAŁA!"

 

 

 

Nie raz błąd nie wynika z czynności użytkownika, czy złego algorytmu

 

 

 

 

 

 

 

 

Czasem problemy wynikają po prostu z tego, że polegasz na innych rozwiązaniach.

 

Jak na obrazku jako programista, powinieneś przewidzieć, że gdy układasz karty, to ktoś może wpaść na pomysł by naprawić nogę od stołu.
W IT, każda funkcja, każde wywołanie systemowe, prawie każda czynność może skończyć się błędem.  Jako programista powinieneś przewidzieć i zrobić tak by program nadal działał prawidłowo - wszytko może pójść nie tak.

 

Warto pisać testy jednostkowe (ang. Unit Test).

Testy które testują poszczególne funkcje, komponenty.

Jednak to, że działają poszczególne komponenty, wcale nie oznacza, że będzie działała całość.

 

 

 

Problem z szukaniem błędów.

Ta chwila, kiedy dziewczyna zauważyła, że zgubiła kolczyk, pierścionek,.. w czasie spaceru.

 

Ile czasu może zająć debugowanie?

Tyle samo czasu ile zajmuje znalezienie zgubionego kolczyka w czasie spaceru.
Możesz go znaleźć w ciągu minuty, godziny, dni, miesięcy. Być może nigdy się nie znajdzie.

Z doświadczeniem, szukanie błędów zajmuje coraz mniej czasu, ponieważ domyślasz się gdzie potencjalnie "mógł wypaść kolczyk".

 

Społeczność

Przy wyborze języka i technologii istotna jest również społeczność.

W praktyce, każdy program opiera się o pracę innych.
Często ktoś inny napisał biblioteki z których korzystasz.

Dodatkowo z pewnością będziesz napotykał różne trudności. Nieraz pisząc wszystko na 100% zgodnie z dokumentacją, może okazać się, że w bibliotece z której korzystasz jest błąd.
Jeśli społeczność skupiona wokół technologii jest dość duża, to możesz kogoś zapytać, czy ma pomysł. Choć w 99,9% przy odpowiednio dużej społeczności ktoś już miał taki problem - a odpowiedź znajdziesz np. na:

https://stackoverflow.com

 

 

DevOps

Czym jest DevOps?

 

 

Projektowanie systemów 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Design patterns

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Co wybrać?

 

Często wybór technologii zależy od twoich preferencji.

W zależności kogo się zapytasz, taką usłyszysz odpowiedź.

Przypomina to wojnę: Lepiej mieć Psa czy Kota?

 

 

Tak samo jest w przypadku IT.

To mapa walki frameworków: Angular, React, vue, .. osobiście korzystam jeszcze z innego nawet niewidocznego na mapie :)

 

//TODO: Bootcamps 

 

 

 

 

 

Uwaga: Prawie wszystkie artykuły cały czas aktualizuję :) Możesz spotkać: literówki, niedokończone zdania itp. Najpierw jakoś potem jakość. Wszelkie uwagi są mile widziane!
Pomóż innym - Podziel się - Udostępnij, to takie proste.

Ciekawe?
Bądź na bierząco!
Polub StartHerePL: InfoTechnologia
Dodatkowo zobacz inne kategorie
Polub StartHerePL: Zdrowie
Polub StartHerePL: Biznes

Nie masz konta na FB?
Pomóż - Wsparcie - Darowizna?

Przygotowanie artykułów zajmuje dużo czasu, do tego dochodzą koszty m.in. serwera.
Dlatego wszelkie darowizny są mile widziane - każda złotówka się liczy!

PayPal (możliwość płatności kartą):
Konto

mBank: 81 1140 2004 0000 3902 7604 5817

Krypto

LTC: LZqTnSMxjEtJpT5VttKg8339gWJvig9rVE

ETH: 0x725F98e3eB04fbaC171410160F22a6cB95e26151 (duże prowizje)

BTC: 1E5Nk23zb7kohtX1tPNLiVyiRAjZxbuXr7 (bardzo duże prowizje)

Inne formy pomocy:

Kupując książki za pomocą porównywarki cen ksiązek (otrzymam 3-4% od ceny książki czyli ~1 zł).

Polub / Udostępnij