Hej Mirki,

Czy bylibyście zainteresowani kupnem książek:

- Java Podstawy (Cay S. Horstmann) Wydanie VIII
- Java Techniki Zaawansowane Wydanie VIII
  • Odpowiedz
@Kapitan_Neuropa: Ciebie bardziej interesuje:

public static > void sort(List list)

Sorts the specified list into ascending order, according to the natural ordering of its elements. All elements in the list must implement the Comparable interface. Furthermore, all elements in the list must be mutually comparable (that is, e1.compareTo(e2) must not throw a ClassCastException for any elements e1 and e2 in the list).
  • Odpowiedz
@KubusiowyKubus: Jeżeli uruchamiasz guice persist tak by dostarczał w scope session (webowym) to możesz otrzymać coś co wygląda jak na przykład https://groups.google.com/forum/#!msg/google-guice/37i-8AO0U6Q/LvUn4p3OVkYJ

problem polega na tym, że injector próbuje wstrzyknąć EM zanim zostanie wywołana metoda start na module JPA, a metoda ta jest wywoływana w momencie instalacji modułu. Zatem teoretycznie wystarczyło by zainstalować moduł JPA jako pierwszy, ale... my tylko go tylko tworzymy, a instalacja jest po stronie mechanizmu guice, który będzie robił to w oparciu o jakiś swój algorytm, który nie potrafi rozkminić zależności pomiędzy modułami tranzytywnymi. W efekcie jak masz układ

A(serwis) -> B(dao) -> JPA
to startuje A, proxuje B, i chce coś wyciągnąć z B, ale jeszcze nie jest wystartowany JPA, a już trzeba stworzyć obiekty w
  • Odpowiedz
#naukaprogramowania #java #programowanie

Koledzy i koleżanki, wiem, że to pytanie przewija się tutaj strasznie często, ale nie mogę znaleźć konkretnej odpowiedzi. Zacząłem się uczyć Javy, wcześniej miałem kilkudniowy kontakt z C++ (skończyło się na tym że w pewnym momencie poczułem się zagubiony w tutorialach pana Zelenta i rzuciłem) i potrzebuję jakiegoś dobrego, pojedynczego materiału dla kompletnego nubka. Nie wiem którą książkę wybrać jako najlepszą na początek
https://gist.github.com/anonymous/e3f083c6bb1e3e3f9f78
Chcę przypisać współrzędnę X,Y do każdego nowego obiektu który dziedziczy z Animal. Czy jest jakiś łatwiejszy sposób?
Czy int[] location w klasie Animal musi być prywatny żeby robić to zgodnie z zasadami OOP? Tylko wtedy w Main.java musiałbym robić nowy int[] specjalnie pod to, żeby przypisać zwracaną wartość z metody, a chyba to niezbyt wygodne.
#java #naukaprogramowania
Nie lepiej jak człowiek zrobić sobie jakiś obiekt Location z dwoma intami itd?
Albo jak nie masz żadnych większych potrzeb to dać po prostu x/z w klasie bez array, nie widzę sensu takiego array na 2 cyfry, szczególnie w javie.
  • Odpowiedz
Pytanie nieco opisowe, bo ciezko mi zebrac w jedno zdanie co chce osiagnac bo dopiero niedawno zaczalem przygode z java i staram sie wszystko o czym sie dowiaduje od razu przenosic do kodu, przez co mozliwe ze pytam o cos prostego czego jeszcze nie docxytalem ;d
1. Mam dwa watki t1 t2, jeden z nich sortuje tablice Insertem, drugi Bubblesortem (najprostsze do napisania, ale akurat nie o tym). Chce zaraz po tym
Nie wiem czy to dobry sposob ale dziala ;)

@Vitin: Jeśli chcesz coś robić w zależności od wyniku wcześniejszych działań w osobnych wątkach, to polecam rzucić okiem na CompletableFuture - wygodnie się tego używa.
  • Odpowiedz
Witam #programowanie

w #java mam prostą klasę implementującą Runnable której w konstruktorze mówimy ile ma spać i w run() śpi tyle co trzeba.
Zrobiłem kolekcje Kolejki - Queue która zczytuje i wykonuje w podanej kolejności obiekty tej klasy za pomocą ExecutorService
I do tej pory działa, ale teraz chcę żeby w trakcie wykonywania dodawać nowe zadania na koniec kolejki i wszystko szlak trafia. //znajdzie się jakaś dobra dusza
@Fachmann:
1. zamien queue na jakąś blokującą,
2. pętle zamien na np. while(!Thread.currentThread().isInterrupted()){queue.take(); ...} i umiesc w nowym wątku.
  • Odpowiedz
#programowanie #java #spring

Jaką konfigurację projektu w Springu zrobić? Do tej pory robiłem w XML. Tak jest chyba w większości istniejących projektów w firmach. Nowe projekty pewnie powstają już z wykorzystaniem głównie JavaConfig? Także w tą stronę pójdę.
A co sądzicie o Spring Boot? Nadaje się to już do poważnych zastosowań? Firmy często go używają? Czy na razie to jeszcze zabawka?

Jaką konfigurację Springa zrobić?

  • XML 12.9% (11)
  • JavaConfig 17.6% (15)
  • Spring Boot 15.3% (13)
  • tylko sprawdzam 54.1% (46)

Oddanych głosów: 85

A co sądzicie o Spring Boot? Nadaje się to już do poważnych zastosowań?


@mk321: Dobre do prototypowania, mimo tego, że jest niby production-ready, nie pokusiłbym się o opieranie na tym poważniejszego projektu.
  • Odpowiedz
Spring boot to nic innego jak zwykły spring +kilka fajnych adnotacji. Spokojnie nadaje się na produkcję.
  • Odpowiedz
#programowanie #java #spring #webdev mam kontrolery restowe konsumowane przez angulara i do nich podpięte serwisy które wystawiają mi dostęp do repo - pytanko: walidacja w kontrolerach czy w servisach? chodzi mi o to ze jak użytkownik poda mi lech wałęsa to zebym nie mógł utworzyć mu konta

Gdzie przeprowadzać walidację

  • Kontrolery 39.4% (13)
  • Serwisy 60.6% (20)

Oddanych głosów: 33

@martwy_kotek: Walidacja (a właściwie asercje) oczywiście w serwisach. Co jeśli wymienisz kontrolery na inne API? Jednakże serwisy nie muszą "ładnie" walidować, wystarczy, że będą walić exceptiony, a po stronie kontrolerów robisz ładne walidatory, które przetłumaczą te exceptiony na coś zrozumiałego dla REST (np. statusy i messages).
Czyli: po stronie kontrolerów dajesz walidatory, które tłumaczą wyjątki rzucone przez serwisy.
  • Odpowiedz
@martwy_kotek: serwis wyrzuca wyjątek z argumentem gdzie przekazany jest mój model który zawiera w sobie informacje o błędach i na poziomie aplikacji jest on obsługiwany w jakimś miejscu
  • Odpowiedz
Jest opcja żeby jakoś dynamicznie dodać do layoutu elementy FX?
Na tej zasadzie:
Mam plik FXML w którym mam praktycznie cały layout poza 2 elementami, które różnie się zachowują w zależności od uruchomionej maszyny. Na jednej będę potrzebował 16 wykresów, na innej 2, na innej 4, a na innej w ogóle tylko jeden no i robi się niezły kociołek.
Mam FXML gdzie jest ten podstawowy layout zakodowany, mam jego controller i w start() ładuję ten layout, a później dodaję to do sceny. No ale nie bardzo ogarniam jak tam do tego wszystkiego dorzucić jeszcze jakoś elegancko dodatkowe elementy.

Nie bijcie, z JFX działam drugi dzień.
@Wyrewolwerowanyrewolwer: Widzę to na dwa sposoby - pierwszy to z metody start robisz lookup elementu "labelContainer", a następnie dodajesz do niego elementy. Drugi poprawniejszy - uzyskujesz referencje do kontrolera i przed pokazaniem sceny wywołujesz na nim jakąś metodę dodającą kolejne buttony, ale żeby nie robić burdelu w start() to przekazałbym jakiś obiekt, który zawiera informacje ile buttonów ma być dodanych, tak żeby kod dodający był w kontrolerze, a nie w metodzie start().
//1
HBox hbox = (HBox) scene.lookup("#labelcontainer");
  • Odpowiedz
git co
git fetch
git commit
git push

Ok, GIT'a już znasz, teraz pora na coś, co się rzeczywiście przyda. Tutoriali do Javy nie znam, natomiast jeśli chodzi o książki, to mogę polecić np. Head First Java, Core Java, itp. Na tym się zarabia pieniądze, a nie na umiejętności obsługi jednego z wielu systemów kontroli wersji.
  • Odpowiedz
@jarpen1234 @RaVo: Intellij, nie rób tego błędu, i eclipse nie zjada najmniej, używałem kilku przez kilka miesięcy, najmniej zjada netbeans, eclipse najwięcej marnuje, a intellij... czasem więcej, czasem mniej niż eclipse, ale nie marnuje tego co zjada.
Intellijka ma zdecydowanie lepsze podpowiadanie kodu, i wygodniejsze importowanie projektów, i miły de-kompilator na wypadek braku docsów i potrzeby lepszego debugowania :P, i 300 innych miłych rzeczy.
  • Odpowiedz
Mirki,
zacząłem uczyć się podstaw programowania wielowątkowego w Javie, mam zagwozdkę.
Chcę napisać program, który:
- zaczytuje przez port szeregowy dane z czujnika co jakiś okres (10s w tym przypadku) i zapisuje je do pliku.
- monitoruje na bieżąco stan tego pliku i ewentualne nowe pozycje wprowadza do listy, którą potem będę obrabiał - min. wykresy o zmiennym zakresie czasowym itd.
Tyle o ile pierwszy punkt zrealizowałem bez problemów, to sprzęgnięcie go z drugą funkcjonalnością mnie chyba dzisiaj przerosło. Da się to zrealizować poprzez zwykłe wait i notify? Stworzyłem dodatkowy obiekt (temperatureSensor), który ma zmienną świadczącą o zajętości pliku. Korzystają z niego oba wątki, przed przystąpieniem do działania sprawdzają jej stan w pętli, a gdy przystępują do działania, zmieniają jej status. Pomijając fakt, że 2 wątek zazwyczaj nie działa jak powinien, dodatkowo wywala błąd IllegalMonitorStateException. Jakaś dobra dusza naprowadzi? Wychodzi na to, że źle używam tych metod :<
@wafel93:

1. IllegalMonitorStateException bo zeby zrobic wait() najpierw musisz miec monitor. Rob wait na obiekcie na ktorym masz monitor, czyli na NotifyObject.

2. najpierw synchronizeed, potem while, potem wait:
synchronized(notifyObject){while(islocked){notifyObject.wait();}}
  • Odpowiedz