
프로그래머스 테크피드 갑자기 방문수가 급증하고 외부 유입이 많길래 봤더니 Programmers에 제 블로그 포스팅이 걸려있더라구요.. 무한영광... 민망.. 아마 최근 Delivery Hero Korea 채용이 진행 중이었는데 똑똑한 AI(?)가 글을 걸어준 게 아닐까 생각되네요. 사실 해당 글이 풀이 포스팅도 아니고 정말.. 일기에 가까운 글인데 이렇게 유입되니 감개무량합니다ㅎㅎ 블로그를 하면서 제 글을 보고 가져가신 뒤 출처를 달아주시는 감사한 분들, 댓글로 추가적인 정보를 요청하시는 분들 덕에 할 맛 나는 것 같습니다 ㅎㅎ 지금은 삼성 리서치 오픈소스 프로젝트 때문에 정신없이 시간을 보내고 있는데, 10월엔 조금씩 시간을 내서 최근 진행한 2개 프로젝트에 대해 기술적인 방향으로 포스팅할 예정입니다...
![[Nodejs] required is not defined 해결 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoGvsS%2FbtrfWaGvRyI%2Fwvltw4uClSRCFj1dDfrsu1%2Fimg.png)
원인 Client side에서 node 문법을 사용해서 발생했던 문제였고 이곳에서 솔루션을 찾았습니다. 해결 방법 크게 3가지 방법이 제시되어 있는데 간단히 Browserify로 해결할 수 있었습니다. Browserify는 require를 하는 모든 모듈을 하나의 코드로 합쳐주는 역할을 합니다. 우선, browserify를 설치하고 npm i -g browerify 원하는 파일을 browserify를 이용해 require 없이도 사용 가능한 파일로 만들어줍니다. browserify {대상 파일} -o {저장 경로} // ex) browserify src/test.js -o lib/bundle.js 새로운 문제 어쨌든 require 문제를 해결했는데, 모든 코드를 하나로 합쳤더니 무려 8800줄의 js 파..
![[Spring] Swagger ui Failed to load API definition 에러](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9NMss%2FbtrfG2B3Fua%2FraSqAIJ7LPffad69JbaRo0%2Fimg.png)
작업 환경 Windows10 Chrome 에러 내용 Failed to load API definition Fetch error undefined http://localhost:8080/v2/api-docs There was an unexpected error (type=Internal Server Error, status=500). The request was rejected because the header value "(생략)=ê¹ì¸í¼ìí&4444&5555; admin=ê´ë¦¬ììí&3000&5555; csrftoken=c5vXn9tLMDisCLLstOQX78Tew0J5qE5htQkUrlE4DdHtKjEG4Pr9CxWdHRG0y4YL; _ga=GA1.1.462135574..
![[STS] MAC Lombok 설치 오류](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBxTK1%2Fbtrfsdlh3Qf%2FjuO6DUrUBJXciAHcWoTj41%2Fimg.png)
설치 환경 MAC OS STS 3.9.14 lombok 1.18.20 에러 내용 An error has occuerred. See error log for more details. Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String.byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @ee2ae9a 원인 제 경우엔 jdk 버전 충돌로 확인됐습니다. 따라서 충돌나는 버전들을 정리했고 필요한 버전만 남겨두어 해결할 수 ..
![[백준] 15684 사다리 조작 풀이 Python, Java](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNgesI%2Fbtrfs7dnVYp%2FLUBkBUtdcKrKjC75sKLAxk%2Fimg.png)
문제 페이지 접근방법 백트래킹 이미 문제에도 명시가 되어 있듯이 정답이 3보다 큰 값이거나 불가능한 경우에 -1을 출력합니다. 즉, 재귀함수의 depth에 제약을 걸어 가지치기를 할 수 있다는 말입니다. 저는 depth가 3에 도달하게 되면 더 이상 재귀 함수를 돌지 않게 설정했습니다. 로직 2차원 Array 형태로 사다리 Map을 그려준다 우측으로 이동하는 사다리는 1, 좌측으로 이동하는 사다리는 -1을 넣어준다. 내려가는 사다리는 0이다. 모든 설치 가능한 구역에 사다리를 설치하는 브루트포스 문제이다. 그렇기 때문에 모든 구간을 순회하는 DFS를 사용한다. 각 사다리 별로 번호에 맞게 내려오는지 확인한다. 만약 맞다면, 정답을 갱신한다 만약 틀리다면, 가로 사다리를 계속해서 설치한다. Python C..
![[백준] 2143 두 배열의 합 풀이 Python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9GjnD%2FbtrfuOYjeV3%2F3xuF6cJa3hByA6MicknSjK%2Fimg.png)
문제로 이동 접근 방법 누적합+이분탐색 카테고리여서 이분 탐색을 어떻게 사용할지 고민했습니다. 1. 전처리 배열 1개의 경우, 누적합을 구하기 위해 A[0] ~ A[n] 까지 배열을 순회하며 누적합을 넣어주지만 해당 문제를 이렇게 접근해버리면 안된다는 것은 알고 계실겁니다. # 일반적인 배열 1개의 누적합 arr = [0,1,2,3,4,5,6,7,8,9] for i in range(1,len(arr)): arr[i] = arr[i-1]+arr[i] # result : [0,1,3,6,10,15,21,28,36,45] 2개의 배열이기 때문에 이런 의문이 생길 수 있습니다. "각 배열의 비교 범위를 어떻게 선택할 것인가?" B 배열의 탐색 index가 하나 증가하게 되면 A 배열의 index는 처음으로 돌아..
![[백준] 2573 빙산 풀이 Python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuDmve%2Fbtre1af6SnK%2FIkvkG5cykKpPeDSndTPr60%2Fimg.png)
문제로 이동 이번 글에서는 문제에 대한 설명과 풀이보다 골드 난이도임에도 불구하고 무려 11WA를 받게된 이유, 그리고 드디어 Solved 할 수 있었던 이유를 찾고 포스팅 했습니다. 혹시 "맞는데 왜 틀려" 늪에 빠져있다면 이 글을 보았을 때 도움이 될 수 있습니다😀 과거의 흔적 틀렸던 이유 1. RecursionError Python의 경우 재귀 함수의 깊이가 1000으로 고정되어 있습니다. 만약 1000번보다 더 큰 재귀를 돌기 위해선 Recursion을 설정해줘야 합니다. 5개월 전 당시엔 이를 DFS로 풀다가 놓쳤던 것 같네요 2. 시간초과 및 틀렸습니다 과거의 코드를 보니 빙산이 분리되는 구간에서 줄일 수 있는 로직이 보였고, 애초에 너무 복잡하게 생각을 했는지 코드가 직관적이지 못합니다 ㅠㅠ..

자세한 문제 설명은 없습니다 테스트 환경 총 7문제 출제 9/11(토) 오후 2시 ~ 7시 (5시간) 프로그래머스에서 응시 IDE 사용 가능 후기 너무 오랜만이라 코딩테스트 감을 잃지 않았을까 걱정했었는데, 잃을 감이 없지 않았나..?는 생각이 들었습니다. 늘 코딩테스트 후엔 겸손해지는 것 같습니다. 확실히 상반기보다 난이도가 쉬워진 것 같았고 괜히 겁먹고 너무 어려운 알고리즘을 떠올릴 필요는 없었던 것 같습니다. 트리 관련 문제만 나오면 세그먼트 트리를 떠올리는 병(?)이 있는데 이번에도 역시나 세그먼트를 안써도 풀 수 있는 문제들이었습니다. 조금만 더 침착하게 접근했더라면 여유있게 6Solved를 했을텐데 많이 아쉬웠습니다. 끝나고.. 바로 4번과 7번을 제외한 문제 복기를 했고 imos라는 알고리즘..
![[Spring] HikariCP Dead lock 벗어나기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb3KbN9%2Fbtrb1bwjE8Z%2F7iII6dqD8IlgQWXCNUzjvK%2Fimg.jpg)
22.06.04) 해당 글은 Dead Lock이 아닌 단순 커넥션 누수의 문제입니다. ※ Hikari, Connections pool, dead lock에 대한 설명이 포함되어 있지 않습니다 결론부터 말하자면 저의 경우엔 개발자의 실수였습니다. 체감상 2주 동안 걸쳐서 발견됐던 에러인데 막상 찾고보니 허무하기도 하고, 이와 동시에 커넥션 풀을 공부할 수 있어서 좋은(?) 기회였다고 생각합니다. 해결 방법은 가장 아래에 있습니다. 어떤 친구였나 spring-compose | 2021-08-05 13:05:52.412 WARN 7 --- [io-8080-exec-10] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: null spring-c..

SSAFY 내 보안에 따라 강의 내용에 대한 설명은 없습니다. 맥북살까요? 싸피에서 불편함을 감수하고도 감성을 택하겠다 또는 미래를 위해(취업 이후까지 바라보고) 맥북을 쓰겠다 => 맥북 뭐 안되고 맥북 안될 수도 있다는 주의 듣기 싫다. 불편한거 딱 질색이다. => 그 외 노트북 정말 단골 질문입니다. 약간의 불편함을 감수할 수 있다면 맥북 쓰셔도 상관없습니다만, 매 시험이나 특정 행사때 "Windows 환경을 권장합니다" 문구를 자주 보실텐데 그 때마다 흔들리지 않을 자신 있으시면 맥북을. 맥북은 취업후에나 쓰겠다 하신다면 그 외 노트북을 구비하시는게 좋겠습니다. 합격 후 뭘 하면 좋을까요? 선택은 자유입니다. 알고리즘이나 언어 공부를 미리 하셔도 좋고 마음껏 노셔도 좋습니다. 저는 적당히 놀면서 백..