Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)

Hozzászólások

(#10051) sarkanyolo2 válasza M_AND_Ms (#10047) üzenetére


sarkanyolo2
őstag

Köszi! :R

Sony XZ٩(̾●̮̮̃̾•̃̾)۶ / LG UJ620V / Kanto YU6

(#10052) mobal válasza floatr (#10048) üzenetére


mobal
MODERÁTOR

Még jó, hogy van API-ja a dockernek és tudom remote futtatni :)

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#10053) floatr válasza mobal (#10052) üzenetére


floatr
veterán

Végül is xterm/vnc is van, ha remote akarsz fejleszteni :D de... akkor mire van a fejlesztői gép.
Mondjuk én ezt a maces őrületet sem értem. Nyilván jobban kézre áll az első hónapban egy windowsos környezet, de kicsit erőltetett dolognak érzem akkor, amikor már lassan minden az aws/docker/k8s és tsai körül forog.
Mindegy igazából ez a része, mindenkinek megvannak a preferenciái, csak megjegyeztem, hogy távolról sem optimális

(#10054) Zahze


Zahze
csendes tag

Sziasztok! Segítséget szeretnék kérni Spring Security témakörben.

Röviden: Rest service (SpringBoot projekt), H2 adatbázisban tárol adatokat.
Az adatbázis elérés illetve a Controller mapping eddig jól működött, mindent elértem, mindent úgy tárolt ahogy szerettem volna.

A hiba a security "berakása" után keletkezett.

Feldobtam pastebin-re a szerintem releváns kódrészletet. Ha kihagytam volna valamit akkor szóljatok és pótlom.

Értelmezésem szerint ennek úgy kéne működnie hogy a "szabad elérésű" mapping-eket eléri bárki (megtörténik), a /blogposts -t csak USER role-al rendelkező blogger éri el, a /blogposts/** -t pedig csak ADMIN role-al rendelkező.
Amikor el akarom érni a /blogposts-ot akkor ki is dobja automatikusan a bejelentkező oldalt, bejelentkezek, tovább enged (nem írja ki hogy nem jó felhasználó/jelszó, amit rossz adat megadásakkor kiír), de kapásból egy HTTP Status 403 – Forbidden oldalra irányít
egyéb adat az oldalról:
(Type Status Report
Description The server understood the request but refuses to authorize it.)

Nem tudom hogy miért nem authentikálja be, vagy hogy mi is történik igazából...
Lekérdezéskor kiírattam az adatbázisból érkező adatokat, és minden flottul megjön...

Megj.: pastebin-re felrakott kódból kiszedtem azt a részt, de ha a UserDetailsImp-ben a getPassword metódust a pastebin-es kód állapotába hagyom akkor a hibaüzenet a PasswordEncoder null értékére háklis... olvastam hogy ha a password-ba szerepel a {noop} akkor az egy jelzés hogy ne próbálja meg dekódolni a jelszót, így a UserDetailsImp-be erre írtam át:
@Override
public String getPassword() {
return "{noop}"+user.getPassword();
}

Mivel a felh/jelszó párost így is elfogadja és jelen pillanatba kissebb bajom is nagyobb a nem enkódolt jelszónál így ezt most még ígyhagytam.

A netet már szétböngésztem, a javaslatok alapján változtattam is a kódot de nem jártam sikerrel így most az elejétől próbálom meg megint.. :O

Mit rontottam el ? :F

[Kód]

Előre is köszi a segítséget.

[ Szerkesztve ]

Talk is cheap. Show me the code - Linus Torvalds

(#10055) harylmu válasza floatr (#10053) üzenetére


harylmu
őstag

Miert viselkedne Windows alatt mashogy a Docker? Moby Linux fut Hyper-Vben, tok ugyanugy viselkedik mint mondjuk egy EC2-esen. Minikube instabilitast a Macbookomon hamarabb tapasztaltam mint Win alatt amugy. Be is egtem vele egy elo prezentacion :D

[ Szerkesztve ]

(#10056) Drizzt válasza Zahze (#10054) üzenetére


Drizzt
nagyúr

Én nem értek a Springhez, de először azt nézném meg, hogyha leszeded a ".antMatchers("/blogposts/**").hasRole("ADMIN")" sort, akkor beenged-e. A blogposts-ot amikor eléred, s ki akarod írni, hogy "jogok:", akkor abból megjelenik bármi? Ha nem, akkor valahol a configure-ban kellene lennie a gebasznak. Még amit javaslok: minél fine-abb logging bekapcsolása a configban:
@EnableWebSecurity(debug = true)

Hátha valamivel többet mond.

I am having fun staying poor.

(#10057) Zahze válasza Drizzt (#10056) üzenetére


Zahze
csendes tag

Köszi a választ :)
Beengedni mindenféleképpen beengedett, csak a jogokat nem "ismerte" fel, kiíráskor pedig kiírta rendesen az eltárolt jogokat.

Végül sikerült megoldani.

A Gond az volt hogy a Spring a jogokat ROLE_ prefixel tárolta el és ezzel hasonlította össze az én jogaimat. ( .hasRole("USER") -re ROLE_USER lett eltárolva)
Az adatbázisban én simán USER-el tároltam el, kiolvasáskor pedig semmi nem konkatenálta hozzá ezt a ROLE_ prefixet. Amint ezt kézzel hozzáfűztem már elfogadja jogköröket (y).

Számomra picit érdekes ez az egész, azt hittem hogy a SimpleGrantedAuthority legalább hozzá teszi ezt, vagy hogy ha nem szerepel a ROLE_ prefix összehasonlításkor a szerepkörben, akkor ezért tud szólni (mint a .hasRole("USER")-nél, ha ott a stringbe beírom a ROLE_ részt akkor, szól hogy azt automatikusan fűzi hozzá, nem kell oda....) :W

A plusz érdekessége hogy bármilyen ilyen példa Security-s programot nézek, senki sehol nem szenved ilyennel... szóval, nem tudom ez nálam miért jött elő :F

Talk is cheap. Show me the code - Linus Torvalds

(#10058) Csaby25


Csaby25
senior tag

Sziasztok!
Androidra szerintetek ajánlott java-val kezdeni és utána kotlin?
Milyen könyvet ajánlotok java-hoz?
Köszi!

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#10059) emvy válasza Csaby25 (#10058) üzenetére


emvy
nagyúr

Miert nem kezdesz mindjart Kotlinnnal?

while (!sleep) sheep++;

(#10060) Csaby25 válasza emvy (#10059) üzenetére


Csaby25
senior tag

Neten azt írják, könnyebb dolgom lesz, ha először java-t tanulok. Egy ismerősöm androidban dolgozik, ő is azt ajánlotta, hogy java-val kezdjem...

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#10061) emvy válasza Csaby25 (#10060) üzenetére


emvy
nagyúr

Miért?

while (!sleep) sheep++;

(#10062) Csaby25 válasza emvy (#10061) üzenetére


Csaby25
senior tag

"Minden nyelv megtanulható magára, de könnyíti a dolgodat ha Ismered a javát"

Does it make sense to learn Kotlin with no prior Java experience?

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#10063) emvy válasza Csaby25 (#10062) üzenetére


emvy
nagyúr

Azt írja, hogy kezdd C-vel, aztán Java, aztán Kotlin. Ez elég butaságnak hangzik.

while (!sleep) sheep++;

(#10064) Szmeby válasza emvy (#10063) üzenetére


Szmeby
tag

Szerintem kezdjen gépi kóddal, az a biztos. :)

(#10065) sutszi válasza Szmeby (#10064) üzenetére


sutszi
veterán

Lyukkárát akartál írni, nem? :DDD

Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage

(#10066) wikings2 válasza emvy (#10061) üzenetére


wikings2
őstag

A legtöbb suli java-n keresztül juttat el az OOP alapok elsajátításához és valószínűleg emiatt ajánlják a legtöbben kezdő programozóknak mielőtt önálló projektbe kezdenének mindenféle alacsony szintű nyelvekkel és spéci könyvtárakkal.

Talán én is Pest vagyok... Pest a pestiségem. Pest,hogy rég Pesten lakok, s nem lettem pesti mégsem.

(#10067) Csaby25 válasza Szmeby (#10064) üzenetére


Csaby25
senior tag

Szerintem meg nekem írd, ha rólam van szó.

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#10068) Csaby25 válasza emvy (#10063) üzenetére


Csaby25
senior tag

Az csak egy ember véleménye, többen is írtak a fórumon.
Pl.:
"The trap with kotlin is that most teaching aids target those moving from java, and on that basis continually assume a strong knowledge of java. It can be very frustrating to have concept explained in terms of java, requiring the reader to learn how the feature works in java before the instructions for kotlin make sense.

There are now online courses that teach kotlin without any prior knowledge, but these tend to be very basic, as no programming knowledge at all is assumed. The biggest ‘missing link’ is the lack of exapnations of kotlin advanced features for programmers coming from any language other than java.
We have a project that we are planning to migrate sections, or perhaps even the entire project from python to kotlin. and are finding documentation a barrier. The support material for learning kotlin is at its worst for those who have already learnt advanced programming, but do not specifically know java.

Realistically, if you do not know how to program, sadly currently the best advice is probably to learn java first. Next choice is just learn as you go with kotlin but be aware there is simple less learn to code material and much material for advanced concepts assumes java knowledge. Becoming proficient in a language other than currently may simply create significant frustration when bringing the skills learnt to kotlin, only to find the kotlin documentation specifically knowledge of each step in java a prerequisite for the kotlin documentation.

As kotlin matures, and a wide range of support emerges, the contradiction of a language that makes java redundant requiring programmers to learn java will fade to nothing."

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#10069) Aethelstone


Aethelstone
addikt

Nekem az a véleményem, hogy amíg az indeed.com-on a Kotlin keresésre alig 1000 találat van, a Java-ra meg 60k, nem érdemes foglalkozni vele. Főleg nem munkaidőben, éles projekten. Lehet, hogy sokkal jobb nyelv, nem kétlem, de mire a penetrációja eléri a kritikus értéket, az ide írogatók már nyugdíjasok lesznek.

[ Szerkesztve ]

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10070) emvy válasza Aethelstone (#10069) üzenetére


emvy
nagyúr

Szerintem meg fejlesztokent azt csinald, amit elvezel, piac ugyis van ra.

Siman lehet Clojure, Elm, Haskell, Elixir allasokat talalni, ha valakinek ahhoz van kedve. Erdekes dolgot csinalni meg jobb, mint kevesbe erdekeset.

while (!sleep) sheep++;

(#10071) Cathfaern válasza Aethelstone (#10069) üzenetére


Cathfaern
nagyúr

Kb. 35 evem van nyugdijig. Kb. 23 evvel ezelott jelent meg az elso java verzio. Szoval szerinted meg 12 ev mire a java penetracioja eleri a kritikus erteket? :)

(#10072) harylmu válasza Aethelstone (#10069) üzenetére


harylmu
őstag

Miért nem érdemes olyan nyelvvel foglalkozni, amire kisebb a kereslet? Szerintem ellenkezőleg.

(#10073) floatr válasza Aethelstone (#10069) üzenetére


floatr
veterán

Nagyjából ilyen arányban találsz zöldmezős kontra legacy fejlesztéseket feladatképpen ezeknél a cégeknél. Melyiket csinálnád szívesebben? :)
Én '98 óta javazok, amikor még a trend sem nagyon látszott, nemhogy a piaci igény. A koltinban bőven van már perspektíva, ideje rájönnie sokaknak, hogy érdemes továbblépni.

(#10074) smallmer


smallmer
őstag

Sziasztok!

Server Client kommunikációban van egy kis gondom.
Egy ArrayListben tárolok Stringeket, ezeket szeretném elküldeni a Kliensnek.

Annyi a gondom, hogy mikor a Kliens olvas, akkor végtelen ciklusban csak az első elemet olvassa.
Ez miért lehet?

Nem ugrik át a következő elemre, amit a server küldene.

(#10075) Zahze válasza smallmer (#10074) üzenetére


Zahze
csendes tag

Szia.
Küldj kódrészletet a kommunikációról.
(A server milyen formába küldi el a listát illetve a kliens mivel fogadja.)

Talk is cheap. Show me the code - Linus Torvalds

(#10076) Aethelstone válasza emvy (#10070) üzenetére


Aethelstone
addikt

Ez mondjuk abban az esetben igaz, ha nincs családod. Mert ha van és el kell tartanod őket, marha nagy szerencse kell, hogy abból tartsd el őket, amit élvezel. Saját tapasztalat. Másrészt ha sok a feladat és változatos, Java-ban is élvezem, nem kell a joy faktort még Kotlinnal is spékelni :D

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10077) mobal válasza smallmer (#10074) üzenetére


mobal
MODERÁTOR

Kódot, ahogy a kolléga is írta.

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#10078) emvy válasza Aethelstone (#10076) üzenetére


emvy
nagyúr

Eleve rossz metrikat hasznalsz. Onmagaban az allasok szama nem erdekes -- az a kerdes, hogy az allasok szama hogy viszonyul az allaskeresokhoz.

Az erdekes melot meg azert is kell csinalni, mert jobban fog menni es jobban el tudod tartani a csaladod. Persze ez kozel sem fekete-feher, es van igazsag abban, amit mondasz.

[ Szerkesztve ]

while (!sleep) sheep++;

(#10079) Aethelstone válasza emvy (#10078) üzenetére


Aethelstone
addikt

Nem, mivel a penetrációt jól mutatja, hogy mekkora az igény. Ha nincs igény, nincs fejlesztő. Más oldalról ha belekezdek egy zöldmezősbe, rohadtul nem mindegy, hogy találok-e kompetenciát vagy a projekt első fele azzal telik, hogy kutatgatom a választott technológiát vagy kilóra veszek elérhető embereket a piacon :)

[ Szerkesztve ]

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10080) floatr válasza Aethelstone (#10079) üzenetére


floatr
veterán

Ez egy rendkívül jó érv arra, hogy sose kezdj bele semmibe, ami eltér a szokásostól.

(#10081) Aethelstone válasza floatr (#10080) üzenetére


Aethelstone
addikt

Értem én és tök igazad lenne, ha csak hobbiprojektekből állna a világ. Viszont a világ nem csak hobbiprojektekből áll. Egy cég, ahol dolgozik tizen, huszon, mittomény mennyi fejlesztő, 10szer is meggondolja, hogy mondjuk holnaptól Java helyett Kotlinban áll neki egy zöldmezősnek. Határidők, stb.

És ez független attól, hogy a Kotlin mennyivel jobb, mint a Java. (vagy nem)

[ Szerkesztve ]

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10082) sarkanyolo2


sarkanyolo2
őstag

Sziasztok!

Van olyan java típus ami Blob-ot tud fogadni? Egy XML menne át blobként, amit egy webservice ereményeként kellene prezentálni. :)

Sony XZ٩(̾●̮̮̃̾•̃̾)۶ / LG UJ620V / Kanto YU6

(#10083) sztanozs válasza sarkanyolo2 (#10082) üzenetére


sztanozs
veterán

Mit jelent neked a blob? byte-tömb, vagy karakter-tömb? btw google első: [link]

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#10084) M_AND_Ms válasza sztanozs (#10083) üzenetére


M_AND_Ms
addikt

A blob az egyértelműen byte (Binary Large OBject). A clob az a karakteres (Character Large OBject).
Ja és egyik sem tömb.

Aki tejszínhabot szeretne, az inkább verje ki a fejéből!

(#10085) sztanozs válasza M_AND_Ms (#10084) üzenetére


sztanozs
veterán

Azért kérdeztem csak, mert ha xml megy át, akkor az valójában nem binary, csak egy (bazi nagy) szöveg. Amúgy meg mindegy is, hogy melyik, ha egy-az-egyben ki is tolja egy WS response-ban...

String xmlString = new String(rs.getBytes("xml_blob_field"));

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#10086) M_AND_Ms válasza sztanozs (#10085) üzenetére


M_AND_Ms
addikt

BLOB-an jöhet karakteres adat is nem okoz gondot.

Aki tejszínhabot szeretne, az inkább verje ki a fejéből!

(#10087) floatr válasza Aethelstone (#10081) üzenetére


floatr
veterán

Az a gond legtöbbször, hogy a költségvetésbe nem kalkulálnak bele ilyen tényezőket. K+F nuku, tanfolyamok semmi, tanulóprojektek zéró.

Ezen bukik sokszor el minden, mert képtelenek sokan tartani a szintet, csak a jól ismert dolgokat merik használni.

(#10088) Aethelstone válasza floatr (#10087) üzenetére


Aethelstone
addikt

Nem. A jól bevált, de egyáltalán nem elavult technológiák használatában nincs igazából akkora kockázat, mint egy tök újban. K+F. Igen. Nem éles projektben kell K+F-elni. Az önálló történet szerintem. Mindig csak keveset változtass, ez az én egyik alapelvem.

[ Szerkesztve ]

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10089) floatr válasza Aethelstone (#10088) üzenetére


floatr
veterán

A kotlin igazából pont erre jó. Vegyesen is lehet használni, java fejlesztőket könnyű ráállítani, ha valami nem stimmel, viszonylag elég könnyű visszalépni. Nem is értem az ellenérveket. A legtöbb java projektet rá lehet állítani, hogy kotlint is használjon.

Amúgy meg annyira tök új, hogy 8 éves sztori már, és alaposan felhasználják a korábbi tapasztalatokat (java, c#, scala). Nem akarok kampányolni, csak kicsit értetlenül állok a jelenség előtt. Jó persze a megszokott, ha elég, de a technológia ebben az irányban menetel tovább.

(#10090) attrax


attrax
aktív tag

Ismerősöm elakadt.Kellene neki gyors segitség:

"Van egy alkalmazas aminek van egy sajat naptara amit meg lehet nyitni(kulon activity,sima calendar view) es ezen a naptaron kellene hogy ,hogy be legyenek jelolve esemenyek. A naptarba ugy kerul be az esemeny hogy egy masik activityben egy gomb nyomas hatasara. Tehat amikor tortent gombnyomas es atmegyunk a naptarba akkor ott megjelenik hogy volt esemeny"

Kérek helpet előre is köszi!

Unterschreiben

(#10091) smallmer válasza Zahze (#10075) üzenetére


smallmer
őstag

Server küldés:
try {
PrintWriter kuldes = new PrintWriter(beerkezoKliens.getOutputStream(), true);
for (int i = 0; i < szamCimek.size(); i++) {
kuldes.println(szamCimek.get(i));
}
} catch (IOException ex) {
System.out.println("Nem kuldott semmit");
}

Kliens:

BufferedReader beolvas = new BufferedReader(new InputStreamReader(s.getInputStream()));

String valasz = beolvas.readLine();

while (valasz != null) {
System.out.println(valasz);
}

}

mi lehet a gond?

(#10092) Atapi válasza smallmer (#10091) üzenetére


Atapi
senior tag

nem frissíted a valasz változó értékét a while cikluson belül. a beolvas.readLine() minden ismétlésnél le kéne, hogy fusson, de most csak egyszer fut le, amikor inicializálod vele a változót.

(#10093) smallmer válasza Atapi (#10092) üzenetére


smallmer
őstag

köszönöm szépen

így már jó gondolom:

String valasz = beolvas.readLine();

while (valasz != null) {
valasz = beolvas.readLine();
System.out.println(valasz);
}

(#10094) Atapi válasza smallmer (#10093) üzenetére


Atapi
senior tag

így az első beolvasást nem fogod kiírni. (a változó frissítése a felhasználása után kellene, hogy történjen.) btw, csinálhatod így is:

String valasz;
while ((valasz = beolvas.readLine()) != null) {
System.out.println(valasz);
}

(#10095) smallmer válasza Atapi (#10094) üzenetére


smallmer
őstag

köszönöm :) :R

(#10096) smallmer válasza Atapi (#10094) üzenetére


smallmer
őstag

még egy dolog eszembe jutott.
Ez a legjobb szerintem.
do{
valasz = beolvas.readLine();
szamCimekClient.add(valasz);

System.out.println(valasz);
System.out.println(szamCimekClient.size());
} while (valasz != null);

Egyet értesz?

Illetve az miért lehet hogy innen nem megy tovább a program? Mondjuk ha beírok egy kiíratást a ciklus után akkor azt nem írja már ki. :R

[ Szerkesztve ]

(#10097) Atapi válasza smallmer (#10096) üzenetére


Atapi
senior tag

én nem látom indokoltnak do-while használatát (akkor használod, ha valamit legalább egyszer szeretnél megcsinálni, de bizonyos feltétel esetén folytatod is. de te miért akarnál egyáltalán belépni a ciklusba, ha a beolvasásod null?).
emellett a jelenlegi struktúrában a ciklus elején beolvasol, ami ha null érték, azt még megpróbálod feldolgozni, amit szerintem nem szeretnél (ez okozhatja is az újabb gondodat), de ebben tévedhetek.

(#10099) Zahze válasza smallmer (#10096) üzenetére


Zahze
csendes tag

A programod max akkor nem megy tovább ha a szerver nem állítja le a küldést.

Ha a szervered tényleg csak annyit küld mint amennyit belinkeltél (for ciklus), akkor a ciklus kilépése után null-t kéne kliens oldalról olvasnod és ki kéne lépni.

Nincs még valami a háttérbe ?
Mit ír ki a kliens a kimenetre amikor vége a szerver oldalon a for ciklusnak ? ( null-t ? üres karaktersort ? )

Talk is cheap. Show me the code - Linus Torvalds

(#10100) sarkanyolo2 válasza sztanozs (#10085) üzenetére


sarkanyolo2
őstag

Köszi mindenkinek! :R

Sony XZ٩(̾●̮̮̃̾•̃̾)۶ / LG UJ620V / Kanto YU6

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.