묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
0강 Win32 작업자 스레드 동기화 9:33~
DWORD WINAPI ThreadFunction(LPVOID pParam) { puts("*** Begin Thread ****"); for (int i = 0; i < 5; ++i) { printf("[Worker thread] %d\n", i); ::Sleep(1); } //스레드가 끝나기 전에 이벤트를 세트한다. puts("종료 이벤트 세트 전"); //이 함수를 호출하면 _tmain() 함수의 //WaitForSingleObject() 함수가 반환한다! ::SetEvent((HANDLE)pParam); puts("종료 이벤트 세트 후"); puts("**** End Thread ****"); return 0; }for (int i = 0; i < 5; i++) { printf("[Main thread] %d\n", i); //i값이 3이면 이벤트가 세트되기를 무한정 기다린다! if (i == 3 && ::WaitForSingleObject(hEvent, INFINITE) == WAIT_OBJECT_0) { puts("종료 이벤트를 감지했습니다!"); ::CloseHandle(hEvent); hEvent = NULL; } }3일 때 worker 스레드가 실행되는 조건문 하에서Main함수가 2일 때도 반환되고 0일 때도 반환됩니다.말씀해주신대로 3일 때 반환되는 경우도 있지만 보장되지 않고 빈번하게 아래 케이스처럼 반환되는 경우가 있습니다.(디버그 모드, 릴리즈 모드 모두에서)이는 무슨 이유 때문인지 궁금합니다. case1[Main thread] 0[Main thread] 1[Main thread] 2*** Begin Thread ****[Worker thread] 0[Main thread] 3[Worker thread] 1[Worker thread] 2[Worker thread] 3[Worker thread] 4종료 이벤트 세트 전종료 이벤트 세트 후**** End Thread ****종료 이벤트를 감지했습니다![Main thread] 4 case2[Main thread] 0*** Begin Thread ****[Main thread] 1[Main thread] 2[Worker thread] 0[Main thread] 3[Worker thread] 1[Worker thread] 2[Worker thread] 3[Worker thread] 4종료 이벤트 세트 전종료 이벤트 세트 후**** End Thread ****종료 이벤트를 감지했습니다![Main thread] 4
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
reactQuery로 짜고있는데...
useQuery 나 mutation같은걸 통해 데이터를 가져오는데 데이터 렌더링이랑 훅스랑겹치지않게 가장 함수끝부분에 배치해야된다해서 그렇게 배치했는데 data 의 null 값여부를 젤 밑에서 하니까 그위에 훅스들은 수동으로 null 값을 체크해야되는데 이런경우는 어떤식으로 하는게 좋을까요?interface Props { children?: React.ReactNode } const Comp: FC<Props> = () => { const {p1, p2} = useParams() if (!p1|| !p2) { return <>loading error</>; } const {data} = useQuery({ queryKey: mykey, queryFn: () => myfunc1(userId, codeId) }); const {mutate} = useMutation({ mutationFn: async (data: CodeRequestEntity) => { await myfunc2(data) return true } }) if(!data){ return <>loading</> } const onClickConfirm = useCallback(() => { mutate(data) onClose() }, []) return ( <> <Button variant={"outlined"} onClick={onClickConfirm}>예 </Button> </> ); }; export default Comp; 이런식으로 하게되면 분기문을통해 데이터 null 처리를 해서 분기문 밑어부터는 null 처리를 안해도되는데 null 처리를 가장 밑에 렌더링부분에 넣으면 그위에 훅스에선 데이터쓸때마다 null 처리해줘야되서 혹시 다른 방법 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
lightgbm 사용 관련
안녕하세요 선생님 랜덤포레스트 사용을 위해 전처리 과정에서 인코딩, 스케일링, 데이터 분리 등 코드를 이미 다 짜둔 상태에서lightgbm을 추가로 모델링하고 싶은 상황이 올 때object 컬럼 전처리 한것을 category로 변경해줘야 정상 동작하는 걸까요?아님 모델링 이전에 해둔 단계는 그대로 두고 lightgbm fit할때 X_tr, y_tr만 넣으면 정상동작 하는걸까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형모의문제2 문제5
import pandas as pd df=pd.read_csv("members.csv") q3=df.quantile(.75) q1=df.quantile(.25) IQR=q3-q1 lower=q1-1.5*IQR upper=q3+1.5*IQR cond1=df['views']<lower cond2=df['views']>upper print(sum(cond1|cond2)) Can only compare identically-labeled Series objects 이런에러가 떠서요조건으로 설정한후에 문제푸는방법은 안되는건가요?아니면 sum을 각각 지정안하고 한꺼번에 묶은것도 문제인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요! 서버 연결 관련 질문드리고 싶은게 있습니다!
안녕하세요 강사님!강사님의 수업을 듣고 서버를 넣은 개인 포폴을 제작 중인 학생입니다서버와 클라이언트 연결문제가 있어서 질문드리고 싶은게 있습니다 같은 공간에서의 서버와 클라 연결에서는 문제가 없습니다 하지만 다른 공간에서 연결이 되지않는 문제가 있습니다 기본 게이트웨이가 다르면 연결이 되지 않는것 같아요 그래서 하마치 같은 프로그램을 사용하면 연결이 됩니다.. 이런 문제는 라우팅이 안돼서 발생하는 문제인가요? 제가 수업에서 놓친부분이 있는건지.. 이런 문제는 어떻게 해결할 수 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
비모수검정
A or B집단이 정규분포를 따르지 않을 경우, 비모수 검정인가요 ?
-
미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
py_ad_2_5_2 Sharing State의 Argument 부분
Sharing State의 두번째 예제 Value 객체를 다루는 부분에서 generate_update_number 함수에서 전달 받는 인자가 첫번째 예제와 같이 v: int라 명시되어 있습니다.하지만 함수 내부에선 v는 Value 객체로 활용되는데, 여전히 잘 동작하는 이유는 파이썬이 자동적으로 캐스팅 해주기 때문인가요? 아니면 다른 이유가 있는건가요?그리고 만약 교정이 필요하다면 함수 인자 Type Hint 표기 시 어떻게 해주어야 할까요?
-
미해결토비의 스프링 부트 - 이해와 원리
@JdbcTest 관련 질문
안녕하세요. 섹션 10. 스프링 부트 자세히 살펴보기에서스프링 부트의 자동 구성과 테스트로 전환하는 부분 보다가 궁금증이 생겨서 질문남깁니다. @HellobootTest를 @JdbcTest 또는 @SpringBootTest로 전환하는 부분에서 @JdbcTest같은 경우는 내장된 테스트용 db로 교체를 한다. 라고 설명을 해주셨습니다. 그리고 이전 강의에서 테스트를 위해 인메모리 db인 h2를 사용하도록 application.properties에 설정을 하고 테스트를 진행했었습니다. 여기서 질문은 @JdbcTest를 사용하면 교체된다고 하는 db가 기존에 사용했던 h2 DB가 아닌 또 다른 DB로 전환된다는 말씀인건지가 헷갈려서 질문드립니다. 구체적으로 JdbcTemplateTest class가 jdbcTemplate을 테스트하기 위해 hello table을 db에 생성하고 insert하는 작업을 할 때, @HellobootTest 일 때는 h2 db를 사용하고 @JdbcTest로 교체했을 때는 다른 embedded db를 사용하는건가요? 감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
스케일링 질문드립니다.
n_train = train.select_dtypes(exclude='object').copy()n_test = train.select_dtypes(exclude='object').copy()보통 민맥스 스케일링 할 때 위처럼 오브젝트와 아닌 것들을 나눈 뒤에 아래 처럼 스케일링을 진행하잖아요. 근데 밑에서 cols 변수에 수치형 데이터만 명시를 하는데굳이 나눠서 하는 이유가 뭔가요??그냥 train[cols] 로 해도 전혀 문제 없는 거 아닌가요? cols = ['컬럼명', '컬럼명', '컬럼명']from sklearn.preprocessing import MinMaxScalerscaler = MinMaxScaler()n_train[cols] = scaler.fit_trainsform(n_train[cols])n_test[cols] = scaler.trainsform(n_test[cols])
-
미해결Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
비밀번호 재설정에서 질문있습니다!
안녕하세요, 파이어베이스 인증 부분'비밀번호 변경하기' 강의에서 궁금한 것이 있어 질문드립니다. 비밀번호 재설정을 위해 이메일로 재설정 링크를 발송하고재설정할 비밀번호를 입력하면이 창이 뜨는데, 여기서 저는 비밀번호 재설정 후 바로 제가 원하는 로그인화면으로 나왔으면 좋겠습니다. 상기의 화면은 제가 생성한 파일이 아니라firebase에서 보여주는 화면인데,그 부분은 어떻게 해야할까요, 그럼 확인부탁드리겠습니다감사합니다!
-
미해결스프링 핵심 원리 - 기본편
도메인의 의미
간단한 질문이긴 한데 예를 들어 "회원 도메인" 여기서 "도메인"의 의미가 구체적으로 어떤 걸 의미하나요??대충 이해가 되긴 하지만 조금 추상적으로 느껴져서 질문 드립니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
질문이요!
질문)roc-auc 는 predict_proba로f1, 정밀도, 정확도, 실현율은 predict로답안을 제출하는것으로 알고있는데,네가지 전부 다 평가를 한다고 하면 어떤 값을 기준으로 제출해야할까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
스프링 시큐리티 최신버전 코드 있을까요?
제일 최근에 질문한 글 참고해도 적용이 안되네요...혹시 현재 버전에서 적용 가능한 코드가 있을까요?아니면 참고할 수 있는 자료라도 있을까요? https://start.spring.io/ 에서 gradle로 생성해서 사용중입니다. 스프링 3.2버전 사용하고있어요.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@Column 관련 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.실전 예제에서 추가된 카테고리랑 딜리버리에 @Column이 추가되지 않은 이유는 DB Table까지는 사용하지 않을 거여서라고 생각하면 될까요?Order나 Member에는 @Column이 있는데 다른 곳은 또 @Column이 없고.. 어디서 어떻게 써야할지 확신이 안갑니다 ㅜ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 실행문제
소스파일https://drive.google.com/file/d/1Laef4VrgEfQ0--86aUf1ENR9yi4LSwXF/view?usp=sharing강사님이 하신대로 따라하는 중인데 처음 MemberRepositoryTest를 실행할 경우 테스트가 통과됩니다. 이후 @Rollback(false)를 추가해서 실행할 때부터 에러가 납니다. h2 DB를 삭제하고 처음부터 다시 해봐도 똑같이 처음 한번은 통과하고 그 다음부터 에러가 납니다. 아래는 로그 전문입니다. https://drive.google.com/file/d/1sLImPcsiNvBY04ZOmBWe6fVansFaWWPi/view?usp=sharing
-
미해결<M.B.I.T> 테스트 페이지 만들기! with Django
제출버튼 클릭하면 오류 발생
마지막 단계에서 제출버튼 클릭하니 위와 같은 오류가 발생합니다. 어떻게 해결해야해 하나요 ?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험때 사용가능여부
선생님이 test_id=test.pop('id') 이런식으로 코딩자주 하셨었는데 그 전에 강의에서 들을때는 주의사항에 채점문제때문에 test데이터는 임의로 삭제하면 안된다고 하셨잖아요 test_id=test.pop('id') 이거는 실제 시험장에서 써도 되는건가요? 갑자기 헷갈려서요 ㅠㅠ
-
미해결코딩의민족 앱 제작 (Android kotlin)
View Binding으로 GridView를 구현하고 싶습니다.(섹션0-GridView 강의 문의)
안녕하세요. 섹션0의 Gridview를 실습 문의드립니다. 질문내용 : 'kotlin-android-extensions' 에서 View Binding으로 교체하고 싶습니다. 상황설명 : (1) 실습후 빌드하면 'kotlin-android-extensions' 이 종료되었다고 합니다. 이로 인해 실습을 따라하면 빌드 에러가 발생되고 있습니다.(참고사진-1) (2) 참고사진-1에서 빌드 콘솔에 나오는 가이드 개발자 사이트의 설명에 따라 View Binding으로 코드를 갱신하고 있습니다만 GridViewAdapter.kt등에 어떻게 적용해야 할지 감을 못 잡고 헤메고 있습니다.[참고사진-1.build시 에러 장면][참고사진-1.build의 콘솔 내용]The 'kotlin-android-extensions' Gradle plugin is no longer supported. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.android.com/topic/libraries/view-binding) and the 'kotlin-parcelize' plugin. 조언 등을 부탁드립니다. 감사합니다. 부록.해당 실습예제코드(gitHub)https://github.com/BoSeongGim/practice_coding/tree/main/andorid(mobile)/clone_cording(cording_peoples)
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
next-auth 로그인 시 unauthorized 문제
문제가 몇일째 안풀리는게 있어 문의드려요제가 next-auth를 사용해서 로그인 프로세스를 해보고 있습니다.로컬에서 별도로 배포환경 만들어서 테스트를 했을 때에는 잘 되는데 배포시에 계속 Unauthorized 에러가 발생해서요제가 작성한 [...nextauth].ts 코드입니다.import NextAuth, { User } from 'next-auth'; import CredentialsProvider from 'next-auth/providers/credentials'; import { refreshAccessToken } from 'utils/tokenRefresh'; export default NextAuth({ providers: [ CredentialsProvider({ name: 'Credentials', credentials: { userId: { label: 'UserId', type: 'text', placeholder: 'jsmith' }, password: { label: 'Password', type: 'password' }, }, authorize: async (credentials) => { const res = await fetch(`${process.env.NEXT_PUBLIC_BACKEND_URL}/api/v1/users/signin`, { method: 'POST', body: JSON.stringify({ userId: credentials!.userId, password: credentials!.password, }), headers: { 'Content-Type': 'application/json' }, }); const user = await res.json(); // 로그인 성공 시 사용자 객체를 반환하고, 실패 시 null을 반환 if (res.ok && user) { console.log('ok user', user); return user; } else { console.log('error user', user); return false; } }, }), ], secret: process.env.NEXTAUTH_SECRET, // session: { // strategy: 'jwt', // maxAge: 0, // 브라우저가 닫히면 세션 종료 // // updateAge: 24 * 60 * 60, // 24시간마다 세션 갱신 (옵션) // }, callbacks: { async jwt({ token, user }) { // 사용자 로그인 시 토큰 설정 if (user) { return { ...token, accessJwt: user.result?.accessJwt, refreshJwt: user.result?.refreshJwt, companyId: user.result?.companyId, userName: user.result?.userName, accessTokenExpires: Date.now() + 3600 * 1000, }; } // 토큰 만료 확인 및 리프레시 if (Date.now() > token.accessTokenExpires!) { const newAccessJwt = await refreshAccessToken(token.refreshJwt!); return refreshAccessToken(newAccessJwt); } return token; }, async session({ session, token }) { if (token && token.accessJwt) { const customUser = session.user as User; if (!customUser.result) { customUser.result = { accessJwt: '', refreshJwt: '', companyId: '', userName: '', }; } customUser.result.accessJwt = token.accessJwt; customUser.result.refreshJwt = token.refreshJwt; customUser.result.companyId = token.companyId; customUser.result.userName = token.userName; session.user = customUser; } return session; }, }, }); NEXT_PUBLIC_BACKEND_URL 환경변수는 별도의 백엔드를 구성한 주소이구요 배포는 도커를 사용했습니다.FROM node:20.10 as builder # pnpm 설치 RUN npm install -g pnpm WORKDIR /usr/src/app COPY package*.json ./ RUN pnpm install ARG NEXT_PUBLIC_BACKEND_URL ARG NEXTAUTH_SECRET COPY . . RUN NEXT_PUBLIC_BACKEND_URL=https://${NEXT_PUBLIC_BACKEND_URL} NEXTAUTH_SECRET=${NEXTAUTH_SECRET} pnpm run build FROM node:20.10 RUN npm install -g pnpm WORKDIR /usr/src/app COPY --from=builder /usr/src/app/package*.json ./ RUN pnpm install --prod COPY --from=builder /usr/src/app . # COPY --from=builder /usr/src/app/.next ./.next EXPOSE 3000 CMD ["pnpm", "run", "dev"]NEXTAUTH_SECRET은 프론트 주소를 도커 실행 시 넣어줘야 한대서 도커 실행 할 때 환경변수로 따로 넣어줬구요Docs, Stackoverflow, ChatGPT 등 여러 방면으로 찾아봤는데 해결이 안되더라구요..강의하고는 별개 내용이긴 한데 더이상 물어볼 데가 없어서 강사님께 여쭈어봅니다..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
코드를 그대로 따라했는데도 로그가 찍히지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]여기에 질문 내용을 남겨주세요.서블릿 필터 - 요청로그 강의 듣고 있는데요.LogFilter.java와 WebConfig.java 를 강의내용과 똑같이 따라쳤는데도 로그가 나오지 않습니다...혹시나 놓친부분이 있나 싶어 pdf의 코드를 복사 붙여넣기 해봐도 똑같네요ㅠㅠ이전까지는 log.info가 잘 출력됐는데 왜이러는지 모르겠습니다... 도움 부탁드려요