Spring
-
[Banana] 명함 지갑 - 전체 카테고리 조회Spring/Banana 2023. 6. 25. 06:23
접속 경로: GET http://localhost:8080/banana/wallet/categories 로그인 토큰 넣기 { "categories": [ { "id": 3, "categoryName": "Indigo" }, { "id": 7, "categoryName": "Pink" }, { "id": 1, "categoryName": "Teal" } ], "twoBookmarkedStoredCards": [ { "name": "Ashley", "isBookmarked": true, "cid": 29, "cardContentResponses": [ { "cid": 56, "content": "Marlane Iacofo", "bid": 29, "yaxis": 21, "xaxis": 2 }, { "cid":..
-
[Banana] 명함 지갑 - 즐겨찾기된 명함 전체 조회Spring/Banana 2023. 6. 25. 06:17
접속 경로: GET http://localhost:8080/banana/wallet/bookmark 헤더에 로그인 토큰 넣기 [ { "name": "Ashley", "isBookmarked": true, "cid": 29, "cardContentResponses": [ { "cid": 56, "content": "Marlane Iacofo", "bid": 29, "xaxis": 2, "yaxis": 21 }, { "cid": 159, "content": "Jereme Chelam", "bid": 29, "xaxis": 94, "yaxis": 32 }, { "cid": 179, "content": "Tedra Govern", "bid": 29, "xaxis": 99, "yaxis": 47 } ] }, { ..
-
[Banana] 명함 지갑 - 전체 명함 조회Spring/Banana 2023. 6. 25. 06:14
접속 경로 GET http://localhost:8080/banana/wallet 로그인 토큰 넣기 { "allStoredCards": [ { "name": "Ashley", "isBookmarked": true, "cid": 29, "cardContentResponses": [ { "cid": 56, "content": "Marlane Iacofo", "bid": 29, "yaxis": 21, "xaxis": 2 }, { "cid": 159, "content": "Jereme Chelam", "bid": 29, "yaxis": 32, "xaxis": 94 }, { "cid": 179, "content": "Tedra Govern", "bid": 29, "yaxis": 47, "xaxis": 99 } ]..
-
[4장] 머스테치로 화면 구성하기Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스 2022. 11. 21. 22:10
✏️ 서버 템플릿 엔진과 메스테치 소개 JSP를 비록한 서버 템플릿 엔진은 서버에서 구동됨 서버 템플릿 엔진을 이용한 화면 생성 서버에서 Java 코드로 문자열을 만든 뒤 이 문자열을 HTML로 변환하여 브라우저로 전달 브라우저에서 자바스크립트가 작동될 때는 서버 템플릿 엔진의 손을 벗어나 제어할 수 없게 됨 📎머스테치 장점 문법이 다른 템플릿 엔지보다 간단함 로직 코드를 사용할 수 없어 View 의 역할과 서버의 역할이 명확하게 분리됨 현존하는 대부분의 언어를 지원하기 때문에 서버와 템플릿 엔진으로 모두 사용 가능 머스테치 의존성 추가 IndexController @RequiredArgsConstructor @Controller public class IndexController { private fi..
-
[3장] 스프링 부트에서 JPA로 데이터베이스 다뤄보자Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스 2022. 11. 17. 13:16
JPA: 자바 표준 ORM ORM: 객체를 매핑 SQL Mapper: 쿼리를 매핑 패러다임 불일치 관계형 데이터베이스: 어떻게 데이터를 저장하는지에 초점 객체지향 프로그래밍: 기능과 속성을 한 곳에서 관리하는 기술 => 서로의 패러다임이 다른데 객체를 DB에 저장하려니 문제 발생 👉 JPA: 객체지향 프로그래밍 언어와 관계형 데이터베이스 중간에서 패러다임 일치를 시켜주는 기술 SQL에 종속적인 개발을 하지 않을 수 있게 됨 객체 중심으로 개발 => 생산성 향상 & 유지 보수 용이해짐 Spring Data JPA JPA는 인터페이스이기 때문에 구현체가 필요함 Hibernate Eclipse Link 하지만, Spring에서 JPA를 사용할 때는 이 구현체들을 직접 다루지는 않음 구현체들을 좀 더 쉽게 사용..
-
SecurityConfig - SecurityFilterChainSpring 2022. 11. 13. 00:50
SecurityFilterChain이란? 우선 FilterChainProxy를 알아야 함 FilterChainProxy Spring Security에서 사용하는 특수 필터 SecurityFilterChain을 통해 많은 Filter 인스턴스에 위임 가능 Bean임 한 요청의 URL 패턴에 따라 SecurityFilterChain 하나를 선택 → 해당되는 Security Filter 들을 타도록 됨 따라서 FilterChainProxy { 다수의 SecurityFilterChain { 다수의 SecurityFilter } } 이 가능 즉, Filter 인터페이스를 구현한 여러 종류의 필터들을 가지고 있는 인터페이스 HttpSecurity란? 세부적인 보안 기능을 설정할 수 있는 API를 제공하는 클래스 S..
-
[2장] 스프링 부트에서 테스트 코드를 작성하자Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스 2022. 11. 12. 17:07
📌 2.1 테스트 코드 소개 TDD와 단위테스트는 다른 것! TDD는 테스트 주도 개발 & 단위 테스트는 TDD의 첫 단계인 기능 단위의 테스트 코드를 작성하는 것 이번 장에서는 TDD가 아닌 단위 테스트 코드를 배운다! 개발 단계 초기에 문제 발견에 도움을 줌 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 동작하는지 확인 가능 기능에 대한 불확실성 감소 가능 새로운 기능이 추가될 때, 기존 기능이 잘 동작되는 것을 보장해줌 JUnit: 자바용 테스트 프레임워크 책에서는 JUnit4를 사용하라고 했지만, 2019년도 책이기 때문에 JUnit5를 적용해서 실습하도록 하겠습니다! package com.example.techeerteama1...
-
코드로 배우는 스프링부트 웹 프로젝트 Day 17Spring/코드로 배우는 스프링부트 웹 프로젝트 2022. 11. 11. 02:10
list.html Board List Page REGISTER ------ 제목 내용 작성자 제목 + 내용 제목 + 내용 + 작성자 Search Clear # Title Writer Regdate [[${dto.bno}]] [[${dto.title}]] --------------- [] [[${dto.writerName}]] [[${dto.writerEmail}]] [[${#temporals.format(dto.regDate, 'yyyy/MM/dd')}]] Previous [[${page}]] Next [ 게시물 등록 처리 ] 게시물의 작성자는 현재 존재하는 사용자의 이메일 주소로 지정해야 함 BoardController 에서는 GET 방식으로 동작하는 링크와 POST 방식으로 실제 처리하는 메서드를 추..