- India betiltja a pénzalapú online játékokat
- Az előírások megszegése miatt éghet le egyes alaplapokon a Socket AM5 foglalat
- Módosítana a CHIPS-törvény kifizetésein a Trump adminisztráció
- Egy friss tanulmány szerint az AI-ban utazó cégek 95%-a csak elégeti a pénzét
- A frissített, béta verziójú NVIDIA Apphoz készült az új GeForce driver
- Kompakt vízhűtés
- OLED TV topic
- Az előírások megszegése miatt éghet le egyes alaplapokon a Socket AM5 foglalat
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Azonnali notebookos kérdések órája
- Hővezető paszták
- ASUS notebook topic
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Zenelejátszó építése, a kiváló hangzásért
- 3D nyomtatás
Új hozzászólás Aktív témák
-
Karma
félisten
Vannak bejáratott algoritmusok kulcsgenerálásra, például a PBKDF2. Szerintem alapvetően fatális ötlet bármilyen kriptográfiával kapcsolatos implementációnak nekiállni, mert ebben a témakörben túl könnyű hibázni - lásd axioma megjegyzését a kulcsok értékkészletéről.
(Kivéve, ha házi feladatról van szó és konkrétan ez a feladat.)
RexpecT: Nem ártana egy kis kód, hogy hogyan próbálod meghívni az URL-t.
-
axioma
veterán
1. Elvi szinten nagyon nem ertek egyet az ilyen modon torteno AES kulcs megadassal (gyakorlatilag 256^16 helyett kb. 80^16 kulcsot "engedsz meg" - klavirol elerheto kis/nagy betuk, szmaok, gyakoribb jelek), ezzel kapasbol mar matematikailag is tobb mint 8 nagysagrenddel csokkented a lehetosegeket... de ha az emberek jelszoadasi szokasait nezzuk, kb. beepited a rendszerbe a betoresi pontot a human tenyezovel).
2. Mi az oka annak, hogy a char array-t string tombbe masolva akarod kiegesziteni? Nem latom a koncepciot.
Sot azt sem igazan, hogy minek jon be a char array... te egy 16 hosszu stringet akarsz, akkor ha nagyobb, akkor subString, ha kisebb, akkor meg mondjuk (ha nagyon egyszeru/fapados kodot szeretnel) ciklusban hozzaadsz amig nem jo a hossz egy "c"-t.
Vagy me'g egyszerubb ha mindkettot egy lepesben intezed el... azaz a bejovo stringhez alapbol hozzaadod azt a fix stringet, amiben 16 db 'c' van, es veszed a subString-gel az elso 16 karaktert. Ez mindharom esetre egyetlen utasitassal visszaadja az altalad va'gyott tipusu kiegeszitest.szerk. kellett nekem ennyit gepelni
-
Karma
félisten
Az Arrays.toString helyesen működik, épp csak nem azt csinálja, amit szeretnél. Ami egyébként nem is teljesen világos, micsoda.
-
WonderCSabo
félisten
Én nem látok itt semmi átalakítást. Működik is nekem:
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>seleniumtest</groupId>
<artifactId>seleniumtest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.45.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.16</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>Teszt osztály:
public class HtmlUnitTest {
@Test
public void testHtmlUnit() {
WebDriver driver = new HtmlUnitDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("htmlunit");
element.submit();
System.out.println("Page title is: " + driver.getTitle());
driver.quit();
}
}Mondjuk alapból 2.15-ös htmlunit-ot használ a legújabb Selenium, szóval nagy változásokra nem kell számítani a 2.16-s verziótól...
-
WonderCSabo
félisten
Ha rendes függőségkezelést használt (pl. Maven vagy Gradle), akkor egyszerűen csak deklarálni kell az újabb verziót és azt fogja használni. Ha az egybecsomagolt zipet használod, akkor ki kell dobni onnan kézzel a libs mappából a htmlunit jart, és berakni az újabbat.
-
floatr
veterán
Igaza van a többieknek a Writer osztályokkal kapcsolatban a doksi alapján, de:
public abstract class Writer implements Appendable, Closeable, Flushable {
...
abstract public void close() throws IOException;
...
}garancia nincsen rá h az implementációk meg is fogják csinálni.
public class FileWriter extends OutputStreamWriter {
...
}a FileWriter egy OutputStreamWriter "wrapper"
public class OutputStreamWriter extends Writer {
private final StreamEncoder se;
...
public void close() throws IOException {
se.close();
}
...
}namost a StreamEncoder nálam egy sun csomagos implementáció, a bytekód szerint úgy látom h meghív két flush jellegű metódust
void implClose() throws java.io.IOException;
0 aload_0 [this]
1 aconst_null
2 iconst_1
3 invokespecial sun.nio.cs.StreamEncoder.flushLeftoverChar(java.nio.CharBuffer, boolean) : void [64]
6 aload_0 [this]
7 getfield sun.nio.cs.StreamEncoder.encoder : java.nio.charset.CharsetEncoder [39]
10 aload_0 [this]
11 getfield sun.nio.cs.StreamEncoder.bb : java.nio.ByteBuffer [41]
14 invokevirtual java.nio.charset.CharsetEncoder.flush(java.nio.ByteBuffer) : java.nio.charset.CoderResult [71]tehát elvileg jó a cucc, ha a sort lezárod. Ennek ellenére én továbbra is aszondom, hogy ártani nem árt, ha használod a flush-t, ráadásul ha netán Writer helyett OutputStream-et használsz valahol, akkor megkíméled magad egy sunyi problémától.
-
WonderCSabo
félisten
Számomra jónak tűnik a cucc, le is futtattam, létrehozza a fájlt és logol is bele. Két gondolatom van csak:
Settings.logging esetleg nem false?
FileWriter fw = new FileWriter(logFile.getName(),true);
Ezzel vigyázz, mert ez csak a current directoryban fogja létrehozni a fájlt a névvel, szóval nem ott lesz, ahol sejted. Pl. ha IDE-ből futtatod:
logFile útvonala a build mappában belül log.txt
new FileWriter(logFile.getName(),true) viszont az aktuális mappában, tehát a projekt mappában hozza létre a fájlt és írja
Szerk.: Közben már látom megtaláltad a jó megoldást, de akkor a posztom alapján már érted, hogy az előző miért nem ment.
-
Ja, nem kellett volna ennyit bor a vacsorahoz
(Mondjuk jelen esetben a BufferedWriternek sok ertelme nincs, az akkor jonne jol, ha sok kis irasod lenne, ha egyszer irsz csak, akkor csak lassit.)
(Egyebkent a logFile-t mindenestul is atadhatod neki, fogad File-t is a FileWriter konstruktora.)Exceptiont sem dob?
-
plaschil
aktív tag
FirePath-al nézem meg. Vagy nem erre vagy kíváncsi?
-
plaschil
aktív tag
Megvan!
Biztos valami új verzió miatt, de már nem kell elé az xpath= csak simán így: //input[contains(@id,'TextBox_szerzodes')]
Plusz lassítani kellett a lejátszáson, mert hiába volt a szintaxisa megfelelő, akkor is hibára futott.Következő kérdés: mivel nyílhatnak egymásra panelek (akár több is, úgy képzeljétek el mint egy vastagkliensben) ezért lehetséges az, hogy pl. akár több "Save" gomb is legyen, mind különböző, de dinamikus ID-val. Így mivel tudom megkülönböztetni őket? Class? Esetleg van lehetőség ezzel a fenti megoldással ÉS kapcsolatba fűzni még feltételt, hogy pontosan melyik "Save" gombot akarom megnyomni?
(A "Save" csak egy példa, a szemléltetés miatt)Első megközelítésben így gondolkodom. Az egyedi ID témát hagyjuk, mert az egész motor így működik.
Köszönöm az eddigi helpet, értem miért kopaszodik az összes fejlesztő.
Ja! Options->Clipboard format mire való?
-
#03372544
törölt tag
Ilyesmire gondolt a kolléga.
package example;
public interface Job {
void doTheJob();
}
-------------------------------------------------------------------------------------------------------------------------
package example;
public class ExecuteThisJob implements Job {
@Override
public void doTheJob() {
System.out.println("ezt végrehajtom");
}
}
-------------------------------------------------------------------------------------------------------------------------
package example;
public class RunningOutOfIdeasJob implements Job {
@Override
public void doTheJob() {
System.out.println("nincs több ötletem");
}
}
-------------------------------------------------------------------------------------------------------------------------
package example;
public class StartSomethingJob implements Job {
@Override
public void doTheJob() {
System.out.println("valamit elindítok");
}
}
-------------------------------------------------------------------------------------------------------------------------
package example;
import java.util.HashMap;
import java.util.Map;
public class JobFactory {
private static final JobFactory INSTANCE;
static {
INSTANCE = new JobFactory();
}
private Map<String, Job> jobMapping;
private JobFactory() {
jobMapping = new HashMap<String, Job>();
jobMapping.put("executeThis", new ExecuteThisJob());
jobMapping.put("startSomething", new StartSomethingJob());
jobMapping.put("runningOutOfIdeas", new RunningOutOfIdeasJob());
}
public static Job getJob(String jobType) {
return INSTANCE.jobMapping.get(jobType);
}
}
-------------------------------------------------------------------------------------------------------------------------
package example;
public class JobFactoryExample {
private JobFactoryExample() {
}
public static void main(String[] args) {
JobFactoryExample example = new JobFactoryExample();
example.doTheAction("executeThis");
example.doTheAction("startSomething");
example.doTheAction("runningOutOfIdeas");
}
public void doTheAction(String actionName) {
JobFactory.getJob(actionName).doTheJob();
}
} -
#03372544
törölt tag
Sehogy, az interrupt() csak beállít egy flag-et amit neked kell futás közben ellenőrizned az isInterrupted() metódussal.
Egy-az-egyben kilőni a szálat nem tudod, régen lehetett a stop() metódussal de az elég sok problémát felvet ezért későbbi Java verziókban deprecated lett majd ki is vették, UnsupportedOperationExcepcion-t dob hogy véletlenül se használd.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Yamaha 5.1 hangrendszer NS-LC5 / NS-CLC5 / NS-ELC5 + YST-SW012 mélynyomó
- Precision 5550 15.6" FHD+ IPS i7-10850H T1000 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600 / GTX 1080 8GB / 32GB DDR4 / 512 SSD!
- Eladó ASUS ROG Strix B550-F alaplap (olvass!)
- Ryzen 5700X3D dobozában eladó
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 13 mini 256GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3038, 94% Akkumulátor
- LG 27GS60QC-B - 27" Ívelt - 2560x1440 - 180Hz 1ms - AMD FreeSync - Bontatlan - 2 Év Gyári Garancia
- Gamer PC-Számítógép! Csere-Beszámítás! R7 2700 / RX 5500XT 8GB / 16GB DDR4 / 256SSD + 1TB HDD
- MacBook Pro 13, 14, 15, 16, MacBook Air M1, M2 M3 M4 bill magyarosítás lézerrel / sapkacserével
Állásajánlatok
Cég: FOTC
Város: Budapest