복습하다 문득 이 코드를 보고 생각이 들었습니다. ArrayList<MyUser> list = new ArrayList<>(List.of(myUser1, myUser2, myUser3)); List<MyUser> list1 = List.of(myUser1, myUser2, myUser3); List로 반환되는 건 맞는 거 같은데... static <E> List<E> of(E e1, E e2, E e3) { return ImmutableCollections.listFromTrustedArray(e1, e2, e3); } List.of()는 분명 List타입으로 반환이 되는데 ArrayList에 어떻게 들어가는 건가요? List가 ArrayList를 받을 수는 있지만, 그 반대는 안 되는 거 아닌가 해서요!!
instanceof 연산자를 어떤식으로 사용이 되는지는 감이 오는데 실제로 이것이 어떤식으로 구현되어 있는지가 갑자기 궁금해져서 구글링을 해보니 아래와 같은 글이 나오긴 하는데요, java - How is 'instanceof' implemented in the JVM? - Stack Overflow 글만 봐서는 살짝 느낌이 안오는데 조금 더 쉽게 설명된 글이 있을까요?
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요!! 강사님 중급 1편도 너무 알차게 듣고 있습니다! Class 클래스 편 강의 듣다가 궁금한 점이 있어 질문드립니다! 이 부분 (강의 12:00 쯤!) 인데요!Class 클래스의 정보 (생성자)를 이용해 객체생성 하는 방법 보여주셨는데 평소처럼 Hello hello = new Hello();로 객체생성하고 hello.hello() 처럼 메서드 사용도 가능한데 이렇게도 생성할 수 있다를 보여주신걸까요?? 강의로 배우고있는 저의 입장에선 당연히 평소하던대로 Hello hello = new Hello()로 객체생성하고 hello.hello()메서드 사용하는게 훨씬 편할거라고 생각해서 질문드립니다! 위에서 Class.forName("사용자가 스캐너 같은걸로 직접 입력하는 상황도 있을것") 처럼 패키지와 클래스명으로 생성해야할 경우는 경로 직접 입력하는 방식이 더 편리. 즉, 객체 생성에는 여러 방법이 있다. 상황마다 알맞게 사용하면 된다로 이해하면 될까요?! 사실 그냥 넘기라고 하셨긴 한데 굳이왜 reflection으로 이렇게 복잡하게 객체를 생성하는지 궁금합니다..! 간단하게라도 알려주실 수 있으실까요??
ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
안녕하세요 선생님 자주... 문의드려 죄송합니다. 로그인에서 가져온 Session 값을 활용하는 방법 DAL 부분의 활용 여부 로그인에서 가져온 Session 값을 활용하는 방법 public async Task<IActionResult> GetUser(GetUserDTO getUserDTO) { if (ModelState.IsValid) { } else { return Redirect("/login/SearchUserId"); } GetUserResponseDTO dto = await loginService.GetUser(getUserDTO); HttpContext.Session.Set("LoginUser", dto); return Redirect("/home/index"); } "LoginUser"으로 세션값을 사용하는 것은 이해했습니다. controller public async Task<IActionResult> GetUserList () { if (ModelState.IsValid) { } else { return Redirect("/home/UserList"); } GetUserResponseDTO ? user = HttpContext.Session.Get<GetUserResponseDTO>("LoginUser"); GetUserListResponseDTO dto = await UserListService.GetUserList(); return Redirect("/home/index"); } service public async Task<GetUserListResponseDTO> GetUserList(GetUserListDTO getUserListDTO) { var configuration = new MapperConfiguration(cfg => { }); Mapper mapper = new Mapper(configuration); Dictionary<string, object> dc = mapper.Map<GetUserListDTO, Dictionary<string, object>>(getUserListDTO); ProcCall procCall = new ProcCall(); DataTable dt = await procCall.RequestProcedure("SP_UserList", dc); GetUserListResponseDTO dto = new GetUserListResponseDTO(); return dto; } 구현하고자 하는 내용. 로그인 해서 나온 데이터를 활용하여 조회 화면을 구성하고자 함 A 등급을 가진 사람한테 -> A-1 화면만 조회하도록 구현하고자 합니다. Session 값을 가져와서 구현하고자 했는데.. 그럼 DTO를 거치면 안 될까요...? DAL 부분의 활용 여부 SP_ 형식을 차용하는데 DAL.Mapper와 DAL.Model 추가적인 사용은 필요가 없을 것 같습니다...? DB와 소통하는 부분으로만 남겨도 될까요?
SessionManager를 보면 SESSION_COOKIE_NAME과 로그인 할 때마다 새로 생성한 sessionId로 쿠키를 만드는 것 같습니다. 이 프로그램을 사용하는 여러 멤버들이 동시에 로그인을 한다면, sessionId는 다르지만 SESSION_COOKIE_NAME이 동일한 쿠키가 중복되서 생기지 않나요? findCookie에서는 SESSION_COOKIE_NAME만 가지고 로그인한 멤버가 사용하는 sessionId를 제대로 찾을 수 있는건가요?
해시 알고리즘6-해시 충돌 구현 파트에서 LinkedList<Integer>[] buckets = new LinkedList[CAPACITY]; 이런 코드가 등장했는데요. 제가 앞선 강의에서 이런 내용을 놓친 것인지는 잘 모르겠지만...ㅠ 제네릭을 통해 선언하는 것인데 new LinkedList<>()[CAPACITY]; 를 하면 안되는 이유가 무엇인가요?
스프링 데이터 JPA 조건2에서 SpringDataJpaRepository의 findAll 메서드의 `@Query`에서 오타를 내서 코드가 테스트에서 오류가 발생했습니다. 추후 코드를 고치니 문제를 해결할 수 있었습니다. 여기서 궁금한 점은 테스트에서 findAll에만 영향을 미치는 것이 아니라 왜 전체 테스트에서 오류가 발생하는 것인지 궁금합니다. 혹시 이 부분에 대해선 프록시 객체를 띄우는 데, 메서드의 유효성을 검사하는 로직이 존재하거나 아니면 다른 무언가가 있는지 궁금합니다. package hello.itemservice.repository.jpa; import hello.itemservice.domain.Item; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; public interface SpringDataJpaItemRepository extends JpaRepository<Item, Long> { List<Item> findByItemNameLike(String itemName); List<Item> findByPriceLessThanEqual(Integer price); // 쿼리 메서드(아래 메서드와 같은 기능 수행) List<Item> findByItemNameLikeAndPriceLessThanEqual(String itemName, Integer price); // 쿼리 직접 실행 // error를 추가해 쿼리 오류 생성 @Query("error select i from Item i where i.itemName like :itemName and i.price <= :price") List<Item> findItems(@Param("itemName") String itemName, @Param("price") Integer price); }
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
dto에서 request를 구성할 때에 Create와 Update에 대한 request를 두 개로 나누어 구성하시는 것을 봤습니다. 제가 생각하기에 user 테이블에 접근하여, userService에 사용되기 위한 것이니 UserRequest라는 클래스를 만들어 하나로 통합하여 사용하면 보기 편하고 사용하기 쉬울 것 같습니다. 성능에서 차이가 있다던지 request를 따로 구별해서 사용하신 이유가 있는지 궁금합니다.
강의 자료에 보면 영속성 전이는 연관관계를 매핑하는 것과 아무 관련이 없음이라고 하셨는데 이 얘기는 즉, 양방향인 경우 편의메소드를 캐스캐이드로 대체할 수 없다는 것과 같은 얘기인것인가요? 캐스케이드를 사용한다고 편의 메소드를 사용하지 않아도 된다는 얘기가 아니다로 이해를 해도 될까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 뭐가 문제일까여 밑에 글 찾아보고 rm -rf test.mv .db touch test.mv .db 하면 된다길래 해봣는데 이렇게 뜹니다 ! ㅠ 도와주세요
if(nx>=0 && nx<n && ny>=0 && ny<n && arr[nx][ny]>=arr[i][j]) { flag = false; break; } 이 조건에 대해 질문이 있습니다. nx>=0 && nx<n && ny>=0 && ny<n 이것이 가장자리를 찾는 조건식인 것은 알겠습니다. 그런데 if조건식이 and연산자로 이루어져있어서 하나라도 false이면 if문이 돌아가지 않는것으로 알고있습니다. 그럼 가장자리에 있는 값들 중에 arr[i][j]보다 큰 값들만 if문을 돌면서 flag를 false로 주는 것인데 가장자리가 아니면서 arr[i][j]보다 큰 값들은 어디서 비교를 하나요?? 또, arr의 n의 개수를 그냥 n으로 잡으면 가장자리를 0으로 초기화를 언제 시키는 것인지 궁금합니다 제가 처음 풀었을때 arr을 arr[n+2][n+2]로 잡고 (i=1;i<n;i++)로 이중for문을 돌려 풀었습니다 이렇게 풀어도 되는건가요?
공유하신 파일로 업데이트 했으나 역시나 문제 해결이 안됩니다. 그리고 html 파일을 열었는데 저렇게 나오는데... 여기서 무슨 문제가 있는게 아닐까요? "Property assignment expected javascript." 자바스크립트도 문제인거 같은데... 답변 부탁드립니다. 참고로 다른건 저는 그냥 html 인데, 잔재미님은 django html 로 되어있습니다....