- AMD K6-III, és minden ami RETRO - Oldschool tuning
- HiFi műszaki szemmel - sztereó hangrendszerek
- Bambu Lab 3D nyomtatók
- Apple asztali gépek
- Milyen házat vegyek?
- OLED monitor topik
- Milyen egeret válasszak?
- Gigabyte alaplap topik
- Fejhallgató erősítő és DAC topik
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
Új hozzászólás Aktív témák
-
chabeee
aktív tag
Sziasztok!
Ismét én,
Szeretnék egy java progival küldeni egy tömörített állományt emailen keresztül.
email sender függvényem jól működik sima string küldésekre, viszont én zipet szeretnék küldeni, aminél ezt a hibát dobja
com.sun.mail.smtp.SMTPSendFailedException: 552-5.7.0 This message was blocked because its content presents a potential
552-5.7.0 security issue. Please visit http://support.google.com/mail/bin/answe
552-5.7.0 r.py?answer=6590 to review our message content and attachment content
552 5.7.0 guidelines. 46sm22249942ees.4 - gsmtp
at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2133)
at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1912)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1135)
at javax.mail.Transport.send0(Transport.java:254)
at javax.mail.Transport.send(Transport.java:124)
at zip_and_send_it_via_email.Main.sending_mail(Main.java:98)
at zip_and_send_it_via_email.Main.start(Main.java:26)
at zip_and_send_it_via_email.Main.main(Main.java:21)amit ad linken fel van sorolva hogy milyen formátumokat lehet küldeni gmail-en keresztül, viszont a zip az *"tiltó listán" van, ezt hogy lehet kikerülni? vagy egyáltalán kilehet kerülni?
Ha nem akkor milyen tömörítő formátumot enged ? és azt mivel libbel tudom kiszenvedni javaban?*tiltó lista: .zip, .tar, .tgz, .taz, .z, .gz, .rar
Előre is köszönöm a választ
-
WonderCSabo
félisten
Én mondjuk mobilon mozgok mostanában, itt azért jóval kisebb libekkel találkozom, 20 megabyte-tól én is a falra másznék. A másik implementáció mondjuk tényleg nagyon zavaró, pl. jellemzően mindenki más logging frameworkot használ és akkor ez mind foglalja a helyet. Az előbb említett proguardot tudom ajánlani.
-
floatr
veterán
válasz
WonderCSabo #5096 üzenetére
Én sem szívesen írom meg, amire már van megoldás, de sokadszor futok bele abba a problémába, hogy egy futó projekt ~100MB libet tartalmaz, és egy új feature-höz csak amiatt be kéne dobni egy újabb MB-nyi valamit. Pláne hogy már egy másik implementáció benne van, de épp azt nem tudja, ami kéne.
A legszebb az volt, amikor egy volt kollégám egy ilyen alkalommal gondolkodás nélkül bevágott egy 20MB-os megoldást arra, hogy megállapítsa, hogy milyen mobilról érkezik-e felhasználó. -
WonderCSabo
félisten
Én azon az állásponton vagyok, hogy inkább használjunk általános libeket. Egyrészt nem kell újraírni a kódot, másrészt a lib készítői valszeg több mindenre gondoltak (hibák, lehetőségek stb.), mint mi valaha is tudunk, továbbá folyamatosan fejlesztik is ezeket. A mai hardverek mentén én nem látok problémát a teljesítmény terén, már Android-on is csomó reflective kód fut (sőt maga az egész framework reflectionnel megy), pedig csak buta HW van alatta desktophoz vagy serverhez képest. A méretet tekintve pedig pl. proguarddal a nem használt kódot könnyen ki lehet dobni a libekből.
A GSON-t egyébként pont Karma mutatta nekem anno, sztem szuper jó lib, csak ajánlani tudom mindenkinek. Olyan gyönyörű megoldások vannak benne, amik sztem egy hétköznapi fejlesztőnek sosem jutnak eszébe.
-
floatr
veterán
A specifikusságot illetően nem feltétlenül értünk egyet. Amiről beszélek egy minimalista eszköz, de saját binding van mögötte, és egy kis átalakítással általános célra is lehetne használni. Inkább ott van nekem ezzel az egésszel problémám -- ami viszont igaz a legtöbb ilyen eszközre -- hogy annyira sokrétű felhasználásra akarnak megoldást adni egy csomag formájában, hogy a library 90%-a sokszor csak felesleges ballaszt. Ez a maximalista hozzáállás nagyon rossz ötlet, mert ha ilyen elemekből építesz egy alkalmazást, akkor csúnyán elszalad az erőforrás használattal a ló. A Jackson is gázos ilyen szempontból, és az az érzésem, hogy maga a J2ME runtime is ebbe a zsákutcába futott bele.
-
Karma
félisten
Pont a specifikusság az, amivel karcsúbbat lehet írni. A Gsont durván szét lehet hackelni anélkül, hogy a forráskódhoz nyúl az ember(*). Másrészt vannak benne apróságok, amik elméletben nem is számítanának, de a gyakorlat más... Például hogy a Mapek sorrendtartóak.
(*) Személyes rekordom: olyan bővítmény. ami új annotációkat figyel a célosztályon, és a bemeneti JSON fát transzformálja többféleképpen, mielőtt a reflexió rámenne. Nagyon ocsmány JSON bemenetnél kihúzott a szarból.
-
floatr
veterán
A Jackson2 kicsit jobban illeszkedik a JRE-ben meglévő JAXB implementációhoz, meg lehet h elég lesz a core pár dologra.
Mondjuk én egy kicsit elborultam, amikor láttam, hogy mekkora böszme csomagokat építenek fel a feladatra. Egyszer régebben gyúrtam egy specifikus bindingot, és a forrása volt ~20kB, itt meg a jarok rúgnak többszáz kB-ra
-
chabeee
aktív tag
válasz
WonderCSabo #5091 üzenetére
ja double-t gondoltam, csak fáradtság
-
Karma
félisten
válasz
chabeee #5088 üzenetére
Két lehetőséged van: vagy csinálsz egy külön osztályt a koordinátához és egy JsonDeserializert (van rá példa a Gson doksiban), ami az elegáns megoldás; vagy egy List<Double> tagváltozót raksz az osztályba, és kézzel kezeled utána. Ehhez TypeTokent kell használnod, amiről szintén van leírás. (Telefonnal csak ennyire futja, bocsesz.)
-
chabeee
aktív tag
Sziasztok,
Egy JSon-t szeretnék parselni viszont sehogy se akar összejönni. elsődleges dolog hogy melyik json jart kéne leszednem ahhoz, hogy megtudjam ezt egyáltalán csinálni. Szedtem le vmilyen stackoverflows link alapján egy java-json.jar-t viszont abban a JSONSerializer.toJSON() method nem volt jelen.
igazából a parselés terén EZ alapján próbálok elindulni, viszont erre a sorra hibát dob.JSONObject json = (JSONObject) JSONSerializers.toJSON(jsonStrings[0]);
toJSON-nél feldobja a lehetőségeket hogy create new method meg ilyenek, de azokkal nem sokra megyek.
előre is köszi. -
M_AND_Ms
veterán
válasz
WonderCSabo #5080 üzenetére
Például, ha magában a forráskódban akarják valamiért tagolni a szöveget. Pl:
String vers;
vers = "Este van, este van: kiki nyúgalomba!\n" +
"Feketén bólingat az eperfa lombja,\n" +
"Zúg az éji bogár, nekimegy a falnak,\n" +
"Nagyot koppan akkor, azután elhallgat.";System.out.println(vers);
-
floatr
veterán
válasz
WonderCSabo #5078 üzenetére
Még azért egy darabig győzködnötök kéne, hogy ne húzzam a számat, viszont 30 soros String literálok/konstansok esetében már nem morognék.
-
válasz
WonderCSabo #5080 üzenetére
Jaja, már lesett, hogy hülyeséget írtam.
Mert ha így írjuk:
String emelet1 = 1 + emelet;
akkor nem lesz optimalizáció a bytekódban.
-
Annyira nem nevezném semmirekellőnek, mert ha konkatenálni akarsz primitív konstansokkal egy konstans Stringet, akkor nem mindegy, hogy a primitívből is lesz egy String és ebből a kettőből csinál egy újat futási időben, vagy már fordítási időben megtörténik ez.
Példának okáért:
String emelet = ". emelet";
String emelet1 = 1 + ". emelet"; // bytekódban: // String emelet1 = "1. emelet"; -
WonderCSabo
félisten
Így van, ha csak egy sor összefűzésed van, akkor feleslegse SB-re cserélni, hiszen a fordító úgyis megteszi, illetve a String + operátoros verzió sokkal olvashatóbb.
(#5076) floatr: A Superhun által bemutatott optmalizációra egy valid use-case:
class Test {
private static final int max = 10;
public static void main(String[] args) {
int a = ...; // beolvasod
if (a > max) {
System.out.println("Value is bigger than " + max + "!");
}
}
}Ekkor a bytecodeban egy összefűzött String literált generál a fordító.
-
floatr
veterán
válasz
WonderCSabo #5073 üzenetére
Mondjuk ez nem rossz. Elég sok helyen látok ilyen összefűzős dolgot lecserélve StringBuilderes megoldásra, lp. SQL query esetén. Nyilván nem ver oda neki, lévén a DB és a kommunikáció jóval szűkebb keresztmetszetet produkál, de ezek szerint akkor kár lecserélni.
-
floatr
veterán
válasz
WonderCSabo #5068 üzenetére
igaz
(#5069) [rvilike] nem akarom megvédeni, mert részben csak egy poén volt. A lényege annyi, hogy sokszor lehet belefutni ebbe gagyi konverzióba, amikor String összefűzés előtt implicit konverziót hív meg nem String típusokra, ami kicsit hibatűrőbb és több esetre is kiterjed, mint egy natúr toString hívás.
Viszont valós alkalmazásokban gyakoribb, hogy nem sysout-ot használsz, hanem valami logot, ami általában String paramétereket vár.(#5071) Karma volt egy olyan csoporttársam fősulin, akinek pokoli volt a kézírása, viszont ő maga simán el tudta olvasni. Aztán megláttam, hogy milyen kódot gyárt, és az is hasonlóan olvashatatlan volt
(#5070) Superhun ez egy kicsit amolyan semmirekellő optimalizáció, nem?
-
WonderCSabo
félisten
Az egy String generálás, hiszen változó esetén nem ismert fordítási időben az érték (kivéve final cuccokat).
Jaja, a StringBuilderest ismertem. Persze ez nem menti meg az embert ha ciklusban akar appendolni, mert akkor ugye annyi StringBuildert hoz létre ahány iteráció van.
-
WonderCSabo
félisten
válasz
Superhun #5070 üzenetére
Ez érdekes, most megnéztem a bytecode-ot és tényleg így van.
Bár jobban belegondolva, annyira nem meglepő. Hiszen a string literálokat is fordítási időben összevonja a fordító. Pl.
System.out.println("Hello" + " world!");
Akkor a bytecode-ban vmi ilyesmi lesz:
System.out.println("Hello world!");
-
-
Érdekességképpen, ha ezt primitívekre játsszuk el, akkor a fordító automatikusan literállá konvertálja. Pl.:
System.out.println("" + 1); // .class fájlban ez lesz: System.out.println("1");
Viszont ha ezek valamelyikét használjuk:
Integer.toString(1);
String.valueOf(1);
System.out.println(1);akkor ez az optimalizálás nem történik meg.
Nem is olyan hülyeség, ugye?
-
-v-
addikt
Ezzel annyit érsz el, hogy a println() String paraméteres verziója hívódik meg. És az azért jobb neked... mert?
"Ha van egy változód, ami akár objektum, akár egyszerű típus, akkor ez a megoldás mindig működik."A "" + nélkül is.
Ha azt mondod
System.out.println(myObject);
System.out.println("" + myObject);
és a myObject null, mindkét esetben "null"-t fog kiírni. Ha nincs felüldefiniálva a toString-je, akkor is ugyanazt írja ki mindkét esetben (MyObject@120cc56 pl ... ). Ha nem referenciatípus, hanem primitív típus, akkor sincsen különbség, println() mindenre túl van terhelve. Még mindig nem értem mire jó ez... nem kell se toString se semmi, println(amitakarszkiiratni) aztán szevasz ...
Ott van különbség ha pl. int-ek, ha nincs előtte "" akkor a + miatt összeadja mielőtt kiírja, ha meg egy ""-t odaraksz elég onnantól stringként kezeli és konkatenálgatja.. de itt most ilyesmi nem volt kérdés. -
WonderCSabo
félisten
Ha viszont nincsen saját toString metódus, akkor pointer értéket fog kiírni.
Ez nem teljesen igaz, az Object osztályban definiált toString() hívódik meg ilyenkor, ami akármit kiírhat. Általában a Java implementációkban az Object#toString() ezzel tér vissza:
getClass().getName() + '@' + Integer.toHexString(hashCode());
Ugye ez az egész csak sima dinamikus kötés.
-
MasterMark
titán
válasz
WonderCSabo #5058 üzenetére
Köszi elmentve.
-
floatr
veterán
válasz
WonderCSabo #5058 üzenetére
De ha nagyon siet, akkor az is megteszi, hogy
"" + km[i] -
@chain
csendes tag
válasz
pokerecske1 #5059 üzenetére
Előbb-utóbb érdemes elolvasni (magyarul is elérhető): Joshua Bloch - Effective Java.
-
pokerecske1
csendes tag
Java Útikalauz után szeretnék egy angol nyelvű könyvből is tanulni, amivel mélyebben meg tudok ismerkedni a java nyelvvel. De, ahogy elnéztem rengetek könyv van, és nem igazán tudom hogy melyik lenne jó választás, akinek van tapasztalata ötlete attól szeretnék tanácsot kérni.
-
WonderCSabo
félisten
válasz
MasterMark #5056 üzenetére
No offense, de ezekre a kérdésekre mind kapsz választ, ha végigmész pl. a hivatalos Java tutorialon.
@chain: Hogyha Double-t használsz, akkor még a toString()-et se kell meghívni rá, ugyanis a println() metódus megteszi helyetted.
Amit írsz egyébként jogos megjegyzés természetesen.
-
@chain
csendes tag
válasz
MasterMark #5045 üzenetére
Egyébként "Double" (wrapped) esetén nem dobott volna hibát, csak "double" esetén, ami primitív.
-
fatal`
titán
válasz
MasterMark #5053 üzenetére
Nem kell a toString, de az eredeti kérdésedben nem szerepelt, hogy milyen típusú tömbnek akarod kiírni az elemeit.
-
M_AND_Ms
veterán
válasz
MasterMark #5053 üzenetére
Helyes!
-
M_AND_Ms
veterán
válasz
MasterMark #5047 üzenetére
Kérdezted, hogy a toString mit csinál. Azt, amit az adott osztályban megírtak. Ha ilyet nem tettek, akkor az ősosztály, az Object toString függvénye fog lefutni, ami a példányról ír ki általánosságokat.
Néha írnak bele gyakorlatban is használható dolgokat, de túl nagy haszna nincs.
-
fatal`
titán
válasz
MasterMark #5050 üzenetére
Igen, mivel túlindexelted, ennek a tömbnek 12 eleme van, 0-tól 11-ig indexelve és te a 13. helyre próbálsz meg adatot írni.
-
MasterMark
titán
-
Karma
félisten
válasz
MasterMark #5047 üzenetére
Nem. Ha egy tömböt 11 eleműnek hozol létre, akkor az 11 elemet tartalmaz, 0-tól 10-ig indexelve.
-
fatal`
titán
válasz
MasterMark #5047 üzenetére
Nem. Ha 11-et adsz meg hosszúságnak, akkor 11 eleme lesz, 0-tól 10-ig.
-
Karma
félisten
válasz
MasterMark #5045 üzenetére
A toString egy olyan metódus, ami minden objektumnak van, és valamilyen formában Stringet állít elő az objektumból.
A double egy primitív típus, így nincsenek metódusai.
Ha általánosan akarod kiiratni a primitív és objektumtípusokat is, használd a String.valueOf(valami) statikus metódust a valami.toString() helyett.
-
fatal`
titán
válasz
MasterMark #5043 üzenetére
for (int i = 0; i < array.length; i++) {
System.out.println(array[i].toString());
} -
MasterMark
titán
Üdv gyors kérdés:
Hogy kell kiíratni egy tömb összes elemét?Köszi.
-
sztanozs
veterán
válasz
WonderCSabo #5032 üzenetére
Első pillantásra valami dupla xor, ami a magát a password-öt is felhasználja a kódolásra.
-
Lortech
addikt
válasz
juhasz22 #5036 üzenetére
A már írt okok miatt én az utolsó lépést nem akarom megtenni helyetted (vagy más helyett), valamint a jelszavadat sem akarom tudni, anélkül pedig elég nehézkes lenne segíteni. Feltehetőleg a telefonon is kell legyen egy reenger.xml nevű fájl valahol, ebben a fájlban a
<pass>crypto(1,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)</pass> sort kell kicserélned a gépeden lévőre.De mindegy, közben összehánytam ide: [link]
1, Kattints a linkre.
2, az Input Arguments (args of Main Method)... szövegmezőbe írd be a .reenger.xml-ben található crypto(1,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) sorból a "," és ")" közötti szöveget,
tehát pl. <pass>crypto(1,67ded21c107401015d5a05020163701f60)</pass>
esetén ez a 67ded21c107401015d5a05020163701f60
3, nyomd meg az execute-ot.
4, ha mindent jól csináltál, "Result... " alatt ott lesz a jelszavad az oldal újratöltése után. -
juhasz22
aktív tag
válasz
WonderCSabo #5038 üzenetére
Nem igazán értem mit mondasz pontosan de jól hangzik
-
Lortech
addikt
válasz
WonderCSabo #5032 üzenetére
Sajnos nem tudom. Lehet, hogy nem volt egyértelmű, de ezt a decode-t természetesen nem én írtam, hanem a program szabadon elérhető forráskódjából szedtem ki.
juhasz22: elnézést, a fiddler amúgy is rossz tipp volt, mert a java alkalmazás http forgalmát nyilván nem fogja meg attól, hogy web startból indul. Csak a böngészők (abból se mindegyikét) forgalmát mutatja. Én konkrétan wiresharkot használtam, http protokollra szűrve. Fiddler némileg egyszerűbb használni, ezért ajánlottam. Egyébként mindkettő arra jó nagy vonalakban, hogy megmutatja a hálózati forgalmadat, előbbi http protokoll, utóbbi alacsonyabb szinten. Az xml fájlhoz nincs közük, az a másik módszerhez kell, ha te magad akarod a fenti metódussal visszanyerni a jelszót, aminek a kódolt változata az xml-ben van.
-
Lortech
addikt
válasz
juhasz22 #5024 üzenetére
Mi? Írtam, hogy kétféleképpen is vissza lehet nyerni a jelszót ennél az alkalmazásnál.
User mappába / .reenger.xml-be rakta nálam, de itt be van hashelve.pl: "<pass>crypto(1,67ded21c107401015d5a05020163701f60)</pass>" = "test"
Ennyi a decode:
public static String decodePassword(String crypto) {
int sl = crypto.length();
if (sl < 10) return null;
char key = (char)(int)Integer.valueOf(crypto.substring(8,10), 16);
char newkey;
crypto = crypto.substring(10, sl - 8);
int cl = (sl - 18) / 2;
char ca[] = new char[cl];
for(int p=0;p<cl;p++) {
ca[p] = (char)(int)Integer.valueOf(crypto.substring(p*2, p*2+2), 16);
newkey = (char)(key ^ ca[p]);
ca[p] ^= key;
key = newkey;
}
crypto = new String(ca);
//System.out.println("d1=" + crypto);
cl = crypto.length() / 2;
ca = new char[cl];
for(int p=0;p<cl;p++) {
ca[p] = (char)(int)Integer.valueOf(crypto.substring(p*2, p*2+2), 16);
}
for(int p=0;p<cl;p++) {
ca[p] ^= 0xaa;
}
char tmp;
for(int p=0;p<cl/2;p++) {
tmp = ca[p];
ca[p] = ca[cl-p-1];
ca[cl-p-1] = tmp;
}
return new String(ca);
}De még egyszerűbb a fiddlert felrakni és megnézni a http forgalmat, ha nem értesz java-hoz.
-
Lortech
addikt
válasz
Lortech #5022 üzenetére
Itt konkrétan 1 perc volt megtalálni a beírt jelszót, mivel mezítlábas http-n plain text-ben küldözgeti.
Még 2 perc volt megtalálni hogy hol van a fájl, ahol a jelszót hashelt (nem egyirányú) formában tárolja, majd még néhány perc volt, amíg az alkalmazás nyilvánosan elérhető forrását felhasználva a beírt jelszavamat visszafordítottam a hashből. -
Lortech
addikt
válasz
M_AND_Ms #5017 üzenetére
Szerver oldalon titkosítva illik tárolni, és titkosítva is illik továbbküldeni a kliensnek a szerver felé, de kliens oldalon mivel a kliensnek nem ártana tudnia a jelszót a szerver felé elküldeni autentikációra, ezért még ha nem is plain textben van valahol tárolva a mentett jelszó, a kliens oldalon akkor is rendelkezésre kell álljon minden információ az eredeti jelszó visszanyeréséhez vagy legalább a sikeres autentikáció reprodukálásához (pl. ha közbe van iktatva egy hash és a szerver is hasht vizsgál).
Ezek szerint a böngészők sem biztonságosak ilyen szempontból, mert tárolják a jelszavakat, nem plain textben, de visszanyerhető formában. Pl. chromeban ilyen egyszerű: chrome://settings/passwords Egyébként tényleg nem biztonságos a jelszó megjegyeztetése kb. sehol, ez egy kényelmi feature. Ha egyszer az alkalmazásnak is vissza kell tudnia nyernie a mentett jelszót vagy annak lenyomatát, akkor ugyan lehet bonyolítani a dolgot a tárolásnál és autentikációnál, de ha helyileg hozzáférsz a géphez, ahol meg van jegyeztetve a jelszó, akkor mindig meg lehet szerezni a jelszót vagy azt a tokent amit autentikációhoz használ az alkalmazás.
Abban viszont egyetértek, hogy az elfelejtett jelszóra a gyógymód az, hogy fel kell venni a kapcsolatot a gyártóval / szolgáltatóval az új jelszó igénylése érdekében. Amúgy sem célszerű senkinek ilyen dolgokban segíteni egy névtelen fórumon, ahol nem lehet meggyőződni arról, hogy az illető tényleg jogosult-e a jelszó megismerésére, a szolgáltatás használatára.
-
juhasz22
aktív tag
Sziasztok.
Nem tudom hogy jo helyen jarok e de lenne egy kerdesem javaval kapcsolatban.
Az lenne a problémám hogy eljelejtettem egyik jelszavamat amit csak egy chromeban futott java plugin mentette el (ez konkrétan egy voip program) interneten mukodik belép magatol de nekem telefonra kellene igy jo lenne tudni a jelszot. Meglehet csinalni hogy valahogy vissza lehessen fejteni a jelszot?valaszokat elore is koszonom!!
-
fatal`
titán
válasz
trisztan94 #5007 üzenetére
static környezetben a this.i nem annyira lesz működőképes
-
válasz
trisztan94 #5007 üzenetére
Mert referencia szerint szeretne átadni primitíveket. Javaban ezt csak így lehet megoldani.
Továbbá osztályszintű metódusból nem fog tudni példányszintű változóra hivatkozni.
-
-
Ablakos
őstag
public class Main {
int i[] = {0};
static public void main(String[] args) {
int i[] = {1};
change_i(i);
System.out.println(i[0]);
}
public static void change_i(int i[]) {
int j[] = {2};
i = j;
}
}Nem értem miért 1 és nem 2 az eredmény.
-
-v-
addikt
válasz
dragon1993 #5002 üzenetére
[link]
pl...(#5001) chabeee: swing, vagy mi kéne?
-
chabeee
aktív tag
Grafikus felületű programozást szeretném elkezdeni, alap java consoles tudás megvan, de ez kevés, és szeretnék egy olyan dokumentációt vagy tananyagot kérni ami részletesen leírja a dolgokat.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Tőzsde és gazdaság
- Kazy Computers - Fehérvár - Megbízható?
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Milyen autót vegyek?
- Építő/felújító topik
- Gyúrósok ide!
- Fogyjunk le!
- Pécs és környéke adok-veszek-beszélgetek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- Game Pass Ultimate előfizetés azonnal, élettartam garanciával, problémamentesen! Immáron 8 éve!
- VÉGKIÁRUSÍTÁS - REFURBISHED - Lenovo ThinkPad 40A9 docking station
- AKCIÓ! Apple MacBook PRO 15" 2018 i9 32GB 500GB 560X 4GB notebook garanciával hibátlan működéssel
- Dell P2419H P2419Hc Full HD LED IPS 24" + P2719H 27" LCD monitor (vékony keretes)
- LG 27GS60QC-B - 27" Ívelt - 2560x1440 - 180Hz 1ms - AMD FreeSync - Bontatlan - 2 Év Gyári Garancia
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged