[질문 내용] SpringConfig클래스에 MemoryMemberRepsoitory 메소드에 retrun new JdbcMemberRepository();를 하고 dataSource 객체 생성 후 생성자까지 만들어주었습니다. 여기까지는 ()에 오류가 생기는데 여기에 dataSource를 넣어주면 전체오류가 생기여 옵션엔터를 눌러 해결하면 메소드 이름을 MemoryMemberRepository가 아닌 JdbcMemeberRepository로 바꿔라 합니다. 이를 변경하면 위에 MemberService도 바꿔야하며 전체코드에 이상이 생깁니다. package hello.hellospring; import hello.hellospring.repository.JdbcMemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import hello.hellospring.service.MemberService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; @Configuration public class SpringConfig { DataSource dataSource; public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } @Bean public MemoryMemberRepository memberRepository(){ //return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); //오류발생 } } java: incompatible types: hello.hellospring.repository.JdbcMemberRepository cannot be converted to hello.hellospring.repository.MemoryMemberRepository 이러한 오류내용이 뜹니다. 수업 소스코드와 동일하게 해봤는데 이럽니다!
안녕하세요 선생님. 강의를 듣던 중 스프링 통합 테스트 강의 부분에서 회원가입 부분이 오류가 납니다.. 구글 서칭 해봐도 어떻게 해야될지 잘 모르겠어서 질문 남깁니다. h2는 안끄고 작동하고 있는 상황이었으며 강의자료에 있는 코드 복붙해서 해봐도 똑같이 오류 납니다.ㅠㅠ 도움주시면 감사하겠습니다.....
안녕하세요 선생님, 강의 잘 듣고 있습니다! 제가 해당 문제를 먼저 풀고, 선생님의 모범 답안과 비교해서 다시 보고 있는데, 선생님의 답안 실행 시간의 경우 80ms인데, 제 풀이의 경우 500ms가 나와서 어떤 부분에서 이렇게 시간이 많이 걸리는지 질문 드립니다. 제가 생각했을 때, 제 풀이는 bfs를 사용했고, 선생님의 풀이는 dfs를 사용한 것이 가장 큰 차이인데, 관련해서 bfs를 이용해 문제를 푼 분의 비슷한 질문과 선생님의 답변을 읽어 봤는데, 제 코드가 특히 더 느려서 질문 드립니다. 감사합니다. http://boj.kr/64d1e109011644a499285cf8df6422a5
챌린지 02번 문제와 static 메소드 강의 질문 사항 강의 문제풀이 두번째 영상(챌린지 02번, 챌린지 03번)과 static 메소드 질문 사항 안녕하세요 강의를 듣고 있는데 내용이 헷갈려서 질문하려고 합니다. 챌린지 2번 문제를 풀 때 아래 소스코드를 보자면 private void chall02( ) { this.completeArr[1] = 1; } 프리다 문제 풀이 강의 중 두번째 강의 소스코드에 private void로 선언되어 있으므로 static method로 선언되지 않는 경우로 instance method로 선언되는 경우라서 인스턴스화된 객체를 찾기 위해서는 java.choose를 사용해야한다고 나와 있었습니다. 그런데 static 메소드 질문에 대한 답변에 강의를 들어보면 private staic, public staic으로 선언된 경우에는 java.choose를 사용하고 static 메소드가 선언되지 않는 일반적인 private, public 형태는 java.use 형식으로 사용하라고 적어 주셨는데 이게 제가 이해하는 것과 내용이 반대되게 설명하신거 같습니다. 혹시 제가 이해한 내용이 맞을까요? staic 메소드로 선언된 메소드(함수)들은 예) private staic, public staic으로 선언된 경우 인스턴스가 생성 없이 호출이 가능하기에 java.use를 사용해야하고 static 메소드가 선언되지 않는 일반적인 경우 예) private, public 형태로 선언된 경우 인스턴스가 생성 없이 호출이 불가능 하므로 java.choose를 사용하여 호출을 할 수 있으며 챌린지 03번에 대한 문제는 호출에 대한 문제가 아닌 반환 값만 변경하고 있으며 호출은 MainActivity에서 하고 있으므로 java.use를 활용하여 문제를 풀 수 있음 만약 문제 풀이와 관계없이 챌린지 03번 변수를 직접 호출하고 싶다면 static으로 선언된 메소드가 아니기 때문에 Java.choose를 사용하여 문제를 해결 가능함 이렇게 이해를 하면 되는건가요? 제가 이해한 내용이 맞다면 챌린지 2번에 대한 문제 풀이가 이해되는데 이해한 내용이 틀린다면 챌린지 2번 문제는 java.use로 풀 수 있을꺼 같은데 강의를 들으면서 혼동이 와서 다시 한번 재 질문 드립니다, 감사합니다.
안녕하세요 jpa 엔티티의 생명주기 공부를 하다 궁금한게 생겨 질문드립니다. JPA 기본편 3번 pdf 영속성관리의 10페이지 엔티티의 생명주기 그래프를 보면 removed 상태에서 flush() 를 해주면 DB에 반영되는것 같습니다. 동일 pdf의 25번 페이지에는 플러시란 영속성 컨텍스트의 변경내용을 데이터베이스에 반영하는 것 이라고 되어있는데 그렇다면 removed 상태라는 것은 객체의 인스턴스는 메모리상에서 삭제되었지만 객체가 가지고 있던 데이터는 영속성 컨텍스트에 의해 관리되고 있다고 생각해도 되나요? removed 상태가 정확히 어떤 상태인지 궁금합니다.
Auth와 Resource App 시작 시 아래 사진과 같은 에러가 발생합니다. 강의와 노션에 있는 코드를 그대로 작성했다고 생각하여 패키지 버전 문제로 추정됩니다. 현재 제가 사용중인 패키지입니다. 강의 중 사용중인 패키지 버전을 공유받고 싶습니다. 해당 오류에 대한 구글링에 실패해서 추가적으로 혹시 알고계신 레퍼런스 있으시면 알려주시면 감사드리겠습니다.
5-2 배열의 형태 변경2 질문이 있습니다. arr=arr.reshape(3,-1) -> shape 값에 1 넣게 되면 shape값이 자동으로 계산되어 4가 나온다 arr=arr.reshape(3,2,-1) -> shape 값 -1에 자동으로 2라는 배열이 채워져 3차원 배열 출력된다 라고 말씀하셨는데, 어떤 원리에서 이처럼 계산되는지 이해가 안가서요,, 무엇을 더하거나 뺀 것인가요? ㅜ 좀 더 자세히 설명해주시면 감사하겠습니다!
안녕하세요 5-2 배열의 형태 변경 2 에서 질문이 있습니다. arr=arr.reshape(3,-1) -> shape값에 -1 넣게 되면 shape 값이 자동으로 계산되어 자동으로 4가 나온다 arr=arr.reshape(3,2,-1) -> shape값 -1에 자동으로 2라는 배열이 채워져 3차원 배열이 출력된다 라고 말씀하셨는데, 어떤 원리에서 이처럼 작동되는지 이해가 안가서요 ㅜㅜ 어떠한 수를 더하거나 빼는 것 같진 않은데.. 혹시 좀 더 자세히 설명해주실 수 있을까요? 감사합니다!
Q1: auto-fill 에 대해 질문드립니다. <Grid #3 강의의 4:30초> 에서 셀이 2개 있고, grid-template-columns에 minmax(200px, auto)가 설정되어 있으며 auto-fill이 적용되어 있을때 grid-template-columns: repeat(auto-fill, minmax(200px, auto)) 전체 Grid Container의 넓이가 500px 일때에, 셀의 column 길이가 200px 이상이 되어지게 됩니다. 제가 알기로는 minmax(최솟값, auto) 라면 셀의 길이가 최솟값 보다 커지려면 셀이 가지는 컨텐츠의 길이가 최솟값보다 커야된다고 알고 있는데요. 그런데 왜 auto-fill이 설정되어 있을때에는 컨텐츠의 column 길이가 200px 보다 작은데 왜 Grid Container의 넓이 만큼 늘어나는 것인가요? 이것이 auto-fill을 적용하여 Grid의 기본 성질인 꽉 차게 늘어나는 성질때문에 그런가요? Q2 auto-fill 적용불가에 대해 질문드립니다. 저의 브라우저에서 테스트 해본결과, auto-fill이 적용이 되지 않는 부분은 셀이 2개가 있고, column의 길이가 minmax(200px, auto) 이며, auto-fill을 사용하고, Grid Container의 넓이가 600px 초과 된다면, 셀이 가지는 column의 길이가 원래는 Grid Container의 길이만큼 꽉차게 늘어나다가 200px이 가질 수 있는 크기를 넘어서게 되니 꽉차지 않게 되는 것 같습니다. 위의 질문과 동일한 것같습니다만, 자동으로 늘어나는 것은 400px (200px 셀 2개) 의 크기보다 Grid Container의 길이에서 뺀것의 크기가 200px 이상이라면 자동으로 늘어나는 것이 중단되고, 200px 이하라면 늘어나는 것이 되는 것인데, 왜 200px 이하라면 늘어나는 것입니까? Grid Container의 넓이를 200px으로 나눌때 나머지가 200px 보다 작다면 그냥 Grid의 성질에 의해 늘어나는 것인가요? Flex만 사용하던 사람이라 minmax의 대한 성질과 auto-fill을 공부하니 약간 했갈리네요...
강의영상에서 myLogger라는 예제 미들웨어를 사용하는 부분이 있었습니다. const myLogger = function(req, res, next) { console.log('LOGGED'); next(); } app.use(myLogger); 위 코드를 삽입한 후 각 경로에 요청을 넣어보면 모두 LOGGED 가 출력되었습니다. 그런데 딱 한 경로, post/edit/:postNum 경로에 대한 GET요청은 출력이 되지 않습니다. 특별한 이유가 있는건지, 아니면 제 개발환경의 문제인지 감을 못잡고 있는 상황입니다. 선생님이나 알고계신 분의 도움을 구합니다.
강의영상 23;29초을 보면 두 번째 루프가 1024부터 시작함 0~1024바이트까지는 32바이트 단위로 증가 1025~2048바이트 까지는 128바이트 단위로 증가 즉 1025바이트가 필요하면 1024+128바이트의 메모리 풀에서 메모리를 가져다 쓴다(메모리 매니저의 pools의 1025번지는 1024+128단위로 할당되는 메모리 풀을 가리킨다.) 로 의도하셨다고 생각이 듭니다. 하지만 size=1024로 대입하는 구문을 빼면 size=1024+32 부터 시작합니다. 따라서 사용자가 1025바이트가 필요로 하면 메모리 매니저의 pools의 1025번지에는 1024+32바이트의 메모리풀에서 pop해서 사용할 것 같습니다. 의도했던것에서 값이 밀렸기에 3번째 루프에서 size는 2080에서 시작하고 2080 > 2336>2592 >...>3872 > 4128루프탈출 그렇기에 3873~4096번지까지는 NULL이들어갑니다. 루프시작시에 1024, 2048부분이 들어가야 할 것 같습니다.