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..
구글 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️⃣ 문제 글로벌 비즈니스 센터(GBC, Global Business Center)는 현대자동차그룹 통합 사옥이다. 지하 7층, 지상 105층, 높이 약 570m의 규모로 2026년 하반기에 완공을 목표로 현재 공사 중에 있다. 이러한 초고층 높이의 빌딩에는 초고층 승강기가 들어가야 한다. 엘리베이터 정비공인 광우는 0m 부터 100m까지 일정 구간들의 엘리베이터 속도를 검사하는 업무를 맡게 되었다. 빌딩에서 운영되는 엘리베이터 구간은 N개의 구간으로 나뉘며 해당 구간의 제한 속도이 주어진다. 구간의 총 합은 100m 이며 각 구간별 구간의 길이와 제한 속도 모두 양의 정수로 주어진다. 예를 들어보자. 구간이 3이라고 할 때, ▶ 첫 번째 구간의 길이는 50m 이고 제한 속도는 50m/s ▶ 두 번째 ..
코테를 공부한지 얼마 되지 않아..이 문제도 어렵게 느껴졌는데 정답률이 70%가 넘어가는 문제이다. 결국 강의를 참고 해서 풀었다. 코테는 다양한 문제에 대해서 경험해보는게 중요하다고 하는데...정말 그런것 같다. 1️⃣ 문제 현대차그룹에 다니는 당신은 전세계 유가 변동에 대해 실시간으로 파악하기 위해 사무실에 유가를 실시간으로 표시하는 전광판을 설치하였다. 전광판은 최대 다섯 자리의 자연수만을 표시할 수 있도록, 아래와 같이 육각형 모양의 전구 7×5=35개로 구성되어 있다. 8자 모양의 전구 묶음은 0부터 9까지의 숫자를 표현할 수 있으며, 표현 방법은 아래와 같다. 아래 그림에서 전구가 켜졌으면 검정색, 꺼졌으면 옅은 회색으로 표현되었다. 예를 들어, 전광판을 통해 9881를 표현하면 아래와 같다...
람다 표현식은 단일 추상 메서드 인터페이스를 구현하는 데 적합한데, 익명 내부 클래스를 람다식으로 변경 하기 위해서는 단 하나의 추상 메서드만을 가지고 있어야한다. 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());
한 프로젝트에서 통계 쿼리를 누군가 sql 쿼리를 직접 사용하여 작성을 했다. 아마 queryDsl에서는 unionAll을 제공하지 않아서 그런것 같다. (@Query 어노테이션을 사용하여, nativeQuery = true) 이 쿼리의 문제점은 1. 가독성이 떨어져서 보기 싫다. 띄어쓰기가 만약 잘못되어있다면?😖 2. 오라클의 경우 스키마명을 명시를 해주어야하는데, 운영과 개발의 스키마명이 달라 컴파일을 각각 2번 해줘야한다는 것이다. 너무 불편하다. 3. 나중에 이 내용을 모르는 사람이 수정 없이 배포 한 경우, 해당 테이블이 존재하지 않는다는 황당한 일이 발생 할 수도.. 따라서 아래의 쿼리를 queryDSL을 사용하여 변경하려고 한다. @Transactional @Query( value = "SE..
🔎상황 동일한 프로그램이 올라가는 세대의 서버가 있고, 이 세대의 서버는 각각 개별적으로 존재하고 L4로 묶여있지 않다. 어떤 서버에 요청을 해도 동일한 응답값이 오기 때문에 원하는 응답값을 얻기 위해서는 단 하나의 서버에만 요청을 해도 된다. 그러나, 이런 경우 서버가 죽었을 경우 로드밸런싱이 되지 않기 때문에 하나의 서버에 요청 후 TIMEOUT이 떨어지면 다른 서버에 요청을 해야한다. 서버 요청 시간제한을 2초로 놓는다고 해도 운이 좋지 않으면 6초나 걸리는 상황이다. 그래서, 비동기통신을 고려해봤다. 🔎 코드 ExecutorService는 JDK API로 작업을 비동기 모드로 실행 할 수 있다. ExcutorService는 쓰레드 풀을 자동으로 제공한다. public Map requestInfor..
🔧 환경 - java 1.8 - spring - jsp - javascript - sweetalert 🔎 요구사항 - 사용자의 마지막 동작으로 부터 1시간이 지나면 세션을 만료하되, 만료되기 1분전에 세션 만료 알림을 띄어 연장할 수 있어야 한다. 🔎 idea - server에 filter를 등록하여 요청이 올 때마다 response에 마지막 요청시간을 cookie를 저장하고, front단에서는 cookie를 1초마다 확인하여 세션 만료 1시간 전 알림을 보내준다. - 세션 만료 시간 = 마지막 요청 시간 + 1시간 📌 구현 💻 server 1. web.xml 설정 - web.xml에 기본 세션 만료 시간을 설정한다. - web.xml에 설정한 timeout의 단위는 '분' 이다. 60 2. filter..
- Total
- Today
- Yesterday
- 코테
- javascript
- react
- 전자정부프레임워크
- 자바스크립트
- softeer
- centos
- 톰캣
- java 코테
- 스프링
- 현대오토에버
- 아파치카프카
- 자바
- 코딩테스트
- Docker
- 도커
- tomcat
- java
- 쿠버네티스
- Linux
- mysql
- 자바코테
- 오토에버코테
- springboot
- 현대코테
- 현대
- softeer java
- 리액트
- Spring
- Kubernetes
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |