전체 글 썸네일형 리스트형 [Spring] ExceptionHandler 적용 및 사용법 프로그래밍 관점에서 예외처리는 아주 중요하다고 생각합니다. 예외 처리가 안된 부분은 서버의 무리가 생기게 되고 공격의 취약점이 될 수 있습니다. 자바에서 대표적으로 예외 처리를 하는 방법에는 try-catch 문을 이용하여 적용하는 방법이 있습니다. 하지만 오늘 해볼 내용은 스프링 관점에서 예외처리를 할 예정입니다. 스프링 관점에서 예외처리를 한다고 생각해봅시다. 스프링 프로젝트 중 MVC 패턴 등 쿼리를 이용하여 데이터를 처리하고 여러가지 트렌젝션도 처리된다고 생각해봅시다. 트렌젝션을 처리하는 도중 에러가 발생한다면 Exception 구문으로 들어가게 되는데, 해당 Exception이 롤백을 지원하게 되는지, 안하는지에 따라서 데이터의 손실과 저장 유무가 달라지게 되는 것 입니다. 대략적으로 일단 Ex.. 더보기 [Spring] Cannot load JDBC driver class 'oracle.jdbc.OracleDriver' ERROR: org.apache.ibatis.executor.BaseExecutor - Could not get a databaseId from dataSource java.sql.SQLException: Cannot load JDBC driver class 'oracle.jdbc.OracleDriver' 톰켓이 데이터베이스와의 접근 중 에러가 발생한 상황입니다. 톰켓에서 오라클 드라이버가 설정되지 않아서 생기는 에러 로써 오라클을 설치한 폴더 안에 있는 jdbc 파일을 톰캣 라이브러리 에 넣으면 오류가 해결되었습니다. 해결 방안은 아래와 같습니다. # Contents 해결 방안 # 해결 방안 설치되어 있는 오라클의 라이브러리를 복사 합니다. 경로는 다음과 같습니다. 오라클 설치한 폴더\product\1.. 더보기 [Spring] Mybatis 사용 중 에러 해결 -TroubleShooting org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Invocation of init method failed; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.mybatis.spring.SqlSessionFactoryBean] for bean with name 'sqlSessionFactory' defin.. 더보기 [Spring] 스프링 트렌젝션 사용 중 에러 해결 - TroubleShooting org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath:/config/mybatis-context.xml] Offending resource: ServletContext resource [/WEB-INF/spring/appServlet/servlet-context.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem.. 더보기 [Spring] JNDI 설정법 및 테스트 JNDI를 통해 Spring에서 데이터베이스의 연결을 외부 리소스인 톰캣으로 바인딩 시키는 방법에 대해 설명하도록 하겠습니다. JNDI 는 자바 네이밍 / 디렉토리 인터페이스인데 J2EE 의 가장 중요한 스펙 중 하나입니다. JNDI 를 사용하는 이유는 시스템에 대해 배포후에 , 만약 데이터베이스 정보가 변경해야할 필요가 있을 경우 톰캣에 설정파일만 변경할 수 있습니다. 또한 쿼리문 조차 소스코드를 바꿀 필요없이 외부의 리소스가 존재하기 때문에 외부 리소스를 수정할 수 있어서 아주 편하고 유용한 라이브러리 입니다. 또한 JNDI 를 이용하면 하나의 웹 어플리케이션에서 여러개의 데이터 베이스를 관리할 수 있고 그로 인해 이중화 작업이 가능한 편입니다. 데이터의 손상을 막게 해주는 이중화 작업을 지원함으로써.. 더보기 [Oracle] 오라클 11g XE 다운로드 링크 오라클 DB를 설치하려고 오라클에 들어갔었습니다. XE 버전의 용량이 방대하기도 하였고, 아주 기초적인 SQL 문장만 테스트 해야할 상황이기 때문에 아무래도 가벼운 11g XE를 찾고 있었습니다. 하지만 오라클 페이지의 리뉴얼로 인해 많은 사람들도 11g XE를 찾고 있지만 없어서 다른 버전을 설치했을거라 생각합니다. 11g 커뮤니티를 보고 오라클 링크와 11g 커뮤니티의 링크를 소개해드리는 글이 필요하다 싶어서 글을 작성하게 되었습니다. 본 게시물은 11g XE 다운로드 링크와 페이지 리뉴얼로 인하여 다운로드 페이지가 없어졌을 경우의 커뮤니티 링크를 예비로 포함 하고 있습니다. 본 게시글은 2021.10.13 에 작성되었습니다. # Contents Oracle 링크 # Oracle 링크 오라클을 다운받.. 더보기 [Node] 05. Promise 그리고 Async/Await 본 문서는 Node.js 디자인 패턴 바이블 을 읽고 리뷰를 남기고 있습니다. 문고들은 이 책의 일부분을 인용한 것임을 밝힙니다. Node.js 에서 콜백은 비동기 프로그래밍의 기본적인 방식이지만 개발자 친화적인 것과는 거리가 멀어 보입니다. 실제로 이전 장에서 콜백을 사용하여 다양한 제어 프름을 구현하기 위한 기술을 배웠습니다. 그리고 그것들은 우리가 해결하려는 문제에 비해서 매우 복잡하고 장황하다고 볼 수 있었습니다. 특히, 우리가 작성하는 대부분의 제어 흐름 구조는 순차적인 함수의 실행인데 이에 익숙하지 않은 개발자들에게 콜백 지옥이라는 문제를 일으키게 만듭니다. 게다가, 제대로 구현된 경우라 해도 콜백을 통한 순차적인 실행 흐름은 불필요하게 복잡하고 오류가 발생하기 쉽습니다. 또한 콜백을 사용한 .. 더보기 [Node] React regeneratorRuntime is not defined 에러 해결 - TroubleShooting 리액트 프로젝트를 진행 하던 도중 regeneratorRuntime is not defined 오류가 발생하였고 이로 인해 웹팩 전체 프로젝트가 렌더링 되지 않았습니다. es6 이상의 문법들이 es5로 문법 변환해주는 babel 을 이용하여 프로젝트가 구성 되어 있었는데 async/await 문법을 해당 regenerator를 제공하지 않아서 발생한 에러입니다. 해결 방안은 바벨의 플러그인을 설치 한 후 환경 설정 파일에 플러그인을 등록하는 것입니다. # Contents 해결 방안 # 해결 방안 먼저 아래 명령어를 이용하여 바벨 플러그인을 설치하도록 합니다. npm install @babel/plugin-transform-runtime -D 바벨 설정 파일에 아래 코드를 넣습니다. "plugins": [.. 더보기 이전 1 ··· 4 5 6 7 8 9 10 ··· 14 다음