Przy tworzeniu nowego seansu muszę sprawdzić czy poprzedni zakończył się już jeśli ten nowy ma być w tym samym dniu, w podobnym czasie i w tej samej sali co poprzedni. Dodatkowo mam takie wymaganie, że musi być przerwa godzinna między seansami w kinie jeśli odbywają się w tej samej sali. Wiadomo, trzeba taką salę po każdym seansie posprzątać. Np. poprzedni seans rozpoczął się 2023-01-02 o 16:30, w sali nr 3 i trwał
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Treść przeznaczona dla osób powyżej 18 roku życia...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@scriptkitty: o, spoko ale dalej to nie jest do końca to o co mi chodziło. Tutaj po prostu wczytuje się plik .ini - może być i ten format. Ale jednak ten plik trzeba gdzieś zapisywać i odczytywać.

Bardziej chodzi mi o coś takiego, jak preferences API w javie - że nie musze wskazywać żadnego pliku, tylko obiekt preferencji tworzę mniej więcej poprzez Preferences.getUserNode("costam") i mam już obiekt, bez wybierania gdzie
  • Odpowiedz
Mam proste api, oparte na liście.

Metoda POST działa lux, dodaje obiekt do listy.
Natomiast metoda PUT, zamiast aktualizować dany obiekt, dodaje nowy obiekt i działa jak zwykły POST.

Gdy działam na bazie danych i normalnie JPA wszystko działa lux, gdy działam na listach, nie działa lux.
Yakooo - Mam proste api, oparte na liście.

Metoda POST działa lux, dodaje obiekt d...

źródło: comment_1672835143tvFxWZE5bDegtwZ60gsABC.jpg

Pobierz
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kam3o: tj nie uważam że uczenie się równolegle innych rzeczy jest złe, ale teraz jesteś w momencie w którym powinieneś zgłębić temat i w pełni zrozumieć dlaczego to nie działa z listą
  • Odpowiedz
@Yakooo: Adnotując PUT i GET, tylko mówisz springowi, jaką metodę przyjmujesz. Cała logika implementacyjna jest po twojej stronie. Innymi słowy, nic za ciebie nie zrobi ani spring, ani hibernate, ani nawet spring data. Implementacja jest ta sama - będzie działać tak samo.
  • Odpowiedz
@Xefirex: teoretycznie nie przekreśla, ale pewnie natrafisz na wiele przeszkód. przykleję swoją odpowiedź z innego wpisu, bo nie chcę mi się powtarzać.

jeśli chcesz zacząć pracować jako programista, powinieneś:
-poznać podstawy inżynierii oprogramowania (wzorce projektowe, unit testy, TDD, mikroserwisy vs monolity, interfejsy itd.)
-dobrze ogarniać język
-być zaznajomiony ze standardowymi
  • Odpowiedz
#news Słyszeliście o tym? Hitem sprzedaży w Polsce jest wtyczka USB udająca, że pracujemy z domu. Vaydeer Mouse Mover - ta mała wtyczka USB to aktualnie numer jeden polskiego Amazonu w kategorii myszy komputerowe ( ͡° ͜ʖ ͡°)

Jak to działa?
Urządzenie podłączamy do biurowego sprzętu, a następnie włączamy fizycznym przyciskiem na obudowie. Od tego momentu Vaydeer symuluje ruch myszą, angażując wirtualny kursor. Jego pozycjonowanie ma odwzorowywać naturalne ścieżki ruchu podczas
  • 32
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jest router z przekierowanym portem X na komputer.
Zwykły serwer http.
Gdy router jest wyłączony to odpowiedź z #httpclient przychodzi w miarę szybko.
Gdy router jest włączony ale komputer wyłączony to httpclient czeka przez cały timeout(domyślnie jest to 100 sekund).

Jak ustawić inny timeout nawiązania połączenia niż timeout dla całego zapytania(HttpClient.Timeout)?
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak w springu przetestować metodę saveSomething(ids...) w jakimś {User/Group/Whatever}Service.java, która wykonuje jakąś logikę z warunkiem if-else i potem za pomocą obiektu repository zapisuje obiekt w bazie?

Nie zwracam w tej metodzie nic bo ten obiekt zapisuje w jakiejś większej grupie obiektów, więc zwracanie listy zaktualizowanych obiektów nie ma sensu.

Jedyne co mi przychodzi do głowy to przetestować czy obiekt repository wywołał metodę save w zależności od argumentów metody. Czyli verify(sometService, times(1)).someMethod();

Mówię
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki projektując rest api w springu, przy mappingu i przy zwracaniu ResponseEntity w metodzie kontrolera oprócz consumes i produces co jeszcze powinno się znaleźć?
1. Location do utworzonego zasobu?
2. UserAgent?
3. Domyślna wartość Pagination? - czy muszę wtedy tworzyć osobne klasy opakowujące metody pobierające produkty z bazy? Czy wystarczy, że tę wartość mogę przekazać jako parametr do metod pobierających produkty z bazy?

Pierwszy raz się tym bawię i chciałbym wiedzieć jaka najlepsza praktyka.
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@famir96: W zależności od tego, co projektujesz, mogą, aczkolwiek nie muszą być dodatkowe wymagania. Nie ma wymagań, to tylko gdybanie. Tak, jakbyś się pytał, jak wybudować biuro, nie podając żadnych informacji o działce, którą dysponujesz czy budżecie.

Ad.1 nie, chyba że robisz coś, co coś zapisuje, tworzy, buduje, generuje. Równie dobrze, możesz przekazać URL, czy ten zasób w odpowiedzi. Chyba że nie możesz, bo w wymaganiach jest, by przekazać nagłówkiem ;)

Ad.2
  • Odpowiedz
  • 0
Czy w pracy inżynierskiej w której wykorzystuje spring boota, mogę napisać o tym, że on sam w sobie wykorzystuje "wzorzec projektowy" Singleton?

Czy będzie to średnie?
Bo jak dobrze rozumiem każdy bean jest tak naprawdę singletonem #informatyka #programowanie #java
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Yakooo: a musisz to pisać? To czy Spring używa singletonów czy nie to śliski temat. Springowe beany są singlentonami na poziomie Springa a nie na poziomie programu, nikt mi nie broni, żeby popełnić taką zbrodnię jako new KlasaKtoraPowinnaBycSingletonem()
  • Odpowiedz
Kiedyś właśnie osoba która pisała pracę mówiła że dobrze opisać jakieś wzorce,


@Yakooo: co nie napiszesz to będzie dobrze. Z mojego otoczenia nikt nie opisywał wzorców
  • Odpowiedz
Jeśli piszę testy do restowego api to pisać oddzielnie 1 test do sprawdzenia czy controller zwraca odpowiedni status i 2 test do sprawdzenia zwracanego contentu?
Pierwszy miałby formę np.

@Test
void processCreationBook() throws Exception {
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@takiMirek29: A po co testować czy kod odpowiedzi jest 2xx, jeżeli test sprawdzający content z automatu będzie miał 2xx jeżeli się powiedzie, albo inny jeżeli wystąpi błąd. Więc test sprawdzajacy content odpowiedzi, testuje automatycznie czy endpoint zwraca kod 2xx.
  • Odpowiedz
#java w nagłówku funkcji trzeba podać typ zwracanej wartości, a co jeśli funkcja będzie zwracać zmienne różnych typów? Na przykład raz int a raz String.
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Kurcze mam problem, pierwszy raz chciałem coś deployować na heroku, ale sypie mi błędem i nie wiem czemu...

Zainicjowałem gita, scommitowałem, puściłem "git push heroku master" - tymczasem sypie czymś takim w logach.
Pierwszy raz korzystam z heroku, apka to w sumie prosty crud + baza danych h2

#heroku #programowanie #java
Yakooo - Kurcze mam problem, pierwszy raz chciałem coś deployować na heroku, ale sypi...

źródło: comment_1672450139cFJ9Y8AqBdi5owkZI8IELB.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Yakooo: mowa o heroku, nie o Twoim programie. Tu masz wbudowanego Mavena, i on działa na tym JDK którego wybrałeś sobie w module settings. Jak chcesz to możemy się zgadać pokaże Ci co i jak
  • Odpowiedz
@Yakooo: chodziło mu o spakowanie projektu, podlinkowanie, by móc go uruchomić i zobaczyć czy nie ma błędów.

To, że Intellij podkreśla, nie znaczy, że to zły properties. Intellij często różne rzeczy podkreśla, które są w porządku.

Propsy, które
  • Odpowiedz
@Yakooo: dialekt, to szczegóły w implementacjach baz. Np. w Mysql jak chcesz ograniczyć wynik do 1 rekordu, to po zapytaniu dodajesz "limit 1", np.: select * from User limit 1; ale już w oracle masz rownum. To samo dla oracle: select * from User where rownum <= 1;
Niby jedna i druga baza używa SQL, ale są różnice i te różnice to właśnie dialekt.

Jak nie podasz dialektu, to
  • Odpowiedz
Czy tworzył ktoś kiedyś Mario w libGDXie i byłby w stanie mi podpowiedzieć jak połączyć Menu z grą plus dodać drugi poziom ?
#java
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy to, że zapis do double lub long jest nieatomowy ma jakiekolwiek znaczenie skoro i tak jeśli taka zmienna jest zmienna i współdzielona to trzeba ją zsynchronizować czy tam zvolatilalizować?
Jakiś przykład?

no chyba, że final double x = 2.0; przy odczycie może dawać różne wyniki? no chyba nie...

A inicjacja obiektów, które mają atrybuty np. int te nie jest atomowe se, jeśli atrybuty nie sá final?
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

dość że możesz otrzymać nieaktualną wartość to co więcej możesz uzyskać liczbę która nigdy nie została tam zapisana(bo odczytasz częściowo zaktualizowaną wartość)


@aczutuse: Jak napisałem wyżej, w przypadku inta dostaniesz nieaktualną wartość, w przypadku longa możesz dostać część bitów ze starszej wartości i część z nowszej - czyli coś co nigdy nie zostało zapisane.
  • Odpowiedz
@63274682374: Aby tego uniknąć, ogólnie wystarczy przepuścić kod przez jakiś linter (np. ten wbudowany w IntelliJ), który wyłapie najczęstsze sytuacje, gdy pole finalne jest odczytywane przed inicjalizacją:
– wywołania metod w konstruktorze, zwłaszcza jeśli są to metody nieprywatne niefinalne, bo nie kontrolujesz ich nadpisań
– dla pól statycznych, cykliczne zależności między klasami
Weź np. taki kod: class A { final int x; A(){ foo(); x = 1; } void foo()
  • Odpowiedz
Jak mam dwie klasy Entity powiązane ze sobą dwukierunkową relacją ManyToMany np. User i Discount to dobrym pomysłem będzie dorobienie pola w klasie User: Map?

Potrzebuję wiedzieć czy jest aktywna zniżka czy nie. A jak zmienię pole isActivated w bazie na dowolnym obiekcie Discount to będzie to zmiana widoczna dla wszystkich użytkowników, którzy korzystają z tej zniżki, a ja chcę tylko dla jednego usera. ( ͡° ʖ̯ ͡°)
takiMirek29 - Jak mam dwie klasy Entity powiązane ze sobą dwukierunkową relacją ManyT...

źródło: comment_1672406366yzXDsx5yplhxx5HKFEldfe.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak tworzę POST method w rescie i dodaję użytkownika to typ zwracanego obiektu to ResponseEntity
return ResponseEntity.status(HttpStatus.CREATED).body(createdUser);

Jaki typ ma być jeśli usuwam usera? ResponseEntity ?
Zwracam tylko status czyli return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
#java #naukaprogramowania #spring
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach