Kategorie
Uncategorized

Bazy danych i SQL: Podstawy zarządzania danymi

Cześć!

Dzisiaj zrobimy sobie krótkie wprowadzenie do bazy danych i języka SQL, bowiem często bywa tak, że bez nich ani rusz 🙂 Więc czym są te tajemnicze bazy danych i w ogóle to wszystko, co się z tym wiąże?

Bazy danych to inaczej środowiska, w których dane są przechowywane. Najczęściej pod postacią tabel lub list. Bazy służą też do zarządzania tymi danymi, zmieniania ich, więc nie tylko do przechowywania. Ale jak się organizować z tymi danymi? I tu przychodzi nam z pomocą język SQL.
SQL (Structured Query Language) to prosty język zapytań do bazy danych, którym możemy dowolnie manipulować danymi. Jest używany do komunikacji z bazami danych. Ale zanim przejdziemy do podstaw SQL, przyjrzyjmy się podstawowym pojęciom związanym z bazami danych.

1. Baza danych
Wg. Definicji Baza danych to zbiór powiązanych informacji przechowywanych w uporządkowany sposób. Może zawierać tabele, relacje, indeksy i inne struktury danych. Mogą być one zorganizowane na różne sposoby, na przykład hierarchicznie lub listowo. 

2. Tabela

Tabela to struktura danych, która przechowuje dane za pomocą kolumn i wierszy. Tabela zawiera kolumny, które definiują, jakie dane znajdują się w tabelce i jakiego typu, a wiersze — rekordy tabeli, czyli dane, które ona przechowuje. 


3. Klucz główny

Klucz główny, inaczej: primary key to osobny identyfikator dla każdego rekordu. Po tym właśnie indeksujemy i rozpoznajemy rekordy. Zazwyczaj takim primary key jest id, ale możemy go zdefiniować inaczej, w zależności od potrzeb. 


4. Relacje

To związki między tabelkami w bazie danych, inaczej relacje między nimi. Często jest tak, że tabele są ze sobą powiązane konkretnymi rekordami, i konkretnymi kluczami. Mamy primary key, który definiuje rekord w wybranej, basickowej tabeli, ale mamy również klucz obcy odwołujący się do innej tabeli. W ten sposób mamy cały schemat wszystkich tabel gotowy w bazie.


5. Zapytania SQL

Zapytania SQL to komendy, którymi wysyłamy konkretne polecenia do bazy danych, aby na przykład: pokazała nam wszystkie rekordy z danej tablicy, aby nam usunęła, dodała rekordy, aby zmieniła poszczególne komórki gdzie np. id=1 lub wartości boolean dla jakiejś kolumny wynoszą w rekordach true… i tak dalej. Podstawowe komendy to SELECT, INSERT, UPDATE I DELETE.  Często piszemy komendy dużymi literami dla czytelności.

Na razie tyle wam wystarczy, abyście mieli podstawowe pojęcie, czym są bazy danych. A ta wiedza jest niezbędna nawet dla frontendowca 🙂

Jeżeli chcesz dobrze opanować SQL zapraszam do kursu: https://www.udemy.com/course/jezyk-sql-w-praktyce/?referralCode=8EC14158D9085568DAA8

Kategorie
Uncategorized

Frameworki testowe – Przykłady i wybór odpowiedniego narzędzia


Cześć!

Jak pewnie wiesz testowanie oprogramowania, jest niezwykle ważne. To dzięki niemu wyłapujemy błędy na frontendzie, np. gdy jakiś przycisk jest nieklikalny, to również dzięki niemu znajdujemy nieprawidłowości w zapytaniach http czy przechwytujemy, co powinno nam zwrócić, by strona działała prawidłowo. Można powiedzieć, że testowanie jest jak ‘masło’ na kanapkę — niezbędne 😉

Przyjrzyjmy się zatem głównym narzędziom, które możesz wykorzystać do testowania swojej aplikacji:

1. Selenium — najpopularniejszy Framework do testowania aplikacji internetowych. Służy do testowania interfejsów użytkownika w aplikacjach webowych. Wykorzystuje Javę, C#, Python, Ruby itp. do tworzenia testów automatycznych.

2. Playwright — Playwright to narzędzie do testowania przeglądarek stworzone przez Microsoft. Pozwala na automatyzację działania przeglądarek webowych w celu testowania aplikacji internetowych.

3. Cypress — to framework do testowania zarówno API jak i interfejsów użytkownika. W Cypressie piszemy testy za pomocą języka JavaScript. Cypress zapewnia debugowanie testów, automatyczne odświeżanie i wiele innych. Jest bardzo przyjemny w użytkowaniu oraz można wykonywać w nim testy E2E.

4. JUnit — to popularny framework do testowania jednostkowego w języku java. Jest stosowany w większości projektów opartych na javie. Umożliwia również tworzenie raportów i integrację z różnymi środowiskami programistycznymi.

5. pyTest – to framework przeznaczony do testowania w  języku Python. Podobnie jak Cypress powiada wiele funkcji i wbudowanych asercji. Wykorzystuje się go zarówno do testów jednostkowych, jak i testowania API.

Mamy już wymienione popularne frameworki do pisania testów, choć pominęliśmy mniej popularne takie jak Cucumber i TestNG. Ok, ale jak wybrać odpowiedni Framework? To zależy, co Cię interesuje. Najlepiej to odkryć, kiedy możesz „liznąć” każdego z typów testowania, więc polecam zacząć od Selenium webdriver lub Playwrighta/Cypressa.  Zwłaszcza Cypress jest bardzo intuicyjnym frameworkiem, który możesz wykorzystać zarówno do testów API jak i do interfejsów.
Ważny jest też język programowania. Jeżeli wybrałeś/aś sobie Javę, polecamy JUnit lub Selenium.

Wszystko zależy od tego, jakiego języka wcześniej się uczyłeś/aś.  Ja na początek zawsze będę polecał Pythona, który jest najłatwiejszy do przyswojenia, a wiadomo, jak już raz nauczymy się pewnych schematów, to łatwiej będzie je wykorzystać przy nauce innego języka.

Od lat języki najczęściej wykorzystywane do testowania to: Java, Python oraz JavaScript. Warto trzymać się tego core’u, gdy wybieramy język i framework do nauki testowania.

Kategorie
Uncategorized

Wprowadzenie do HTML, CSS i JavaScript

Cześć!

W tym artykule postaram się wam przybliżyć, czym właściwie jest HTML, CSS i JavaScript.

1. HTML
Html to skrót od HiperText Markup Language. To tak naprawdę nie jest język programowania, ale język kodowania. Ma za zadanie zbudować całą strukturę Interfejsu aplikacji. Za pomocą takich znaczników jak <div> czy <p> definiuje, jak ma wyglądać drzewo DOM, czyli struktura wszystkich elementów na stronie.

2. CSS
CSS to skrót od Cascading Style Sheets, czyli tworzy style danych elementów. Pozwala nam wystylizować dane elementy html tak, by wyglądały bardziej ludzko 🙂 Podobnie jak html, jest to język kodowania, choć całkiem przyjemny i prosty. Do czego go można użyć? Na przykład do zmiany koloru tła, dodania obrazka w backgroundzie czy zaokrąglenia boków diva na stronie internetowej.

3. JavaScript
Jest to język programowania skryptowego, który umożliwia nam interakcję pomiędzy elementami html, pozwala nimi manipulować w dowolny sposób. Służy nie tylko do budowania interakcji na stronie, ale i również do testowania, a także ma wiele więcej praktycznych zastosowań.
Wartościowy kurs z języka JavaScript znajdziesz pod linkiem: https://www.udemy.com/course/javascript-typescript-w-praktyce/?referralCode=E4DE403E0696CADC8556

4. Podstawy w praktyce
Aby zbudować aplikację, pierwsze co robimy to budowanie drzewa DOM w html. Wiadomo, że gdy budujemy dom, najpierw muszą powstać fundamenty i szkielet 😉 Więc przystępujemy do tworzenia naszego ‘szkieletu’:

<!DOCTYPE html>
<html>
<head>
  <title>Moja strona</title>
  <link rel=”stylesheet” type=”text/css” href=”styles.css”>
</head>
<body>
  <h1>Witaj na mojej stronie!</h1>
  <p>To jest przykładowy paragraf.</p>

  <script src=”script.js”></script>
</body>
</html>


Jak zauważyliście, mamy już w tym szkielecie podpięty CSS i JavaScript. Ale zanim przejdziemy do bardziej skomplikowanej rzeczy, pokażmy, jak wyglądają CSSy dla tej naszej małej aplikacji:

h1 {
  color: blue;
}

p {
  font-size: 18px;
}


h1 to nagłówek strony, natomiast p to paragraph. W tym przypadku kolor czcionki na h1 zmieniliśmy na niebieski, a rozmiar czcionki na p: 18px.

A teraz najprzyjemniejsza rzecz! (przynajmniej wg. mnie 😉):

Kod js dla tej aplikacji będzie wyglądał tak:

var header = document.querySelector(‘h1’);
header.addEventListener(‘click’, function() {
  header.style.color = ‘red’;
});


To jest kod, który w przypadku kliknięcia na h1, zmieni to kolor na czerwony.

Są to tylko podstawy, ale warto się ich nauczyć. Więcej możesz się dowiedzieć z naszych artykułów na stronie, lub wykorzystać do nauki darmowe zasoby takie jak: https://www.w3schools.com/css/  (dla CSS), https://www.w3schools.com/html/default.asp (dla html) czy https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide (dla JavaScriptu).

Kategorie
Uncategorized

Najlepsze języki programowania dla początkujących w 2024 roku

Cześć!

Zastanawiasz się, jak język programowania będzie dla Ciebie najlepszy na początek kariery? Wielu początkujących osób w branży nurtuje to pytanie. Nic dziwnego — w końcu nie chcemy wybrać języka, który będzie dla nas nudny czy toporny do nauczenia i który finalnie nam się nie przyda. Z czasem może okazać się, że będziemy chcieli pracować w innym dziale IT lub dziedzinie…

Zastanów się najpierw, z jaką technologią chcesz mieć do czynienia? Interesują Cię strony internetowe, bazy danych, analiza danych, operacje matematyczne, backend, aplikacje desktopowe? Na szczęście jest kilka języków, które są wszechstronne i możesz je wykorzystać zarówno do frontendu, testów automatycznych, jak i backendu lub do obliczeń matematycznych czy obsługi baz danych.

Takimi językami są na przykład:

1. Python


Jest to jeden z najlepszych języków programowania na początek: ma prostą składnię, jest czytelny — co ułatwia naukę. Nie musisz na początku ogarniać całej składni, ważne jest, byś zrozumiał paradygmaty programowania. Sprawę ułatwia też to, że Python ma dużo bibliotek do wykorzystania oraz ma szeroką społeczność w internecie, więc z łatwością poprosisz kogoś o pomoc w razie problemów 😉

Jeżeli wybierzesz Pythona na swój pierwszy język, serdecznie polecam Ci 21-dniowe wyzwanie z Pythona i moją pomoc podczas nauki -> https://cyfrowytrener.pl/produkty/21-dni/

2. Javascript

Jest używany do tworzenia stron internetowych, ale nie tylko. Możesz np. za pomocą node.js postawić backend, więc jest to bardzo wszechstronny język. Można go też używać do aplikacji mobilnych. Do tego nie jest to skomplikowany język. JavaScriptu uczą się już dzieciaki w podstawówce 🙂

3. Java 


Java ma główne zastosowanie w aplikacjach mobilnych, ale również w aplikacjach desktopowych. Posiada wiele bibliotek ułatwiających pracę, których łatwo się nauczyć. Jest to więc kolejny język o szerokim zastosowaniu, którego warto się nauczyć.

Trzeba również wspomnieć, że to, jak przyswoisz język i z jaką szybkością zależy tylko od Ciebie i Twoich preferencji. Może się zdarzyć, że najlepszy dla Ciebie będzie JavaScript, bo kompletnie nie podejdzie Ci Python. Ten artykuł jest jedynie sugestią, od czego możesz zacząć. Jeśli bardziej interesuje Cię nawet i C lub C++ to czemu z nim nie zacząć? Później język zawsze można zmienić. Najważniejsze to “zakasać” rękawy i brać się do roboty 🙂

Kategorie
Uncategorized

Najczęstsze błędy podczas nauki automatyzacji – niezależnie od języka programowania i branży (Musisz tego unikać!)

0 Za dużo “pośpiechu”
Prosta zasada, śpieszcie się powoli. Nauka automatyzacji oprogramowania wymaga czasu. Traktuj to jak ultramaraton.

1 Krótkowzroczna wizja
Ten punkt jest przedłużeniem powyższego punktu, dobrze jest mieć plan, jak się uczyć i co chce się dzięki temu osiągnąć na dłuższą metę.

2 “Nigdzie nie mogę zdobyć doświadczenia wymaganego do pracy w automatyce”
Zacznij od małych kroków, np. załóż konto na Githubie, a następnego dnia rozpocznij kurs i trening w interesującej Cię dziedzinie. Prześlij swój pierwszy “Hello World” i umieść go na swoim koncie Githuba. Następnie wykonaj kolejne małe kroki, z tą techniką, po roku, gdy spędzisz godzinę dziennie, będziesz na naprawdę dobrym poziomie -> zobacz jak proste to jest… 

3 “Nie mam żadnych sukcesów w rozmowach kwalifikacyjnych, więc odpuszczam”

4 Bądźcie uparci i starajcie się znaleźć swoją drogę. Czasami to działa, a czasami zawodzi.
Z perspektywy czasu, może to być świetne doświadczenie, jeśli otrzymasz informację zwrotną od rekrutów, co o tobie myślą i ile jesteś dla nich wart -> jest to cenna informacja i tylko od ciebie zależy co z nią zrobisz. 

5 Wybierz formę nauki, która najbardziej Ci odpowiada
Dokładnie, Wybierz formę nauki, która najlepiej odpowiada twojej wiedzy. Możesz oglądać kursy, czytać książki… i najlepiej: przećwiczyć to!

6 “Nie wiem czy nauka inżynierii oprogramowania jest dla mnie odpowiednia”
Nie każdy człowiek ma predyspozycje do bycia jak Michael Jordan w swojej dziedzinie. Musisz to ocenić samemu, jest na to prosty sposób – po prostu zacznij się tym interesować, spróbuj po jakimś czasie, sam będziesz oceniał. Czy jest to to, co chciałbyś robić i poświęcić na to swój cenny czas.

Kategorie
Uncategorized

5 sposobów na znalezienie flow/inspiracji, do rozwijania umiejętności cyfrowych

0 Wprowadź nawyki do swojego życia
Każdy z nas ma swój własny sposób na przygotowanie się do pracy. Niektórzy ludzie potrzebują czystej przestrzeni, podczas gdy inni wolą iść na trening i ćwiczyć przed pracą. Najważniejsze jest wypracowanie pewnych nawyków, wtedy jest to o wiele łatwiejsze.

1 Odetnij się od cyfrowej dżungli
Tak! Bardzo często zjawisko “nadmiaru informacji” idzie w parze z negatywnymi emocjami. Problemy osobiste, zmartwienia, stres i niezdrowy styl życia – to czynniki, które niszczą kreatywność.

2 Obserwacje otoczenia i długie rozmowy z ludźmi
Każde miejsce, budynek lub nawet inny człowiek kryje w sobie potencjalnie niesamowitą historię. Źródłem świetnych pomysłów może być nawet najbardziej banalna, najmniej znacząca rzecz. Jeśli chodzi o ludzi, to warto słuchać tego, co inni mają do powiedzenia.

3 Muzyka
Muza jest czymś, co mnie bardzo inspiruje do działania – szególnie rano 🙂 -> “Spotify” na słuchawkach, dobry chillout i robota idzie bardzo sprawnie.

4 Rób przerwy w pracy, zbieraj pomysły, planuj działania i zapisuję je w notatniku.
Krótko i na temat, są to sprawdzone metody i naprawdę działają.


Dodatkowo: Realizuj swoje pasje “po godzinach”

W moim przypadku jest to taniec 2 razy w tygodniu, który mnie całkowicie resetuje i relaksuje, ale może to być każdy sport lub dodatkowa aktywność – kilka godzin w tygodniu wystarczy i na pewno przyczyni się do osiągnięcia flow i lepszego samopoczucia w pracy 😉

Kategorie
Uncategorized

5 Wskazówek odnośnie utrzymania motywacji podczas nauki automatyzacji oprogramowania

0 Rozpoczynaj małymi kroczkami / Postępuj według zasady 5-minutowej
Najtrudniejszą częścią jakiejkolwiek zmiany w życiu jest początek i nie ma tutaj żadnych magicznych sztuczek, po prostu “zjedz tego robala” i trenuj ten nawyk każdego dnia.

1 Trenuj/ Ucz się z tym co lubisz
Może to być Spotify, Podcast na YouTube, a może wideo z Udemy na drugim monitorze.

2 Używaj treningu fizycznego jako przerwy
Jako ludzie potrzebujemy odpoczynku i naprzemiennej aktywności przez cały dzień, aby zmaksymalizować wyniki.

3 Planuj pracowite i produktywne poniedziałki
Długie godziny nauki w poniedziałek wyznaczają ton i wzorzec psychologiczny na dany tydzień (sic!). Jeśli pominiesz ciężką pracę w poniedziałek, o wiele łatwiej zrezygnujesz z ćwiczeń we wtorek, itd. i w końcu odpuścisz.

4 Baw się pracą
Rób, co chcesz i w jaki sposób lubisz to robić, w swoim tempie a nigdy nie będziesz musiał pracować.

5 Nie ucz się dla wiedzy, ucz się żeby mieć umiejętności
Możesz pominąć dzień praktyki, ale staraj się nigdy dwa dni z rzędu.
Jeśli to zrobisz, o wiele trudniej będzie ci wrócić do rutyny. Wiedza jest jak budowanie rakiety w garażu (możesz to robić całe życie i tak nikt tego nie zobaczy, ani nie będzie z tego żadnego pożytku). Sztuczka w życiu polega na tym, aby używać tych rakiet w praktyce 🙂 – oczywiście w przenośni. Liczy się tylko to, co robisz.

Kategorie
Uncategorized

10 wskazówek dotyczących rutyny produktywnego dnia

0 Przygotuj się.
Planuj nocą cele na kolejny dzień. Wieczorna rutyna planowania może pomóc ustawić harmonogram dla przyjemnego i produktywnego dnia. Planuj szybko i mądrze.

1 Żyj w teraźniejszości i unikaj wszelkiej dodatkowej pracy.
Praca może być bardzo ważną częścią życia, ale to nie powinno być całe nasze życie, musimy nauczyć się jak żyć bieżącą chwilą i czerpać radość z każdej małej rzeczy.

2 Traktuj wszystko w swoim życiu z dystansem i pamiętaj, że wszystko jest tymczasowe.
Niektórzy ludzie traktują pracę zbyt poważnie, zwłaszcza w branży IT. Prawdopodobnie dużą część swojego życia spędzisz pracując, więc warto nastawić się w taki sposób, aby było to jak najbardziej przyjemne. Wstań rano do pracy, włącz Spotify i pomyśl, że będziesz się dziś świetnie bawić, niezależnie od projektu i okoliczności.

3 Skup się i unikaj wykonywania kilku zadań na raz.
Ta zasada pozwala osiągnąć znacznie więcej bez stresu i przytłoczenia.
Skupienie i wydajność idą w parze. Wielozadaniowość osłabia koncentrację i ma negatywny wpływ na wydajność.
Jeżeli masz z tym problem, polecam poniższe video:

4. Utrzymuj swój harmonogram najprościej jak się da.
Napięty harmonogram może spowodować wiele niepotrzebnego stresu w ciągu dnia, więc zawsze staraj się dostosować swój harmonogram w taki sposób, aby dodatkowe zajęcie nie popsuło Ci planów na resztę dnia.

5 Trenuj fizycznie.
Poranny trening może dać Ci dużo więcej energii, abyś mógł być bardziej produktywny przez cały dzień.

6 Kontroluj rozpraszanie uwagi i zachowaj spokój i ciszę w swoim środowisku pracy.

7 Stosuj zasadę 80/20 w ciągu dnia.
Po prostu rób mniej i osiągaj więcej.

8. Pamiętaj, aby regularnie robić sobie przerwy i patrzeć w dal.
Regularny przerwy i patrzenie w dal za okno spowoduje, że Twój wzrok będzie odpoczywał. U mnie to działa dobrze więc polecam 😉

9. Budź się z szybkim zimnym prysznicem.
To może się wydać trudne… ale rozpoczęcie zmiany choćby od mycia twarzy zimną wodą codziennie rano jest stymulujące do działania.

Kategorie
Uncategorized

Jak uczyć się po mistrzowsku automatyzacji oprogramowania?

0 Ćwicz to, czego się nauczyłeś

1 Staraj się stosować zasadę Pareto podczas nauki, tj. 80 % praktyki i 20 % teorii.

2 Ucz ludzi tego, czego właśnie się nauczyłeś lub co już wiesz
Jest to zasada w życiu, która dotyczy wielu aspektów, pamiętaj: kto zabiera drugą osobę łodzią, na drugą stronę jeziora… również tam dopływa. Pamiętaj o tym, jak będziesz uczył inne osoby.

3 Wyznacz sobie cel nauki oraz styl, który najbardziej Ci odpowiada
Bardzo ważne jest, aby określić cel nauki, dlaczego chcesz się czegoś nauczyć. Jednocześnie pamiętaj, że nie warto uczyć się z wyprzedzeniem – wykorzystuj mądrze zasoby (czas i pieniądze) i ucz się ze źródeł z których lubisz się uczyć. Jedni lepiej uczą się z książek, video tutoriali, a inni ze słuchu poprzez przykładowo podcasty.

4 Pisz własne notatki
Zapisanie ważnych informacji zwiększa szanse na ich zapamiętanie.

5 Powtarzaj, to co już umiesz
Mistrzostwo w każdej dziedzinie można osiągnąć tylko dzięki wielu próbom i “małym krokom” powtarzanym regularnie. Należy o tym pamiętać podczas nauki.

6 Rób przerwy
Przerwy to indywidualna sprawa, mi osobiście po kilku godzinach pracy wystarczy przerwa na kawę i coś do jedzenia. Inna osoba potrzebuje więcej lub mniej przerw podczas nauki lub pracy. Staraj się cały czas podnosić poprzeczkę i skracać czas spędzony na przerwach lub staraj się ją lepiej zoptymalizować lub produktywnie wykorzystać 🙂

Kategorie
Uncategorized

Jak skutecznie wybierać narzędzia do projektów IT / Jak wybrać najlepsze narzędzie do automatyzacji oprogramowania

Cześć! To będzie całkiem oryginalny wpis… Jak wiesz, zajmuję się szeroko pojętą automatyzacją testów w świecie IT. Nie raz miałem dylemat rozpoczynając projekt lub szukając sposobu na zautomatyzowanie i skuteczne “przetestowanie” już wdrożonego systemu informatycznego.
W taki sposób, aby w dłuższym okresie czasu można było łatwo dodawać do systemu nowe funkcjonalności, bez obniżania jakości oraz mając pewność, że obecny system zadziała u klienta w pełni poprawnie po wprowadzonych zmianach.

Nie będę doradzał Ci bezpośrednio, w jaki sposób możesz dobrać narzędzia do swojego projektu -> zależy to od wielu zmiennych, które musisz zdefiniować i ustalić priorytety przy wyborze “Narzędzi”. Chciałbym Cię zainspirować i inaczej spojrzeć na “cyfrowy świat”.
Zobacz, przez setki lat w branży budowlanej budynki były budowane przy użyciu różnych narzędzi i na wiele różnych sposobów. Opracowanie skutecznych rozwiązań, które są stosowane do dziś, zajęło dużo czasu.
Jednak metodologia i potrzeba nie zmieniły się wiele na przestrzeni dziejów, najważniejsze jest to, co można osiągnąć za pomocą tego narzędzia. Odpowiedni dobór narzędzi może zaoszczędzić czas, ale ma również wpływ na efekt końcowy. Doskonałym przykładem takiego rozwiązania może być poniższa konstrukcja kościoła Wang w Karpaczu:

Kościół Wang w Karpaczu

Czy wiesz, że ten Kościół został pierwotnie zbudowany bez użycia gwoździa? Zastanów się ile czasu i pracy musieli zainwestować budowniczy w tą konstrukcję. Niewiarygodne.

Kiedy patrzę przez ten pryzmat, jestem przekonany, że narzędzia zawsze będą się zmieniać i ewoluować w branży inżynierii oprogramowania, ale cele i efekty, do których będziemy dążyć, są niezmienne i ponadczasowe.

Miej to na uwadze, przy wyborze narzędzi w swoich kolejnych projektach.