socket 통신을 통해 STT를 붙여야 하는 경우가 생겼다. 이전에도 여러번 socket으로 데이터를 주고 받은 적이 있기 때문에, 이 정도는 아무것도 아니지ㅋ 생각했는데, 업체로부터 제대로된 연동정의서가 아닌 C# 샘플 코드를 받았다. 흠 C#은 모르는데...?다행히 샘플 코드가 어렵지 않아 Java로 포팅하면서, 제대로 했다고 생각했는데....계속 잘못된 결과를 받았다. 그치..한번에 잘 될 일이 없지..ㅎ 그치만 아무리 봐도 뭐가 잘못인지 모르겠다.. 업체에 문의해봐도, 본인들도 그 결과는 처음본다고... 네..? 나에게 도움이 되는 답변은 아니었다.그래서 수석님에게 도움을 요청하니, 코드의 문제는 아닌거 같고, 엔디안 문제 아니냐는 힌트를 주셨다. 엔디안이요? 와 완전 처음 들어보는 말..엉엉..
Null의 문제점Java에서 null은 매우 오랜 시간 동안 객체가 없음을 나타내는 대표적인 방법이었다. 하지만 이 null이 시스템 전반에 걸쳐 여러 문제를 일으킬 수 있다. 1. NullPointerException (NPE)프로그램에서 객체가 null인 상태에서 그 객체에 접근하려 할 때, NPE가 발생하며 이는 개발자들이 자주 마주하는 에러 중에 하나이다.String name = null;System.out.println(name.length()); // NullPointerException 발생 2. 코드 가독성 저하null 처리를 위해 코드 전반에 if문을 사용해야하며 가독성이 떨어진다.if (user != null && user.getName() != null) { System.out..
avax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed 자바에서는 신뢰할 수 없는 인증서를 가진 서버(요청하는 site의 ssl 인증서가 사설인증서)로의 요청을 제한하는데, 이를 해결하기 위해서는 두가지 방법이 있다. 1. http 요청 시 인증서를 무시하도록 코드 작성- 솔직히 이것 때문에 코드 변경하기 싫어요🥲2. 해당 사이트의 인증서를 JVM의 신뢰할 수 있는 인증서 저장소(Truststore)에 추가 나는 고객사로부터 인증서를 받아 JVM에 설치하는 방법을 선택했다. JVM이 설치되어 있는 서버에서 아래의 명령어를 실행한 후 재시작을 하면 된다.keytool -tr..
객체지향 프로그래밍의 기본 원칙은 캡슐화(encapsulation), 상속(inheritance), 다형성(polymorphism)이며, 이들은 소프트웨어를 보다 모듈화하고 유지보수하기 쉽게 한다. 캡슐화(Encapsulation): 캡슐화는 관련된 데이터와 메서드를 하나의 단위로 묶는 것 클래스는 데이터(속성)와 해당 데이터를 다루는 메서드(함수)를 함께 캡슐화하여 객체를 형성 캡슐화는 정보 은닉(Information Hiding)을 통해 객체의 내부 구현을 외부로부터 숨기고, 외부에서는 객체의 인터페이스를 통해 상호작용한다. 상속(Inheritance): 상속은 기존의 클래스에서 정의된 속성과 메서드를 새로운 클래스에서 재사용할 수 있도록 하는 개념 상속을 통해 코드 중복을 줄이고, 기존 클래스의 기..
구글 stt 연동 예제를 살펴보다 try-with-resource 구문을 사용한 곳이 있어, try-with-resource에 대해서 공부하게 되었다. 잘 알고 있는 try-catch-finally 구문의 경우에는 아래의 예시 처럼 finally에서 사용한 자원을 직접 close를 시켜주어야한다. Scanner scanner = null; try { scanner = new Scanner(new File("test.txt")); while (scanner.hasNext()) { System.out.println(scanner.nextLine()); } } catch (FileNotFoundException e) { e.printStackTrace(); } finally { if (scanner != nu..
람다 표현식은 단일 추상 메서드 인터페이스를 구현하는 데 적합한데, 익명 내부 클래스를 람다식으로 변경 하기 위해서는 단 하나의 추상 메서드만을 가지고 있어야한다. 1. 익명 내부 클래스 방식 list.sort(new Comparator() { @Override public int compare(Player o1, Player o2) { return o2.height()-o1.height(); } }); 2. 람다 표현식 list.sort((o1, o2) -> o2.height()-o1.height());
- Total
- Today
- Yesterday
- softeer java
- Kubernetes
- 자바코테
- 도커
- java
- 스프링
- 현대오토에버
- 리액트
- javascript
- Spring
- 전자정부프레임워크
- 자바스크립트
- springboot
- softeer
- mysql
- 아파치카프카
- 톰캣
- 현대
- 오토에버코테
- tomcat
- Docker
- react
- 현대코테
- java 코테
- 코딩테스트
- Linux
- 자바
- 쿠버네티스
- 코테
- centos
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |