전체 글 79

TIL 2024-11-19 (todo-log)

1 ) todo-log'todo' 스페인어로 모두, 전체 라는 뜻과 'log' 기록이라는 뜻을 합쳐 만든 모든 기록을 보여주는 뉴스피드 프로젝트. 2) 첫 날 진행도프로젝트 아이디어 구성와이어 프레임 작성ERD 작성API 명세서 작성업무 분담팀 노션 작성 프로젝트 아이디어 구성팀원들과 소통하며 각자 어떤 컨셉의 뉴스피드 또는 이름 정해오기!Sprout, '새싹' 이라는 의미로 현재 우리도 자라나는 새싹 개발자라는 의미로 개발자 취준생들의 뉴스피드 컨셉음악관련 뉴스피드, 게시글을 나중에 하나씩 모으면 플레이리스트가 되는 뉴스피드 컨센뉴스피드에 카테고리를 추가해 모든 컨셉의 뉴스피드를 볼 수 있도록 하자는 컨셉.3번 의견이 모두의 의견을 수용할 수 있으며 제일 괜찮다는 의견이 많아 수용.와이어 프레임 작성백..

TIL/Project 2024.11.19

TIL 2024-11-18 (Cookie/Session)

1) 학습한 내용CookieSession 알고리즘 코드카타( Java : 숫자 문자열과 영단어 )https://github.com/GyeonghwanCheon/codetestCookie사용하는 이유HTTP는 Stateless, Connectionless 특성을 가지고 있다.Client가 재요청시 Server는 이전 요청에 대한 정보를 기억하지 못한다.로그인과 같이 상태를 유지해야 하는 경우가 발생한다.Request에 사용자 정보를 포함하면 해결된다.브라우저를 완전히 종료한 뒤 다시 열어도 사용자 정보가 유지되어야 한다.로그인 성공시 응답set-Cookie로그인시 전달된 ID, Password로 User 테이블 조회하여 일치 여부 확인일치한다면 Set-Cookie를 활용해 Cookie에 사용할 값 저장Co..

TIL/Spring 2024.11.18

Trouble Shooting ( Calender_JPA)

1 ) 배경모든 필수 구현 완료 후 마지막 로그인 구현하는 도중 LoginRepotory 파일을 만들어 코드를 구현하려고 하였으나,  2) 전개 & 위기내가 직접 생산한 유저의 정보를 가져와 email, password 데이터를 가져와서 비교하는 코드를 구현하는데 계속 DB의 데이터를 가져오지 못하던가, 또는 스스로 제대로하고 있는지 조차 모르는 상황 발생.  3) 절정LoginRepository를 class 형식의 파일 방식으로도 접근해보았고, Interface 파일 형식으로도 접근해보았으나 내가 직접 저장했던 데이터를 DB에서 제대로 못 가져오는 것 같았으며, 로그인 성공했을 시 return 값 또한 맞는지 의문.다양한 방식으로 접근하다가 데이터 충돌까지 일어나는 상황 발생.  4) 결말stream(..

TIL/Project 2024.11.15

TIL 2024-11-14 (Spring 숙련 - 3주차)

- 학습한 내용JPA영속성 컨텍스트Entity변경 감지flush단방향&양방향Spring Data JPAJPA Auditing  JPA객체 지향 프로그래밍 언어인 Java와 관계형 데이터베이스 간의 패러다임 불일치 문제를 해결하여 데이터베이스 작업을 객체 지향적으로 수행할 수 있도록 지원한다.ORM객체와 관계형 DB를 자동으로 Mapping하여 패러다임 불일치 문제 해결.JDBC API데이터베이스와 상호작용 하기위해 JDBC API를 개발자 직업 사용.개발자가 아닌 JPA가 중간에서 개발자의 역할을 한다.사용 목적은 SQL 중심적인 개발에서 객체 중심으로 개발하기 위함.생산성유지보수성패러다임 불일치 문제 해결성능 영속성 컨텍스트논리적인 개념눈에 보이지 않는 공간이 생긴다.Entity Manager를 통해서..

카테고리 없음 2024.11.14

TIL 2024-11-13 (Spring 숙련 - 2주차)

- 학습한 내용 CookieSessionTokenJWTFilter   Cookie주로 사용자 세션 관리(로그인, 장바구니, 접속시간)나 광고 트래킹(사용자 행동) 등의 목적으로 사용.웹 브라우저에 저장되는 데이터Cookie에 담겨있는 값으로 인증/인가 를 진행한다.서버가 클라이언트의 상태를 기억하도록 도와준다.로그인 상태 유지 등에 활용된다.보안에 취약하다민감한 정보를 저장하지 않아야한다.사용자 임의 수정이 가능하다. Session서버에서 중요한 정보를 보관하며 로그인을 유지하는 방법SessionId를 탈취하여도 민감한 정보는 없다.  만료 시간을 설정해서 탈취 문제를 최소화한다.HttpSession은 최근 Session을 요청한 시간을 기준으로 만료 시간을 유지한다.동작 순서 Token인증/인가 과정에..

TIL/Spring 2024.11.13

TIL 2024-11-12 (Spring 숙련 - 1주차)

1 ) 학습한 내용SOLID 원칙과 Spring 객체 지향Spring ContainerSpring BeanIOC/DI싱글톤 패턴Spring Bean 등록의존관계 주입Validation SOLID 원칙 - 객체 지향 설계의 5가지 기본 원칙, 소프트웨어 설계에서 유지보수성, 확장성, 유연성을 높이기 위한 지침을 제공.종류단일 책임 원칙 SPR (Single Responsibility Principle)개방 폐쇄 원칙 OCP (Open Closed Principle)리스코프 치환 원칙 LSP (Liskov Substitution Principle)인터페이스 분리 원칙 ISP (Interface Segregation Principle)의존관계 역전 원칙 DIP (Dependency Inversion Princ..

TIL/Spring 2024.11.12

Trouble Shooting ( 일정 관리 앱)

1 ) 배경처음에 날짜를 직접 입력하게 만들었는데, 조건을 보니 날짜별로 내림차순 정렬이라는 조건 확인.  2) 발단조건을 맞추기 위해 날짜를 내림차순으로 정렬하였으나 가장 최근 기록이 올라오지 않는 것을 확인.이유가 시, 분, 초를 넣어주지 않아서 정렬이 똑바로 되지 않음  3) 전개 & 위기사용자가 데이터를 직접  YYYY-mm-DD  HH : mm : sss을 입력하기엔 너무 번거로울 뿐 더러 날짜를 자동으로 실시간 데이터를 넣어주는 게 프로그램에 더욱 적합하다고 생각이 들었으나 자동 입력이 안되는 문제 발생 // 일정 생성 @PostMapping public ResponseEntity createCalender(@RequestBody CalenderRequestDto requestDto..

TIL/Project 2024.11.08

TIL 2024-11-07 (Spring 입문 - 응답 데이터)

1 ) 응답 데이터Server에서 Client로 Data를 전달하는 방법은 정적리소스, View Template, HTTP Message Body 세가지 방법이 존재  정적리소스정적인 HTML, CSS, JS, Image 등을 변경 없이 그대로 반환한다.View TemplateSSR(Server Side Rendering)을 사용할 때 View가 반환된다.HTTP Message Body응답 데이터를 직접 Message Body에 담아 반환한다.  정적 리소스 - 웹 애플리케이션에서 변하지 않는 파일들을 의미한다. 예를 들어 HTML, CSS, JavaScript, 이미지 파일들 등이 정적 리소스에 해당된다.Spring boot의 정적 리소스 경로 ( 아래 경로들에 정적 리소스가 존재하면 서버에서 별도의 ..

TIL/Spring 2024.11.07

TIL 2024-11-06 (Spring 입문 - 요청 데이터)

1 ) @RequestBody, @ResponseBodySpring에서 @RequestBody, @ResponseBody 어노테이션을 사용하면 각각 Request, Response 객체의 Body에 편하게 접근하여 사용할 수 있다. @RequestBody요청 메시지 Body Data를 쉽게 조회할 수 있다.@RequestHeader요청 헤더 정보 조회@ResponseBody응답 메시지 바디에 쉽게 담아서 전달할 수 있도록 해준다.View가 아닌 데이터를 반환한다.  요청 파라미터, HTML Form Data에 접근하는 경우@RequestParam, @ModelAttributeHttp Message Body에 접근하는 경우@RequestBody를 사용한다.(JSON, XML, TEXT)  2 ) JSONJ..

TIL/Spring 2024.11.06

TIL 2024-11-05 (Spring 입문 - Spring Annotation, Mapping)

1 ) Slf4jSlf4j는 인터페이스이고 그 구현체로 Logback같은 라이브러리를 선택한다.실제 개발에서는 Spring boot가 기본으로 제공하는 Logback을 대부분 사용한다.  @ControllerView가 있는 경우 사용한다.즉, Template Engine인 Thymeleaf, JSP 등을 사용하는 경우@RestController응답할 Data가 있는 경우 사용현재는 대부분 @RestController를 사용하여 API가 만들어진다 (Restful API)return 값으로 view를 찾는 것이 아니라 HTTP Message Body에 Data를 입력한다. 2 ) Annotation @ComponentSpring Bean에 등록하여 역할을 수행한다.Spring Bean은 애플리케이션의 구성..

TIL/Spring 2024.11.05