일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- 자바
- 운영체제
- 스파르타내일배움캠프
- 스파르타내일배움캠프TIL
- 내일배움캠프
- AWS
- 컴퓨터구조론 5판
- 99일지
- 항해
- 스파르타코딩클럽
- 부트캠프
- 99클럽
- 소프트웨어
- 개발자블로그
- Flutter
- 개발자스터디
- til
- 백준
- Spring
- 컴퓨터개론
- 스파르타내일배움캠프WIL
- 코딩테스트
- Python
- 중심사회
- 개인공부
- 국비
- MySQL
- 프로그래머스
- wil
- Today
- Total
목록스파르타내일배움캠프 (75)
컴공생의 발자취
팀 프로젝트진행 상황마이페이지 수정/조회 구현JWT 관련 코드 완료되면 추후 수정 필요마이페이지 수정에서 이메일 제외 필요비밀번호 수정 구현비밀번호 암호화 완료되면 추후 수정 필요인증 이메일 보내기 구현이메일 인증 구현인증 완료시 회원코드 인증완료로 수정 필요 이메일 인증 참고한 블로그 스프링으로 이메일 인증 구현하기아까 말했듯 우리가 직접 구현하는 것보다는 외부 서버가 나을 것이다!3)우리는 앱비밀번호라는게 필요한데 앱 비밀번호를 만드려면 우리의 구글 계정에 2단계 인증이 필요하다. 보안탭에서 2단velog.io Windows 10 환경에 Redis 설치해보기Monolithic 환경에서 점점 벗어나고 MSA 지향적인 환경으로 변화함에 따라 기존의 세션 방식을 사용하기가 어려워졌다. 여러가지 방안이 나..
팀 프로젝트* 피그마https://www.figma.com/board/tSMVD3wg5zSrPHbTzjvtWW/13%EC%9D%BC%EC%9D%98-%EA%B8%88%EC%9A%94%EC%9D%BC?node-id=17-1078&t=jkCllfNmeD9Ismns-0 FigmaCreated with FigJamwww.figma.com 진행 상황api 명세서 작성erd 작성와이어프레임 제작역할분담api 명세서 작성다 같이 작성하다가 팀원 한 분이랑 부리더님이 api 명세서 작성을 맡아서 진행하시고나머지 2명(나랑 리더님)은 erd 작성을 맡았다.다 작성한 것은 팀 노션으로 옮겼다. * 작성하면서 발생한 문제 & 생각User, Mypage(profile)로 Controller을 2개로 나눔response와 dt..
개인과제 : 재제출추가적으로 구현한 단계 : 7단계 - 로그인코드 피드백 ( ✅ : 재제출하면서 수정한 피드백 )✅ CommonResponse : 패키지에 넣기(util or controller)✅ updateComment GetMapping -> PutMapping✅ autowired 삭제 후 생성자 수동 작성✅ ADMIN_TOKEN 변수 properties에 넣기UserService -> setAdmin으로...!가 들어가는 조건문은 함수로 따로 빼두기 why? !는 눈에 잘 띄지 않아서 알아차리기 힘듦빌더 패턴을 생성자로 변경하기[어려움] updateComment의 getAgenda는 comment.Service의 updateComment에서 진행하도록 변경추가 keyword : 더티체킹 + tra..
지난 날의 궁금증 Q : PUT vs PATCH ? // UPDATE는 없었네?ㅠPUT : 자원의 전체 교체, 자원교체 시 모든 필드 필요* 만약 전체가 아닌 일부만 전달할 경우, 전달한 필드외 모두 null or 초기값 처리된다.PATCH : 자원의 부분 교체, 자원교체 시 일부 필드 필요 * 참고한 블로그 [HTTP METHOD] PUT vs PATCH 차이점HTTP 메소드 중 PUT 과 PATCH가 있다. 뭔 차이여... 결론 PUT : 자원의 전체 교체, 자원교체 시 모든 필드 필요 (만약 전체가 아닌 일부만 전달할 경우, 전달한 필드외 모두 null or 초기값 처리되니 주의!!papababo.tistory.com Q : Cookie + JWT 같이 사용하는 이유?A : JWT의 인증방식 중 C..
💡 오늘의 학습 키워드- 개인과제 -쿠키와 세션 사용하는 이유?쿠키 & 세션JWT(Token)대부분의 IT 대기업이 JWT를 사용하지 못하는 이유? 쿠키와 세션 사용하는 이유?: HTTP 프로토콜의 특성 비연결성(Connectionless)과 무상태(Stateless)를 보완하기 위해서 사용한다. HTTP 프로토콜이란? 인터넷상에서 데이터를 주고 받기 위하여 웹브라우저와 웹서버 간에 따르는 프로토콜접속유지는 최소한으로 할 수 있기 때문에, 더 많은 유저의 요청을 작은 리소스로 처리할 수 있다는 장점이 있다.하지만, 요청 간의 의존관계가 없기 때문에, 현재 접속한 유저가 이전의 접속한 유저와 같은지 확인할 방법이 없다. 또한, 같은 유저인지 확인하려면 지속적으로 인증을 해줘야 하는 번거로움이 있다. 비연..
개인과제 재제출배운 점param & Query StringexceptionHandlerswaggervalidationResponseEntity느낀 점그 이전에는 아래와 같이 3단계까지 밖에 진행하지 못했다.일정 작성선택한 일정 조회일정 목록 조회다시 재제출하면서 7단계까지 완료할 수 있었다.선택한 일정 수정선택한 일정 삭제예외 발생 처리 (여기부터 추가기능 구현)swagger 활용 & 파라미터 유효성 검사, null 체크 및 특정 패턴에 대한 검증 수행그리고 과제 해설 영상을 보면서 ResponseEntity를 사용해서 틀을 다시 바꿨다.아직 ResponseEntity를 어떻게 활용하는지는 모르지만.. 일단 동작을 하도록 만들었다.CRUD를 만들었긴하나, 이걸 제대로 활용하지는 못하는 것 같다.여러번 더..
💡 오늘의 학습 키워드- 면담 -jwt 구조와 JwtUtil시크릿 키 & 퍼블릭 키jwt의 인증 방식(Cookie vs Header) jwt 구조와 JwtUtil헤더 + 내용 + 서명 : .을 기준으로 나뉨이걸 세팅 해놓은 게 JwtUtil* Jwt는 보안상 사용한다!But, 누구나 다 복호화하면 보안상 안 좋지 않나? -> 시크릿 키 & 퍼블릭 키 시크릿 키 & 퍼블릭 키시크릿키 : 내가 만든 JWT만 볼 수 있다. * 엄청 긴 스트링 이용 validate token퍼블릭키 : 무조건 볼 수 있고 jwt의 인증 방식(Cookie vs Header)Cookie : 서버가 JWT를 쿠키에 저장하여 클라이언트로 전송. 클라이언트는 자동으로 쿠키를 포함하여 요청.장점 : 자동으로 쿠키를 전송하므로 클라이..
💡 오늘의 학습 키워드- 개인과제 -entity 단방향 entity 단방향: 외래 키 주인만 외래 키를 등록, 수정, 삭제 할 수 있으며, 주인이 아닌 쪽은 오직 외래 키를 읽기만 가능. 오늘의 궁금증Q : @Setter을 지양하는 이유?객체의 불변성 유지예측 가능성과 안정성 향상캡슐화 : 객체의 내부 상태가 외부에서 보호 개인과제설계부터초기 설계user : pk, 담당자(이메일), 비밀번호agenda : pk, 할일제목, 할일내용, 생성날짜, user_fkcomment : pk, 댓글내용, user_fk, agenda_fk, 작성일자면담 후 수정된 설계agenda : pk, 할일제목, 할일내용, 생성날짜, 담당자(작성자 : 이메일)comment : pk, 댓글내용, 담당자(작성자 : 이메일), ag..
💡 오늘의 학습 키워드- 1주차 -JWTJWT 장단점JWT 사용 흐름Spring Securitysout JWT(Json Web Token): JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Client 기반의 Web Token.* 일반적으로 쿠키 저장소를 사용하여 JWT를 저장* 로그인 정보를 Server에 저장하지 않고 Client에 로그인 정보를 JWT로 암호화하여 저장모든 서버에서 동일한 Secret Key 소유Secret Key를 통한 암호화/위조 검증(복호화 시)누구나 평문으로 복호화 가능Secret Key가 없으면 JWT 수정 불가능 (Read Only) JWT 장단점장점동시 접속자가 많을 때 서버 측 부하 낮춤Client, Server가 다른 도메인을 사용할 때 ex) 카카오 Oa..
💡 오늘의 학습 키워드- 2주차 -cronIn- 팀 회의 -javadoc- 코드카타 : 알고리즘 -개선된 switch문compareTocopyOfRange- 코드카타 : SQL -DATE_FORMAT()CASE_WHEN Cron: 특정한 시간에 특정한 작업을 시행해주는 스케쥴링 역할초, 분, 시, 일, 월, 주 순서@Scheduled(cron = "0 0 1 * * *") // 매일 새벽 1시 * 공식 문서 CronExpression (Spring Framework 6.1.8 API)Determine whether the given string represents a valid cron expression.docs.spring.io In: 한 번에 여러 조건을 주기 위해 사용folderReposito..