Aplikacja internetowa do zarządzania zadaniami

Nauka programowania aplikacji z wykorzystaniem wszystkich możliwości Spring Framework to inwestycja czasochłonna lecz z pewnością dająca wiele satysfakcji i korzyści. Spring jest projektem rozwijanym od ponad dwóch dekad, co przekłada się na jego stabilność i dojrzałość. Spring składa się z wielu mniejszych projektów i modułów, takich jak Spring Boot, Spring Data, Spring Security, Spring Cloud, które umożliwiają tworzenie takiej architektury rozwiązania, jaka jest wymagana do spełnienia wymagań klienta i potrzeb użytkownika.

Aby lepiej poznać założenia narzędzia Spring Framework oraz zależności z innymi technologiami, polecam następujący kurs na platformie Udemy:

W tym kursie krok po kroku wykładowca przedstawia w elementarnych przykładach różne zagadnienia związane z technologią Spring Framework, projektem Spring Boot, korzystaniem z bazy danych. Dopiero w siódmym rozdziale od lekcji 86 do 139, mając opanowane podstawy, będzie można śledzić i wypróbować samodzielnie, jak zrealizować prostą aplikację internetową do zarządzania zadaniami.

Poniżej przedstawiam nieco zmodyfikowaną wersję tej aplikacji, która może być wykorzystywana np. przez uczniów do zarządzania swoimi szkolnymi obowiązkami i wydarzeniami. Jest wiele rzeczy, które są w obecnej wersji niedoskonałe i będą przeze mnie rozwijane, dlatego celowo nie chcę wskazywać lokalizacji repozytorium, z którego można pobrać gotowy kod.

Jedno z okien prostej aplikacji webowej do zarządzania listą zadań
Jedno z okien prostej aplikacji webowej do zarządzania listą zadań.

Programowanie przy użyciu ziaren w języku Java

W podręcznikach do nauki programowania w Javie, terminem ziarna (lub ziarnka1) określa się klasę, która ma metody nazywane według ustalonego wzorca.

Dla przykładu, jeśli chcemy zbudować system do obsługi uczniów w szkole, na pewno jednym z obiektów w takim systemie będzie uczeń, który ma pewne cechy własne jak imię i nazwisko, jak też możemy przypisać go do określonej klasy. Znamy również jego ocenę średnią na koniec półrocza. W szkole uczy się wielu uczniów, dlatego obiekt ucznia tworzony będzie według szablonu, czyli klasy.

Aby utworzyć klasę ziarna, oprócz prywatnych pól przechowujących dane, należy zdefiniować metody dostępowe (gettery) oraz metody ustawiające (settery). Klasa ziarna powinna zawierać również domyślny konstruktor, czyli konstruktor bezparametrowy.

Przykładowy kod realizujący powyższe wymagania może mieć następującą postać.

package szkola;

public class Uczen {

	private double srednia;
	private String imie;
	private String nazwisko;
	private String klasa;

	public Uczen() {
	}

	public double getSrednia() {
		return srednia;
	}

	public void setSrednia(double srednia) {
		this.srednia = srednia;
	}

	public String getImie() {
		return imie;
	}

	public void setImie(String imie) {
		this.imie = imie;
	}

	public String getNazwisko() {
		return nazwisko;
	}

	public void setNazwisko(String nazwisko) {
		this.nazwisko = nazwisko;
	}

	public String getKlasa() {
		return klasa;
	}

	public void setKlasa(String klasa) {
		this.klasa = klasa;
	}

}

Możemy spotkać się w większych systemach z konwencją nazewniczą, w której dodaje się słowo Bean w nazwie klasy. Inną często wymaganą cechą obiektów czy komponentów, programistycznych jest możliwość zapisywania ich stanu na dysku oraz przesyłanie w postaci strumienia bajtów przez sieć. Do tego celu służy serializacja.

W naszym przykładzie zostawimy nazwę klasy ziarna tak jak jest, zostając również przy stosowaniu polsko brzmiących nazw pól klasy oraz metod. Zauważmy, że zarówno metody dostępowe jak i ustawiające stosują swój wzorzec nazewniczy polegający na dodaniu odpowiednio przedrostka get dla metody odczytującej wartość pola i przedrostka set dla metody ustawiającej wartość pola.

  1. Horstmann, Cornell, Java Techniki zaawansowane; wyd. IX. Prentice Hall (2013), Helion (2014), tłumaczenie Jaromir Senczyk. ↩︎

Instalacja Javy w systemie Windows

Jeśli chcesz tworzyć programy Java w systemie Windows, należy zwrócić uwagę, czy masz zainstalowany odpowiedni zestaw narzędzi. Aby szybko przejść przez proces przygotowania warsztatu, proponujemy sprawdzoną sekwencję kroków.

W przeglądarce internetowej w polu wyszukiwania wprowadzamy słowa java jdk download.

Z dużym prawdopodobieństwem pierwszym wynikiem na stronie wyników wyszukiwania będzie strona prowadząca do portalu firmy Oracle. Po kliknięciu w link przejdziemy na stronę Java Downloads – Oracle, na której wskazywana będzie najbardziej aktualna wersja wydania platformy Java SE. Obecnie jest to wersja JDK 21. Należy zwrócić uwagę, że na stronie Oracle JDK został udostępniony przycisk umożliwiający przejście do projektu OpenJDK.

W zależności od systemu operacyjnego oraz architektury komputera, na której przygotowywać będziemy programy Javy, wybieramy odpowiedni link do pobrania biblioteki JDK.

Po zainstalowaniu biblioteki Java JDK warto obejrzeć zawartość katalogu, w którym znajdziemy poszczególne komponenty platformy programistycznej Javy. W szczególności interesują nas programy wykonywalne, które odnajdziemy w katalogu bin. Aby mieć do nich dostęp z poziomu konsoli systemowej, należy ustawić ścieżkę w zmiennych środowiskowych systemu. Po ustawieniu odpowiednich wartości w zmiennych JAVA_HOME oraz PATH, można w nowym oknie Wiersza polecenia zweryfikować poprawność wykonania tego kroku sprawdzając np. wersję programu java.exe oraz jshell.exe.

Po poprawnym zainstalowaniu środowiska Java JDK, można spróbować napisać, skompilować i uruchomić prosty program Javy, wykorzystując do tego zwykły notatnik. W przypadku bardziej złożonych projektów będzie jednak niezbędna obecność zintegrowanego środowiska programistycznego IDE.

Informatyka jako nauka interdyscyplinarna

Interdyscyplinarność informatyki odnosi się do współpracy i integracji z różnymi dziedzinami nauki i inżynierii w celu rozwiązania problemów, które wymagają interdyscyplinarnego podejścia. Oto kilka aspektów, które ilustrują, na czym polega interdyscyplinarność informatyki:

  1. Połączenie z innymi dziedzinami nauki:
    • Informatyka ściśle współpracuje z dziedzinami takimi jak matematyka, fizyka, biologia, medycyna, psychologia, ekonomia, inżynieria elektryczna i wiele innych. Wspólna praca pozwala na wykorzystanie różnorodnych perspektyw do rozwiązywania bardziej skomplikowanych problemów.
  2. Projekty interdyscyplinarne:
    • Tworzenie zespołów projektowych złożonych z ekspertów różnych dziedzin, w tym informatyki, pozwala na kompleksowe podejście do problemów, które obejmuje aspekty techniczne, naukowe, społeczne czy ekonomiczne.
  3. Informatyka w naukach przyrodniczych:
    • W biologii, chemii, fizyce, czy medycynie informatyka odgrywa kluczową rolę w analizie danych, modelowaniu, badaniach obliczeniowych, a także w rozwoju nowych technologii i narzędzi laboratoryjnych.
  4. Bioinformatyka:
    • To obszar, w którym informatyka jest stosowana do analizy danych biologicznych, takich jak sekwencje DNA, struktury białek czy analiza genomów.
  5. Informatyka w sztucznej inteligencji i naukach społecznych:
    • Interdyscyplinarność pojawia się także w obszarach sztucznej inteligencji (SI), gdzie łączy się ją z naukami społecznymi w celu zrozumienia i modelowania ludzkiego zachowania, jak również w dziedzinie ekonomii czy nauk politycznych.
  6. Informatyka w sztuce i humanistyce:
    • Informatyka integruje się z dziedzinami sztuki i humanistyki, prowadząc do powstania dziedzin takich jak cyfrowe media, interaktywne instalacje artystyczne czy badania w dziedzinie digital humanities.
  7. Informatyka w inżynierii:
    • W dziedzinie inżynierii informatyka pełni kluczową rolę w projektowaniu, symulacjach, analizie danych, sterowaniu systemami czy rozwoju nowych technologii.
  8. Robotyka:
    • Interdyscyplinarność informatyki jest widoczna w obszarze robotyki, gdzie łączy się ją z inżynierią mechaniczną, elektryczną, a także biomechaniką.

Interdyscyplinarność informatyki pozwala na rozwiązanie bardziej skomplikowanych problemów poprzez wykorzystanie różnorodnych umiejętności i wiedzy z różnych dziedzin. Ta współpraca pomaga w tworzeniu innowacyjnych rozwiązań, które mogą mieć zastosowanie w wielu obszarach życia.

Witamy na stronie programista1024.pl

Witaj na programista1024.pl – portalu tworzonym z myślą o programistach i studentach kierunków technicznych.

Naszym celem jest dzielenie się wiedzą w przystępny i praktyczny sposób. Znajdziesz tutaj:

  • opisy algorytmów i technik programowania,
  • artykuły o bazach danych i frameworkach,
  • poradniki dotyczące języków takich jak Java i Python,
  • wpisy o robotyce, mikroprocesorach i IoT,
  • linki do materiałów wideo i projektów edukacyjnych.

Strona powstała jako rozszerzenie kanału YouTube oraz innych zasobów edukacyjnych.
Zapraszamy do eksplorowania i nauki!