본문 바로가기

분류 전체보기270

[Trouble Shooting] 오라클 '' 과 null SELECT * FROM test a LEFT JOIN example b ON a.ID = b.ID WHERE a.ID = 000000 AND b.flag = 'Y' AND NVL(a.ERROR_CODE, '') NOT in ('',' ','--'); 이런 쿼리가 있었는데 ERROR_CODE가 있음에도 불구하고 출력이 되지 않았다. 왜??? 오라클에서 길이가 없는 문자열(aka empty string, white space, blank)은 null 로 취급된다. 즉, 필드에 들어있는 값이나 '' 문자 또는 함수가 반환하는 값이 길이가 없는 문자열이라면 null 로 취급된다. 이러한 특징은 다른 DBMS 와 다르므로 주의해야 한다. SELECT NVL(null, '') FROM DUAL; // null 그.. 2020. 3. 3.
[프로그래머스] 카카오프렌즈 컬러링북 (재귀) 문제링크 코딩테스트 연습 - 카카오프렌즈 컬러링북 | 프로그래머스 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 그래프 조건에서 == 1 일 때와, != 0 인 경우의 차이점은 뭘까. 무조건 == 1로만 생각하고 풀었더니 성공하지 못했다. 백준2667 단지번호 붙이기 [백준] 2667번 단지번호붙이기 Java (DFS, BFS) 그래프 관련 문제들의 유형이 다 비슷비슷 한 것 같아보인다. 확실히 짚고 넘어가야 할 필요를 느꼈다. 물론 돌아서면 까먹어서 문제.. 문제링크 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가.. n1tjrgns.t.. 2020. 2. 16.
[백준] 2667번 단지번호붙이기 Java (DFS, BFS) 그래프 관련 문제들의 유형이 다 비슷비슷 한 것 같아보인다. 확실히 짚고 넘어가야 할 필요를 느꼈다. 물론 돌아서면 까먹어서 문제.. 문제링크 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수 www.acmicpc.net 최대한 main 부분은 건드리지 않고 DFS, BFS 부분만 바꿔서 정리 하려고 노력했.. 2020. 2. 16.
[Java] Atomic Type vs Synchronized 스프링 REST API 기본 예제를 보고있었는데 AtomicLong 이라는 타입으로 변수를 선언해 놓은 부분이 있었다. private final AtomicLong counter = new AtomicLong(); 이게 뭘까?? Atomic 변수 원자성을 보장하는 변수 멀티쓰레드 환경에서 동기화 문제를 synchronized 키워드를 사용하여 락을 거는데, 해당 키워드 없이 동기화 문제를 해결하기 위해 고안된 방법이다. 동기화 문제 해결방법 synchronized Atomic volatile Atomic VS synchronized 차이점 synchronized 특정 Thread가 해당 블럭 전체를 lock 하기 때문에, 다른 Thread는 아무런 작업을 하지 못하고 기다리는 상황 발생 -> 자원의 낭비.. 2020. 1. 31.
[리눅스]쓰레드 덤프, 힙 덤프, 코어 덤프 분석 삽질과정 개발서버(톰캣)가 자주 죽었다. 그것도 아무 에러로그 없이. 그럼 원인을 어떻게 찾아야하지?? 정확한 원인을 파악하기 위해서는 쓰레드 덤프, 힙 덤프를 떠보고 메모리 사용량 CPU 사용량 등등 여러 복합적인 요소들을 확인해야 한다고 한다. 어떻게?? 우선 쓰레드 덤프를 확인하는 여러가지 방법 중 자바에서 제공해주는 JVisualvm 을 사용해서 확인을 하려한다. remote에 add host로 확인하려는 서버를 추가했지만 아무 반응이 없었다. 외않되??? 더 찾아보니 실행시키면 자동으로 jvm에 등록되어 모니터링을 할 수 있는게 아니고, 모니터링을 하기 위한 설정을 따로 해줘야 한다. JMX라는걸 사용해야 모니터링이 가능하다. JMT(존맛탱)는 아는데 JMX는 뭐지 ?? JMX JDK 1.5부터 사용 가.. 2020. 1. 31.
[프로그래머스] 주식가격 (level 2) 이 문제는 그렇게 많이 어려웠던 문제는 아니였지만, 내가 문제를 풀었던 과정을 기록해야 할 필요를 느껴 정리를 하려한다. 문제 소스코드 public int[] solution(int[] prices) { int[] answer = new int[prices.length]; LinkedList stockQue = new LinkedList(); ArrayList result = new ArrayList(); for(int p : prices){ stockQue.add(p); } int stockSize = stockQue.size(); while(!stockQue.isEmpty()){ int current = stockQue.poll(); //System.out.println("current : "+ cu.. 2020. 1. 11.