본문 바로가기

전체 글

(404)
[JavaScript] JS의 라이브러리 AJAX 비동기식 자바스크립트 라이브러리인 AJAX(Asysnchronous Javascript And XML) JSP Servlet에서는 form을 이용해 action, method를 설정해 서버와 연동하는 방식과, AJAX를 이용해 서버와 연동하는 방식 두가지고 나눌 수 있는데, 둘의 차이는 동기/비동기 방식이라는 것이다. 오늘은 이 중 Ajax에 대해서 정리하고자 한다. AJAX(Asysnchronous Javascript And XML)란? : Javascript 라이브러리 중 하나 : Javascript를 이용한 비동기 통신 및 클라이언트와 서버간의 XML 데이터를 주고 받는 것 : 브라우저가 가지는 XMLHttpRequest 객체를 이용해 전체 페이지를 새로 고치지 않고도 페이지의 일부를 위해 데이터를..
[OAuth2] 소셜 로그인; 인증을 위한 개방형 표준 프로토콜 Naver, Kakao 로그인 등 사용자 인증 기능을 제공하는 인증 및 권한 부여 프로토콜 프로토콜에는 여러가지 종류가 존재하지만 Kakao, Naver API를 이용한 로그인을 공부했기 때문에 이와 관련된 OAuth2 프로토콜에 대해서 공부해보고자 한다. OAuth2(Open Authorization 2.0)란? 1. 사용자들이 비밀번호를 제공하지 않고, 다른 웹사이트 상의 자신의 정보에 대해 웹사이트에 접근 권한을 부여할 수 있는 수단 2. 접근 위임을 위한 개방형 표준 3. 책임을 Third-Party Applicaiton(google, kakao, naver 등)에 위임 : 정보 관리에 대한 책임 뿐만 아니라 부여받은 접근 권한을 통해 Third-Party에서 가지고 있는 사용자의 리소스 조회 등..
[MyBatis/Spring] About @Mapper/@Repository @Mapper와 @Repository 어떻게 다른걸까? 얼마 전 Springboot에서 Mybatis를 연동하면서 Dao 인터페이스에 @Mapper/@Repository 애너테이션 중 @Mapper만 사용해도 잘 작동하는 것을 확인할 수 있었다. 그럼 @Repository는 왜 사용해야 하는 것이며, @Mapper는 어떤 역할을 하는 애너테이션인지 공부해 보고자 한다. [ @Mapper ] @Mapper 애너테이션이란? 1. Mybatis와 관련된 애너테이션 : 주로 Mybatis와 같은 데이터 매퍼 프레임워크에서 사용한다. 2. XML 파일과의 연동 : Mybatis에서 SQL 쿼리를 별도의 XML 파일에 저장하고 이와 매핑하는 인터페이스를 만들 때 사용한다. - Mybatis의 sqlSessionFa..
[Springframework] Redirect 시 데이터 전달 요청 이후 화면 전환 혹은 새로고침 시 요청 재발행을 막아주는 redirect 얼마 전 Springframework에서 회원가입을 하면서 login 페이지로 이동시키는 로직을 수행하는 중 회원가입 요청 후 로그인 페이지로 이동했을 때 자동으로 로그인이 되는 현상이 발생하였다. 이는 클라이언트에서 POST 요청을 보낼 때 화면이 전환이 된 이후 요청이 함께 살아남았기 때문인데, 오늘은 이에 대한 블로깅을 작성할 예정이다. [POST 요청 시 요청이 살아남는다?] POST 요청을 할 경우 클라이언트에서 위함한 POST요청을 재발행하는 것을 막아주는 것이 좋다. 예를들어 회원가입에 대한 POST 요청을 진행한 다음 회원에 대한 정보를 함께 넘어가는 것은 보안상 매우 좋지 않기 때문이다. 어떻게 POST 요청 ..
[Springframework] Naver API를 이용한 회원가입 및 로그인 Springframework에서 Naver API를 이용한 로그인 및 회원가입을 통한 정보 불러오기 웹사이트를 제작하다 보면 홈페이지 자체 회원가입도 존재하지만, 요즘에는 소셜을 이용한 로그인도 필수일 정도로 대부분의 사이트에서 구현되어 있는 기능이다. 지난번에는 Kakao API를 이용한 회원가입, 로그인 및 회원 정보를 가져오는 블로깅을 하였는데 이 중 네이버 API를 이용한 로그인 및 회원 정보를 가져올 수 있는 방법에 대해 알아볼 예정이다. * API안의 내용이 많겠지만, 예시의 편의를 위해 이름(닉네임)과 이메일만 가져올 예정이다. 다른 정보를 가져오기 위한 방법은 이름과 이메일을 가져오는 방식과 동일하기 때문에 개인적으로 실습해 보기를 바란다! [준비하기] 이번에도 네이버 개발자 선터를 통해 ..
[Spring Boot] SpringBoot에서 JSP 사용하기 Spring Framework가 아닌 Spring Boot에서 JSP 사용하기 Spring Framework에서는 뷰(View)로 JSP 파일을 사용했었다. (Maven 프로젝트 생성 시 아래 webapp으로 설정하면서 해당 폴더에 view 폴더를 통해 JSP를 사용했다) https://kcode-recording.tistory.com/312 [Spring] IntelliJ에서 Spring Framework Project 생성 및 설정(Maven) Maven 프로젝트 생성을 이용해 Spring Framwork 프로젝트 생성하기 인텔리제이에서 Spring Framework 프로젝트 생성하는 방법을 알아보고자 한다 기존에는 Spring Boot만 사용하여 start.spring.io 사이트를 이용 kcode..
[Spring Boot] applicaiton.properties, application.yml 차이 application.properties / application.yml 차이점 알기 결론부터 이야기 하자면 차이점은 없다! 단지 작성하는 방식의 차이만 존재할 뿐이다! 그렇다면 작성하는 방식이 어떻게 다른지 간단한 예시를 통해 알아보고자 한다. * 예시는 우리가 많이 사용하는 데이터베이스 세팅! properties와 yml의 차이는 내부 구조에 있는데 properties의 경우에는 각 줄마다 key=value의 형식으로, yml은 들여쓰기로 구분되는 계층 구조 및 key=value의 형식으로 되어 있다. [application.properties] spring.datasource.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:..
[SpringBoot] SpringBoot에서 Mybatis/Database 사용을 위한 설정 SpringBoot에서 Mybatis와 Database를 사용하기 위한 설정 이전에 블로깅 했던 내용에서는 Spring Framework에서 mybatis 및 Database를 사용하기 위해 pom.xml에서 dependency 설정을 추가하고, servlet-context.xml에서 Mybatis와 Database를 설정해 주었다. 이제는 이를 Spring Boot에서 사용할 때 어떻게 설정해야 하는지 남겨보고자 한다. pom.xml에서 설정해 두었던 dependency는 build.gradle에서 servlet-context.xml에서 설정한 Mybatis와 Database 설정은 application.properties에서 설정하면 된다. 두 코드 모두 아래에 작성했으며, 비교해서 보았을 때 크..