#java #naukaprogramowania #codereview

https://pastebin.com/TJVCd2W9

Takie coś finalnie wyszło, dzięki za pomoc wszystkim, nie wiem jedynie czym zastąpić te przestarzałe get Year, poza tym działa.

Byłbym również wdzięczny za pomoc jeśli chodzi o testy jednostkowe, tzn. co testować i jak to ugryźć, bo czytam sobie teraz o tym ale nigdy testów nie pisałem.
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
@dzeksondzekson

no nie bardzo chyba bo u mnie dataUrodzenia to jest String

No i słabo. String to ciąg znaków. Nie nadaje się do reprezentacji daty.
Czytasz tę datę z pliku jako String. Wiadomo. Ale musisz to jak najszybciej zamienić na właściwy typ.
  • Odpowiedz
#programowanie #java #androiddev
Ehh straciłem 2 godziny na szukanie błędu w kodzie a okazało się, że mam błąd w protokole HTTP. Przy dodawaniu kilku ciasteczek zawsze używałem "addRequestProperty("Cookie",...) na każde ciacho (w pętli). Okazuje się, iż niektóre serwery zwracają 500 (internal server error). Należy zbudować stringa ze wszystkimi ciastkami i dodać go jednym "setRequestProperty(Cookie,...)". Takie cuda Panie.
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
@nocneszczury używam lecz coś tam jest nie tak z Cookies. Gdy serwer zwraca nagłówek "Location" i tak kilka razy przeskakuje się różnych adresów a nawet z różnych serwerów to niestety okhttp nie daje rady i trzeba pisać ręcznie. Ewentualnie ja nie potrafię tego dobrze napisać.
  • Odpowiedz
#naukaprogramowania #java

Hej, mam klasę User, w niej String dataUrodzenia (oraz opcjonalnie string numerTelefonu) w postaci yyyy-mm-dd zczytywany z txt, chcę iterować listę w pętli

for (User dataUrodzenia : list) {
}

(chyba taka jest dobra) tak, żeby dostać najstarszego użytkownika który numer telefonu posiada, jak to wykombinować? Z góry dzięki, nie mam pojęcia która biblioteka będzie najlepsza i jak to ugryźć.
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dzeksondzekson: zamiast stringa trzymaj datę, np. LocalDate i parsuje do niej przy wczytywaniu
user.date = LocalDate.parse(DateTimeFormatter.ofPattern("yyyy-MM-dd"))

a potem User user = list.stream().filter(u -> u.numerTelefonu != null).max((u1, u2) -> u1.date.compareTo(u2.date));
  • Odpowiedz
@dzeksondzekson: zrób sobie funkcję, która przyjmuje jako parametr tą datę, i w tej funkcji sparsuj sobie tą date do samego roku i od bieżącego roku (new Date() ) odejmij tą co masz z parametru. I to możesz dla każdego obiektu pozamieniać w tej liście, przy założeniu że dodasz pole Integer iloscLat lub zamienisz tamten atrybut.

Co do testów to polecam poczytać o JUnit. Zaimportować bibliotekę, porobić kilka testów jednostkowych. Polega
  • Odpowiedz
Ma ktos tutaj aplikacje #spring #java w #docker? Jak i jakie VOLUME podpiac zeby moc zapisywac pliki uzytkownikow, tak zeby mi nie zniknely przy restarcie konternera :)
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@trustME: Coś więcej o tym, jaki masz dokładnie problem?

Generalnie masz dwie metody:
1) data volume, dodajesz wtedy do parametrów startu kontenera -v /mount/dir/in/container - wtedy Docker stworzy sobie gdzieś plik, w którym będą dane, które Twoja aplikacja w kontenerze będzie zapisywać do /mount/dir/in/container (z punktu widzenia systemu w kontenerze). W systemie plików hosta ten plik będzie gdzieś w strukturze plików Dockera.
2) podmontować folder z hosta do kontenera - opcja
  • Odpowiedz
Nie bez problemów i wybojów, ale udało się uruchomić CI dla backendu w #spring #java , żeby frontowiec mógł korzystać z api prosto z VPS, bez pieprzenia się w kompilacje i odpalanie apki u siebie.
Oczywiście co krok były kłopoty, to dobre spięcie SSH między GitLab'em a moim VPS, a to odpowiednie uprawnienia usera z SSH zeby skrypt z CI sie mogl wykonac, a to w Springu okazalo
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#naukaprogramowania #java

Hej, mam pytanie. Robię zadanko które polega na wczytaniu z pliku tekstowego po przecinku kontaktu czyli imie,nazwisko,wiek w formacie yyyy-mm-dd, opcjonalnie numer telefonu,

No to zrobiłem skaner do zczytywania tego, dam to do ArrayList

i
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dzeksondzekson: Zrób sobię klasę, w której będziesz miał te wszystkie atrybuty. Potem zrób ArrayList i ładując dane linia po linii twórz sobie te obiekty i ładuj do tej listy. lista.size() to będzie ilość użytkowników, a najstarszy sobie wiekiem to sobie poiterujesz po tej liście i znajdziesz maxa. Data do timestampu i sprawdzasz który jest najmniejszy
  • Odpowiedz
@dzeksondzekson: przeiterować pętlą for* lub przeiterować listę*

Zobacz co się dzieje w tym forze co napisałeś. Bierzesz listę, i latasz po każdym userze jaki jest w tej liście.
Błędnie nazwałeś usera nazwą dataUrodzenia. To jest Twój user a nie tylko data urodzenia. Aby mieć tą date urodzenia musisz zrobić coś w stylu user.dataUrodzenia ( w twoim przypadku dataUrodzenia.dataUrodzenia). Zrób sobie obiekt User najstarszyUser, i idąc po tej liście w tym forze, zrób tak:
  • Odpowiedz
#programowanie #java #spring

Idę za jakiś czas na test i z tego co mówiła rekruterka to ma być test z znajomości składni, ktoś może podsunąć jakieś przykładowe zadanie z springa, bo sam nie bardzo wiem jak niby miałoby takie wyglądać :P
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Środa z Java & Scala - dla zabieganych Mirków #justjoinitoferty

poniedziałek - JavaScript, wtorek - PHP, środa - Java/Scala, czwartek - Python, piątek - Ruby.

Dla tych nieco bardziej zabieganych programistów, co to nie mają czasu szukanie roboty tylko wolą siedzieć na Wykopie. Zbiorcza forma, zaledwie raz w tygodniu z jednego języka, która może okazać się wygodniejsza
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej #programowanie w #java i #webdev.
Tworzylem projekt do tej pory sam - backend #spring , frontend SPA w #vuejs.
W koncu udalo mi sie dogadac z ziomeczkiem, ktory przejmie wiekszosc frontu,
a ja sie skupie na backendzie.
Problem w tym, ze nie wiem jak mu najprosciej wystawic backend.
Oczywiscie i SPA i backend sa na bitbuckecie,
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

W konfiguracji spring boota (application.yml) mam coś takiego:
server:
port:
${PORT:${SERVER_PORT:0}}

Czy to mi gwarantuje że aplikacja zawsze się odpali na nie zajętym porcie? (tzn. spróbuje sie odpalić w hipotetycznej sytuacji, bo jak będzie zajęty to się nie odpali ( ͡° ͜
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@b0lec: przynajmniej w testach port 0 tak działa, ale znam się na tych placeholderach ymlowych... może po prostu odpal i sprawdź co się dzieje ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@ppawel: tzn. to niby działa tak jak powinno (czyli wybiera losowy wysoki port - też nie wiem od czego to zależy) ale po prostu się zastanawiam czy nie ma w tym jakiegoś ryzyka ;-)
  • Odpowiedz