최근에 제 토이 프로젝트를 손 보면서, 바꾼 것이 몇 가지 있습니다. 이 중에서 UserService 단에서 예외 처리하는 부분을 추가하였습니다. 해당 부분은 여기서 볼 수 있어요. 현재 제 토이 프로젝트 레포에 있는 예외 처리 코드들이 살짝 비대한 경향이 있어서 추가적인 리팩토링을 할 예정입니다. 그 부분은 나중에 언급할 기회가 있을 듯 싶습니다. 이 글에서 설명할 부분은 이 문서와 일맥 상통한 내용이니 간단하게 읽어보시면 도움이 될 듯 합니다. 원래 regUser는 위와 같이 구현이 되어 있었습니다. 그리고 예외가 발생하면 Service 단에서도, Controller 단에서도 처리가 되지 않는 구조였습니다. 제 도서관 api의 db에 저장되어 있는 user_name은 위와 같습니다. 'cho'가 있으..
코딩 검색 결과
안녕하세요. 이번 시간에는 비트 연산자 중에서 요새 자주 써 먹는 것 중 하나인 xor 연산자를 보겠습니다. bit dp를 푸실 때도 나름 유용하게 쓰일 수 있는 것이니 잘 알아가시면 좋겠습니다. 먼저 bitprint 함수를 소개하겠습니다. int형 변수 x가 들어오면, 이것의 비트를 출력해 줍니다. 예를 들어 15는 00000000 00000000 00000000 00001111 이렇게 나타날 겁니다. 보통 비트는 집합과도 잘 쓰이는데요. 예를 들자면 tsp 문제에서 어떤 도시를 방문했는가와 그렇지 않았는가는 0이나 1로 표현이 될 겁니다. 그러니 비트로 나타내면 좋을 거에요. 1번째 도시를 방문했다면 1, 아니면 0. 이렇게요. 여기서 사용되는 것도 집합입니다. 방문한 도시의 집합. 그런데, 집합 S..
안녕하세요. 이번 시간에는 mysql의 substring_index 함수에 대해서 배워볼 거에요. 문서를 보시면 간단하게 이해할 수 있으실 듯 합니다. 이것이 단독으로 쓰일지는 모르겠는데요. 구분자를 가지고 token을 떨어트릴 때 이용할 수 있습니다. 사용 용례를 간단하게 봅시다. target string은 'a|bb|ccc'라고 해 봅시다. 얼핏 봐도 '|'을 구분자로 해서 필드 3개짜리인 데이터가 들어 있는데요. 2번째 인자에 '|'을 넣고 3번째 인자에 2를 넣어 봅시다. 그러면 놀랍게도 'a|bb'가 떨어지게 되는데요. 2번째 '|'가 나오기 직전까지 잘라버렸음을 알 수 있어요. 3번째 인자에 음수 값이 들어갈 수도 있는데요. 이 경우, 거꾸로 탐색해 버리게 됩니다. 예를 들어 보겠습니다. 1번..
jdbc를 사용할 때, connection을 close 해 주지 않으면 어떤 일이 벌어질까요? 파일을 열어놓고 close를 안 하면 fd가 낭비되는 것처럼 connection이 계속 쌓이다가, connection이 고갈될 겁니다. jdbc mysql과 연동했을 때, connection을 해제를 해 주지 않았을 때, mysql server에서는 어떤 일이 일어나는지 변수값과 status를 보면서 알아보겠습니다. 먼저, show variables like '%con%'을 쳐 보겠습니다. 이것은 variable name에 con이 들어가는 것을 모두 찾습니다. 이 중에 max_connections가 보이는데요. 이 값은 문서에 따르면, 허용하는 클라이언트 연결 수의 최댓값을 의미합니다. 그리고 이 문서를 보면..
저번 시간에 tuple을 이용해서 다중 정렬을 손쉽게 하는 법을 배웠습니다. 특히 정수는 오름차순 반대인 내림차순으로 비교하기 위해서, 앞에 -만 붙이면 매우 간단하게 비교할 수 있어요. 그런데 문자열은 그게 되지 않습니다. 문제 상황을 보면서 어떻게 구현하면 좋을지 천천히 생각해 보도록 합시다. 개인적으로 아래 두 개의 글을 먼저 보고 오시는 게 좋아 보입니다. [관련글] tuple로 정렬 기준을 떨어트리는 방법을 알아봅시다. 안정 정렬에 대해서 알아봅시다. solution 함수를 구현해야 하는데요. list에는 튜플이 들어 있어요. 튜플의 1번째, 2번째 요소는 소문자로만 이루어진 문자열이 들어 있어요. 1차 정렬 기준은, 1번째 요소를 사전순 내림차순으로 돌립니다. 만약에, 1번째 요소가 같은 문자..
최근댓글