Kilka godzin tutoriali YT później i różnych prób, w końcu udało się zachęcić Server do współpracy :) Nie mogę powiedzieć, że to przełom, bo jeszcze parę innych rzeczy do zrobienia, ale cieszę się, że udało się przełamać tę blokadę, która trzymała mnie przez ostatnie dwa tygodnie.
programowanie po trzydziestce
piątek, 29 grudnia 2023
sobota, 2 grudnia 2023
RTFM
Pisanie programu to ciągła karuzela pomiędzy odczuciami geniuszu (działa!) a beznadziei (znów nie działa, trzeba szukać co się wywaliło, niejednokrotnie cofać się o krok i spróbować innego podejścia).
Dzisiaj chyba po raz pierwszy w mojej karierze dokumentacja java doc była tak przydatna i szczegółowa - dotyczy to użycia Selectora i SelectionKeys.
czwartek, 30 listopada 2023
Nowy projekt
Nie zwalniam na pozostałych tematach (klient-serwer już powoli rozmawiają, ale powiedzmy, że to nie jest takie proste), a już wyłonił się kolejny ekscytujący projekt.
Trochę przypadkiem się złożyło, ale zgłosiłem się do pomocy w postaci korepetycji z Javy. Powiedzmy że Tomaszew na PJATK zasługuje na swoją renomę.
To trochę zabawne wrócić znów do absolutnych podstaw, takich jak tworzenie zmiennych, przypisywanie wartości, konwersja typów, ale jest też wyzwanie związane z tym, aby mojej uczennicy nie przytłoczyły te wszystkie informacje. Aby odnaleźć w tym szaleństwie metodę.
Na jakimś poziomie jest to ironiczne, że ja jestem zblokowany przez Selektory i multipleksowanie, a ona przez operacje na tablicach – ale może i nauka właśnie na tym polega, aby się z tym zmierzyć?
środa, 29 listopada 2023
Klient-serwer czyli klasyka
Na TPO mam do przygotowania czatową aplikację opartą o klient-serwer z nieblokującą się komunikacją poprzez Selektory i multipleksowanie.
Przyznaję, że piszę sporo kodu (obecnie pracuję nad dwunastą wersją zadania, zresztą zacząłem ten kod "nauki" commitować na repo), ale mimo wszystko borykam się ze sporą złożonością zadania. Na tym etapie mam już działający serwer, który przyjmuje wiele połączeń klientów (którzy także są nieblokujący), ale z jakiegoś powodu nie ma dalszej komunikacji pomiędzy nimi. Pracowałem nad tym wczoraj do 2 w nocy, ale przy posiadaniu biurowej pracy w tzw. standardowych godzinach to tempo jest nie do utrzymania.
Z pewnych zaskoczeń - zadziwiło mnie w jakim stopniu ChatGPT jest pomocny w tych wyzwaniach - nie tylko przygotowuje fragmenty gotowego kodu, ale także odpowiada na pytania: dlaczego to działa tak, a nie inaczej, czy tutaj nie trzeba czegoś domknąć itp. Wykorzystanie chata do napisania całego zadania byłoby nieetyczne i nieskuteczne (moim celem jest nauka, a nie zaliczanie punktów), ale mimo wszystko stanowi fajny odpowiednik starszego kolegi, którego zawsze mogę spytać o różne rzeczy, nawet głupie. I co ciekawe bardzo często ma rację, bo widzę, że kod działa.
niedziela, 26 listopada 2023
Wskrzeszamy projekt
Tym razem wpisy będą krótsze, bo szkoda czasu, kiedy można kodzić.
W semestrze mam aż trzy przedmioty programistyczne związane z Javą: Uniwersalne Techniki Programowania, Techniki Programowania Rozproszonego oraz Modelowanie i Analiza Systemów Informacyjnych.
UTP - przerabianie "prostych" zadań na kolekcjach, wątkach, idzie ogarnąć dość łatwo.
TPO - właśnie walczę z aplikacją klient-serwer, piszę dziesiątą wersję.
MAS - tutaj chodzi o oddanie modelu biznesowego (stworzenie go) oraz implementację. Diagram klas, różne modele asocjacji itp.
czwartek, 11 listopada 2021
niedziela, 5 września 2021
Powrót do javy
Wracam do zadań z codewars i przypominam sobie pisanie Javy. To zupełnie inne wrażenie niż kodowanie w JS, ale bardzo przyjemne i chciałem się tym podzielić.
Server socket all over place
Kilka godzin tutoriali YT później i różnych prób, w końcu udało się zachęcić Server do współpracy :) Nie mogę powiedzieć, że to przełom, bo...