Dziś me oczy ujrzały takie cudo:
@Lookup
SomeClass getSomeClass() {
return null;
}
Niby null, ale jednak ten @Lookup jakiś taki podejrzany, pierwsze widze. Wchodze więc w docsy, a tam piszą, że tutaj tak naprawdę to wcale nie będzie nulla, tylko kochany Spring w runtime znajdzie sobie definicje beana typu SomeClass i wciśnie tegoż beana zamiast nulla...
Nie przestanie mnie zadziwiać ten framework xD
@Inari: pisać kod jak człowiek. To nie jest żart, ani złośliwość. I to dotyczy głównie DI. Jeśli sobie robisz jakiś tam @Controller
rest to wielkiego problemu nie widzę. Także wiele Templatów i innych drobnych rozwiązań ze springa jest OK. Po prostu kontenerowe DI to dramat i tworzy (między innymi) takie potworki jak na obrazku. W połączeniu z aspektami ten dramat to prawdziwa tragedia.
@Aleksander32: mi się jeszcze tu udało znależć takie rozwiązanie https://www.baeldung.com/spring-lookup w sumie ma to sens nawet jak ktoś zna biegle springa
@baant: Ale to jest Java to wiadomo ze ci sie to uruchomi za 2 lata, a w tym czasie zdazysz sie przygotowac na wynik kodu
NYT napisało, że rosyjscy hakerzy mogli wykorzystać TeamCity do zaatakowania SolarWinds. Przy czym są spekulacje dot. tego jak to miało wyglądać:
https://www.nytimes.com/2021/01/06/us/politics/russia-cyber-hack.html
@superdurszlak albo wykorzystali kase ze sprzedazy licencji na TC do kupna hotdogow na hackatonie. NYT poziomem zbliza sie do mrowek (chociaz one sa 100x bardziej pracowite).
Ostatecznie chyba wyszło na to, że ktoś w .NOT zrobił coś a'a if (dupa == dupa) SkipAuthorization = true
, no nie? https://kb.cert.org/vuls/id/843464
$jakisController = new JakisController();
$positions = $jakisController->getTeamPosition($challenge->challenge, $team);
W innym kontrolerze xD
@Aleksander32: Kontroler wywołany w kontrolerze do obliczenia czegośtam, to normalne praktyki w php ?
@jarekr000000: Dokładnie to nie wina frameworków, to jest wina osób, które je używają lub klientów którym nie da się czegoś przetłumaczyć.
@sztadii: jakiś czas temu zmieniłem zdanie w tym temacie. Frameworki/API powinny być trochę idiotoodporne, jeśli przez prosty refaktoring możesz spowodować, że aplikacja chodzi bez sprawdzania security, transakcji itp. mimo, że kod nadal się kompiluje to to jest kijowy framework - to jest pole minowe. Spring jest wręcz modelowym przykładem pola minowego.
@jarekr000000: Więc który webowy framework jest idiotoodporny ( nie ważne jaki język :D )? Chętnie wprowadzę do nowych projektów.
@sztadii jak chcesz mocną idiotoodporność to Scala i http4s, ewentualnie Haskell i Happstack (albo Yesod - ale yesod nie jest tu najlepszy (templatehaskell pali oczy).
Straszna kupa (Spring) , ale tak po prawdzie to sam
@Lookup
generalnie chyba powinien być używany na metodzie abstrakcyjnej, klasy abstrakcyjnej gdzie podtyp jest generowany przez springa. Też kupa, ale przynajmniej unikasz tego absurdalnegoreturn null;
. Zobacz przykład https://www.baeldung.com/spring-lookup. (Przy okazji, jakoś to przypomina EJB 2.x. :-) ). Ogólnie to zachęcam, żeby w ogóle nie używać Springa, a zwłaszcza nie do DI - bo to jest masakracja.