분류 전체보기

    ibatis/Mybatis - 동적 쿼리에서 발생하는 java.sql.SQLException : 부적한 열 이름 오류 원인과 해결 방법

    개발 환경Java 8Spring 2.xMavenOracleMybatisIntelliJ 개요Mybatis, ibatis에서는 동적으로 쿼리를 작성할 수 있는 Dynamic Tag 기능을 제공한다.동적 쿼리란 조건에 따라 쿼리를 동적으로 생성하는 것을 말한다. 이를 통해 하나의 쿼리로 다양한 조건을 처리할 수 있다. SELECT * FROM users WHERE 1 = 1 AND name = #{name} AND age = #{age}  위 쿼리는 조건에 따라 아래와 같은 쿼리들을 생성할 수 있다.SELECT * FROM usersSELECT * FROM usersWHERE 1 = 1AND name = '김찬빈'SELECT * FROM users..

    Mybatis - SAXParseException: The content of elements must consist of well-formed character data or markup 원인과 해결법

    개요Mybatis로 작성한 쿼리문에서 발생한 에러이다. 내용을 해석해보면 다음과 같다. SAXParseException : 내용은 올바른 형식의 문자 데이터 또는 마크업으로 구성되어야 합니다. 아래는 SAXParseException 에러가 발생한 쿼리 예시이다. 쿼리로서만 보면 문제 있어 보이지 않는다. 그럼 어떤게 문제였을까?SELECT NAMEFROM USERSGROUP BY NAMEHAVING SUM(CASE WHEN SEX = 'M' THEN 1 ELSE 0 END)  개발 환경Java 8Spring 2.xMavenOracleMybatisIntelliJ 원인우선 SAX를 알아보자 SAX는 "Simple API for XML"의 약자로 이벤트 기반 XML 파싱해주는 기능을 한다.SAXParseExc..

    Linux - 새로운 환경에서 SSHPASS 접속 안될 때

    개요오랜만에 데스크탑을 새로 장만했다. 재택근무를 하기 위해서 다시 개발 환경을 세팅하는 과정에서 sshpass로 서버 접속이 되지 않았던 경험을 남겨본다. (진짜 별거 아닌 문제였다.) 문제 상황이전에 sshpass 접속 내용을 alias로 등록해서 간편하게 접속했었기 때문에 해당 내용을 그대로 지금 PC에도 등록했다. 그런데 sshpass를 실행해도 특별한 문구가 나오는 것도 아니고 아무 반응도 없었다.$ sshpass -p [비번] ssh [계정]@[주소]# 반응 없음.. 원인과 해결 방안ssh를 처음 접속하게 될 경우 새로운 호스트의 SSH 키를 확인하고, 이를 사용자의 known_hosts 파일에 저장한다. 아마 처음 ssh로 접속해봤다면 아래와 같은 내용을 본 적이 있을 것이다.$ ssh [계..

    카카오톡 공유 JavaScript SDK - because the scheme does not have a registered handler 에러 원인과 해결법

    개요카카오톡 공유하기 기능을 개발하고 있었다.카카오에서 제공하는 Javascript SDK를 활용해 기능을 구현하고 공유하기 기능이 잘되는지 테스트해보았다.모바일에만 적용할 기능이었기 때문에 크롬 개발자 모드에서 모바일로 설정하여 테스트를 진행했다. 하지만 공유 버튼을 눌러도 기능이 동작하지 않았다...콘솔창을 확인해보니 아래와 같은 에러가 출력되고 있었다.Not allowed to launch 'intent:kakaolink:(링크);end;' because the scheme does not have a registered handler. 원인원인은 나의 테스트 환경에 있었다. 카카오톡 Javascript SDK는 PC와 MOBILE 환경에 따라 다르게 동작하는데, 나는 PC 크롬 > 개발자 모드 >..

    Java - File로 파일 목록 이름 조회하기

    개요 프로젝트 중 현재 날짜를 기반으로 해당 기간에 해당되는 JSP를 호출할 필요가 있었다. 하지만 임시로 사용되는 기능이었기 때문에 DB를 사용할 수 없었다. 그래서 JSP 네이밍 패턴을 아래와 같이 작성한 후 현재 날짜가 시작일과 마감일 사이라면 해당 JSP를 호출하도록 하려고했다. {시작일}_{마감일}{이름}.jsp 0101_0131JspView.jsp 특정 경로의 파일 목록을 어떻게 가져 올 수 있을까? java.io.File Java에서는 File 클래스를 통해서 파일과 디렉토리를 제어할 수 있다. 파일 생성, 읽기, 수정 및 삭제 등 여러가지 기능을 제공한다. 내가 필요한건 java 프로젝트의 jsp 디렉토리에 있는 jsp 파일 이름들이 필요하다. import java.io.File; publ..

    Python - ModuleNotFoundError: No module named 원인과 해결 방법 (가상환경 pip)

    개요 프로젝트를 진행하는 과정에서 자바에서 파이썬 스크립트를 실행시켜야 할 필요가 있었다. 파이썬 관련 환경 설정과 스크립트 실행 코드는 타 팀에서 작업을 작업해주셨다. PythonScriptExecutor 아래는 자바에서 파이썬 스크립트를 실행시키기 위한 코드이다. @Slf4j @Component @NoArgsConstructor(access = AccessLevel.NONE) public class PythonScriptExecutor { public static void execute() { try { // Python 스크립트 경로 String pythonScriptPath = "/path/python_script.py"; // Python 가상환경 활성화 String virtualEnvPath ..

    Javascript - Uncaught SyntaxError: Invalid or unexpected token 원인과 해결방법

    개요 평가 시스템을 만들고 있었다. 요구사항 중 특정 기간에만 url에 접근 가능하도록 설정할 수 있는 요구사항이 있었다. (수강 신청 기간을 떠올리면 된다.) 평가 기간을 지정하면 해당 기간 내에만 url에 접근 가능하고, 기간 외에 접근 시 평가 기간이 아니라는 alert창과 함께 로그인 화면으로 리다이렉트되도록 했다. Service public String checkOfficerEvaluationPeriod() { OfficerEvaluationPeriod officerEvaluationPeriod = this.getOfficerEvaluationPeriod(); LocalDate startDate = officerEvaluationPeriod.getStartDate().toLocalDate(); ..

    Git - error: insufficient permission for adding an object to repository database .git/objects 원인과 해결 방법

    개요 error: insufficient permission for adding an object to repository database .git/objects Git을 이용하다가 만난 문제. Git Pull을 하는 과정에서 발생했다. 원인 이 에러는 .git/object의 파일 읽기, 쓰기 권한이 없을 때 발생한다. 확인해보니 root사용자로 git pull을 한적이 있어서 몇몇개의 파일 사용자가 root으로 되어 있었다. # ls -al drwxr-xr-x. 2 root root 52 11월 9 15:02 89

    Linux - 알아두면 좋은 Firewall-cmd 명령어

    Port 허용 포트 추가하여 해당 포트 접근 허용할 수 있다. # firewall-cmd --add-port=80/tcp # firewall-cmd --add-port=443/tcp # firewall-cmd --zone=public --add-port=3304/tcp # firewall-cmd --reload Port 삭제 # firewall-cmd --remove-port=80/tcp # firewall-cmd --remove-port=443/tcp # firewall-cmd --zone=public --remove-port=3304/tcp # firewall-cmd --reload 추가된 Port 확인 # firewall-cmd --list-ports Firewall 각 zone 정보 확인 # fi..

    Java - java.lang.UnsupportedClassVersionError 원인과 해결방법

    개요 패키지 Build 중 발생한 에러. PesApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:98 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:800 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:800 Caused by: org.springframework.be..