스프링 시큐리티로 로그인, 로그아웃을 구현하다 보면 애매르송한 부분이 한둘이 아니다. login controller를 만들지 않아도 'http://localhost:8080/login"으로 로그인이 된다. 여기서 애매르송한게 '스프링 부트 3 백엔드 개발자 되기' 책을 보면 login controller는 만들지 않았는데 logout controller는 만든다. 그럼 이제 로그아웃 구현 여러가지 시도해보자 1. RESTful API 방식 로그아웃// 로그아웃 @GetMapping("/api/logout") public ResponseEntity logout(HttpServletRequest request, HttpServletResponse response) { /* ..
1 . Greating - 현대그린푸드출처 : https://www.greating.co.kr/planMeals/challenge-> 사용자 맞춤 테마 식단 제공 2. 올웨이스키친 - 지역 기반 서비출처 : https://alwayskitchen.co.kr/반찬, 샐러드를 기본적으로 배달함, 지역에서만 사용하는 사이트, 추가 구매에 해당 지역 사업자를 모집해 부가적인 구매 유도함. - 2주제에 관한 아이디어샐러드 배달 서비스는 주변에 이용자가 많을수록 가격이 낮아지는 구조로 제공될 수 있다. 특히, 여성 직장인이 많은 지역에서 점심 시간에 배달을 집중하면 다른 지역보다 가격을 크게 낮출 수 있다.이 서비스의 기대 효과로는, 내가 다른 지역에 살더라도 도시락 2개를 구매해 저녁이나 아침으로 먹을 수 있으며..
* 해당 내용은 Do it! Vue.js 입문 을 참고해서 작성했습니다.1. MVVM 정의MVVM은 UI 화면 개발 방법 패턴 중 하나이다. MVC와 전혀 다른 개념이지만 공통 관심사(Concern)을 분리한 것과 비슷한 맥락이다. 위 그림 처럼 왼쪽부터 모델(Model) - View(View Model) - 모델(Model)로 구조화해서 개발하는 방식이다. - 뷰(View) : 사용자에게 보이는 화면- 돔(DOM) : HTML 문서에 들어가는 요소(tag, class, attribute, ...)의 정보를 담고 있다.- 돔 리스너(Dom Listener) : 돔의 변경 내역에 대해 즉각적 반응하여 로직을 수행 한다.- 모델(Model) :데이터를 담는 용기로 서버에서 가져온 데이터를 순수 자바스립트 ..
1. 문제Spring Security 적용 후, Postman으로 회원가입을 완료했지만 다른 페이지로 접근이 되지 않는다.*Spring Security 설정은 책 '스프링 부트3 백엔드 개발자되기' 를 참고해서 설정깃 주소 : https://github.com/shinsunyoung/springboot-developer'/api/signup' 회원 가입은 되는 것을 확인 했다. 회원 가입 후 '/api/test' 다른 url로 변경하고 send버튼을 눌러 request를 요청했다. -> 당연히 백엔드 컨트롤러가 작성되어 있어야 한다. 'api/test' url을 요청 했을 때 'Probably stuck in redirect loop http://localhost:8080/login' 에러가 발생한다. ..
1. 문제어제 급하게 Spring Boot로 백엔드를 만들다가 위와 같은 상황을 마주쳤다. JSON 와르르,,,DTO를 만들어서 객체를 담아야 하는데 시간이 촉박해서 그냥 Entity를 직접 사용하다 보니 예기치 못한 상황이 발생했다. 2. 문제 원인public class ProductEntity extends BaseEntity { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "category_id") private CategoryEntity category;}public class CategoryEntity { @OneToMany(mappedBy = "category", fetch = FetchType.LAZY) @Json..
1. 문제 발생내가 한일, 분며시리 어제 git add .git commit -m "메세지 내용"git push origin main 하고 오늘 와서 다시 위 과정 반복하니까 push 못한다고 나온다. 위 내용은원격 주소 'https://github.com/eunho7/member_practice.git' 가리키고 있는데 여기다가 push 실패 했다는 내용이다. 힌트를 봐도 다른 사람이 레파지토리에 푸시 했다는 뭐 말도 안되는 내용이 나온다.내 레파지토리 나만 사용하는데,,, 2. 문제 원인생각해보니까 REAME.md 파일 깃헙에서 직접 수정했다.^^;;;chatgpt 쳐도 git pull origin main --rebase 만 나오고 뭐 도대체 문제가 뭔지 모르니,, 아무튼 나와 같은 사람이 있을..
1. 문제 원인" Inferred type 'S' for type parameter 'S' is not within its bound; should extend 'org.example.board.entity.BoardEntity' " 1.1 'S' 뭐냐?JpaRepository 작성할 때 Entity 이름을 작성하는 부분에 Generic 타입으로 선언되어 있는데 이 부분을 스프링 부트에서는 'S'라고 말함. 1.2 should extend 'org.example.board.entity.BoardEntity' 는 뭐냐?public interface BoardRepository extends JpaRepository {}BoardRepository에서 extends 즉 상속 받을 때 Entity가 들어갈 제..
1. 문제 Cannot run program "C:\Users\user\Desktop\tools\jdk-17\bin\java.exe" (in directory "C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.3\bin"): CreateProcess error=2, 지정된 파일을 찾을 수 없습니다. 2. 원인 JDK 다시 설치 하고 나서 인텔리제이가 이전 디렉토리에서 JDK 찾고 있음. 3. 해결 방법1. IntelliJ JDK 설정 확인파일 메뉴 → 프로젝트 구조(Project Structure) (또는 Ctrl+Alt+Shift+S)로 이동.왼쪽 메뉴에서 SDKs 항목을 선택.현재 설정된 JDK 버전을 확인하고, 잘못된 경로가 설정되어 있다면 Remove로 삭제한..
1. tool - Scan&OCROpen 클릭 2. 파일 선택"Select a file"은 1개 파일만, 밑에 "Or recognize text in multiple files" 누르면 여러 파일 혹은 폴더 선택할 수 있음.왜 이따구로 해놨는지 모르겠음,,, "Or recognize text in multiple files" - Add files 들어가면 Files, Folders 선택할 수 있음. 3. Output OptionsTarget Folder는 저장할 위치 File Naming은 첫 번째는 원본 이름으로 유지할 수 있고, "Add to orignal file names"는 OCR 파일 이름을 설정할 수 있음. 접미, 접두 붙일 수 있음. 접두로 "_ocr" 붙이면, 파일 제목이 '어도비 책 O..
이 강의 얼리버드? 아무튼 처음에 오픈 할인해서 251,000원 주고 샀다. 강의 자체는 좋다. 자바의 정석이 잘 맞기도 하고 무료로 들어서 도움이 되고자 스프링 강의도 바로 샀다. 그런데 기분 나쁜게 후기를 보면 이 가격보다 한 10만원 싸게 산사람도 있다,,, 이럴거면 왜 오픈 할인해서 팔았는지 모르겠다. 오픈할 때 가격 오른다고 협박해놓고 싸게 파는게 말이 되는가? 핸드폰도 아니고 계속이 떨어지고 지금은 정가가 30만원이다. 물론 강의 자체는 좋다. 돈이 그렇게 아깝지는 않다. 그런데 스프링의 부트 사려고 하니까 좀 고민된다. 왜? 가격 통수맞을까봐,, 지금 글 쓰고 있는 시점도 협박한다 가격오른다고, 무슨 헬스장 보는거 같다. 회원님 내년에면 가격 오르세요~ 이러고서 내년가면 새해 할인 이벤트해서..