springboot

·FRAMEWORK/Spring
들어가기 전에 구글링을 통해 소셜 로그인 구현을 찾아보면, 하기 라이브러리들을 통한 구현이 많습니다. implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' 이 경우, 주로 back-end(JAVA)에서 소셜 로그인을 A to Z까지 진행하는 경우가 많습니다. 만약, 필요한 것이 back-end에서 로그인을 전부 하는 것이라면 하기 글이 도움되지 않을 수 있습니다. 해당 부분 고려하시어 보시면 좋을 것 같습니다😄 이번 프로젝트의 경우, front-end에서 로그인을 진행하고, 로그인 이후 얻은 acc..
·FRAMEWORK/Spring
들어가기 전에하기 포스팅은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스(이동욱 저)를 공부하여 작성한 내용입니다.템플릿 엔진웹 개발에 있어 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 의미합니다.서버 템플릿 엔진 예: JSP, FreemarkerJSP의 경우 명확한 서버 템플릿 엔진은 아니나, View의 역할만 하도록 구성할 때에는 템플릿 엔진으로써 사용이 가능합니다.클라이언트 템플릿 엔진 예: React의 View, Vue의 View서버 템플릿 엔진을 이용한 화면 생성은 서버에서 Java 코드로 문자열을 만든 뒤 이 문자열을 HTML로 변환하여 브라우저로 전달합니다. 반면 자바스크립트는 브라우저 위에서 작동합니다. 즉, 자바스크립트 코드가 실행되는 장..
·FRAMEWORK/Spring
들어가기 전에하기 포스팅은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스(이동욱 저)를 공부하여 작성한 내용입니다. SQL 매퍼를 이용해 데이터베이스의 쿼리를 작성하는 경우가 많습니다. 이 경우, 실제 개발하는 시간보다 SQL을 다루는 시간이 많았습니다. 이러한 문제점을 해결하기 위해 JPA라는 자바 표준 ORM 기술이 생겨났습니다. 이번 포스팅에서는 JPA를 프로젝트에 적용해보도록 하겠습니다.Mybatis는 ORM이 아닌, SQL Mapper입니다. ORM은 객체를 매핑하는 것이고, SQL Mapper는 쿼리를 매핑합니다.JPA현대의 웹 어플리케이션에서는 관계형 DB는 빠질 수 없는 요소입니다. 그로 인해 객체를 관계형 데이터베이스에서 관리하는 것이 중요합니다. 관계형 데이터베이스가 웹 서비스의 중심..
·FRAMEWORK/Spring
들어가기 전에하기 포스팅은 스프링 부트와 AWS로 혼자 구현하는 웹 서비스(이동욱 저)를 공부하여 작성한 내용입니다.단위 테스트의 장점단위 테스트는 개발 단계 초기에 문제를 발견하게 도와줍니다.단위 테스트는 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있습니다(예: 회귀 테스트).기존에 만든 단위 테스트를 통해 기존 기능에 문제가 생겼는지 빠르게 확인이 가능합니다.단위 테스트는 기능에 대한 불확실성을 감소시킬 수 있습니다.단위 테스트는 시스템에 대한 실제 문서를 제공합니다. 즉, 단위 테스트 자체가 문서로 사용할 수 있습니다.테스트 코드 작성을 도와주는 프레임워크들 중 가장 대중적인 프레임워크는 xUnit입니다. 이는 개발환경(X)에 따라 ..
·FRAMEWORK/Spring
myBatis에서 ?(물음표) 문자 사용하기myBatis를 사용하는 프로젝트를 진행하다보면, 물음표를 문자로써 사용해야 하는데, 해당 부분에 parameter로 들고온 값이 들어가는 경우가 있습니다.  이럴 경우, CHR(63)을 '?' 대신 써주면 됩니다.'&' 역시 마찬가지로 문자로 사용하고 싶다면 CHR(38)을 대신 써주면 문자로 사용이 가능합니다. 사용 예시만약, '?'를 그냥 쿼리문에 넣게되면 하기와 같은 결과를 도출하게 됩니다.// 만약, 아래와 같이 사용하게 되면, parameterType으로 지정한 값들이 들어갈 수 있습니다// 필자의 경우는, '?'로 사용해도 쿼리는 제대로 돌아갔지만, jdbc.sqlonly에 의해 출력된 쿼리문에는 '?' 위치에 paramter로 지정한 값이 들어가있..
·FRAMEWORK/Spring
들어가기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. 이번 포스팅에서는 스프링 프로파일 적용하는 법에 대해 알아보겠습니다.스프링 프로파일 적용하기스프링 웹 어플리케이션을 개발하다보면 로컬, QA, PROD 환경에 따라 핵심 로직은 동일하지만 몇 가지 설정을 바꾸어 사용하게 됩니다. 예를 들어, 데이터베이스 주소나 로그는 환경에 따라 변경됩니다. 이를 위해, 스프링에서는 프로파일이라는 기능을 제공합니다. 프로파일은 각각의 환경에 맞는 설정을 지정해 실행 또는 패키징 시 원하는 설정을 사용할 수 있도록 해줍니다.로컬이나 QA 환경에서 사용하는 데이터베이스를 PROD 환경와 동일하게 운영하게 되면, 실제 고객 데이터를 가지고 테스트를 하게 될 수 있어 데이터베이스를 ..
·FRAMEWORK/Spring
들어가기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. 이번 포스팅에서는 스웨거(Swagger)에 대해 알아보도록 하겠습니다.REST API 문서화하기이번 포스팅에서 다뤄볼 것은 Swagger를 이용한 REST API 문서화입니다. 일반적으로 여러 명이 개발하는 프로젝트에서는 front 개발자와 back-end 개발자가 나뉘어 있습니다. front는 웹이나 안드로이드 앱과 같이 사용자가 실제로 사용하는 부분을 의미합니다. back-end는 front에서 발생한 사용자의 요청을 실제로 처리하는 서버쪽 어플리케이션을 의미합니다. front 개발자는 사용자에게 보여지는 화면 및 내부 로직에 집중하고, 데이터의 처리는 back-end 개발자가 개발한 API를 사용합니다...
·FRAMEWORK/Spring
들어가기 전에하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. 이번 포스팅에서는 JPA에 대해 알아보겠습니다.JPAJPA(Java Persistence API)란, 자바 객체와 데이터베이스 테이블 간 매핑을 처리하는 ORM(Object Relational Mapping) 기술의 표준입니다. ORM은 쉽게 말해 객체와 관계를 설정하는 것으로, 특정 언어에 종속적인 개념이 아닌 객체와 관계형 데이터베이스를 매핑시키는 것입니다. JPA는 각 기능의 동작이 어떻게 되어야 한다는 것을 정의한 기술 명세이기 때문에 해당 명세에 따라 실제로 기능을 구현한 구현체가 필요합니다. 이렇게 구현된 제품이나 프레임워크로 하이버네이트, 이클립스링크 등이 있고, 이러한 JPA 구현체를 JPA 프..
EARTH_ROOPRETELCHAM
'springboot' 태그의 글 목록 (2 Page)