결론은 안됩니다. js를 익숙하게 사용하시는 분들이라면 알겠지만, js가 처음이거나 익숙하지 않다면 놓칠 수 있는 부분이다. 나 역시 Vue.js를 다룰일이 생겨서 개발 중에 원하는 값이 나오지 않아 디버깅하다가 발견 ㅎ.. 잘못된 사용 예시 const arr = [1,2,3,4,5]; arr.forEach((value) => { if(value == 3) return; console.log(value); }); // 기대 실제 // 1 1 // 2 2 // 3 4 // 5 해당 예시에서 return후 forEach문을 빠져나오지 않고 마치 'continue'처럼 동작한다. (forEach에서 continue는 쓸 수 없다.) forEach를 단순히 for문으로 생각하고 사용했기 때문이다. forEach..
mock 테스트 코드를 작성 중에 method호출 시 passed parameter인 local variable에 대한 로직 처리 후 결과 값을 알고 싶었다. method에서 return 되는 값에 대한 테스트는 간단했지만 method에서 return 되는 값에는 포함되지 않는 'local variable'이어서 어떻게 확인할지 고민하던 중 찾은 방법을 기록하려고 한다! 코드 예시 여기 테스트하려는 method의 예시가 있다. search는 method의 parameter로 전달이 되고, if절의 로직에 따라 값이 바뀐다. return값은 mapper로 DB에서 가져온 데이터 list가 되고 search는 따로 return 되지 않는다. 테스트할 method @Override public List get..
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) → mybatis 사용 시에 흔하게 만날 수 있는 에러로 인터넷에 검색하면 여러 해결방안들이 나온다. 나는 추가로 내가 겪은 특정 상황에서 뭐가 문제였는지 어떻게 해결했는지 남기려고 한다 ㅎ.. (스포 "databaseId", @ContextConfiguration) 먼저 일반적인 문제들 몇 개의 해결방안을 보자면, 해결방안 1 : 에러 코드에서도 볼 수 있듯이 binding이 안된다는 의미는 mapper인터페이스와 xml에서 뭔가 일치하지 않게 잘 못 썼을 수 있다는 의미이다. 예를 들면, 인터페이스의 메소드 명과 xml 쿼리에 id값이 오타로 인해 불일치한다던..
프로젝트를 import 하여 사용할 때 lombok적용이 안되어 @setter @getter 등이 먹지 않고 이 때문에 에러가 발생하게 되는 경우가 있다. 예 > ~.set~(); ~.get~(); 에 에러 표시가 나는 경우 해결방법 1. lombok 설치 외부 프로젝트를 import 하게 되면 놓치는 부분이다. 아래와 같이 상단 메뉴바 file > Settings > Plugins > lombok을 검색해서 install을 해준다. 설치가 완료되면 아래 사진과 같이 installed라고 표시가 된다. 2. rebuild lombok을 설치까지 했는데 안될 경우 상단 메뉴바 Build > Rebuild 3. restart 상단 메뉴바 File > invalid > cache > restart 4. upd..
git 원격 저장소에 있는 spring boot maven 프로젝트를 clone 하고 나서 intellij에서 저장소를 import 했는데 관련 파일들이 제대로 import 되지 않고 spring 프로젝트로 인식하지 못하는 문제가 있었다. 프로젝트를 인식하지 못하면 project structure에서 관련 setting 내용들을 확인할 수 없고 왼쪽 project 구조에서도 icon이 표시가 되지 않는 등 import가 잘못되었다고 티를 낸다. 해결방안 나의 경우 pom.xml 우클릭 > reimport 혹은 import를 통해 maven을 재설정을 하여 해결하였다 + 추가로 intellij 자체에서 git clone하는 방법을 쓰면 이런 이슈가 생기지 않는 듯하다.
spring에서는 멀티 모듈 기능을 제공하여 따로따로 배포하고 구동할 수 있도록 제공한다. 나의 경우 웹서비스 로직을 담당하는 모듈과 데이터를 수집&저장하는 모듈을 나눠서 사용했는데 데이터를 수집&저장할 때 웹서비스 로직을 담당하는 common모듈에서 필요한 bean을 주입받아야 하는 상황이었다. 따로 설정을 해주지 않으면 위와 같은 멀티 모듈 에러가 나게 된다. common모듈을 -> 데이터 수집&저장 모듈에서 사용 각각 다른 모듈이라 아래와 같이 설정하는 부분이 필요했다! build tool은 gradle을 사용했다. -다른 모듈의 주입을 사용할 모듈의 build.gradle파일 dependencies { compile project(':공통 모듈이름') } ->나의 경우 데이터를 수집&저장 담당하는..
프로젝트를 진행하면서 채팅 기능이 필요하여 진행하고 있었는데 역시 문제를 마주쳤다. 왜왜왜 subscribe에 등록해놨는데 send 된 메시지가 안 오는 걸까... 뭐가 문젤까.... 진짜 별거 아니었던 삽질이었는데 혹시 나와 같은 문제라면 어서 고치기를 바라면서 적어보려고 한다. 내경 우는 아래와 같은 문제점이었고 아래와 같이 고쳤다 우선 기본적으로 소켓의 메시지 전달 과정은 sockjs생성 -> subscribe url 지정 -> subscribe url로 들어오는 메시지를 내 창에 띄어줌 :내가 send한 메시지도 물론 들어온다. 여기서 봐야할 부분은 url지정 부분 -소켓 생성 부분 -메시지 보내는 send부분 -subscribe 설정 부분 ** 그렇다. 처음 endpoint로 소켓을 생성할 때는..
org.springframework.web.servlet.PageNotFound - No mapping for GET ->정상적으로 url매핑이 이뤄지지 않았을 때 나는 에러이다 다양한 문제로 발생할 수 있지만 몇가지를 살펴보자 1. url값을 잘못 써줬을때 가장 기본적인 문제인 오타로 @RequestMapping("url") -> 이 부분에 있는 "url"부분을 잘 썼는지를 보자. 2. @Controller 어노테이션 입력을 까먹었을 경우 mvc패턴에서 해당 url로 찾아 들어가는 controller를 명시해주지 않아서 생긴 오류이다. 3. servlet-context.xml에서 context:component 태그에 기본 패키지를 제대로 입력하지 않았을 경우 기본 패키지가 com/chat/handle..
- Total
- Today
- Yesterday
- 프로그래머스
- MST
- Stomp
- sockjs
- Spring
- java
- DP
- dfs
- git
- websocket
- programers
- Baekjoon
- 백준
- Heap
- OS
- 최소 스패닝 트리
- 삼성 sw역량테스트
- 운영체제
- Oracle
- 삼성 sw역량 테스트
- 정렬
- JavaScript
- 자바
- 분리 집합
- BFS
- 코딩테스트
- 채팅
- 알고리즘
- SWEA
- 완전탐색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |