본문 바로가기
728x90

전체 글389

팀 프로젝트 본격 회의 시작~ :) 같은 조원이었던 한 명이 나가고 다섯이 남았지만 그래도 열심히 하기로 하고!!!! 회의를 진행했다 원래는 회사 재택 관리 시스템을 만드려고 했었는데 레퍼런스가 너무 적고 넣을 컨텐츠가 부족하고(레퍼가 없으니...) 결정적으로 몇 번의 회의 끝에 정해진 DB관계도를 지인에게 검사맡으려고 보냈는데 일단 만나서 얘기하자고 하더니.... 아예 순서가 잘못됐다고 레퍼런스를 찾고 -> 주요 페이지를 구성한 후 -> 페이지 레이아웃과 디비 구성을 같이 진행하고 그 다음에 DB관계도를 짜는 것이라고.........여러 도움 말씀을 주셨다 ^.^ (감삼다) 그 이야기를 듣고 - 아 진짜 첨부터 다시해야겠네... - 조원들한테 뭐라고 말하지 ㅠㅠ 다들 나만 믿고 계셨을텐데.. - 다른 조보다 일주일 정도 뒤쳐지는데 괜찮으.. 2023. 1. 6.
Gradle ) RuntimeOnly 와 implementation 차이(저장용) https://giron.tistory.com/101 [Gradle] runtimeOnly와 implementation와 testImplementation의 차이 평소에 runtimeOnly는 런타임 때 작동하겠지, implementation은 gradle이 돌아갈 때부터 작동하겠지라고 대충 생각하고 넘겨와서 그런지 막상 퀴즈를 받으니 대답을 못하겠다.. 이번 기회에 공부하고 정 giron.tistory.com 여기에 아주 깔쌈하게 나와있음 요약 implementation : 이 모듈 가져올거다, 얘는 컴파일된다 runtimeOnly : 얘는 임플멘테이션 디펜던시가 의존만 하는 애다. 런타임 클래스패스에만 있어서 런타임 정상 작동만 도와준다 머 이런건 거 같음 2023. 1. 6.
Spring Security ) JWT와 Session 인증 중에 무엇을 사용해야 좋을까? 스프링 시큐리티를 구현하려고 하는데 유저를 인증하는 방식이 두 가지가 있다고 한다 'JWT' 토큰을 사용하는 방법과 'Session"을 사용하는 방법! 그러면, 어느 방식이 조을까 생각해보았다 일단, 세션은 서버 메모리에 저장되는 공간이며 고유 세션 ID로 유저를 구분한다 로그인 할 때 세션을 생성하면 서버는 쿠키에 세션ID 동봉해 HTTP 헤더에 보내준다(맞지..?) 그리고 유저가 요청을 하면 HTTP 헤더에 유저 쿠키가 같이 발송되고 쿠키는 서버에서 세션 아이디를 통해 일치하는 유저 정보를 가져와, 로그인한 유저가 맞는지 확인한다 그래서 가끔 브라우저가 먹통이라 쿠키 삭제를 하면 자동 로그인을 체크했던 사이트들도 다 초기화가 되는 현상이 있는 것이당... 근데, 이 방식에는 아쉬운 점이 있다 - 저장.. 2023. 1. 6.
Spring) 궁금한 것들 목록...(고민해결안됨) 1. 시큐리티 쓸 때 다대다 매핑으로만 해야하는지? 다대일은 안되는지 2. 역할이랑 권한은 세션에 넣는게 맞는지? 맞다면 ㄴ 2-1 직접 키 이름을 부여하고 값은 enum을 이용해야하는지? ㄴ 2-2 그러면 시큐리티에서 개발자가 직접 세션 키 이름을 알려주는 설정을 해야하는지? ㄴ 2-3 그렇다면 키 이름을 정하는 관례가 있는지? 그냥 role auth 이런식으로 하는지? 3. 권한 역할 부여를 위한 role 테이블을 멤버와 어드민 테이블에 fk로 줬는데 이게 맞는건지? 역할이랑 권한을 컬럼으로 줘야하는 건지? 4. 시큐리티로 일단 로그인/회원가입 정도를 구현해보려고 하는데, 지금은 검증을 직접 하고 있음(유저가 적은 아이디가 디비에 있는지 확인 후, 비밀번호를 직접 복호화하고 true가 나오면 로그인 .. 2023. 1. 5.
Optional ) Null을 다루는 문제 class Member { String name; } List list = new ArrayList(); . . . list.size() == n+m list.get(n); 휴일이는 Member 타입의 객체만 담을 수 있는 List를 만들었습니다 그리고 n번째 list에 있는 Member객체를 꺼내려고 합니다 그런데, n번째 index에 있는 Member 객체가 들어있는지, null이 들어있는지 알 수 없습니다 예외를 발생시키지 않고 객체를 꺼낸 다음 객체의 null여부를 검사하는 코드를 작성하세요 코드 작성이 어렵다면, 어떤 방식으로 확인이 가능한지 설명해도 좋습니다 심화1) list.get(n)에는 null이 들어있었습니다 그런데, null을 직접 다루는 것은 NullPointerException 때.. 2023. 1. 5.
페이징 할 때 Entity로 받고, Dto로 변환하자! 저번 포스팅에서 Dto를 리포지토리에서 변환하는 것은 매우 구리다는 것을 알아냈다... 그래서 오늘은 리포지토리에서 페이징한 엔티티들을 받은 후 서비스에서 Dto로 변환하는 작업을 해봤다... 일단 전체 주문 목록을 가져오는 서비스를 만든다(엔티티를 반환하게 함) * 해당 멤버가 한 주문만 가져오는 거라서 멤버 아이디를 조건으로 주었다 public Page findAllOrders(Long memberId, Pageable pageable) { BooleanBuilder builder = new BooleanBuilder(); builder.and(mdOrder.order.member.id.eq(memberId)); return getOrderList(pageable, builder); } 그 다음 엔티.. 2023. 1. 5.
728x90