Java 백엔드 개발자를 위한 빠르고 사용하기 쉬운 프로그래밍 툴킷
관리자이자 개발자라는 직업 생활을 하면서 저는 셀 수 없이 많은 프리웨어와 오픈 소스 제품으로부터 많은 혜택을 받았습니다. 그러므로 나 역시 이 커뮤니티에 기여하는 것이 당연합니다.
이 Java 클래스 컬렉션은 다양한 프로젝트 과정에서 만들어졌으며 더욱 발전될 예정입니다. 이 도구가 귀하에게도 도움이 되기를 바랍니다.
https://java-util.k43.ch
디자인 목표
public static void main(String[] args) { KLog.info("Start"); int result = 0; try { result = 10 / 0; } catch (Exception e) { KLog.error(e); } KLog.debug("Result is " result); }
2024-09-16T07:17:11.095 D main[1]:ch.k43.util.KLog:open:459 ===== Application started 2024-09-16T07:17:11.048 ===== 2024-09-16T07:17:11.111 D main[1]:ch.k43.util.KLog:open:460 Java Utility Package (Freeware) ch.k43.util Version 2024.09.15 2024-09-16T07:17:11.112 D main[1]:ch.k43.util.KLog:open:463 Homepage java-util.k43.ch - Please send any feedback to [email protected] 2024-09-16T07:17:11.122 D main[1]:ch.k43.util.KLog:open:466 Host ab-macbook-pro (10.0.0.105) 2024-09-16T07:17:11.122 D main[1]:ch.k43.util.KLog:open:467 OS platform Mac OS X (Version 14.6.1/aarch64) 2024-09-16T07:17:11.123 D main[1]:ch.k43.util.KLog:open:471 OS disk space total 3.63 TB, free 2.37 TB, usable 2.37 TB 2024-09-16T07:17:11.123 D main[1]:ch.k43.util.KLog:open:474 Java version 21 (OpenJDK 64-Bit Server VM - Eclipse Adoptium) 2024-09-16T07:17:11.123 D main[1]:ch.k43.util.KLog:open:477 Java CPUs 10 2024-09-16T07:17:11.124 D main[1]:ch.k43.util.KLog:open:481 Java heap maximum 16.00 GB, current 1.00 GB, used 7.68 MB, free 1016.32 MB 2024-09-16T07:17:11.124 D main[1]:ch.k43.util.KLog:open:485 Java locale de/CH, time UTC 02:00 2024-09-16T07:17:11.125 D main[1]:ch.k43.util.KLog:open:488 Java classpath ../bin/:../lib/angus-mail-2.0.3.jar:../lib/jakarta.mail-api-2.1.3.jar:../lib/org.json.20230618.jar:../lib/h2-2.2.224.jar:../lib/jakarta.activation-api-2.1.3.jar:../lib/angus-activation-2.0.2.jar 2024-09-16T07:17:11.125 I main[1]:Test:main:9 Start 2024-09-16T07:17:11.125 E main[1]:Test:main:16 ===> java.lang.ArithmeticException: / by zero 2024-09-16T07:17:11.126 E main[1]:Test:main:16 ===> Stack[1]: Test.main(Test.java:14) 2024-09-16T07:17:11.126 D main[1]:Test:main:19 Result is 0
try (KDB db = new KDB(KDB.JDBC_H2, "jdbc:h2:mem:mydb", "", "")) { KLog.abort(!db.isConnected(), "Error: " db.getErrorMessage()); db.exec("CREATE TABLE ADDRESSES (SEQUENCE INT AUTO_INCREMENT, LASTNAME VARCHAR(20), FIRSTNAME VARCHAR(20))"); db.exec("INSERT INTO ADDRESSES (LASTNAME, FIRSTNAME) VALUES ('Smith', 'John')"); db.exec("INSERT INTO ADDRESSES (LASTNAME, FIRSTNAME) VALUES ('Miller', 'Bob')"); db.exec("INSERT INTO ADDRESSES (LASTNAME, FIRSTNAME) VALUES ('Johnson', 'Eve')"); db.exec("SELECT * FROM ADDRESSES", 10); System.out.println(db.getDataAsTable()); System.out.println(db.getDataAsJSON()); }
SEQUENCE LASTNAME FIRSTNAME 1 Smith John 2 Miller Bob 3 Johnson Eve
{ "ADDRESSES": [ { "SEQUENCE": 1, "LASTNAME": "Smith", "FIRSTNAME": "John" }, { "SEQUENCE": 2, "LASTNAME": "Miller", "FIRSTNAME": "Bob" }, { "SEQUENCE": 3, "LASTNAME": "Johnson", "FIRSTNAME": "Eve" } ] }
KSMTPMailer mailer = new KSMTPMailer(); mailer.setFrom("[email protected]"); mailer.setTo("[email protected]"); mailer.setSubject("Subject"); mailer.addHTML("Your requested files
"); mailer.addText("Body Text"); mailer.addFile("test1.txt"); mailer.addFile("test2.txt"); mailer.addText("Regards, John"); mailer.send();
Properties props = new Properties(); props.put("Authorization", "Basic " K.encodeBase64(userName ':' password); KHTTPClient http = new KHTTPClient(); if (!http.post("https://example.com:4443", props, "HTTP body data")) { KLog.abort("HTTP POST failed - " http.getLastError()); }
// Wait 1/4 second K.waitMilliseconds(250); // Get DNS MX record(s) String[] mxRRs = K.queryDNS("MX", "yahoo.com"); // // AES-256 Encryption/Decryption // String secretKey = "This is the secret key"; // Create a simple text file KFile.writeFile("This is a simple text file", "AES-Text.txt"); // Generate and save random AES-256 initialization vector KFile.writeFile(K.getRandomBytes(16), "AES.iv"); // Encrypt byte[] clearText = KFile.readByteFile("AES-Text.txt"); byte[] initVector = KFile.readByteFile("AES.iv"); byte[] cipherText = K.encryptAES256(clearText, secretKey.getBytes(), initVector); KFile.writeFile(cipherText, "AES-Text.encrypted"); // Decrypt cipherText = KFile.readByteFile("AES-Text.encrypted"); initVector = KFile.readByteFile("AES.iv"); clearText = K.decryptAES256(cipherText, secretKey.getBytes(), initVector);
즐거운 시간 보내시고 마음에 드는 점과 개선이 필요한 점을 알려주세요. 이메일 [[email protected]] 또는 Mastodon을 통해 저에게 연락하실 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3