Pomysł na mały projekt

Pomysł na mały projekt
C8
  • Rejestracja:około 12 lat
  • Ostatnio:2 miesiące
  • Postów:80
0

WItam,

Jestem świeżo po nauce podstaw JAVA i Swinga.
Czy ktoś może zarzucić jakiś pomysł na zbudowanie programu żeby sobie poćwiczyć i załapać dobrze podstawy zanim przejdę dalej?
Najbardziej zależy mi na nauce wątków żeby tego się dobrze nauczyć natomiast resztę mam w jakimś stopniu opanowanym bo mam doświadczenie w innym języku obiektowym.

Docelowo chciałbym napisać jakieś aplikacje na androida, może gry.

edytowany 1x, ostatnio: Crash89
Zobacz pozostały 1 komentarz
onomatobeka
@marian pazdzioch: no swinga, biblioteka do tworzenia gui/aplikacji desktopowych.
marian pazdzioch
Są od tego oferty pracy? Serio pytam
onomatobeka
Ciężko, ale jest szansa że jeszcze spotka się w jakichś korpo system w tym, którego nikomu nie chciało się przepisać na webówkę.
SU
IIRC to w JetBrainsie w niektórych ogłoszeniach na Javowca wymagali/mile widziany był Swing
C8
Nie no swinga to sie nauczyłem bo to było w książce zaraz po podstawach javy. W zasadzie przydatne do prostych aplikacji i nauki. Znacznie przyspiesza prace
Black007
  • Rejestracja:ponad 21 lat
  • Ostatnio:4 dni
1
  1. Z samego swinga, to może prosty edytor tekstu.
  2. Prosty paint - swing
  3. Odnośnie wątków. Jak ja zaczynam uczyć się czegoś nowego, to zawsze od jakiś drobnych rzeczy.
    Zacznij od Stworzenia sobie prostą apkę z dwom threadami, niech coś wypiszą na ekranie. Np
    Potem ExecutorService - na pewno są jakieś przykłady, jak poszukasz.
    Warto też zapoznać się z java.util.concurrent api

"Nie popełnia błędów tylko ten, kto nic nie robi"
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 8 godzin
  • Postów:10094
2

Szczerze mówiąc, ja na Twoim miejscu unikałbym współbieżności gdybym mógł. To dodaje bardzo dużo komplikacji dla w zasadzie dosyć nikłego zysku.

To powiedziawszy, wątki warto dodać wtedy, kiedy to ma sens - kiedy operacje blokują główny wątek (np. UI). W przypadku swinga, wymyśl jakąś operację która zajmie kilka sekund, taka która normalnie zawiesiłaby wątek - może to być np. przetwarzanie obrazów (zmniejszanie, skalowanie, obracanie, etc.). Zrób to najpierw bez wątku - powinieneś zobaczyć że Twój UI się "zawiesza". Potem dodaj wątki - i teraz zwiechy powinno nie być. Tylko też - ten problem również dałoby się rozwiązać bez wątków

edytowany 1x, ostatnio: Riddle
A3
  • Rejestracja:7 miesięcy
  • Ostatnio:dzień
  • Postów:35
0

Pobieranie plików z neta, każde ściąganie w osobnym wątku

Szczerze mówiąc, ja na Twoim miejscu unikałbym współbieżności gdybym mógł. To dodaje bardzo dużo komplikacji dla w zasadzie dosyć nikłego zysku.

W jaki sposób odpalenie jakiegoś tasku z Executora daje dużo kompilacji?

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 8 godzin
  • Postów:10094
0
Aleksander-32 napisał(a):

Pobieranie plików z neta, każde ściąganie w osobnym wątku

Szczerze mówiąc, ja na Twoim miejscu unikałbym współbieżności gdybym mógł. To dodaje bardzo dużo komplikacji dla w zasadzie dosyć nikłego zysku.

W jaki sposób odpalenie jakiegoś tasku z Executora daje dużo kompilacji?

Gdyby to był tylko task, który ma się skończyć i nie ma być po nim śladu w aplikacji, to byłoby to względnie proste POD WARUNKIEM, że trzeba wziąć pod uwagę żeby task nie modyfikował żadnych zmiennych z których korzysta nadal program. Więc koplikacja płynie z tego żeby to wziąć pod uwagę.

Jednak często tak nie jest, w 99% przypadków wynik tego taska chcemy jakoś użyć w aplikacji, chociażby żeby powiedzieć czy się udał czy nie, zwrócić jakiś wynik - i to często podnosi komplikacje znacznie. To się wydaje proste z zewnątrz - ale każdy kogo znam, im więcej pracował z wspołbieżnością, tym prędzej poradzi: nie używaj, jeśli nie musisz.

Można sobie popróbować w prywatnych projektach lub coding-kata, żeby się nauczyć, ale nie wybierałbym tego do normalnej aplikacji chyba że nie miałbym innego wyjścia.

Zerknij na prezentację od Kevlin Henney, tutaj masz link - zobacz na moment 1:06:50.

edytowany 2x, ostatnio: Riddle
crestfallen
  • Rejestracja:5 miesięcy
  • Ostatnio:28 dni
  • Postów:57
0

Zazwyczaj ludzie piszą jakąś grę typu Reversi lub Go lub Warcaby.
Jak chcesz naprawdę głęboko zejść to spróbuj napisać edytor tekstu mając do dyspozycji jedynie wyświetlanie surowego tekstu (cursor, zaznaczanie, obsługa schowka - wyszstko piszesz sam). Tyle że to niewiele będzie miało z nauką Swinga.

Inny ciekawy projekt to zrobienie edytora mapy do gry lub edytora workflowów lub edytora grafów (i potem zapis takiego wyklikanego grafu do pliku). Ale to pracochłonne...

Pomysłów nie brakuje, zwłaszcza jak kto inny ma to pisać...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.