로그인 후 로그인 페이지 접속
해결됨
스프링 시큐리티
스프링 시큐리티에서 별도로 로그인 후에 로그인 페이지 접속을 제한하는것은 없는건가요? 로그인 컨트롤러에서 principal을 통해 리다이렉트하는 방법 밖에 없는걸까요?
- java
- spring
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
스프링 시큐리티
스프링 시큐리티에서 별도로 로그인 후에 로그인 페이지 접속을 제한하는것은 없는건가요? 로그인 컨트롤러에서 principal을 통해 리다이렉트하는 방법 밖에 없는걸까요?
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
package jpabook.jpashop ; import org.junit.jupiter.api.Assertions ; import org.springframework.beans.factory.annotation. Autowired ; import org.springframework.boot.test.autoconfigure.web.servlet. AutoConfigureMockMvc ; import org.springframework.boot.test.context. SpringBootTest ; import org.junit.jupiter.api. Test ; import org.springframework.test.annotation. Rollback ; import org.springframework.transaction.annotation. Transactional ; import static org.junit.jupiter.api.Assertions.* ; import static org.hamcrest.MatcherAssert. assertThat ; import static org.hamcrest.Matchers. equalTo ; // 내장 서버를 실행하지 않고 테스트 수행 @SpringBootTest @AutoConfigureMockMvc public class MemberRepositoryTest { @Autowired MemberRepository memberRepository ; // 의존성 주입 @Test // 테스트 실행 함수 @Transactional // 트랜잭션 추가 @Rollback (value = false ) public void MemberRepositoryTest () throws Exception { //given Member member = new Member() ; member.setUsername( "memberA" ) ; //when Long saveId = memberRepository .save(member) ; Member findMember = memberRepository .find(saveId) ; //then assertThat (findMember.getId() , equalTo (member.getId())) ; assertThat (findMember.getUsername() , equalTo (member.getUsername())) ; } }
해결됨
프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 2
Items 페이지의 보드들의 이미지가 깨져서 보입니다 수정완료된 소스 코드가 따로 존재하는 건가요?
미해결
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
안녕하세요 선생님! v3.1에서 쿼리 실행 결과 order 조회-> orderItem 조회 -> item 이 조회됩니다. 저는 OrderItem 안에 item이 Lazy 로딩이니 페치 조인으로 가지고 오고 싶어서 다음과 같은 로직을 작성해보았습니다. @GetMapping ( "/api/v3.2/orders" ) public List<OrderDto> ordersV3_page2 ( @RequestParam (value = "offset" , defaultValue = "0" ) int offset , @RequestParam (value = "limit" , defaultValue = "100" ) int limit ) { List<Order> orders = orderRepository .findWithMemberDelivery(offset , limit) ; List<Long> ids = orders.stream().map(order -> order.getId()).collect( toList ()) ; List<OrderItem> orderItems = orderQueryRepository .findOrderDto(ids) ; return orders.stream() .map(order -> new OrderDto(order , orderItems )) .collect( toList ()) ; } public List<OrderItem> findOrderDto (List<Long> ids) { return em .createQuery( " select oi from OrderItem oi join fetch oi.item where oi.order.id in :ids " , OrderItem. class ) .setParameter( "ids" , ids) .getResultList() ; } public OrderDto (Order order , List<OrderItem> orderItems) { orderId = order.getId() ; name = order.getMember().getName() ; orderDate = order.getOrderDate() ; orderStatus = order.getStatus() ; address = order.getDelivery().getAddress() ; this . orderItems = orderItems.stream().map(OrderItemDto:: new ).collect( toList ()) ; } 이와 같이 로직을 작성 하고 결과를 확인하니 위와 같이 모든 Item이 조회되었습니다. 혹시 fetch join 이 문제 일까 싶어서 fetch join 을 제외하고 실행하더라도 동일한 결과가 나왔습니다. fetch join을 빼고 실행하면 강의에서 나온 것과 동일하게 쿼리가 실행되지만 결과값은 다른 것을 확인했습니다. -> batch_fetch_size를 사용했을때만 동일한 쿼리가 실행됨.(결과값은 다름) batch_fetch_size 사용 시 단순히 in 쿼리로 결과를 가져오는 것이 아니라 지연로딩을 생각해서 결과값을 가져온다고 생각하면 되는걸까요? 동일한 쿼리가 실행되는데도 결과 값이 다르게 나오는게 이해가 잘안됩니다 ㅠㅠ
미해결
Do it! 자바 프로그래밍 입문 with 은종쌤
33분쯤 public String deQueue(){ return shelf.remove(0); <- Arraylist 목록에서 제거하는 메소드인데 리턴은 왜해주나요 ??
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 선생님. 좋은 강의 늘 감사드립니다. 스프링 기본 편부터 해서, 생성자 주입을 선택하는 것에 여러 장점들이 있고 그 중 테스트케이스를 작성하는 데 용이 하다는 설명을 들었는데요. 다른 부분은 납득이 되었으나 테스트케이스 작성의 용이함은 무엇일까? 하고 여러 번 생각해봤는데 답을 내릴 수가 없어서 질문 드립니다. 본 예제코드에서도 테스트 코드에서 결국 @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; 로 테스트 클래스에 직접 빈을 주입 받아서 해당 메소드를 사용했는데요. 이 경우 실제 클래스에서 DI 주입 방식을 어떤식으로 선택하든 테스트 케이스에서 차이가 없지 않나요? 생성자 주입이 테스트 코드 작성에 용이하다는 부분이 어떤 부분인지 잘 모르겠어요 ㅠ
미해결
[리뉴얼] React로 NodeBird SNS 만들기
안녕하세요 zerocho님. 항상 친절하게 답변주셔서 감사합니다. 몇가지 질문이 있습니다. 1. getServerSideProps에서는 브라우저에서 쿠키를 들고 next.js 서버로 오기 때문에 cookie를 가지고 올 수 있다고 이해했는데 getStaticProps는 빌드 시에 실행되기 때문에 cookie를 들고있지 못한걸로 이해했는데 맞나요? 만약 그렇다면 getStaticProps에서 사용하는 API는 인증이 필요하지 않은 API만 사용해야하나요? 2. getServerSideProps는 SSR이라 이를 이용하게되면 화면이 전체 깜빡임이 일어날거라고 생각했는데 실제로는 일어나지 않더라구요. 혹시 이유를 알고 계신지 궁금합니다.
미해결
현재 프론트엔드(2) + 백엔드 (2)명이서 프로젝트를 하고 있었는데, 프론트였던 제가 개인사정 (취업, 이사, 건강 문제 겹침)으로 지금 아예 프로젝트에 참여를 못하고 있습니다. 다른 팀원들께 민폐가 되는 것 같아 팀원분들께 말씀을 드리고, 새로운 팀원을 대체하려고 하고 있습니다. [장점] - api다 나왔고, 진행 상황 80% 이상입니다. - 지금 투입되시면 소셜로그인, 회원가입만 구현하시면 되고, 이부분도 ui,API 다 나온 상태입니다. - 모든 일은 문서로 노션에 정리되어 있습니다. - 제가 직접 코드 설명도 드리고, 또 막히는 부분있으면 제가 계속 도움 드리겠습니다! - 슬랙 통해서 매주 수요일 7시에 슬랙으로 회의하고 있고, 현재 배포도 완료되었습니다! 관심 있으신 분은 아래 오픈 채팅으로 들어오셔서 편하게 질문해주시면 됩니다. 카카오톡 오픈채팅 (kakao.com) (들어오시면 저희 지금 배포된 사이트도 보여드리겠습니다!) 참고로 주제는 프로젝트 매칭 사이트(홀라 클론코딩)입니다.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 김영한 강사님. 강의 잘 보고 있습니다. 다름이 아니라, repository 패키지에 생성한 두 파일에 Member Class를 import 하는 과정에서 문제가 생겨 질문 드립니다. Member Class의 경우 문제없이 작동되는데, 어떤 부분이 문제인지 모르겠습니다.
미해결
[React 1부] 만들고 비교하며 학습하는 React
프로그래밍을 공부한지 얼마 안된 학생입니다. 자바스크립트로 무언가를 구현하는 강의를 듣는게 거의 처음인데요, 강의를 적어도 2회는 볼 생각인데, 처음 볼때 강의하시는내용을 함꼐 따라 코딩하면서 공부해야할지 아니면 처음에는 강의에 집중하고 2회차 볼때 따라서 만들며 해야할지 잘 모르겠습니다. 더듬더듬 따라서 강의를 보는 중인데, 똑같이 타이핑하는거에 너무 집착하는거같기도해서요.. 어느게 좋을지 추천 부탁드립니다.
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
강의에서는 useRef 를 사용하면 된다고 하셨는데, 그 이유가 무엇인지에 대한 설명이 없으셔서 let 이나 var 는 불가능한가 해서 테스트해보니 값이 증가하지 않더라구요. 왜 그런지 이유가 궁금합니다. // const dataId = useRef(0); let dataId = 0 ; const onCreate = ( author , content , emotion ) => { const created_date = new Date (). getTime (); const newItem = { author , content , emotion , created_date , id : dataId , }; dataId += 1 ; setData ([ newItem , ... data ]); };
미해결
[React 1부] 만들고 비교하며 학습하는 React
동그라동그라미 친곳에 파라미터로 event를 받아왔는데, event라고 넣지 않아도 동일하게 작동을 하더라구요. 꼭 event를 파라미터로 넣어줘야하나요?
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
강의 너무 잘듣고 있습니다! 하지만 Props 정말 알듯 모를듯 아리송하네요.. 질문드립니다! 1. 파일명은 무조건 대문자 시작인가요?? 2. 각 컴퍼넌트에 return 뒤에는 하나 이상일 경우 ()가 오고 한 줄 일경우에는 <> </>로도 가능할까요? 3. children 이라는 Props는 고정된 이름인가요? 다른 child같은걸로는 변경 불가능하죠?? 변경해서 하니까 오류가 나더라구요! 4. <button count={count}> 이렇게 속성으로 준 Props와 객체로 선언해서 넘겨주는 Props를 동시에 사용 못하나요?? const Counter = ( props ,{ counterValue3 }) => { const [ count , setCount ] = useState ( counterValue3 ); // props 매개변수로 받아 프로퍼티로 전달 방법 이런식으로 말이죠..
미해결
자바에서 void형으로 만든 A함수와 B함수가 있다고 할 때, A함수가 호출되어야지만 B함수를 사용할 수 있고 A함수가 호출되지 않으면 B함수는 아무것도 수행하지 않게 만드려면 어떤 방식 으로 코드를 짜야 하나요? 간단한 예제 들어주시면 감사하겠습니다!
미해결
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
강의 잘 보고 있습니다. 질문이 있는데요, useEffect()로 Mount 를 구현하였고, 콘솔에 로그를 Mount를 출력하였습니다. 그런데, 이상하게, Mount 로그가 두번씩 출력됩니다. 동작은 이상없지만, 두번 출력되는게 이상해서요~ 제가 무엇을 잘못했는지 궁금합니다. useEffect(()=>{ console.log("Mouint!"); }, []); 즐거운 하루 보내세요.
미해결
따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
react-redux에서 발생하는 오류인듯 한데 구글링 해보니 수업 코드와 너무 달라지는데 어떻게 해결해야 할까요? 코드일부 import { useDispatch } from ' react-redux '; import { loginUser } from ' ../../../_actions/user_action '; function LoginPage () { const dispatch = useDispatch () ; 깃:https://github.com/kim-seungmin/boiler_plate
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
안녕하세요 선생님. 좋은 강의 너무 감사드립니다 ^^! 질문 드릴 게 있는데, 채점 사이트에서 답안을 제출할 때, solution 메소드를 System.out.print로 꼭 감싸서 "출력"을 해줘야 하는건가요? 기업 코딩테스트에서 answer로 return 되는 값이 정답의 기준이 되는 것 같았는데 헷갈려서요..! 아니면 문제에 출력 "선생님이 볼 수 있는 최대학생수를 출력한다."라고 명시되어 있는 경우 기업 코딩테스트에서도 System.out으로 출력해줘야 하는 건가용?? 좀 바보 같은 질문인데 도움 부탁드립니다! 감사합니다.
해결됨
만들면서 배우는 리액트 : 기초
말씀해주신 소스코드를 다운로드 받고 Live Server를 켰는데 502 에러가 납니다 어떻게 할까요?
미해결
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
안녕하세요 8:30초대 강의를 보면 1:N관계의 list형태를 mapping하기 위해 flats .stream ~ .collect ~ 형태를 이용하고 있는데요 실무에서도 비슷한 사례가있어, 처음에 강사님처럼 어플리케이션단에 코드를 짰다가, 코드가 너무 복잡해져서 QueryDsl에서 transform + GroupBy.list를 이용하는식으로 변경해봤는데요. (아래 예시참조) from(Entity) // 1:N 관계의 List<Object> 를 추출, key : Entity.Id .transform( groupBy(Entity.Id) .list( Projections.fields(Example.class, Entity.Id, list( Projections.fields(Detail.class, Detail.id Detail.name ) ).as("DetailList") ) ) ) 문제는 구글링을 해보니, 해당 방식이 쿼리결과를 memory에서 리스트형태로 만들어내는것이라고 하더라구요. 예전에 강사님의 강의에서 '컬렉션 fetch join은 페이징을 이용할 수 없다'는 내용을 설명해주실 때, 해당 동작이 메모리에서 일어나기때문에 OOM이 발생할 수 있다 라고 말씀해주셨는데 이와 마찬가지로 transform , Groupby.list를 이용하는 것 역시 문제가 발생할까봐 우려스럽네요 아래 두가지 질문에 답변 부탁드립니다. Q1) 강사님의 application단에서 짜는 방식이 나을지 아니면 querydsl단에서 transform & Groupby.list를 이용하는게 나을지 고민되는데 두가지 방법중 무엇을 선택하는게 좋을까요? 후자의 경우 OOM이 발생하지는 않을지도 궁금합니다.. Q2) memory에서 작업하는게 위험한 이유가 뭔가요? 강사님처럼 application단에서 로직을 수행하는것도 memory에서 동작하는것 아닌가요? 친절하고 유익한 강의 늘 감사드립니다. 답변 부탁드립니다!
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
선생님 저 코드에서 최단거리인지 판별하는 것은 dis[7][7]에 어떤 수가 들어가면 바로 코드가 종료되는 조건도 없는데 어떻게 판별하는 것인가요...? 이 문제는 도착지점까지 도착하는 경로가 2개 뿐이라서 while(!Q.isEmpty()) 이 조건때문에 둘 중에 먼저 도착하면 자동으로 다른 경로를 계산할 때, Queue가 비어있게 되어서 반복문이 종료되어서 그게 가능하지만 도착하는 경로가 3개 이상일 경우에는 불가능 할 것 같은데 그때는 따로 조건을 추가해줘야 되나요...?