Programowanie

java10, dalsze kroki

Java 10 dni – Lekcja 10, Podsumowanie i dalsze kroki

 

No comments
Share:
springboot

Spring Boot, Spring REST API

Jak za pomocą Javy, Mavena, SpringBoot’a stworzyć proste API REST-owe?

Z tego materiału dowiesz się:

  • Jak utworzyć nowy projekt w IntelliJ IDEA za pomocą Spring Initializer?
  • Jak skonfigurować projekt Maven ze Spring Boot?
  • Jakie są podstawowe zależności potrzebne do stworzenia API RESTowego?
  • Jak zorganizować strukturę katalogów w projekcie Spring Boot?
  • Jak utworzyć prostą klasę kontrolera REST w Spring Boot?
  • Jak uruchomić aplikację Spring Boot i przetestować jej działanie?
  • Jak mapować metody kontrolera na odpowiednie żądania HTTP?
  • Jakie są zalety wersjonowania API i jak je zaimplementować?
  • Jak sprawdzić poprawność działania aplikacji za pomocą przeglądarki?

Tworzenie Nowego Projektu

Rozpoczynamy od utworzenia nowego projektu w IntelliJ IDEA. Możesz to zrobić przez File -> New -> Project. Jeśli masz pełną wersję, skorzystaj ze Spring Initializer. Alternatywnie, użyj strony StartSpring.io.

➡ ZOBACZ👉: IDE Zintegrowane środowisko programistyczne | Kurs Java

Konfiguracja Projektu

  1. Wybór lokalizacji: Wybierz, gdzie chcesz utworzyć nowy projekt.
  2. Nazwa projektu i pakietu: Określ nazwę projektu oraz główny pakiet.
  3. Wersja Javy: Pracujemy na wersji Java 21, z pakowaniem jar.
  4. Wybór zależności: Dodaj Spring Web – na początek wystarczy.

Struktura Projektu

Projekt utworzony! Zajrzyjmy do pliku pom.xml w głównym katalogu – to tutaj znajdziesz wszystkie zależności. Pamiętaj, że pierwsze uruchomienie może chwilę potrwać, gdyż muszą się pobrać wszystkie potrzebne zasoby.

➡ ZOBACZ👉: Spring Boot i wstrzykiwanie zależności – szybkie wprowadzenie

Katalogi

  • src/main: Zawiera źródła aplikacji.
  • src/test: Znajdziesz tu testy, które warto uruchomić, aby sprawdzić, czy wszystko działa poprawnie.

Tworzenie Kontrolera REST

Stwórz nową klasę, np. StormResources, i dodaj metodę zwracającą aktualny czas:

@RestController
@RequestMapping("/api/v1")
public class StormResources {
    @GetMapping("/test")
    public String testReturn() {
        return "Current time: " + System.currentTimeMillis();
    }
}

Adnotacja @RestController informuje Spring, że jest to kontroler RESTowy. Metoda testReturn zwraca ciąg znaków z aktualnym czasem.

Uruchomienie Aplikacji

Uruchom aplikację, a następnie sprawdź w przeglądarce adres http://localhost:8080/api/v1/test. Jeśli zobaczysz zmieniające się liczby, to znak, że wszystko działa poprawnie!

➡ ZOBACZ👉: Spring Boot i wstrzykiwanie zależności – szybkie wprowadzenie

Mapowanie metod HTTP

Skorzystaj z adnotacji takich jak @GetMapping, aby przypisywać metody kontrolera do konkretnych żądań HTTP, co pozwala na obsługę różnych typów zapytań (GET, POST, itp.).

Wersjonowanie API

Korzystamy z wersjonowania API, co ułatwia zarządzanie zmianami w przyszłości, i dodaję wersję do ścieżki URL swojego API przy użyciu adnotacji @RequestMapping.

Sprawdzenie poprawności działania aplikacji za pomocą przeglądarki

Uruchamiamy aplikację i testujemy jej działanie poprzez wpisanie odpowiedniego adresu URL w przeglądarce, co pozwala na szybką weryfikację, czy aplikacja działa poprawnie.

Podsumowanie

Gratulacje, w ten sposób właśnie powstaje API RESTowe! Jeśli chcesz dalej rozwijać swoje umiejętności w Javie, zapraszam na stronę

👉: Kurs Java

gdzie znajdziesz więcej materiałów.

No comments
Share:
prompt_engineer

Prompt i Prompt Engineer – Jak rozmawiać z AI, żeby chciało nas słuchać?

Witajcie w kolejnym odcinku naszego podcastu, SP#42, zatytułowanym „Jak rozmawiać z AI, żeby chciało nas słuchać?”.
Dzisiaj skupimy się na tym, jak tworzyć efektywne zapytania, które pozwolą nam wydobyć maksimum z naszych modeli językowych.

Jak rozmawiać z AI, żeby chciało nas słuchać?

Z tego materiału dowiesz się:

  • Jakie są podstawy tworzenia efektywnych zapytań (promptów) do AI?
  • Jakie są przykłady prostych i złożonych promptów i kiedy je stosować?
  • Dlaczego dobrze sformułowany prompt jest kluczowy dla precyzyjnych odpowiedzi od AI?
  • Jakie zasady należy przestrzegać podczas projektowania promptów?
  • Kim jest Prompt Engineer i jakie są jego główne zadania?
  • Jakie są praktyczne zastosowania pracy Prompt Engineer w różnych dziedzinach?
  • Jakie są trendy i przewidywania dotyczące przyszłości komunikacji z AI?
  • Jak może się zmieniać rola Prompt Engineer i użytkowników AI w przyszłości?

AI i Prompt  – Wprowadzenie do tematu

W ostatnich latach sztuczna inteligencja, a zwłaszcza modele językowe, takie jak GPT-3 czy GPT-4, zrobiły ogromny krok naprzód. Te zaawansowane systemy potrafią generować teksty, tłumaczyć języki, pisać kod, a nawet tworzyć muzykę. Jednak, aby w pełni wykorzystać ich potencjał, kluczowe jest umiejętne zadawanie pytań i formułowanie poleceń, czyli tworzenie tzw. promptów.

Co to jest prompt i jakie jest jego znaczenie?

Prompt to tekstowa instrukcja, którą przekazujemy modelowi językowemu, aby wywołać pożądaną odpowiedź. Może to być pytanie, polecenie, fragment zdania, a nawet bardziej skomplikowana struktura tekstowa.

Przykłady prostych i złożonych promptów

Przyjrzyjmy się kilku przykładom, aby zobrazować, jak różne mogą być prompty w zależności od zadania:

  • Prosty prompt: „Co to jest sztuczna inteligencja?”
  • Złożony prompt: „Wciel się w programistę Java z 10-letnim doświadczeniem i napisz kod w Java, który sortuje listę liczb w porządku rosnącym.”
  • Prompt do programowania: „Napisz funkcję w JavaScript, która oblicza sumę wszystkich liczb parzystych w podanej tablicy.”

Prompty mogą być różnorodne i dostosowane do specyficznych zadań, od generowania tekstu po tłumaczenia językowe, tworzenie kodu czy odpowiadanie na skomplikowane pytania. Kluczowe jest, aby były one precyzyjne i jasno określały kontekst.

Znaczenie dobrze sformułowanego promptu

Dobrze sformułowany prompt ma kluczowe znaczenie w pracy z AI.
Oto kilka powodów, dlaczego warto zwrócić szczególną uwagę na tworzenie efektywnych promptów:

  1. Precyzja odpowiedzi: Im bardziej szczegółowy prompt, tym lepiej model rozumie kontekst i intencje użytkownika.
  2. Efektywność pracy: Poprawnie sformułowany prompt skraca czas potrzebny na uzyskanie użytecznej odpowiedzi.
  3. Unikanie błędów: Dobre praktyki w tworzeniu promptów minimalizują ryzyko błędnych interpretacji i niepożądanych wyników.
  4. Optymalizacja zasobów: Skuteczne prompty pozwalają na lepsze wykorzystanie zasobów obliczeniowych i obniżyć koszty.

Zasady projektowania promptów

Projektowanie efektywnych promptów to umiejętność, która łączy w sobie wiele elementów:

  1. Klarowność: Prompt powinien być jasny i zrozumiały. Unikaj skomplikowanego języka i zawiłych struktur zdaniowych.
  2. Kontekst: Dostarczenie odpowiedniego kontekstu pomaga AI zrozumieć intencje użytkownika.
  3. Precyzja: Skonkretyzowanie pytania lub zadania pozwala na uzyskanie bardziej trafnych odpowiedzi.
  4. Celowość: Prompt powinien jasno określać, co jest oczekiwanym wynikiem.
  5. Struktura: Dobrze zorganizowany prompt ułatwia AI analizę i generowanie odpowiedzi.

Rola Prompt Engineer

Prompt Engineer to specjalista, który projektuje i optymalizuje prompty w celu uzyskania jak najlepszych wyników od modeli językowych AI.

Główne zadania Prompt Engineer obejmują:

  1. Analiza potrzeb: Zrozumienie wymagań i oczekiwań użytkowników.
  2. Tworzenie promptów: Projektowanie i testowanie różnych formuł promptów.
  3. Optymalizacja: Dostosowywanie promptów w oparciu o wyniki testów i feedback użytkowników.
  4. Eksperymentowanie: Badanie różnych strategii i technik tworzenia promptów.

Przyszłość komunikacji z AI

Przyszłość komunikacji z AI to coraz bardziej interaktywne i naturalne dialogi. Modele językowe będą lepiej rozumieć kontekst i intencje użytkowników, oferując bardziej spersonalizowane odpowiedzi i rekomendacje. Rola Prompt Engineer będzie ewoluować, a użytkownicy AI będą coraz bardziej zaangażowani w proces tworzenia i dostosowywania promptów.

Podsumowanie

Jak widzimy, dobre zdefiniowanie promptu ma ogromne znaczenie w pracy z AI. Im precyzyjniej określimy nasze zapytania, tym lepsze odpowiedzi otrzymamy. Zachęcam do rozwijania umiejętności tworzenia promptów, ponieważ są to kompetencje, które będą coraz bardziej cenione w przyszłości.

Zapraszam do dalszego eksplorowania tematu na:

i dołączania do naszej społeczności!

Dziękuję za dziś i do usłyszenia w kolejnym odcinku!

No comments
Share:
java10, kontrolowanie przepływu

Java 10 dni – Lekcja 9, Projekt i implementacja Twojej aplikacji

 

No comments
Share:

Java 10 dni – Lekcja 8, Kontrolowanie przepływu

 

 

No comments
Share:

Java 10 dni – Lekcja 7, Komunikacja z użytkownikiem

 

No comments
Share:

Java 10 dni – Lekcja 6, Metody i wyrażenia

 

No comments
Share:

Jak Moi Kursanci Zarobili Pierwsze Pieniądze na Programowaniu! 💸💰💵🤑 Case Study

Zarabianie pierwszych pieniędzy na programowaniu jest momentem przełomowym dla każdego początkującego developera. Jako mentor z ponad 15-letnim doświadczeniem w nauczaniu i prowadzeniu kursów online, miałem przyjemność prowadzić wielu młodych programistów przez ten proces.

Dzisiaj chciałbym podzielić się historią, jak pomogłem dwóm kursantów nie tylko zdobyć cenne umiejętności, ale również zarobić ich pierwsze pieniądze.

Pierwszy Kontakt

Wszystko zaczęło się, gdy zgłosił się do mnie nowy klient z potrzebą realizacji projektu programistycznego. Zdając sobie sprawę z ogromnej wartości praktycznego doświadczenia, postanowiłem, że to świetna okazja dla moich kursantów.

Case study, Bot, Start

Brzmi jak przygoda!

Ogłosiłem na grupie KierunekJava, że poszukuję chętnych do pracy nad realnym projektem.
Reakcja była natychmiastowa 🙂

Case study, Bot, Przygoda

Organizacja i Planowanie

Po zebraniu zespołu, wziąłem na siebie odpowiedzialność za komunikację z klientem i zebranie szczegółowych wymagań projektu.

Wspólnie z klientem ustaliliśmy cele projektu i omówiliśmy wizję końcowego produktu. Było to nieocenione doświadczenie dla kursantów, którzy mogli zobaczyć, jak wygląda współpraca z klientem w realnym świecie IT.

Praca nad Projektem

W trakcie realizacji projektu, prowadziłem regularne konsultacje, gdzie przegadaliśmy proof of concept i ustalaliśmy dalsze kierunki rozwoju.

Kursanci pracowali nad kodem, który ja regularnie sprawdzałem, wykonując code review. To nie tylko podniosło jakość kodu, ale również stanowiło cenną naukę dla każdego z nich.

➡ ZOBACZ 👉: Code Review – Nie wiesz jak pisać lepszy kod? Skup się na code review (przegląd kodu)!

Prezentacja i Finalizacja

Gdy projekt był gotowy, zorganizowaliśmy demo dla klienta. Prezentacja przebiegła pomyślnie, a aplikacja została zaakceptowana bez potrzeby dalszych poprawek.

Klient był tak zadowolony, że nie tylko szybko zgodził się na płatność, ale również wyraził chęć dalszej współpracy! 😍

Refleksje i Wnioski

Ten projekt był więcej niż tylko zwykłą nauką programowania. Był to kurs przechodzenia od teorii do praktyki, który zakończył się realnym sukcesem komercyjnym.

Dzięki temu doświadczeniu, moi kursanci nie tylko zarobili swoje pierwsze pieniądze jako programiści, ale również zdobyli pewność siebie i motywację do dalszego rozwoju w branży IT.

Wrażenia i opinia

Kierunek Java

Chcesz wziąć udział w podobnych projektach i rozpocząć swoją karierę w IT? Dowiedz się więcej o współpracy i możliwościach, które oferujemy na Kierunek Java.

 

 

 

No comments
Share:

Java 10 dni – Lekcja 5, Zmienne i typy danych

 

No comments
Share:
Nie daj się zastąpić!

AI vs Człowiek! To będzie prawdziwa walka! Nie Daj Się Zastąpić! ⚔️🥊💥🤼

Hej 👋
Czytelniku, nie wiem, czy wiesz? – ale przyszłość jest już dziś… 🤯

Pamiętasz te stare filmy w stylu: „Powrót do przyszłości”, czy „Terminator”? 🤖⏱️📡

Te klasyki z pewnością miały wpływ na to jak dziś myślimy o rozwoju technologii i sztucznej inteligencji (AI).
Dziś po latach lubię do nich wracać – ale tym razem z całkowicie innego powodu.

Oglądając tego typu filmy z dzisiejszej perspektywy

  • możemy zobaczyć, jak ludzie kiedyś wyobrażali sobie przyszłość,
  • czego spodziewali się w kontekście rozwoju technologii,
  • ale również czego się obawiali…

Wiele z tych rzeczy rzeczywiście się spełniło. Niektóre wyglądają całkowicie inaczej, a niektóre problemy dalej czekają na ich rozwiązanie…

Co w takim razie AI może już dziś?

Z reguły przeceniamy to, co AI może zrobić już teraz,
a nie doceniamy tego, co będzie możliwe w perspektywie kolejnych 5-10 lat.

Podam Ci jednak kilka przykładów,
na to, co jest możliwe już teraz 👇

1. Autonomiczne samochody 🏎️🚚🚔

AI autonomiczne samochody

Sztuczna inteligencja (AI) już dziś zmienia świat transportu.
Algorytmy w autonomicznych samochodach
mogą analizować niezliczone ilości danych w ułamku sekundy
– znacznie szybciej i dokładniej niż ludzki kierowca…

Dzięki temu AI może przewidywać i reagować na zmieniające się warunki drogowe,
zapewniając bezpieczniejszą i bardziej efektywną jazdę.

W przeciwieństwie do człowieka
– takie algorytmy nie meczą się,
nie próbują się popisać przed dziewczyną
i nie siadają za kółko po kilku głębszych…

Nie mówimy tutaj już tylko o automatycznie sterowanej Tesli na kampusie w Kalifornii…
Mówimy o technologii, która potencjalnie może odmienić jedną z największych branży na świecie, czyli transport!

To jak jeździsz na wakacje,
to jak Twoje dziecko jedzie do szkoły,
czy to jak dostarczana jest Twoja pizza…

Czekamy jeszcze na ustawodawców i na to, aż ludzie przestaną się bać – ale technologia już jest.

2. Przetwarzanie języka naturalnego, czyli rozmowa z AI

AI rozmowa

Próbowałeś „porozmawiać” z ChatGPT?
Tak, porozmawiać!
Wielkie modele językowe w stylu GPT-4 są już na tyle zaawansowane,
że z powodzeniem radzą sobie w prowadzeniu prostej rozmowy na praktycznie dowolny temat.

A to i tak przy założeniu,
że 9 na 10 użytkowników korzysta z nich niepoprawnie…

Rozmowa z AI jest na swój sposób specyficzna.
Przypomina trochę rozmowę z kimś zamkniętym w pokoju
i możemy się z nim komunikować tylko przez dziurkę od klucza… 🔐
A co za tym idzie,
musimy mu wszystko dokładnie opowiedzieć, bo on nie ma naszego kontekstu.
Jeżeli mu go nie podasz, to będzie zmuszony zgadywać i pewnie się nie dogadacie. 🤷‍♂️

Ten nasz zamknięty w pokoju towarzysz jest jednak bardzo łepski
i ma dostęp do niewyobrażalnej wręcz ilości informacji.

Wiedziałeś np. że takie modele mogą zmieniać kontekst
i wcielać się niczym kameleon w konkretną osobę? 🐍

Możesz np. spytać Billa Gatesa,
co myśli na temat Twojego nowo napisanego wierszyka… 🙃
btw. taki wierszyk na zadany przez Ciebie temat może być też napisany
np. stylem Williama Shakespeare, czy Jana Brzechwy! 🤯

Takie modele możemy też „nakarmić” naszymi prywatnymi treściami
i np. na bazie archiwalnych listów stworzyć awatar Twojej zmarłej babci…
Wiem, że to jest przerażające – ale tak, technicznie takie rzeczy są już możliwe.

3. Awatary audio i wideo

Deepfake Duda

Jeżeli jesteśmy już przy awatarach, to nie musimy ograniczać się tylko do tekstu. Korzystając z takich narzędzi jak veed, synthesia, czy heygen możemy sklonować nasz głos i wygląd.

Możesz np. wykorzystać przed chwilą wygenerowany wierszyk, a następnie przy pomocy AI wygenerować filmik już bez Twojego udziału.

Jak możesz się spodziewać, ludzie nie poprzestają tylko i wyłącznie na klonowaniu własnego głosu. W sieci możesz znaleźć całą masę tak zwanych deepfake, czyli przerobionych zdjęć i filmów wideo np. polityków wypowiadających wojnę lub aktorek w niejednoznacznej sytuacji…

Zobacz np. na filmik z Gatesem, czy Dudą.

4. Medycyna

Całe szczęście AI można też wykorzystać w dobrych celach! 🙃

Niech za przykład posłużą nam tym razem systemy, które pozwalają analizować zdjęcia rentgenowskie. Dzięki nim możemy np. wykryć raka lub inne schorzenie w bardzo wczesnym stadium rozwoju. Czyli na tak wczesnym etapie, że człowiek samodzielnie nie jest jeszcze w stanie tego zrobić.

Tego typu asystent lekarza może okazać się przyszłością naszej medycyny.
Wyobraź sobie specjalistę, który:

  • pracuje 24h na dobę bez zmęczenia,
  • nie starzeje się, nie chodzi na urlopy, czy na emeryturę,
  • posiada wiedzę wszystkich dotychczasowych lekarzy
  • i wszystkich zdiagnozowanych przypadków na całym świecie,
  • a w dodatku możesz go stosunkowo prosto sklonować…

Przyszłość jest już dziś… 🤯

5. Programowanie

Czy w takim razie rozwój AI wpłynie też na nas programistów?

A jakżeby inaczej! 🙂

  • Łatwiejszy i szybszy dostęp do informacji,
  • generowanie powtarzalnych fragmentów kodu,
  • automatyczne code review
  • i wiele wiele innych…

Nie ma wątpliwości, że i nasza praca bardzo bardzo mocno się zmieni.

Już teraz nie wyobrażam sobie pracy jako programista bez tych wszystkich „zabawek”, które dostałem w ostatnim czasie.
Po co mam coś robić ręcznie, skoro cały dotychczasowy dzień pracy mogę skondensować do 30-45m pracy z nowymi technologiami…

Czy w takim razie czeka nas koniec ludzkości?… AI koniec ludzi

Nie da się ukryć, że świat, który znamy się zmienia. To co było już nie wróci, a z dużym prawdopodobieństwem możemy spodziewać się kolejnych, iście rewolucyjnych, zmian…

Osoby, które wykonują proste powtarzalne zadania, które łatwo da się zautomatyzować, z pewnością będą mieli problem.

  • Kasy samoobsługowe sukcesywnie zastępują kasjerów.
  • ChatGPT zrewolucjonizował to, jak piszemy różnego rodzaju teksty, co odbiło się na copywriterach.
  • Pracownicy obsługi klienta – często są zastępowani przez automatyczne chatboty.

Z pewnością wiele zawodów przestanie być potrzebnych…
Wiele osób będzie musiało się przebranżowić i dostosować do nowych realiów.

Czy to jednak będzie oznaczało, że czeka nas koniec ludzkości?…
No nie… A przynajmniej jeszcze nie teraz 🙂

Ale z pewnością będzie to prawdziwa walka!

To będzie prawdziwa walka!

Wszystkie zmiany wymagają czasu.
To, że mamy technologię nie znaczy, że wiemy jak z niej skorzystać.
Albo, że mamy jak ją wdrożyć na szeroką skalę w społeczeństwie.

AI nie jest (i raczej nieprędko będzie na poziomie naszych strachów choćby ze wspomnianego Terminatora).
Ale…

Najbliższe lata to z pewnością będzie ostra walka.
Walka NIE między ludzkością, a AI
– a między ludźmi, którzy korzystają z najnowszych narzędzi i tych, którzy nie wiedzą jak…

Czasy nadludzi i super freelancerów

AI współpraca

Wyobraź sobie programistę, który korzystając z armii swoich wirtualnych robotów i automatyzacji może realizować projekty, które obecnie realizują 20-30 osobowe zespoły w korporacji…

To dzieje się już teraz.
Takie osoby np. prowadzą jednocześnie kilka firm i jeszcze mają dużo czasu wolnego dla siebie i dla rodziny.

Także najbliższe lata, to nie będzie walka pokroju tej z Terminatora, ale powolne zastępowanie. Powolne podgryzanie… tych firm i ludzi, którzy robią coś starymi sposobami i metodami.

Nie daj się zastąpić…

Nie pierwszy raz w historii musimy mierzyć się z podobnymi wyzwaniami.

  • Wprowadzenie pługu, czy później wielkoobszarowych maszyn rolniczych.
  • Kalkulator dla matematyków.
  • Maszyna parowa…

Za każdym razem część zawodów ginęła, ale pojawiały się też całkowicie nowe.

Dalej możesz być programistą…
– ale jednak na całkiem innych zasadach!!

Dołącz ze mną do tej fascynującej przygody!

Przed nami wspólna przygoda i jestem przekonany, że będzie to również wspaniała zabawa!

Zapraszam Cię do nowego projektu: „Kierunek AI”,
gdzie pokażę Ci jak wykorzystać sztuczną inteligencję do swoich celów
i jak nie dać się zastąpić! 💪

https://kierunek.dev/ai

Wszystkiego dobrego!

Zaczynamy! 🚀

Tomek

No comments
Share: