전체 글 108

23.1.4

프로젝트 좋아요 기능이 됐다!!!!! 처음엔 어떻게 접근해야 할 지 몰라서 그냥 블로그 아무거나 다 읽어보고, 이렇게 해야할까 저렇게 해야할까, 고민하면서 우리 조랑 어울리는 코드 냅다 가져와서 우리꺼대로 만들어봤는데 역시나 다르코드가 다 다르니까 전부 에러나고 난리였었다. ㅋㅋㅋㅋㅋ 그래도 찾아서 시도해봤다고 뭔가가 막 떠올라서 이렇게 해볼까요? 저렇게 해볼까요 하면서 코드를 짰더니 되긴 됐다!!! 이얏호!!!!! 그리고 외쳐 갓 태 썬!!!!! 축구에는 쏘니가 있다면 코딩에는 써니가 있따!!!!!!!!!! 하 진짜 시큐리티랑 같이 어떻게 구현해야하나 막막했었는데 태선 튜터님이 오셔서 궁금한거 3개만 물어보라길래 물어봤더니 한시간 반동안 명강의 해주셨다.... 나 왜 녹화 안함? 이 좋은 강의 다 휘발..

23.1.3

숙련 강의 최종_최종 앞으론 코드는 안 적고 설명만 적어야지 코드 붙여넣기 기찬다😎 중복 폴더 생성 이슈 해결 📌 요구사항 문제점: 현재 폴더명이 중복해서 생성된다. 해결방법: 생성할 폴더명이 입력으로 들어왔을 때, DB 에 동일 폴더명이 없는 경우에만 생성 📌 수정 [FolderService] isExistFolderName() boolean 메소드 생성 findAllByUserAndNameIn 로 회원이 가지고 있는 전체 폴더 조회 👉 DB의 where 조건문 IN을 쓴 것이다. JWT 강의를 다시 보거나 구글링하기! addFolders() 메소드에서 for if문 안에 isExistFolderName() 메소드를 써서 동일 이름이 없는 경우에만 생성되도록 수정 [FolderRepository] fi..

23.1.2

숙련 마지막 강의 📌 목표 페이징 및 정렬 기능을 추가하면서 페이지 처리에 대해 이해한다. 폴더 기능을 추가하면서 JPA 연관관계에 대해 이해한다. 📌 기능 키워드로 상품 검색하고 그 결과를 목록으로 보여주기 회원가입 로그인 로그인 성공 시 토큰 발급 로그아웃 로그인 한 유저만 관심상품 등록, 조회, 최저가 등록 가능 ADMIN 계정은 모든 상품 조회 가능 관심상품 목록 페이징 및 정렬 가능 폴더 생성 및 조회 가능 관심상품에 폴더 추가 기능 폴더 별 관심상품 조회 가능 📌 페이징? 어떠한 정보를 찾았을 때 너무 많은 데이터들이 한 페이지에 나타나게 되면 오류가 발생할 확률이 매우 높기 때문에 페이징 처리를 해주어서 정보를 제한해서 보여주는 것. 📌 API 관심상품 조회하기가 DTO가 아니라 PAGE을 ..

22.12.30

어제 다 못한 거 어제 코드만 다 짜놓고 구동을 안 해봤는데 지금 해보면 product에 userid가 제대로 들어가 있음을 알 수 있다~! 그리고 다시 브라우저에 로그아웃을 하면 value에 토큰 값이 삭제되어 있는 것을 알 수 있음! 근데 최저가 등록하기에서 버튼이 안 먹힌다... 뭐지.... 전부다 훑어봤는데 제대로 되어있는거 같고, 혹시나해서 코드스니펫도 다시 복사해서 붙여넣었는데 뭐지?!!!?!?!??!?? 왜지!??!?!??!?! 돌아온 병두쓰 특강 git pull request 조장인 병두쓰의 깃헙에서 화면 우측의 fork를 눌러서 내 깃헙으로 포크 해주기 깃배쉬로 가서 로컬로 옮길 디렉터리 설정해서 clone 하기 ( 이때 내 깃헙 레퍼지토리로!) 그러고나서 git remote add up..

22.12.29

Project MySelectShop - JWT 📌 필요한 기능 ✔️ 키워드로 상품 검색하고 그 결과를 목록으로 보여주기 ✔️ 회원가입 ✔️ 로그인 로그인 성공 시 토큰 발급 로그아웃 로그인 한 유저만 관심상품 등록, 조회, 최저가 등록 가능 ADMIN 계정은 모든 상품 조회 가능 위의 4 ~ 7번을 구현하기 위해 선행 학습 되어야할 부분 ✍️ 쿠키와 세션 📌사용자를 구별하지 못 하는 HTTP HTTP 는 상태를 저장하지 않는다. ('Stateless' 하다) 아래 그림에서 클라이언트의 요청 (GET http://spartcodingclub.kr)을 서버에게 보낸 후 응답을 받을 때까지가 하나의 HTTP 요청이다. 하지만 HTTP 상태는 기억되지 않기 때문에 웹 서버에서는 1번과 2번이 같은 클라이언트의..

22.12.28

강의 Project MySelectShop - Refactoring [수업 목표] teamsparta.notion.site 뭐지 지금 굉장히 뒤죽박죽으로 정리가 되어있는데,,,, 이거 뭦,,,,,? 🫘 Bean 직접 생성 더보기 [BeanConfigurator] package com.sparta.myselectshop.config; import com.sparta.myselectshop.repository.ProductRepository; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class BeanConfi..

22.12.27

📌 DI(의존성 주입) 다른 repository에 전부 new로 생성해주는 것이 아닌, 만들어둔 하나의 객체를 재사용 하는 것. 📌DI를 사용하려면 객체를 생성하는게 우선인데 이 기능을 스프링 프레임워크가 객체를 생성하고 관리한다. 스프링 프레임워크가 생성하는 객체를 빈이라고 하며, 이렇게 스프링 프레임워크가 관리하는 데이터(빈)들을 담아두는 저장공간을 IoC 컨테이너라고 한다. 🫘 빈을 자동으로 달려면 @Companent 어노테이션을 달아주거나 이렇게 직접 등록 해 줄 수 있다. 만들어진 빈을 사용하고 싶으면 사용할 함수 위에다가 @Autowired 어노테이션을 달아주면 된다. 이렇게! 📌@Autowired 적용 조건 스프링 IoC 컨테이너에 의해 관리되는 클래스에서만 가능 📌@Autowired 생략 ..

22.12.26

🎂 내 칭구칭긔들아 생일 축하해 🎂 타임어택 오늘 꺼는 거의 다 쉬웠으나, 최댓값 구하는 것을 새로이 시도해보았다. Math.max를 써서 구해봤는데, math.max(num1, num2, num3, ...) 라는게 있으면 들어 있는 수 중 최댓값을 찾아준다. 코테 입문편 최댓값구하기 (1)에서 내가 쓴 코드이다. class Solution { public int solution(int[] numbers) { int answer = 0; int max= numbers[0]*numbers[1]; for(int i=0;i0){ sum += a % 10; a /= 10; } return x % sum == 0 ? true: false; } }