본문 바로가기

error12

서버에서 내려주는 에러 메시지를 직접 정의해야만 하는 이유 1차원적으로 개발자가 에러 메시지를 마음대로 컨트롤할 수 없음이 제일 큰 문제이다. 이유를 좀 더 상세하게 풀어보자. 스프링 프레임워크에서 기본으로 제공되는 형식화된 StatusCode, ErrorMessage로 응답을 내려주기 때문에, 소통하는 상대 서버나 클라이언트가 이해할 수 없다. 또, 상호 간에 정해놓은 에러 메시지에 대한 규칙이 깨질 수 있다. 에러 메시지를 서버에서 커스텀하게 정의해주지 않게 되면, 스프링 프레임워크에 종속적인 에러 메시지를 가져다 쓰게 되는 것이고 자연스레 개발자는 스프링 프레임워크에 의존적이게 되는 것이다. 어느 날 갑자기 스프링 프레임워크가 특정 에러에 대한 업데이트를 한다면, 갑자기 클라이언트에서 예상치 못한 장애가 발생할 수 있게 된다. 또 다른 이유로는 의도치 않게.. 2023. 4. 22.
Java 에러 - Exception in thread "main" java.util.regex.PatternSyntaxException 다음과 같이, "+"를 구분자로 split() 메서드를 이용해서 문자열을 분리하려 했다. 에러 메시지는 다음과 같았다. 구글링을 통해 확인해보니, ?, *, +, (, ), [, ], {, } 와 같은 일부 특수 문자를 replace(), replaceAll(), split() 메서드의 구분자나 기준으로 사용할 때 발생하는 에러라고 한다. 해결방안은 위 특수문자 앞에 역슬래쉬 2개(\\)를 같이 넣어주면 가볍게 해결할 수 있다. // example String str = "123+456"; String[] strArr = str.split("\\+"); // 역슬래쉬 = 원화 표시 // strArr = ["123", "456"] ++ 위 특수문자 양 옆에 대괄호([])로 감싸줘도 가능하다. // exam.. 2023. 3. 20.
AWS CodePipeline 배포 자동화 과정 중 에러 AWS CodePipeline 배포 자동화 과정 중 CodeDeploy 서비스에서 애플리케이션을 생성하는 단계에서 다음과 같은 생성 오류가 발생했다. EC2 인스턴스 역할 권한 추가 부분에서 빠뜨린 부분이 없는지 다시 체크하고 권한 관련 항목들을 검토해보았지만 별다른 문제는 찾지 못했다. 자세히 보니, 상단에 '버지니아 북부'라는 리전으로 설정되어 있었기 때문에 발생한 에러였다. '서울'로 바꾸어주니 애플리케이션이 정상적으로 생성되었다. ** AWS 리전의 가용 영역이 맞는지부터 먼저 체크하도록 하자 2022. 12. 7.
Spring) 빌드 시, Error starting ApplicationContext 에러 해결 Spring project를 빌드했을 때, 위와 같은 에러가 발생했다. 'Error starting ApplicationContext 에러' 라고 구글링을 해본 결과, 다음과 같은 해결법이 있었다. Edit Configurations... → Modify options → Enable debug output 체크 그러나, 위 방법으로는 해결되지 않았고, 콘솔창에 나와 있는 에러 메세지를 자세히 확인해본 결과, 8080 포트가 이미 사용 중이라고 되어 있었다. 이미 사용 중인 8080 포트를 끄는 방법은 다음과 같다. cmd 열기 → netstat -ano 입력 → 8080 포트의 PID 번호 확인 → taskkill /f /pid PID번호 이렇게 8080 포트를 강제로 종료시키고 나서, 다시 어플리케이.. 2022. 10. 23.
빌드 시, '--warning-mode all' 경고 빌드 시, 다음과 같은 콘솔 창에 다음과 같은 경고 문구를 마주했다. 구글링을 해본 결과, 단순 경고 메시지로, Gradle의 버전을 올려주어야 해결이 되고, 만약 버전 업을 시켜주고 싶지 않다면, 경고 메시지를 무시하는 방법으로 해결할 수 있다고 한다. 구글링을 통해 알아낸 해결 방법(경고 메시지 무시 방법)은 다음과 같다. Settings → Builde, Execution, Deployment → Gradle-Android Compiler → Commend-line Options에 --warning-mode all를 입력 → Apply, OK 순서대로 클릭 or Settings → Builde, Execution, Deployment → Compiler → Java Compi.. 2022. 10. 11.
Java) Exception in thread "main" java.lang.UnsupportedOperationException: remove 알고리즘 문제를 풀다가, 배열을 리스트로 바꾸어 값을 추가, 삭제하려 했더니, 제목과 같은 에러가 떴다. 다음 코드를 살펴보자. 배열 arr를 Arrays.asList()를 통해 List의 형태로 바꿔주었다. 결과는 다음과 같다. 왜 이런 에러가 뜨나 구글링을 해보니, Arrays.asList()로는 동적인 List를 만들 수 없다는 것이다. 동적인 List가 아니므로, 값을 추가 또는 삭제할 수 없고, 이와 같은 에러가 발생했던 것이다. 해결 방법은 반복문을 통해 배열의 요소들을 하나하나 넣어줘서, 기존의 배열과 같은 리스트 객체를 새로 생성해야 된다. 다음과 같이 말이다. 2022. 10. 8.
Git Error : main -> main git push orgin main으로 push를 진행하다가, 대략 main -> main 이런 문구가 포함된 에러를 마주쳤다. error 전체 문구는 복사하지 못해, 기억나는 부분만 적었습니다. 코딩 중 이러한 에러가 또 발생하면, 수정하겠습니다. 이러한 에러를 마주하면, 나는 보통 git push origin +main을 통해 push 해주곤 했다. 전에도 이러한 에러가 발생했고, 구글링하다가 주먹구구식으로 해결한 방법이었다. 왜 그런지는 이유도 모른 채, 진행했다. 찾아보니, +main을 이용해 push 해주게 되면 강제로 push 해주게 되는 것이고, 그로 인해, 발생할 수 있는 문제점이 있다라는 걸 알게 되었다. 일단 이러한 에러가 발생하는 이유는 이대로 push를 진행하게 되면, 데이터가 유실.. 2022. 8. 29.
Git Error : CRLF will be replaced by LF git add . 명령어를 치던 중에 제목과 같은 문구의 에러와 마주쳤다. 문구 그대로 해석해보면, 'CRLF가 LF로 대체될 것이다' 인데, CRLF와 LF는 그럼 무엇인가? Mac Os의 일종인 Unix 시스템에서는 한 줄의 끝이 LF(Line Feed)로 이루어지고, Windows에서는 줄 하나가 CR(Carriage Return)과 LF(Line Feed)로 이루어진다. 이 에러는 주로 Mac 운영체제를 쓰는 사람과 Windows 운영체제를 쓰는 사람 간의 협업을 할 때, 많이 발생한다고 한다. 두 운영체제가 쓰는 방식이 다르기 때문에, 이런 경고가 뜨는 것이다. git을 add할 때, 이런 경고 문구가 뜨면 무시하고 push하곤 했다. 강제로 push할 경우, 레포가 모두 날아가버릴 수 있는 부.. 2022. 8. 29.
VS Code Error : crbug/1173575, non-JS module files deprecated. html, css, js 파일을 VS Code에 넣고, Run을 통해 Web App을 띄워봤다. 그 결과는 위와 같은 에러가 발생했다. 에러 이유는 대략 디버깅 시에 크롬 웹 브라우저를 접속하려 하기 때문인 것 같다. 다음은 에러 해결 과정이다. url 항목을 삭제한다. 기본 파일에서 바로 시작하기 위해 webRoot 항목을 삭제한다. file 항목을 추가한다. Ref) https://blog.naver.com/PostView.naver?blogId=kch8246&logNo=222648137463&parentCategoryNo=&categoryNo=17&viewDate=&isShowPopularPosts=true&from=search) 2022. 8. 26.