• 1
#java
Kiedyś widziane takie drzewko decyzyjne jakiej kolekcji użyć i w jakim przypadku. Ma ktoś może zapisanego linka do tej grafiki?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #java #dto
Mirki, przepisuję obecnie średniej wielkości aplikację webową (spring + angular 4) i teraz się zastanawiam czy korzystać z mechanizmu DTO. Możecie mi podać PRAKTYCZNE przykłady w których pomocne byłoby mapowanie obiektów na DTO. Wcześniej pisałem aplikację bez DTO, ale teraz ją przepisuję i się zastanawiam czy od razu nie wprowadzić DTO.
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Możecie mi podać PRAKTYCZNE przykłady w których pomocne byłoby mapowanie obiektów na DTO.


@Patres: jeśli masz na myśli po prostu Data Transfer Object, czyli coś co w praktyce jest zestawem danych dla widoku, to korzyści widziałbym takie:
- architektura: rozdzielenie warstwy widoku od warstwy dostępu do danych (co np. pozwala implementować frontend niezależnie od jpa), inaczej przepychasz encję przez wszystkie warstwy
- bezpieczeństwo: wypychając encję bezpośrednio do przeglądarki jako JSON
  • Odpowiedz
@Patres: problemem jest to ze jak chcesz przeorac strukture encji w bazie to przy okazji ci sie zepsuja widoki. A jak masz dto to po stronie backendu inaczej mapujesz i front dostaje to samo :)
  • Odpowiedz
Mam problem z ConcurrentModificationException w #java. Nie mogę wkleić całego kodu, więc pytanie na przykładowym kodzie. Czy tutaj jest jakakolwiek opcja wystąpienie tego wyjątku na obiekcie 'map'? Bo wydaje mi się, że nie, ale mogę czegoś nie rozumieć. Rozumiem to tak, że żaden wątek nie wejdzie do żadnego z tych dwóch bloków synchronized, jeżeli któryś z nich jest w tym samym czasie wykonywany przez inny wątek.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@psi-nos: 'this' != 'this', bo pierwszy this to anonimowy TimerTask, drugi, to Twoja klasa główna, to są 2 różne monitory, nic się nie synchronizuje, powinno być synchronized(Test.this) wewn. TimerTask.
  • Odpowiedz
@elewarr: a ConcurrentModificationException dostawałem przez próbę usuwania elementu mapy wewnątrz pętli "foreach" na mapie. Jeszcze dużo nauki przede mną... ;)
  • Odpowiedz
lexer.allTokens.map { t -> t.type }

no to dla każdego elementu wykonuje tę funkcje zapisując jej wynik, czyli nagle zamiast nap Collection, masz Collection

Tak samo jak w javie 8 masz Streamy i tam .map.
  • Odpowiedz
Czy ktoś ogarnia dlaczego aplikacji springboot'owa działa mi na localhost a na heroku wywala mi błąd ?

@Controller
public class Main {

@
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@nachteil: tzn ze działa na xampp'ie na localhost. problem rozwiązany w sumie zapomniałem napisać. Musiałem skonfigurować "source folder". Był skonfigurowany i myślałem, że wszystko jest ok, ale jak jak sprawdziłem właściwości "build path" to jeden folder nie znajdował się w src/main/resources tylko w resources.

Dzięki za zainteresowanie :)
  • Odpowiedz
Jak tworzyć encje z controllerów?
Załóżmy, że mam obiekt który ma nazwe i dwie daty. Pytanie czy używać thymeleafa i tworzyć encje od razu z widoku? Tylko co wtedy z innymi wartościami które mają być generowane automatycznie? Stworzyć jakiś kreator który przyjmuję encje i wypluwa z siebie gotową do zapisu? Wydaję mi się to trochę mało czytelne. Czy może pobierać konkretne pola z ModelAndView, przekazywać je do jakiegoś kreatora który tworzy obiekt
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Hatespinner: no jest się czym chwalić ze się nie zna mavena, a wyżej masz screena efektu wybrania tego archetypu pod eclipse.
No nic... szkoda czasu... 6 lat komercyjnie to już nic nowego nauczyć się nie potrafi, a podstaw nie zna, ech... aż kusi by się spytać ile płacą /h za takie umiejętności, ale dobra...
  • Odpowiedz
#java #aspectj

Tworzac aspecty mozna wywolac je na dowolnej metodzie w projekcie, czy sa jakies obostrzenia?, w projekcie springowym to wiem, ze mozna tylko na komponentach springowych.
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Ewentualnie: Kod aspektu musi zostać jakoś połączony z kodem, na którym ma się wykonywać i gdzieś musi nastąpić decyzja, że wywołanie danej metody należy opakować w aspekt. W Springu można wywoływać tylko na komponentach springowych, bo Spring używa mechanizmy proxy to obsługi aspektów. Jeśli chcesz używać natywnie aspectj i tworzyć joinpointy na dowolnych metodach, to masz do wyboru jeszcze compile-time weaving (używasz kompilatora ajc i on podczas kompilacji dokłada wywołania
  • Odpowiedz
Witam pomoże ktoś z wątkami? Mam pewien problem i nie wiem jak to rozwiązać. Mam 5 pól i chce aby każde pole zwiększało się o 1 dopóki nie zostanie spełniony warunek. Kod tutaj Czasami działa czasami nie ("przeskakuje" wartość np z 9 na 15).

I przy okazji parę pytań:
1. Jak lepiej jest tworzyć wątki poprzez implementacje Runnableczy lepiej rozszerzać klasy Threads
2. Jakiś lepszy sposób na zakończenie wątku?
3. Czy wielowątkowość w tym
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

na szybko:

1. Runnable
2. kod w watku t1 powinien dzialac w petli, sprawdzac Thread.currentThrad().isInterrupted(), przerywac petle jesli true i wychodzic z funkcji. W innym watku dajesz t1.interrupt()
3. zrob benchmark :)
4. przeczytaj Java Concurrency in Practice
  • Odpowiedz
Siemka, aktualnie siedzę w webdeveloperce i zacząłem się uczyć Javy (sposobem tworzę coś i gdy czegoś nie wiem to dokumentacja/stackoverflow). Spodobała mi sie i chcialbym się dowiedzieć kilka rzeczy. Mianowicie:
1. jakie są aktualnie wzorce projektowe (coś jak mvc w webdev)
2. Czym obsługiwać zapytania do bazy? (W webdevie pisanie SQL jest nieeleganckie, tu tez?)
3. Ogólnie jakieś dobre nawyki
4. W komunikacji klient serwer korzysta się z czegoś w stylu rest
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

po wklepaniu w google "orm java" pierwszym wynikiem jest http://stackoverflow.com/questions/452385/what-java-orm-do-you-prefer-and-why gdzie ludzie mówą że ORM to zło.


@eska97: tak, takie pierdu pierdu jest dobre akademickich przykładach, w rzeczywistości jest to standard i ciężko znaleźć projekt bez JPA.

Chociaż bardziej skomplikowane zapytania (np. do raportowania) wykonuje się za pomocą np. MyBatisa. Ale nie jest to zastąpienie.
  • Odpowiedz