묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨코딩으로 학습하는 리팩토링
1강 강의소개
기선님 1강 강의소개 영상이나 문구가 비어있는거 같아요 ~
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
안녕하세요, 질문 몇 가지 입니다.
안녕하세요, 먼저 좋은 강의 감사드립니다. 강의 공부 이후 몇가지 질문이 있어 글 남깁니다 ! 1. 아래 코드에서 bcrypt.hash(user.password, salt, function (err, hash) { //암호화 할 데이터, 암호 해시에 사용할 솔트.숫자로 지정되면 지정된 라운드 수로 솔트가 생성되어 사용됨. //cb : 데이터가 암호화 되면 호출 발생(오류,암호화된 양식을 제공하는 콜백의 매개변수.) if (err) return next(err); user.password = hash; next(); }); hash()의 콜백은 데이터가 암호화 되면 발생한다고 하였는데, 그럼 hash의 파라미터 두개가 들어온 시점에서 이미 암호화가 된것인가요? user.password = hash를 해주는 것이 암호화를 해주는 것 아닌가요? 2. userSchema.methods.generateToken = function (cb) { var user = this; //jsonwebtoken을 이용해서 토큰생성하기. var token = jwt.sign(user._id.toHexString(), "secretToken"); user.token = token; user.save(function (err, user) { if (err) cb(err); cb(null, user); }); }; sign()에서 user.id를 toHexString()으로 해서 넣어줬는데, 그렇다면 만약 제가 db에 따로 id항목을 만들어서 1~관리한다고 치면 user._id가 아닌 user.id를 사용해도 괜찮은것인가요? 또한 위에서 save를 쓰는데 우리는 위에서 pre("save"를 만들었습니다. 그럼, 이 코드에서도 위에서 작성한 pre가 작동한 이후에 비밀번호가 바뀌는 경우가 아니기때문에 그냥 next()되는 것인가요? 3. 서버측 auth.js에서, let token = req.cookies.x_auth; 이 코드는 cookies가 따로 선언된곳이나, 들어오는 request에도 쿠키가 있는지 잘 모르겠습니다. 어떻게 사용할수있는건가요 ?? 4. 서버측 user.js의 pre ("save, 중 //isModified("문서") : 가 수정된 경우 true를 반환하고, 그렇지 않으면 false를 반환한다. if (user.isModified("password")) { //gensalt : generate Salt for my password which need to encrypted bcrypt.genSalt(saltRounds, function (err, salt) { 제가 이해한 바로는, 이 isModified는 password가 수정된 경우 true를 반환하는 함수인데, 우리는 회원가입 할 때 save 직전에 이 함수가 실행됩니다. 이 때 회원가입에서 사용되는 데이터는 클라이언트 측에서 보내온 데이터이구요. 그렇다면 password의 변경점이 없었다고 생각하는데 왜 true가 반환되어 실행되는 것인가요? genSalt도 아래에 있기에 입력숫자 -> salt변경도 아닌 것 같고, 혹시 db스키마를 만들면 기본값으로 들어있는 값이 있는것인가요 ? 5. loginPage에 onSubmit이 action Creater dispatch( loginUser(body) )에서 loginUser를 action 이 맞나요 ? 6. 혹시 //applyMiddleware : 미들웨어를 적용하는 것. //promiseMiddleware와 ReduxThunk를 적용하고, createStore를 통해 store를 만들어 준다. const createStoreWithMiddleware = applyMiddleware( promiseMiddleware, ReduxThunk )(createStore); 와 같이 마지막에 (괄호)를 사용하는 문법은 어떤 문법일까요 ?(뭐라고 검색해서 찾아봐야할까요??) 저 코드를 arrow나 function 형태로 정리하면 어떤 식인가요? (아래 질문에 첨부한 코드에서 파라미터를 넣는 형식이 이해가 가지 않아서 질문합니다.) 7. 전체적인 흐름을 다시한번 파악하면서 공부중인데, redux의 type에 관해서 잘 이해가 가지 않습니다. types.js에서는 어째서 "login_user"와 같이 소문자를 넣어줬는지 (이 부분을 찾아보니 redux의 type권장 ??이라고 하는데 영어가 좀 부족해서 공식문서를 제대로 읽질 못했습니다 ㅠㅠ) _reducers 폴더에 user_reducer.js에 해당하는 내용이 어떤 파일에서 사용이 되었는지 (제가 이해하기로는 client/index.js에서 import Reducer from "./_reducers"; <Provider store={createStoreWithMiddleware( Reducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() )} > 에서 Reducer에서 자동으로 _reducers의 index.js를 파악하고, index.js 안에서 combine된 항목들 중 user reducer를 store로 올려 state를 관리하게 한다. 혹시 이게 맞을까요 ? ) 강의를 끝까지 다 들어보고 한번에 질문을 올려 질문이 너무 많은 것 같아 죄송합니다. 좋은 강의 찍어주셔서 감사합니다. 앞으로 로드맵 열심히 따라 가보도록 하겠습니다 !
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
1. 크롬 개발자도구 작동 질문입니다.
Q1. 아래 강의화면에서 115행 “res.text” 하면 나온 결과에서 중간에 색깔이 파란색인 문자열들이 있습니다. Href 뒤 문자열인 것 같습니다. 그런데, 저의 jupyter notebook에서는 파란색이 없고, 모두다 검은색입니다… 뭘 해주면 될까요? Q2. 브라우저에서 현재, 일별시세 테이블의 4 페이지를 누른 상태인데, my_headers 변수 안에 있는 “referrer”의 “page”파라미터의 값이 3 인 이유는, 4 페이지로 옮기기 “직전 페이지”이기 때문인가요? 저는 일별시세 테이블 1페이지 상태에서, 바로 4 페이지를 눌렀더니, referrer의 page가 “1” 이었습니다. 이게 맞는거죠? Q3. 크롬 개발자도구에서, 상단 메뉴 왼쪽에 “Clear”가 있습니다. 이 기능은 정확하게 어떤 경우에 사용해야 하나요? “finace.naver.com” 일별시세 표에서, 1페이지를 누르고, 크롬 개발자도구를 open 한 후에, 일별시세 4 페이지를 눌렀을 때, 크롬 개발자도구에서 Preview/Response/Header 어느 곳에도, 4 페이지를 눌렀던 request가 전달되지 않았습니다. 그런데, 개발자도구에서 “clear”버튼을 누른 후, 일별시세 표의 4페이지를 누르니까, 개발자도구에도 반영이 되었습니다. 그러니까, 일별시세 표의 페이지를 변경할 때마다, 개발자도구에서 “clear”버튼을 눌러주어야 하나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 싱글톤
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 김영한 개발자님. 항상 좋은 강의 감사합니다. 강의를 듣다가 궁금한 점이 생겨서 질문드려요. 9:39초에서 http request, response는 고객마다 데이터가 다 다르기 때문에 요청이 올때마다 계속 생성하는게 맞다는 것은 이해가 갑니다. 그런데, 왜 서블릿은 싱글톤으로 만들어야 되는지 잘 이해가 가지 않습니다. 제가 생각하기에는 만약 고객1이 /spring을 요청하고 고객2가 /hello를 요청한다면 이 둘의 데이터도 다르기 때문에 각자 생성해야되지 않나 싶어요ㅠㅠ 10:19초에서 말씀하신 것처럼 개별 요청이 오면 애플리케이션 로직을 작성하고 또 다른 요청이 오면 같은 서블릿에 또 다른 애플리케이션 로직을 작성하고.... 이런 식으로 동작하는 걸까요? 감사합니다.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
질문있습니다.
여러번 실험 함으로써 감을 익힌다고 하셨는데 한번 실행하는데 거의 1시간가까이 걸리는데 어떻게하면 좀더 효율적으로 경험을 쌓아갈수 있을까요 ??
-
미해결홍정모의 따라하며 배우는 C언어
11.7 선택정렬함수
void selectionsort(int arr[],int n) { int i,j,min_idx; min_idx=0; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(arr[min_idx]>arr[j]) { min_idx=j; } swap(&arr[i],&arr[min_idx]); } } } 첫번째 for문 밑에 min_idx=i를 안쓰고 위에 처럼 코드를 써도 똑같이 출력될줄 알았는데 아니네요..(제 의도는 시작할 때 첫번째 원소를 최솟값이다! 라고 정해놓고 하려했습니다.) 이유를 잘 모르겠습니다..(혹시 변수 min_idx의 범위 때문인가요?)
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
CASE와 WHERE의 차이점
안녕하세요, 좋은 강의 감사합니다. CASE와 WHERE의 차이점이 무엇일까요~? 어떤 조건에 따라 자료를 필터링해야할 때, 어떤 것을 써야할지 헷갈립니다! 감사합니다.
-
미해결초보를 위한 쿠버네티스 안내서
m1 질문
강사님 안녕하세요. m1 사용자여서 docker driver를 이요하여 VM을 설치하였습니다. 여기서 VM은 docker의 컨테이너로 한번더 추상화 되어 있다고 보면 되는것인가요???
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
uri 설계 질문
회원 수정 /members/{id}/edit POST 위 URI 를 /members/edit/{id} POST 위와 같이 설계하여도 괜찮은 설계인가요?
-
해결됨[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
RecyclerView Adapter 적용 관련 질문드립니다!
안녕하세요 강의대로 프로젝트 진행 중 한 가지 문의를 드립니다 (팁 페이지 만들기 - 컨텐츠 리스트 만들기(RecyclerView 1) 강의 진행 중입니다) ContentRVAdapter()에 3개의 값을 갖고있는 ArrayList<String> 를 넘겼으나 화면에 3개의 content가 표시되지 않는데 원인이 무엇인지 알 수 있을까요? 아래 관련 소스를 이미지로 첨부하였습니다 확인 한번 해주시면 감사하겠습니다! 0. 콘텐츠 3개가 표시되지 않음 1. ContentRVAdapter -디버깅으로 getItemCount() items.size의 값은 3을 확인 - onCreateViewHolder(), onBindViewHolder() 한 번 씩만 호출되는 것으로 보이는데 놓친 개념이 있는 걸까요? 2. ContentListActivity 3. content_rv_item 4.activity_content_list
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
s.toString() vs. String.valueOf(s)
먼저 좋은 강의 감사드립니다^^ String tmp = s.toString(); 위처럼 코드를 작성하면 정상적으로 출력되지않고, [C@6bc7c054[C@232204a1[C@4aa298b7 이렇게 출력되는데요.. String.valueOf(s) 와 s.toString() 과의 차이가 궁금합니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
actuator status: 404
spring : 2.6.x swagger 3.0.x actuator : 2.6.x 사용 중인데 http://localhost:8080/actuator 실행시 404 에러가 생깁니다.
-
해결됨IT 기업 취업을 위한: 코딩테스트 혼자서 정복하기 (C/C++)
안녕하세요! 왜 +1 을 하는 지 모르겠습니다
안녕하세요! 좋은 강의 감사합니다 동전문제 구현 5:13초에서요~ dp[i] = max(dp[i - 3] + 1, dp[i - 5] + 1); dp[i] = min(dp[i - 3] + 1, dp[i - 5] + 1); 위 두 문장에서 왜 +1 이 쓰이는 지 모르겠습니다ㅠ 도와주시면 감사하겠습니다!ㅎㅎ
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
this와 *this
안녕하세요 강의를 거의 다 듣다가 헷갈리는 개념이 있어서 복습중입니다. this와 *this에 대해서 잘 이해가 안되는 부분이 있어서 질문 드립니다. 아래와 같이 예시 클래스를 만들어 봤을 때 (멤버변수들은 제가 메모리에서 쉽게 찾아보려고 연속되게 넣은거고 의미 없습니다) class Simple { public: Simple& operator=(const Simple& rhs) { if (this == &rhs) return *this; } private: int mNum = 1; int mNum2 = 2; int mNum3 = 3; int mNum4 = 4; int mNum5 = 5; }; 궁금한 점은 *this는 객체 자신이다 라는게 과연 정확히 뭘까가 의문입니다. this는 자신이 속한 객체의 포인터인것은 이해가 가지만 *this 객체를 자신을 넘긴다는게 어떻게 가능한지 어떤 의미인지 의문입니다. 시작주소 + 어떠한 객체에 대한 헤더정보가 넘어가는것인가요 ? 제가 헷갈리는 이유는 예를 들어서 int num = 3; int* ptr = # cout << *ptr << endl; int arr[10] = { 0 }; int* arrptr = arr; cout << *arrptr << endl; 변수와 배열에 대해서 포인터를 만들었을 때 여기서 *ptr은 값 3이고, *arrptr은 첫번째 원소의 값 0이지 int arr[10]이거나 arr의 첫번째 원소의 주소가 아니기 때문에 *this가 객체 자신을 넘긴다 ?라는게 어떤 의미일지 이해가 잘 안갑니다. 결국 return 값으로 넘길수 있는것은 뭔가 한개일테고 데이터멤버 첫번째가 값이 아니면 시작주소 아닐까 싶은데. 만약에 단순히 시작주소라면 this ==&rhs 이 문장은 *this == &rhs로 바꿔도 똑같을테고요.. 결론적으로 질문은 *this가 객체 자신을 가리킨다는것이 어떤 의미인지 ?? 입니다. 객체는 일대일 대응이 안되다보니 가리킨다 라는 개념이 안 와닿습니다. 시작주소라고 하면 ? 그냥 포인터랑 다른점이 없는거 같구요. 뭔가 헤더 정보를 가지고 있는것인가요. + 구조체로 테스트 해보려고하면 C++ 이러한 피연산자와 일치하는 연산자가 없습니다. 피연산자 형식이 std::ostream << myStruct입니다. 아예 되지가 않습니다. 조사식으로 *strptr == my인 것은 확인했습니다. 여전히 어떻게 가능한지? 잘 이해는 안되네요 ㅠ struct myStruct my; struct myStruct* strptr = &my; cout << *strptr << endl;
-
미해결Spring Boot JWT Tutorial
org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [FKASNMJAR8JR5GAXVD7966P19IR]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
안녕하세요? 이 강의를 보고, 이 강의를 토대로 토이 프로젝트를 진행하고 있습니다. 근데 계속 아래와 같은 Exception이 터지고 있습니다. 다수 회원을 생성 합니다! Hibernate: insert into member (member_id, modify_date, register_date, about_me, activated, email, name, nickname, password, phone) values (null, ?, ?, ?, ?, ?, ?, ?, ?, ?) Hibernate: insert into member_authority (member_id, authority_name) values (?, ?) 2022-02-09 23:42:57.821 WARN 11871 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 23506, SQLState: 23506 2022-02-09 23:42:57.821 ERROR 11871 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Referential integrity constraint violation: "FKASNMJAR8JR5GAXVD7966P19IR: PUBLIC.MEMBER_AUTHORITY FOREIGN KEY(AUTHORITY_NAME) REFERENCES PUBLIC.AUTHORITY(AUTHORITY_NAME) ('ROLE_FAMILY')"; SQL statement: insert into member_authority (member_id, authority_name) values (?, ?) [23506-200] 2022-02-09 23:42:57.823 INFO 11871 --- [ main] o.h.e.j.b.internal.AbstractBatchImpl : HHH000010: On release of batch it still contained JDBC statements org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [FKASNMJAR8JR5GAXVD7966P19IR]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:276) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:233) at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:566) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:174) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) at com.sun.proxy.$Proxy142.save(Unknown Source) at org.comunity.hongga.repository.MemberRepositoryTest.lambda$회원_100명_생성_상세_조회$0(MemberRepositoryTest.java:76) at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104) at java.base/java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:593) at org.comunity.hongga.repository.MemberRepositoryTest.회원_100명_생성_상세_조회(MemberRepositoryTest.java:57) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:59) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:37) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200) at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:46) at org.hibernate.persister.collection.AbstractCollectionPersister.recreate(AbstractCollectionPersister.java:1352) at org.hibernate.action.internal.CollectionRecreateAction.execute(CollectionRecreateAction.java:50) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604) at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:478) at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:344) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:40) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107) at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1402) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:493) at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3285) at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2420) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:449) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:183) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281) at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101) at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:562) ... 87 more Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Referential integrity constraint violation: "FKASNMJAR8JR5GAXVD7966P19IR: PUBLIC.MEMBER_AUTHORITY FOREIGN KEY(AUTHORITY_NAME) REFERENCES PUBLIC.AUTHORITY(AUTHORITY_NAME) ('ROLE_FAMILY')"; SQL statement: insert into member_authority (member_id, authority_name) values (?, ?) [23506-204] at org.h2.message.DbException.getJdbcSQLException(DbException.java:527) at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) at org.h2.message.DbException.get(DbException.java:227) at org.h2.message.DbException.get(DbException.java:203) at org.h2.constraint.ConstraintReferential.checkRowOwnTable(ConstraintReferential.java:311) at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:252) at org.h2.table.Table.fireConstraints(Table.java:1163) at org.h2.table.Table.fireAfterRow(Table.java:1181) at org.h2.command.dml.Insert.insertRows(Insert.java:188) at org.h2.command.dml.Insert.update(Insert.java:135) at org.h2.command.dml.DataChangeStatement.update(DataChangeStatement.java:61) at org.h2.command.CommandContainer.update(CommandContainer.java:173) at org.h2.command.Command.executeUpdate(Command.java:252) at org.h2.server.TcpServerThread.process(TcpServerThread.java:408) at org.h2.server.TcpServerThread.run(TcpServerThread.java:191) at java.base/java.lang.Thread.run(Thread.java:831) at org.h2.message.DbException.getJdbcSQLException(DbException.java:459) at org.h2.engine.SessionRemote.done(SessionRemote.java:611) at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:237) at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:191) at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:152) at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197) ... 107 more @Test public void 회원_100명_생성_상세_조회() { // given System.out.println("다수 회원을 생성 합니다!"); // 50번까지 FAMILY // 100번까지 GUEST IntStream.rangeClosed(1, 100).forEach(i -> { if (i <= 50) { Authority authority = Authority.builder() .authorityName("ROLE_FAMILY") .build(); Member memberMany = Member.builder() .email("whoami"+i+"@hongga.com") .password(passwordEncoder.encode("1234")) .name("손님" + i) .nickname("손님이에영" + i) .phoneNumber("010-3948-4934") .activated(true) .authorities(Collections.singleton(authority)) .build(); // when Member saveManyFamily = memberRepository.save(memberMany); // then System.out.println(assertThat(memberMany).isEqualTo(saveManyFamily)); } else { Authority authority = Authority.builder() .authorityName("ROLE_GUEST") .build(); Member memberMany = Member.builder() .email("whoami"+i+"@hongga.com") .password(passwordEncoder.encode("1234")) .name("손님" + i) .nickname("손님이에영" + i) .phoneNumber("010-3948-4934") .activated(true) .authorities(Collections.singleton(authority)) .build(); // when Member saveManyGuest = memberRepository.save(memberMany); // then System.out.println(assertThat(memberMany).isEqualTo(saveManyGuest)); } // if-else 끝 }); System.out.println("==============================================================="); System.out.println("회원 조회를 시작 합니다!"); //given IntStream.rangeClosed(1, 100).forEach(i -> { String email = "whoami"+i+"@hongga.com"; // when Member byEmail = memberRepository.findByEmail(email); // then System.out.println(assertThat(email).isEqualTo(byEmail)); });} // 회원_상세_조회() 끝 이렇게 TEST 코드를 작성해서 여러 회원을 검색하고, 비교 해 보려고 하는데 안 됩니다. 의심 가는 건 저는 회원 등급을 GUEST, FAMILY, ADMIN으로 사용하고 싶은데, 혹시 이걸 Check하거나 뭐 그러는 곳이 있나요?? 조언 부탁 드리겠습니다! https://github.com/junyharang-personal-project/hongga-community-server
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
안녕하세요! 권철민 교수님! 질문이 있습니다!
안녕하세요, 교수님. 필터수와 층 깊이 변경에 따른 모델 성능 비교를 직접 수행해보면서 이상적인 값이 나오지 않아서 질문을 드리게 되었습니다. 우선, 필터수와 층 깊이가 깊어짐에 따라 성능이 좋아져야하는데 3번 정도 학습을 시켜 그래프로 도시해본결과, 정확도면에서는 필터수를 늘리고 깊이가 깊은 모델이 더 성능이 좋아지만, loss면에서는 그렇지 못했습니다. 이 문제점이 어떠한 이유 떄문인지 아니면 원래 시각적으로는 확인해보기 힘든 부분인지 궁금하여 질문을 드리게 되었습니다. 재미있고 계속 듣고 싶어지는 강의 올려주셔서 정말 감사합니다.
-
미해결[원포인트 MBA] 연세대 신현한 교수의 재무관리 에센스
스프레드 시트 다운로드
안녕하세요. 강의 수강 도중 실습을 하려고 하는데 계속 오류가 발생합니다. 모바일에서도 동일하던데, 실습을 위한 파일은 어떻게 다운받아야 하나요?
-
미해결Jupyter Notebook으로 시작하는 Python
저도 자료형 제어문등의 파일이 나오지 않습니다.
안녕하세요 저도 위의 분과 똑같이 강의자료를 다운받아도 자료형 제어문 등의 파일이 나타나지 않습니다. 해결방법을 알 수 있을까요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
config module import
AuthModule 에서 환경 변수 사용하려면 ConfigModule 임포트가 필요한게 맞나요? 없어도 잘 동작하는것 같은데 궁금해서 여쭙니다.
-
미해결플렉스(Flex) 반응형 웹사이트 포트폴리오(The World's Best Cities)
제이쿼리 부드럽게 스크롤할때 제이쿼리에 밑줄오류가 있습니다.
제이쿼리로 네비게이션 a링크 누를때 부드럽게 스크롤 되는거 저렇게 강의영상이랑 똑같이 했는데 저렇게 click에 밑줄이 그어지면서 오류가 나는데 왜그런걸까요?ㅠㅠ