Szerintem azért nem jött még válasz, mert nem túl definitív a kérdés. Milyen RPC-ről van szó és pontosan hogyan értendő, hogy "bekerült" a REST API-ba?
Thank you to god for making me an atheist
Szerintem azért nem jött még válasz, mert nem túl definitív a kérdés. Milyen RPC-ről van szó és pontosan hogyan értendő, hogy "bekerült" a REST API-ba?
Thank you to god for making me an atheist
Ezt úgy értem, hogy a szoksásos CRUD mellet van még pár darab sima hívás ami pl. egy előre, fixen beállított értékkel megcsinálja az updatet, vagy fix értékekkel beilleszt egy újat.
Pl.:
/api/v1/valami
GET
/api/v1/valami
POST, store
/api/valami/{id}
GET, show
/api/valami/{id}
PUT, update
/api/valami/függvényAmiUpdateliADátumot/{1}
POST (jelen esetbe adat postázása nem történik)
[ Szerkesztve ]
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
Kérdés, mi az oka.
Ha valami spéci consumerhez kellett igazítani és megkötés volt, hogy így nézzen ki az api, akkor nincs mit tenni, vsz nem ez a helyzet. Egyéb esetekben irtanám az ilyet tűzzal-vassal.
[ Szerkesztve ]
Thank you to god for making me an atheist
Semmi olyan nem történt amit ne lehetne egy update-tel megoldani. Köszi!
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
Sziasztok!
Kezdő kérdésem lenne, mert elakadtam.
Van egy Allat ősosztályom valamint két gyerek osztály (Dog és Cat,mindkettőben extends Animal).
A gyerek osztályok csak egy illetve két új változót tartalmaznak, az összes többi az Allat-ban van.
Közös ArrayList-be szeretném tenni a gyerek osztály példányait vegyesen a setterek segítségével
A Dog-ra így működik:
ArrayList<Dog>pelda1 = new ArrayList<Dog>();
Dog peldany = new Dog();
peldany.setFaj("Vizsla");
...
pelda1.add(peldany);
Hogyan tudom a Cat példányait is beletenni a pelda1-be, vagyis egy közös ArrayList-be?
Köszönöm.
Animal típusú listát hozz létre és abba pakold a példányokat.
Sima tömbre találtam ilyet:
Allat[] pelda1 = new Allat[3];
pelda1[0] = new Allat(... változók...) ;
pelda1[1] = new Dog(...) ;
Nekem csak a gyerek példányok kellenének, szülő nem.
Ellenőrizni is kell az egyes változók tartalmát (setter).
Még a kiolvasás is fontos lenne (println), ciklussal.
És milyen "módosíto" kell a Dog, Cat példányok elé?
Csak közös ős típusú listába tudod bepakolni minkét gyereket:
Arraylist<Animal> pelda1 = new ArrayList<Animal>;
Dog dog = new Dog();
//dog setterek
Cat cat = new Cat();
//cat setterek
pelda1.add(dog);
pelda1.add(cat);
Aztán kiolvasásnál:
foreach (Animal a : pelda1) {
if (a instanceof Dog) {
Dog thedog = (Dog) a;
}
}
Ugyanígy a macskákkal...
https://www.youtube.com/channel/UCOUWT6usZkzhcyJKaA3e-QQ
Köszönöm, működik a beírás.
Sziasztok!
Szeretném egy java-ban tapasztaltabb felhasználó segítségét kérni
Most tanulom a nyelvet és dupla vagy semmi alapon belevágtam egy (számomra) összetettebb feladatba. Nos, nem tudom, hogy mennyire tekinthető ez a kód szépnek, egyik első összetettebb próbálkozásom.
Azt szerettem volna megvalósítani, hogy a program kérje be egy osztály diákjainak a számát.
Létrehoz két akkora tömböt, amekkora az osztálylétszám.
Ezután bekéri sorban a diákok dolgozat pontszámait annyiszor, ahány diák van (do while ciklussal csináltam).
Ezeket a pontokat a diakok nevű tömbben elhelyezi sorban.
Ezután a pontokból megállapítja az érdemjegyet és az érdemjegyet elhelyezi a jegyek nevű tömbben, szintén sorban.
A végén pedig szeretném, ha kiírná egymás alatti sorokba a diák számát, mellé a pontját és az érdemjegyét.
A fordító 3 db hibát jelez:
osztalyzatok.java:27: error: illegal start of type
if (szamlalo = diakszam){
^
osztalyzatok.java:27: error: <identifier> expected
if (szamlalo = diakszam){
^
osztalyzatok.java:27: error: ';' expected
if (szamlalo = diakszam){
^
Valaki tudna segíteni, hogy ezt a 3 hibát hogyan tudnám megszüntetni?
Maga a programkód:
import java.util.Scanner;
class osztalyzatok{
public static void main(String[] arguments){
Scanner sc = new Scanner(System.in);
System.out.println("");
System.out.println("Diákok száma:");
int diakszam = sc.nextInt();
int diakok[] = nextInt[diakszam];
int jegyek[] = nextInt[diakszam];
int szamlalo = 1;
int szamlalo2 = 0;
int jegy;
do{
System.out.println("");
System.out.println("Az " + szamlalo + " diák pontszáma:");
int pont = sc.nextInt();
diakok[szamlalo2] = pont;
if (pont <= 100 & pont > 80){jegyek[szamlalo2] = 5;}
else if (pont <= 80 & pont > 70){jegyek[szamlalo2] = 4;}
else if (pont <= 70 & pont > 60){jegyek[szamlalo2] = 3;}
else if (pont <= 60 & pont > 50){jegyek[szamlalo2] = 2;}
else if (pont <= 50 & pont >= 0){jegyek[szamlalo2] = 1;}
szamlalo++;
szamlalo2++;
}
while (szamlalo <= diakszam);}
if (szamlalo = diakszam){
szamlalo2 = 0;
for (x = 1; x <= diakszam; x++)
System.out.println("");
System.out.println("Az első diák pontja: " + diakok[szamlalo2] + "Érdemjegye: " + jegyek[szamlalo2]);
szamlalo2++;
}
}
[ Szerkesztve ]
Egyenlőség vizsgálatára az == való
Ebben a sorban nem felesleges a } ?
while (szamlalo <= diakszam);}
És nézz utána, mi a különbség a & és a && között, utóbbi hatékonyabb (nem nézi tovább a feltételt, ha már biztosan tudja az eredményét)
Hazudnék, ha cáfolnám annak tagadását, hogy ez az ital nem nélkülözi a koffeinmentesség megnemlétének hiányát. Na most akkor van benne koffein, vagy nincs?!
A && és & közötti különbség nem csak hatékonyság kérdése. Egyszerűen másra való. & akkor kell, ha mindenképpen végig akarod tolni a láncot, pl. több érték validálása. Logical vs. Conditional
[ Szerkesztve ]
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
Jól mondod, de én még tovább mennék: nem nem csak, hanem egyáltalán nem hatékonyság kérdése. Ha ugyanarra volna való a két operátor, csak az egyik hatékonyabb lenne, akkor nem is létezne a kevésbé hatékony.
Abban a nagyon ritka esetben, mikor &,|,^ valamelyikét írod boolean operandusok esetén és nem elírtad, akkor 99,99..%, hogy a rövidzár/nem rövidzár különbséget akarod valamiért kihasználni.
[ Szerkesztve ]
Thank you to god for making me an atheist
Hát jah. Ennek ellenére pl. a Sonar a &-et simán kifügyöli, hogy Te biztos &&-t akartál használi Egyébként én aránylag gyakran használom...ahogy írtam is, validálásra, amikor is azt akarom, hogy lefusson mindegyik, mert nem csak le kell futnia, hanem a lefutáskor mondjuk false esetén be is kell pirosozni vmit...nyilván ezt lehet &&-el is, de ez már ízlés dolga.
[ Szerkesztve ]
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
Hát az elég átláthatatlan kód, nem? Egy feltétel vizsgálatnál szerintem legtöbben nem számítanánk állapot változásra. Ha jól emlékszem valamelyik könyvben volt is írva, hogy nem ajánlott használni.
Ezért írtam, hogy ízlés dolga A könyvekben található dolgokat meg nem véletlenül hívják ajánlásnak
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
Ez oké, amikor egyedül toljuk a saját garázs projektben, viszont csapatban illik a standardek, konvenciók, ajánlások szerint fejleszteni, mert jó esetben ez az, ahogyan a többi csapattag is fejleszt, egy új csapattagot így lehet legkönnyebben beilleszteni. Volt szerencsem mar sokfele tragya munkahoz sajnos, ahol a tragya megoldasok valtak konvenciokka, es igen kellemetlen tud lenni, mikor mindenki hulye a csapatban, csak en vagyok helikopter. Nalam az & PR-nel azért menne a levesbe boolean operandusok eseten, mert a fejlesztok tobbsege szerintem csak a bitenkenti ES jelenteset, egeszeken ertelmezve ismeri es dobna egy exceptiont, ha ilyet lat, es ez netto kidobott ido, ha egy sima feltetelen gondolkodni kell.
[ Szerkesztve ]
Thank you to god for making me an atheist
Agree, de ez a &
vagy && szerintem konkrétan szabadon választott. Amennyiben a fejlesztő pontosan tudja, hogy melyik mire való, hogy működik.
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
Sziasztok!
Találtam egy mintapéldát az osztály és példánytagok inicializáló blokkjaival kapcsolatosan:
package hallgato;
public class Hallgato {
static int alapTandij;
double atlag;
int tandij;
// Osztályinicializáló blokk
static {alapTandij=2000;}
// Példányinicializáló blokk
{ atlag=7.5;
tandij=alapTandij+(int)Math.round(3000*(10-atlag));
}
public void prrint(){
System.out.println("Tandíj: "+tandij);
}
}
Próbáltam futtatni, úgy hogy a main-t betettem a Hallgató osztályba, de csak úgy éri el a függvényt és a változókat, ha azok mind statikusak.
Benéztem valamit? Mindennek static-nak kell lennie és az értékadások (példányinicializálás) csak a példányoknál mutatkoznak?
Mivel a main függvény static, ezért abból csak statikus változókat és függvényeket tudsz elérni. Ha nem akarod azzá tenni őket, akkor példányosítani kell a Hallgato osztályt és azon keresztül hívni a függvényt:Hallgato h = new Hallgato();
h.prrint();
https://www.youtube.com/channel/UCOUWT6usZkzhcyJKaA3e-QQ
Ha mondjuk egy értelmesebb IDE-t használsz, neadjisten PMD-t, akkor meg is mondja, amit az előző kolléga a hozzászólásában kifejtett Talán még a javac is sikít
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
Rendben.
De mivel ez egy mintapélda (és semmi több nem volt hozzá), ezért úgy szerettem volna kipróbálni, hogy példányosítással ás anélkül is futtatom, hogy lássam a különbséget. Ebben a formában viszont csak példányosítással működik, tehát szerintem nem jól demonstrál.
Mit nem demonstrál jól? Mi a célja a példaprogramnak? Egyébként meg pont úgy működik, ahogy kell neki.
[ Szerkesztve ]
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
Azért kell példányosítani, mert a main metódus nem része az osztálynak.
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
szvsz inkább azért kell példányosítani, mert nem csak osztályszintű metódusokhoz és változókhoz szeretne hozzáférni (prrint(), tandij). Példányváltozója pedig egy adott példánynak van (aka objektum állapot), illetve példány metódust is csak adott példányon lehet meghívni (aka objektum állapot változás, viselkedés). Ha csak az alapTandij értékéhez szeretne hozzáférni, akkor nincs szükség példányosításra, mivel az static (osztályszintű).
a main helye ebből a szempontból szerintem irreleváns, jogosultsági kérdések esetén lenne jelentősége.
Amit én írtam, az kb. ugyanez.
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
Sziasztok,
mivel látom a topikban nincs összefoglaló, segítséget szeretnék kérni.
Ti most hogyan kezdenétek neki az alapoktól a Java programozásnak?
Általában redditen szoktam nézegetni de a /r/learnjava oldalon nem találtam semmi olyasmit.
Vannak ingyenes YT videók, pl. SFJ. Amúgy épp most indul egy fél éves tanfolyam, 750.000+áfa.
Sololearn, alapokra jó. Igaz angolul van.
Eladó Lego: 42139 All terrain vehicle
Sziasztok!
Egy webservice-nek (Restcontroller-es) lehet paraméterként tree-t, list-t stb komplexebb objektumokat bemenő paraméterként megadni? Ha igen tudnátok valami példát? A lényeg, hogy nem lehet tudni az elemszámot, csak azt hogy milyen kollekció.
[ Szerkesztve ]
Miért ne lehetne? Vissza szerializálod és feldolgozod.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
Szia!
Ha mar onkepzesrol van szo meg annyit tennek hozza hogy vannak nagyon jo interaktiv oldalak. Elso sorban a codecademy-t ajanlanam.
Aztan kis gyakorlasnak codingbat, hackerrank, codewars. Illetve az OCP JavaSE vizsgafelkeszito konyvet. Sok sikert!
It was a bright cold day in April, and the clocks were striking thirteen.
Pontosan, ahogy a kolléga írta. Jackson, Json, Gson témakörben nézelődj.
Szerk, hogy webservice. Hmm. Rest vagy webservice? Nem jó keverni. A rest alapvetően json (ez a szokás), a webservice xml.
[ Szerkesztve ]
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
Ha restcontroller, akkor feltetelezhetjuk, hogy spring @RestController, default jackson, es @RequestBody automatikusan deszerializalodik (sajat típus is), ha lehetseges. Tehat nem feltetlenul kell egyedi (de-) szerializaciot faragni hozza.
REST(-ful webservice) pedig ugyancsak webszerviz ebben a kontextusban, ahogy a SOAP, en nem szeretem ezt a megkulonboztetest.
[ Szerkesztve ]
Thank you to god for making me an atheist
Sziasztok! Tudnátok ajánlani valami anyagot c#-ról javara való áttéréshez?
Sor, marihuana.
while (!sleep) sheep++;
Java tanfolyamot javaslok.
Szerintem tok felesleges. (En anno ugy mentem el senior java devnek, h elotte csak C++, C#-ot meg ilyesmiket irtam -- kb. zero energia felszedni a par build toolt meg a nyelvet. Az mas kerdes, h JEE expertnek nem tudsz igy beallni.)
while (!sleep) sheep++;
Sziasztok, egy kis segítségre volna szükségem egy probléma megoldását illetően.
Szükséges volna egy WEB-es felületen egy SQL tábla adatait táblázatosan megjelenítenem.
A problémát az okozza, hogy amolyan "observer"-es megoldással, ha az SQL tábla adatait egy másik felhasználó megváltoztatja akkor automatikusan ennek az én webfelületemen is frissülnie kellene.
Milyen megoldással/technológiával lehetne megoldanom, hogy az observer-em ilyenkor request nélkül egy response-t csináljon a servlet-es webfelületen?
Update: A dolog még csak tervezési fázisban van, teljes szabadság van az adott technológia kiválasztásában. Egyetlen megközés, hogy Tomcat alatt fusson.
[ Szerkesztve ]
Nincs response request nélkül. Ezt valami aktív technológiával lehet megoldani (vagy valami frameworkkel, vagy sima webservice + időzített ajax lekérés)
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...
Nincs response request nélkül
Igen, tudom. Pont ez okozza a problémát. A swing-es gui-ban ugye így van megcsinálva (ugyebár ott sima ügy) és megszokták.
Az ajax esetében esetleg valami megoldással azt volna csak gondolom első lépésben megkérdezni, hogy volt-e változás. Már csak a felesleges kommunikáció minimalizálása érdekében. Ha volt akkor kellene gondolom a táblázat adatait frissítenem.
Ha fw akkor milyen framework volna megfelelő?
Kis guglizással szerintem ezt keresed: Server-Sent Events (SSE)
Aha, ez olyasminek tűnik, átolvasom. Köszönöm a linket.
A pollingot akartam javasolni de az nem minimalizál
[ Szerkesztve ]
Rickeffe
Esetleg websocket vagy Vaadin Framework
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
Sziasztok!
Egy kis segítséget szeretnék kérni egy egyszerű feladathoz:
Készíts programot, ami beolvassa egy téglatest három élének hosszát, és kiírja a térfogatát és a felszínét!
A programba bevitt adatok helyesek és a program tört értéket is elfogad. Az eredményt egy tizedesjegyre kerekítve, vesszővel írjuk ki! (System.out.printf)
Figyeljünk a szóközökre és soremelésekre, a kimenet ehhez hasonló kell legyen:
Példa:
Téglatest térfogat- és felszínszámoló
a=10
b=20
c=15
Felszín: 1300,0
Térfogat: 3000,0
A vastagon szedett részt a felhasználó írta be.
A problémám az, hogy a feladatot egy program vizsgálja át, és csak 57%osra értékeli. Működik, megcsinálja amit kell(NetBeansben tökéletesen lefut), szerintem ugyanúgy néz mint ahogy a példa. Nem találom a hibát.
A programom a következő:
package tegla;
import java.util.Scanner;
public class Tegla {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Téglatest térfogat- és felszínszámoló ");
System.out.print("a=");
double a = sc.nextDouble();
System.out.print("b=");
double b = sc.nextDouble();
System.out.print("c=");
double c = sc.nextDouble();
double felszin = 2*(a*b+a*c+b*c) ;
double terfogat = a*b*c;
System.out.printf("Felszín: %.1f \n",felszin);
System.out.printf("Térfogat: %.1f \n",terfogat);
}
}
Előre is köszönöm a segítséget.
Miért a main-ben számolsz? A számoló metódust és a változókat a Tegla osztályban definiáld, utána példányosítsd és az objektumon hívd meg a metódust a main-ben.
Köszönöm a válaszod.
Még csak most kezdtem a programozást, sajnos az általad javasoltakat nem tudom jelenlegi tudásommal megoldani.
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))