본문 바로가기

Java

(6)
[Spring/JPA] RestController에서 텍스트 형태의 JSON string 데이터 처리 TL;DR @JsonRawValue 다음과 같은 JSON 데이터를 tbl_json_raw_value 테이블의 json 열에 저장하고 있습니다. { "name": "iroiro", "version_code": 1, "majority": [ "Java", "Kotlin", "Spring", "Javascript", "Swift", "Node.js", "Android", "Cpp", "iOS" ] } 여기서 json열의 stringified된 JSON 데이터를 아래와 같이 응답하고 싶은 경우가 있을 겁니다. { "status": 200, "json_data": { "name": "iroiro", "version_code": 1, "majority": [ "Java", "Kotlin", "Spring", "Ja..
[VS Code] java 11 or more recent is required to run 에러 해결 Spring boot 개발을 Visual studio code에서 잘 진행중에 있었습니다. 그러던 오늘 아침, 갑자기 에러 팝업이 뜨면서 정상 동작을 하지 않는 현상이 발생! ㅠㅠ java 11 or more recent is required to run please download and install a recent jdk Spring boot extension package는 여러개의 extension에 dependency가 걸려있는데요, 아래의 Language support for Java(TM) by Red Hat에서 문제가 발생한 것이었습니다. 버전 0.65.0부터 최소 JDK를 11로 변경해버린거죠. Require Java 11 to run the extension Eclipse 플랫폼이 2..
[안드로이드] 코드에서 Ping 확인 Java /** * @return 0: success, 1: fail, 2: error */ public static int ping(@NonNull String host, int timeout) throws InterruptedException, IOException { int res; Runtime rt = Runtime.getRuntime(); Process process = rt.exec(String.format(Locale.US, "ping -c 1 -W %d %s", timeout, host)); // 0: 성공, 1: 실패, 2: 에러 res = process.waitFor(); // ~~ // shell 명령 출력 값 확인용입니다. 없어도 되요 BufferedReader br = new B..
[Java/IntelliJ] Runnable jar 생성 방법 IntelliJ에서 Runnable jar를 생성하면 JRE가 갖춰진 환경에서는 실행이 가능합니다. 확인하기 쉽게 JFrame 창을 띄우는 간단한 자바 코드를 작성하겠습니다. import javax.swing.*; public class Main { public static void main(String[] args) { JFrame frame = new JFrame("TEST"); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } 실행해보면 다음과 같이 빈 창이 덩그러니 실행되겠죠. 문제가 없는 것을 확인하였으니 이제 프로젝트 구성 창을 실행해서 배포 설정을 합니..
[Eclipse/이클립스] CDT에서 Java 개발 환경 세팅 이클립스를 번들(CDT 등)로 다운로드를 받은 경우에는 Java 개발 환경이 세팅되어 있지 않습니다. IDE를 새로 받아서 설치하기보다는 해당 기능을 추가 하는 것으로 간단히 해당 개발 환경을 추가 할 수 있습니다. 이 글에서는 CDT에 Java 개발 환경을 추가하는 것을 언급하고 있지만 다른 환경도 얼마든지 추가가 가능합니다. Eclipse IDE는 Photon 버전입니다. CDT를 설치한 상태에서 New -> Project를 하면 CDT 답게 C/C++ 개발 관련 프로젝트만 생성할 수 있습니다. 여기에 이제 Java 개발 환경을 추가해보겠습니다. 상단의 Help > Install New Software... 를 클릭합니다. 다음과 같은 화면에서 붉은색으로 칠한 아이콘을 클릭해주면 아래와 같은 사이트 ..
D-Day 계산 구글링을 하다보면 이것저것 예제가 많은데, 우리가 일상적으로 생각하는 디데이를 표현하고자 할때는 무리가 좀 있당. 특히 시간단위에서 오차가 나는 경우가 꽤나 있는데 다음과 같이 하면 좀 더 깔끔하고 정확한 D-Day가 구현되는 것 같아서 남겨둔당. Calendar c = Calendar.getInstance(); // 비교할 시간 c.setTime("비교시간"); c.clear(Calendar.HOUR); c.clear(Calendar.MINUTE); c.clear(Calendar.SECOND); c.clear(Calendar.MILLISECOND); // 시간, 분, 초, 밀리초 초기화 Calendar c2 = Calendar.getInstance(); // 현재 시간 c2.clear(Calendar...