Takie coś zadziała bez robienia .toList() i potem znów stream co nie? Czy może powinienem oddać prawo do wykonywania zawodu programisty?
#programowanie #java

Stream<MyObject> stream1 = list1.stream().map(a -> MyObject.fromA(a));
Stream<MyObject> stream2 = list2.stream().map(b -> MyObject.fromB(b));
return Stream.concat(stream1, stream2).toList();
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@aczutuse: Takie rozwiązanie bez collectowania do listy jest lepsze, bo unikasz niepotrzebnego tworzenia nowej ArrayListy. Część osób może się przyczepić do zapisywania strumienia do zmiennej, bo potem ktoś możę gdzieś indziej próbować go odczytać, pomimo że został już skonsumowany - co spowoduje błąd w runtime.
Można temu zapobiec poprzez wyciągnięcie list1.stream().map(a -> MyObject.fromA(a)) do metod i zrobienie bezpośednio concata na wyniku wywołania tych metod, ale to jest kwestia gustu.
  • Odpowiedz
Jeżeli te streamy są lokalnymi zmiennymi, co wnioskuję po returnie na końcu, to jest git i nie ma się do czego doczepić jak na moje oko.
  • Odpowiedz
znalazłem coś takiego w kodzie i zastanawiam się jaki sens może stać za czymś takim?
Odpytywana jest baza przez jdbc o Obiekt w taki sposób:
1. Zapytanie do bazy o id Obiektu.
2. Sprawdzenie czy id Obiektu na prawdę istnieje poprzez ponowne zapytanie do bazy.
3. Odpytanie bazy o Obiekt używając id
Mamy 3 zapytania do bazy, a wydaje się, że wystarczyłoby jedno.
#programowanie #java
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

CONTROLLER woła FACADE woła SERVICE woła REPO

REPO zwraca Optional. Jak daleko propagować ten Optional, jeśli w przypadku nulla ma być zwrócony null?
#programowanie #java

dokąd propagować Optional

  • do końca aż do Controlera 27.8% (10)
  • do Facady 11.1% (4)
  • do Service 33.3% (12)
  • wywalić Optional z Repo i podzielić pensję przez 4 27.8% (10)

Oddanych głosów: 36

  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@aczutuse: Zastosuj w serwisie/fasadzie Result Object Pattern na serwisie, w stylu Result<T, E>. Czyli jeżeli repo zwraca ci nulla w sensie nie znaleziono rekordu w bazie, to serwis wrapuje tego nulla w Result i puszcza wyżej. A potem to już zależy możesz mapować resulty na http response status code'y, czy inny sposób komunikacji błędu do klientów twojego serwisu/aplikacji.

Swoją droga ta fasada wydaje się tam niepotrzebna, ale nie znam
  • Odpowiedz
Jeśli ci się Result Object Pattern nie podoba, to nie zwracaj null/optional, tylko pusty obiekt (z wartościami zainicjowanymi domyślnie). Dzięki temu nawet jak ktoś spróbuje się odwołać do pola/metody takiego obiektu z zewnątrz to nie dostanie wyjątku na twarz tylko domyślną wartość - zero, false, czy pusty string.


@markaron: to jest najgorsze co można zrobić. Właśnie po to jest optional aby było widać w systemie typów, że wartości może nie
  • Odpowiedz
✨️ Obserwuj #mirkoanonim
#java #programowanie #programista15k

Czy 50 zł/h na b2b po roku to nie jest trochę zbyt mało? Ogólnie nie jestem jakimś kocurem, raczej średniakiem, i to była ostatnia podwyżka, następna za około rok, więc mając 2 lata doświadczenia będę zarabiał nadal 50 zł/h. Trochę lipa, bo ani wolnego nie mam, muszę pracować chory, bo inaczej nie zepnę finansowo miesiąca, zusy srusy idą w
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mirko_anonim: No bo 7k to spoko wypłata, ale nie netto na fakturze, tylko netto na UoP ( ͡° ͜ʖ ͡°)

Poza tym, polecam pilnować tzw. inflacji stylu życia, bo młodzi ludzie, którzy nagle wskoczyli na dobrą - na polskie warunki - kasę, mają brzydki zwyczaj wynajdywania nowych sposobów by wyzerować konto po każdej podwyżce ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Panowie, a jeszcze to?

https://i.imgur.com/uxlOQBQ.png


@rafal-masny: 3.b 3.c. dla A nie widzę zastosowania. W jaki sposób spring mógłby "optymalizować" parametry? Co najwyżej mapować, walidować. Nie wiem nic o "optymalizacji".
Spring nie instaluje bibliotek, nie dostarcza ich. Robi to maven, gradle, ant itp, czyli system budowania. Spring ma co najwyżej BOM, który listuje kompatybilne zależności, ale sam BOM nic nie daje, nie instaluje, nie
  • Odpowiedz
Zacząłem się uczyć #java kilka lat temu, na potrzeby #testowanieoprogramowania. Aktualnie utrzymuje 2 frameworki.
Zachciało mi się uczyć #python. Czy jest sens przesiadać się na ten język? Stal się mega popularny i zastanawiam się czy to dobry pomysł?
Nie mówię, że będę frameworki na pythona przerabiał, ale w razie czego żeby mieć potem do przyszłych projektów jakaś wiedzę i umiejętności.
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Język nie ma znaczenia. To tak jak zapytac co lepsze? Łopata, czy wkrętarka? Odpowiedź brzmi - to zależy!

Co jest z wami ludzie? Ciągle pytacie o język, a to jest drugorzędny wybór. Jak myślicie, dlaczego algorytmika jest zawsze na początku studiów?
  • Odpowiedz
Bawił się ktoś w apkach pod Android Auto? Jest sobie radyjko RCD330 (picrel), całkiem popularne. Samo w sobie ma połączenie z CAN bo musi czytać przyciski kierownicy lub czy jest wrzucony wsteczny.

Moje pytanie jest następujące, czy jako dev mamy w takiej konfiguracji dostęp od strony aplikacji do danych po CANie? Gadamy bezpośrednio z autem czy może z jakimś protokołem od rcd330? Czy mamy dostęp do wszystkich danych (w tym danych silnika,
CXLV - Bawił się ktoś w apkach pod Android Auto? Jest sobie radyjko RCD330 (picrel), ...

źródło: img1

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@CXLV Ale Android Auto samo w sobie jest aplikacją i pytanie czy nie ma w sobie zaszytej jakiejś kontroli aplikacji i czy nie blokują niezweryfikowanych aplikacji. Do tego pozostaje kwestia dostępu do API
  • Odpowiedz
Chcę wyświetlać userowi filmy z seansami. Oczywiście mają być to niezakończone seanse czyli takie, które mają ustawioną flagę "isFinished" na false. Chciałbym do tego użyć JPA Specification, bo będą jeszcze inne warunki takie jak gatunek filmu, data seansu itp.Niestety nie wiem za bardzo jak to zrobić. Udało mi się napisać taką metodę:

private static Specification<Film> onlyUnfinishedScreenings() {
return (root, query, criteriaBuilder) -> {
return criteriaBuilder.equal(
root.join("screenings").get("isFinished"), false
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Halo seniorzy #java #programista15k #programista25k - jak mocno stoicie z wiedzą pozakulisową jeśli chodzi o javę/jvm? Czy macie ją usystematyzowaną i wykorzystujecie to w codziennej pracy z crudami?

dzisiaj rzucił mi się w oczy film na youtubie pokazujący przykładową rekrutację na junior java developera, w komentarzach natomiast dyskusja jak mogłyby wyglądać na zadane pytania oczekiwane odpowiedzi na stanowisko seniora. Jakieś tam doświadczenie mam, ale tak z marszu
gloszenady - Halo seniorzy #java #programista15k #programista25k - jak mocno stoicie ...
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@glos_zenady: Ludzie, którzy uczą się większości z tego na pamięć siedzą po 20 lat w jakimś Comarchu jako „senior” i mają mało wspólnego z dzisiejszymi wdrożeniami (albo z wdrożeniami czegokolwiek w ogóle).

Nawet jezeli robiłem kiedyś jakieś profilowanie GC, to zapomniałem o tym miesiąc później, bo jest 1000 ważniejszych rzeczy do trzymania w głowie. XD

Już nie mówiąc o takich kretynizmach jak to, czy pozycja w pracy ma decydować o
  • Odpowiedz
@glos_zenady: jeśli weźmiemy takiego seniora powiedzmy z expem 5 lat, nie wiem komu się chce aż tyle edukować po pracy. Nie wierzę, że mozna nabyć tyle wiedzy przez same studia czy wykonywanie obowiązków zawodowych.
Jeśli chodzi o seniorów jakich kojarzę, może 5% mogłoby się pochwalić taką wiedzą ( ͡° ͜ʖ ͡°)

Trochę mnie śmieszy jak sobie przypomnę swoją pierwszą rozmowę na poziom seniora. Jeśli trafiłbym na
  • Odpowiedz
✨️ Obserwuj #mirkoanonim
Z anonima, bo chyba będzie wpis typu #zalesie i #boldupy. Kojarzycie Waldka programistę z Zakupu Kontrolowanego? No, i on prowadzi kursy i (chyba) swój software house. Ale nie o niego chodzi, tylko o jego kursantów/pracowników, bo często na instagramie (var_di_marre konto chyba), chwali się success story swoich pracowników/kursantów. I nie chodzi o te auta w leasingach, ale czasami pokazuje wyniki finansowe swoich
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via mirko.proBOT
  • 3
✨️ Autor wpisu (OP): @Proogramista

Kazdy kto jest w branzy to wie. Skoro piszesz z anonima to pewnie na koncie masz posty w stylu "jak nauczyc sie programowania w tydzien", "jak zostast programista skoro nie umiem dodawac". Napisz post ze swojego konta tchorzu to moze odpowiem.

Fajnie, że znasz każdego w branży ( ͡° ͜ʖ ͡°) Aha, no i wycieczki personalne. A nawet gdybym miał takie posty, to co? Boisz się
  • Odpowiedz
via mirko.proBOT
  • 2
✨️ Autor wpisu (OP): @Proogramista
Typie, zachowujesz się jak bywalec elektrody. Wchodzisz do wątku tyko po to, żeby powiedzieć "że wszyscy wiedzą" oraz "że nie udzielisz odpowiedzi". Nie wnosisz nic do dyskusji. Nudzi ci się w domu czy jak? Jesteś agresywny, arogancki i niemiły.


· Akcje: Odpowiedz anonimowo ·
  • Odpowiedz
Cześć, mam pytanie. Łączę się z PostgreSQL i chcę dodać jakiś rodzaj dania wraz ze składnikami. Wyskakuje mi błąd
ERROR: column "lunch" does not exist. Nie wiem gdzie szukać problemu. Zapis wydaje mi się poprawny.

String DB_URL = "jdbc:postgresql:meals_db";
String USER = "postgres";
String PASS =
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

statement.executeUpdate(String.format("insert into meals(category, meal, meal_id) values (%s, %s, %d)",

categoryOfMeal, mealName, mealId

));


@Kamishimi: Poczytaj o tym jak powinno się przekazywać parametry w takich poleceniach, czemu String,format jest złym wyborem i co ma to wspólnego z SQL-injection, które właśnie się Tobie wykonało. Wstrzyknąłeś nazwę posiłku jako nazwę kolumny tabeli, a złośliwie można dużo więcej tak popsuć ( ͡° ͜ʖ ͡°) #hackerman
PaaD - >statement.executeUpdate(String.format("insert into meals(category, meal, meal...

źródło: radar3-418x350

Pobierz
  • Odpowiedz
Kurde, muszę się poradzić, bo chyba trochę się pogubiłem. Mam takie trzy metody jak na obrazku. Pierwsza zwraca profil użytkownika, jako argument przyjmuje użytkownika, który przychodzi z fasady. Jak widać, mapowanie i zwrot obiektu DTO. Zastanawiam się czy ten Optional ma tam sens. Wykorzystuję go w kontrolerze i dzięki temu zwracam status 200, albo 404.

Sama fasada o której wcześniej wspominałem wygląda tak, że jest w niej jedna metoda w której pobierany
V.....y - Kurde, muszę się poradzić, bo chyba trochę się pogubiłem. Mam takie trzy me...

źródło: kod

Pobierz
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@draxgar: no to właśnie tak robię... wstrzykuję użytkownika i przepycham go przez wszystkie warstwy, przecież po to jest ta fasada. Tylko teraz przy API i JWT są dwa identyczne zapytania do tabeli użytkownika, pierwsze w filtrze i drugie w kontrolerze robi ta fasada i dlatego chcę to zoptymalizować żeby chociaż w obrębie jednego requestu nie było dwóch identycznych zapytań do bazy danych.
  • Odpowiedz
@jakismadrynickpolacinsku: Szkoda czasu na udemy:
- 90% szkolących to "Ramesh" itp
- jakość / poziom wiedzy - raczej "basic"
- zbyt dużo czasu poświęca się na oglądanie video - książki i dokumentacja uczą szybciej

od szkoleń video gorsze są tylko szkolenia "online" - to dopiero strata czasu :)
  • Odpowiedz