묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
초기화 의미
빈이 생성되고 나서 해당 빈에 의존 관계를 주입해준 다음 필드(속성)값을 넣어주는 과정을 초기화라고 하나요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
위치 지정에 대한 질문입니다.
안녕하세요. 강사님!궁금한점이 있어, 이렇게 질문 남깁니다.오른쪽 핸드 소켓을 설정할 때 상대 위치와 회전을 지정하셨는데, 보통 기획적으로 이미 설정된 값으로 설정되는 것인지 아님 아트쪽에서 설정하는지 아님 이 강의처럼 프로그래머가 직접 무기를 들었을 때 어색하지 않는 위치를 찾아서 설정하는지 궁금합니다.또한, 보통 무기가 한 개가 아닌 여러 개의 종류가 있다면, 위치의 변동이 생기지 않을까?..라는 생각이 드는데 이때는 위치와 회전값을 동적으로 할당하나요? 아님 중간 타협점을 찾아 배치하나요???답변 주신다면 더 열심히 공부하겠습니다! 정말 감사합니다!
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
강의 5.9 질문있습니다.
df['date'] = pd.to_datetime(df['date']) df['price'] = df['price'].astype(float) df.set_index('date', inplace=True) df = df.loc["2017-12-31"] # 비록 DatetimeIndex이지만, 날짜를 문자열 string으로 표현하여 loc을 이용한 range indexing이 가능합니다. df.rename(columns={'title_x':'name', 'title_y':'title'}, inplace=True) df['price_grp'] = pd.cut(df['price'], [0, 5000, 15000, 200000], labels=["저가", "중가", "고가"])7:51 분경의 강의 내용에서 이 코드가 에러가 발생하는데 어떻게 해결해야 하는지 알수 있을까요?4 df.set_index('date', inplace=True)이 부분에서 에러가 발생하는 것으로 보입니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
spring config bus에 actuator 안쓰는거같은데 설치하는 이유있나요?
궁금힌ㅂ니다
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
ec2 AMI 생성 관련 질문 드립니다.
AMI 생성하실 때 우분투로 생성하셨는데 리눅스로 생성 안하고 우분투로 설정하신 이유가 궁금합니다!
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
테스트에 @Transactional 뺀다고 이렇게 하면 좀 과한가요?
당연히 구글링 해보셨져? 원하는 결과를 못찾으셨나요? 어떤 검색어를 입력했는지 알려주세문제가 발생한 코드(프로젝트)를 Github에 올리시고 링크를 알려주세요.안녕하세요 선생님 강의 잘 보고 있습니다! 테스트 메서드에 @Transactional을 다는 것이 테스트를 오염시킬 수 있다는 말씀을 듣고 이리저리 검색해본 결과 저걸 빼고 싶어졌습니다. 덕분에 jpa와 트랜잭션에 대해 잘 몰랐는데 조금 알게됐고, TransactionTemplate을 주입해서 sessions를 초기화하고 꺼내는 코드를 짜봤습니다. 코드를 너무 과하게 키운건 아닌가 싶기도 하고, 한편 Transactional 어노테이션 붙이는거랑 결국 별 차이가 없는건가 싶기도 해서 의견을 여쭤보고 싶습니다. 건강관리 잘 하시길 바랍니다요 @Test @DisplayName("로그인 성공 후 세션 생성") void test2() throws Exception { Member member = memberRepository.save(Member.builder() .name("hi") .email("test@test.com") .password("1234") .build()); Login login = Login.builder() .email("test@test.com") .password("1234") .build(); mockMvc.perform(post("/auth/login") .contentType(APPLICATION_JSON) .content(objectMapper.writeValueAsString(login)) ) .andExpect(status().isOk()) .andDo(print()); List<Session> memberSessions = transactionTemplate.execute(status -> { List<Session> sessions = memberRepository.findById(member.getId()) .orElseThrow(UserNotFound::new) .getSessions(); Hibernate.initialize(sessions); return sessions; }); Assertions.assertEquals(1L, memberSessions.size()); }
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. mvc2 강의는 대체적으로 타임리프 기반으로 설명을 해주시는거 같습니다. 현업에서는 타임리프를 쓰지 않고 프론트-백으로 구분해서 API만 전달해주는 것으로 알고 있는데, 그렇다면 이 상황에서 메세지,국제화, 검증 이런 기능들은 어떻게 구현을 하는건가요?
-
미해결정보전략계획(ISP) 수립 실무
환경분석과 현황분석을 병행할 수 있나요?
프로젝트 시간이 부족한데요환경분석과 협황분석을 동시에 해도 되나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 코드 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상품주문 테스트 코드를 진행 중 자꾸 오류가 뜨는데 찾아보니 member 는 insert 가 잘 되는데 book 객체는 insert 되는 문구가 없고 getId() 값 조차 없는데 강의자료랑 다 맞춰보고 했는데도 해결이 안되서 글 남겨요..
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
ValidationPipe DTO 변환 대신 JS Object 로 변환되는 이유
DTO 변환이 잘 되다가 다른 테스트 케이스 작성중에 아래 처럼 SignInUserRequest DTO 로 변환이 안되는 경우를 겪었습니다. ValidationPipe 옵션 transform: true 임에도 불구하고, 이런 현상이 일어나는 이유를 알 수 있을까요?아래는 잘되는 경우입니다.읽어주셔서 감사합니다.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
ValidationPipe DTO 변환 대신 JS Object 로 변환되는 이유
DTO 변환이 잘 되다가 다른 테스트 케이스 작성중에 아래 처럼 SignInUserRequest DTO 로 변환이 안되는 경우를 겪었습니다. ValidationPipe 옵션 transform: true 임에도 불구하고, 이런 현상이 일어나는 이유를 알 수 있을까요?아래는 잘되는 경우입니다.읽어주셔서 감사합니다.
-
미해결14일만에 배우는 ASP.NET CORE
03 보고 있는데 VS2022로 뭘 어째야 하는건지 감이 안와요... 인터페이스가 너무 달라요
인터페이스가 너무 다른거 같은데.. ㅠㅠ특히 index.cshtml에서 완전 막히네요환불받고 싶은데 혹시나 강의자료가 이 파일일까봐 다운받았는데.. ㅠㅠ 다운받아서 환불도 안되고 넘하네요
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
Connect Task 질문
안녕하세요 우선 좋은 강의 감사드립니다.다름이 아니라 강의에서 Connect Task 가 thread 로 작동한다고 말씀하신 부분을한 Worker process 내에서 여러 개의 thread(task) 로 병렬 처리를 할 수 있다 라고 이해했습니다. 그럼 혹시 여러 Task 가 동시에 접근할 수 있는 변수를 선언해서 사용할 수 있을까요? race_condition 같은 문제를 해결하기 위해 mutex 를 사용할 것 같긴 한데 이러한 구현이 가능한 지 궁금합니다. 감사합니다
-
미해결배달앱 클론코딩 [with React Native]
Layout 관련해서 질문드립니다.
따로 프로젝트를 진행중에 BottomTab과 SafeAreaView (react-native-safe-area-context)를 동시에 사용하는 경우 BottomTab위에 여백이 생깁니다. 찾아본 결과 edges 속성을 적용하면 없어지긴 하는데 매번 SafeAreaView를 사용할 때 마다 edges 속성을 주는건 중복이 발생하는 느낌이 들어서요! 좋은 방법이 있을까요 ?이미지와 코드는 아래와 같습니다!function App() { return ( <NavigationContainer> <Stack.Navigator initialRouteName="BottomTab"> <Stack.Screen name="BottomTab" component={BottomTabScreen} options={{ headerShown: false }} /> </Stack.Navigator> </NavigationContainer> ); }const BottomTabScreen = ({}: BottomTabScreenProps) => { return ( <Tab.Navigator initialRouteName="Todos" screenOptions={{ headerShown: false }}> <Tab.Screen name="Todos" component={TodosScreen} /> <Tab.Screen name="AddTodo" component={AddTodoScreen} /> <Tab.Screen name="Calendar" component={CalendarScreen} /> </Tab.Navigator> ); }; const TodosScreen = ({}: TodosScreenProps) => { const renderItem = useCallback(({ item }: { item: TodoType }) => <Todo item={item} />, []); return ( <SafeAreaView> <StatusBar backgroundColor="#4367FE" barStyle="light-content" /> <FlatList data={TODOS} keyExtractor={todo => todo.id} renderItem={renderItem} /> </SafeAreaView> ); };
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료
안녕하세요. 강의 자료 부탁드립니다. ghuhan18@gmail.com
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
가비아 도메인 연결 후 프론트 주소 페이지가 응답하지 않습니다! "MyDocument.getInitialProps()" should resolve to an object. But found "undefined" instead.
안녕하세요! 제로초님!! [리뉴얼] React로 NodeBird SNS 만들기섹션 6. AWS에 배포하기: 도메인 연결하기 강의까지 수강한 수강생 입니다!가비아 도메인 연결 후 프론트 주소 페이지가 응답이 되지 않아 질문 글을 올립니다!※ 질문 글이 굉장히 깁니다! 항상 강의 잘 보고 있습니다!! ※ 아래 사항을 먼저 확인한 후에 질문을 올렸습니다!1. 저의 경우 도메인을 'nodebird.xyz'로 설정하였습니다.(프론트 : http://nodebird.xyz, 백엔드 : http://api.nodebird.xyz)2. 가비아 네임서버 자리에 Route 53의 nodebird.xyz 네임서버를 순서대로 입력하였습니다!3. 윈도우 서비스의 MySQL 서비스를 실행한 상태입니다.4. 백엔드 주소는 접속이 되어 'hello express'가 화면에 표시됨을 확인하였습니다!5. npm은 6.14.18 버전, node는 v14.21.3 입니다.6. about.js 파일은 잠시 다른 곳으로 옮겨두었습니다.7. 프론트와 백엔드의 인스턴스와 탄력적 IP가 각각 한 쌍으로 연결되어 있으며,바뀐 인스턴스로 우분투 프론트 서버와 백엔드 서버에서 작업하였습니다!(프론트 탄력적 IP : 52.78.52.73 백엔드 탄력적 IP : 43.201.232.110)8. 에러 발생을 막기 위해 sudo npx pm2 kill 명령어로 pm2을 지우고s앞에 sudo를 붙여 git pull, start, reload, list, monit 순으로 작업하였습니다.(메모리 부족으로 빌드만 로컬 프론트에서 진행하였습니다.)9. 프론트, 백엔드 모두 sudo npx pm2 list 명령어를 터미널에 입력했을 때status가 online인 걸 확인하였습니다. 아래는 이전 강의인 프론트 서버 배포하기 강의까지 진행했을 때 프론트 페이지 모습입니다!콘솔 쪽에 아래와 같은 에러도 나고, CSS도 깨지지만 페이지 자체는 접속이 가능했습니다!다음 강의를 진행하며 해결할 수도 있었기에 넘어갔습니다.Failed to load resource: the server responded with a status of 404 (Not Found)(리소스를 로드하지 못했습니다. 서버가 404(찾을 수 없음)의 상태로 응답했습니다,This page failed to load a stylesheet from a URL.이 페이지는 URL에서 스타일시트를 로드하지 못했습니다.that cookie was blocked because it's domain attribute was invalid.해당 쿠키의 도메인 특성이 잘못되었기 때문에 차단되었습니다.)도메인을 연결하기 위해 로컬 프론트, 로컬 백엔드 주소 부분을 nodebird.xyz 도메인으로 수정하였습니다.하지만 도메인 수정 후 아래처럼 프론트 페이지가 응답하지 않습니다!문제를 해결하기 위해 첫 번째로 콘솔 로그부터 확인하였습니다.아래는 리덕스와 네트워크 탭 사진입니다.Failed to load resource: the server responded with a status of 404 (Not Found)(리소스를 로드하지 못했습니다. 서버가 404(찾을 수 없음)의 상태로 응답했습니다,F12를 눌러 개발자 도구를 키면 화면이 매우 빠른 속도로 계속 깜빡이며개발자 도구 화면이 계속 닫혀 정상적인 확인이 어려웠습니다.리덕스 탭은 위의 창을 닫아도 계속 뜹니다. 계속 페이지가 새로 고침 되는 것으로 추정합니다. 문제를 해결하기 위해 우분투 프론트 터미널을 확인하였습니다.TypeError: Cannot read property 'find' of undefined 에러와MyDocument.getInitialProps() undefined 에러 두 개를 확인하였습니다. 더 정확한 에러 확인을 위해 우분투 프론트 터미널에'sudo npx pm2 logs --err --lines 50' 명령어를 입력하였습니다.Error: "MyDocument.getInitialProps()" should resolve to an object.But found "undefined" instead. 오류: "MyDocument.getInitialProps()"가 개체로 확인되어야 합니다.대신 "undefined"가 발견되었습니다.(화면 좌측을 보시면 .next 일부 모듈이 git add가 가능한 상태임을 확인할 수 있습니다..gitignore 파일에 .next를 쓰고, 캐시를 지워도 해결이 되지 않아 일단은 그대로 두었습니다!) MyDocument.getInitialProps 문제를 해결하기 위해커뮤니티와 구글링을 통해 아래 사이트를 참고하였습니다.노드버드 커뮤니티https://www.inflearn.com/questions/154677/error-quot-mydocument-getinitialprops-quot-gt-undefined스택 오버플로우 사이트https://stackoverflow.com/questions/61967960/getinitialprops-should-resolve-to-an-object-but-found-undefined-instead노드버드 커뮤니티에 같은 에러가 발생한 수강생 분 글을 토대로제로초님의 노드버드 깃허브 (Ch6, Ch7, http 등)를 확인하였습니다. 아래는 가장 의심되는 코드입니다!front/config/config.js// 실제 백엔드 주소 내보내기 export const backUrl = 'http://api.nodebird.xyz'; back/config/config.js// 모건(morgan) : 요청과 응답에 대한 정보를 콘솔에 기록하는 모듈 /* ---------- 배포 모드일 환경일 때 설정 ---------- */ if (process.env.NODE_ENV === 'production') { // combined : 로그가 자세해져서 실제 해당 접속자의 IP를 알 수 있다. app.use(morgan('combined')); // hpp : Express의 중복 이름 파라미터 공격을 방어한다. app.use(hpp()); // helmet : HTTP 헤더를 자동 설정을 통해 외부 공격으로부터 보호한다. app.use(helmet()); // 미들웨어 연결 app.use(cors({ /* 배포용에서는 실제 프론트 주소에서 요청했을 때만 CORS 허용하기 */ origin: 'http://nodebird.xyz', /* 사용자 인증이 필요한 쿠키 전달 허용하기 */ credentials: true, })); /* ---------- 개발 모드 환경일 때 설정 ---------- */ } else { // dev : 백엔드 디버깅 app.use(morgan('dev')); // 미들웨어 연결 app.use(cors({ /* 개발용에서는 요청을 보낸 주소의 요청만 CORS 허용하기 */ origin: true, /* 사용자 인증이 필요한 쿠키 전달 허용하기 */ credentials: true, })); }; . . . // 쿠키와 세션 미들웨어 연결 app.use(cookieParser(process.env.COOKIE_SECRET)); app.use(session({ saveUninitialized: false, resave: false, secret: process.env.COOKIE_SECRET, /* ---------- 쿠키 옵션(Cookie Option) ---------- */ cookie: { httpOnly: true, // true로 설정 시 JS로 쿠키에 접근하지 못하도록 막는다. secure: false, // https 적용 시 true로 설정할 예정 /* 쿠키의 도메인이 배포 환경이면 도메인 앞에 '.'을 붙이기 */ // 점을 붙이면 api.nodebird.xyz와 nodebird.xyz 사이에서 쿠키 공유가 된다. domain: process.env.NODE_ENV === 'production' && '.nodebird.xyz' }, })); front/pages/_document.js// 서버사이드 렌더링(SSR) : getInitialProps 사용 export default class MyDocument extends Document { static async getInitialProps(ctx) { const sheet = new ServerStyleSheet(); const originalRenderPage = ctx.renderPage; /* ---------- React 렌더링 로직을 동기적으로 실행 ---------- */ try { ctx.renderPage = () => originalRenderPage({ /* enhanceApp으로 원래 app기능에 document 기능에다가 stylesheet가 styled-component들을 서버사이드 렌더링할 수 있게 해준다. */ enhanceApp: (App) => (props) => sheet.collectStyles(<App {...props} />) }); // 부모 'getInitialProps'를 실행(이제 사용자 정의 'renderPage'가 포함된다.) const initialProps = await Document.getInitialProps(ctx); return { ...initialProps, styles: ( <> {initialProps.styles} {sheet.getStyleElement()} </> ), }; /* ---------- 에러 캐치 ---------- */ } catch (error) { console.error(error); /* ---------- try 블록이 종료되면 무조건 실행 ---------- */ } finally { sheet.seal(); } } 제가 입력한 코드에 문제가 있지 않을까 추측하여노드버드 깃허브와 제 코드를 비교하였으나 해결책을 찾지 못하였습니다...어떻게 하면 도메인 연결 후 프론트 페이지를 응답하게 만들 수 있을까요?혹시 관련 키워드가 있다면 알려주실 수 있을까요?질문 글이 많이 김에도 끝까지 읽어주셔서 감사합니다 제로초님!++++혹시 모르니 네임 서버 상태도 같이 올립니다!아래는 저의 Route 53, Gabia 네임서버 현재 상태입니다!
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
피보나치 수열
피보나치 수열 관련해서도 수업에서 다루어주시나요 ?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관 관계 주인을 설정해야 하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 멤버 객체, 팀 객체 둘 중 하나로 MEMBER 테이블의 외래키를 관리해야 한다는 부분이 깔끔하게 이해가 가지 않아서 질문 드립니다.제가 이해한 내용이 맞는지 확인 부탁드리겠습니다. 결국에 멤버 객체와 팀 객체가 서로를 호출하거나 업데이트하는데 사용하는 테이블은 멤버 테이블과 팀 테이블의 조인으로 생긴 하나의 테이블인데, 하나의 테이블이 2개의 객체와 매핑된다면 문제가 발생한다.(팀 객체가 갱신한 내용이 멤버 객체에 반영되지 않는 등의 문제)그렇기 때문에 연관관계의 주인을 설정하여 한 객체만 실제로 테이블과 매핑하고 나머지 하나는 매핑된 객체로 부터 미러링된 내용을 사용(읽기 전용)한다. 이렇게 이해하는게 맞는 걸까요?
-
해결됨스스로 프로그래밍 하는 능력을 키우는 C++
숙제 답지
안녕하세요! 강의 열심히 잘 듣고 있습니다. 감사합니다. 그런데 혹시 숙제에 대한 답지는 제공되지 않는건가요??ㅜㅜ
-
해결됨독하게 시작하는 C 프로그래밍
선생님 질문 있습니다.
매번 질문에 답해주셔서 너무 감사합니다이번 내용 이해하기 쉽게 해주셔서 머리에 쏙쏙 들어왔습니다.혹시 이 코드들 중에 문법적으로 오류나 아니면 이렇게 하는 습관(?)은 안 썼으면 하는 게 있으시다면 알려주세요! 미리 감사드립니다.😊