묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
안녕하세요 08-02-nestjs-with-graphql 폴더실행시에러
안녕하세요 해당영역 학습중인데 서버실행시 자꾸 Error: Cannot find module '@apollo/server' 이런에러가 발생됩니다 그래서 node_modules 디렉토리 삭제후 다시 설치해보고 yarn add apollo-server 명령어를 사용해서 설치도해보았는데도 동일한 증상입니다..ㅠ 그래서 앞부분 학습을 못하고잇어요 ㅠ 현재 버전은 이러합니다 !
-
해결됨[웹 개발 풀스택 코스] HTML&CSS 기초
실무에서 태그들 모두 암기해서 쓰나요?
실무에서 html이 어떻게 사용되나요? 그리고 사용되면 태그들은 암기해서 사용하나요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
AWS 서버 구성 문의
기존에 젠킨스를 돌리고 있는 리눅스 서버를 운영중에 있습니다.이번 강의를 계기로 SonarQube, Ansible, Kubernetes 를 추가로 운영하려고 합니다.현재 저희팀은 FrontEnd/BackeEnd 프로젝트를 하나 진행하고 있습니다. 그리고 이를 AWS 에 배포 준비중이어서 AWS 인스턴스를 하나 운영중에 있습니다. (유료 버전 사용중) 현재 강의 실습에서는 AWS 에 개별 인스턴스를 따로따로 구동시키는 상황을 가정해서 진행하고 있는데, 이럴 경우 프리티어의 경우 1년까지는 무료지만 1년 이후에는 경우에 따라 비용이 지불되는것으로 알고 있습니다. 이에 아래처럼 진행해볼까 하는데 가능한 방법일지요? 혹은 추천하실만한 설계가 있으시면 조언도 부탁드리겠습니다. 기존 젠킨스 리눅스 서버 -> 유지++ 여기에 Docker 로 SonarQube, Ansible 서버 추가++ 기존 사용중인 AWS 인스턴스에 Kubernetes 서버 추가++ Docker 형태로 F/E, B/E 배포 제가 개념을 잘못 잡고 있거나, 다른 더 좋은 방법이 있으시다면 조언 부탁드리겠습니다. 좋은 강의 감사드립니다~
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
sudo docker exec -it WP /bin/bash
sudo docker exec -it WP /bin/bash 명령어 입력시 Error response from daemon: Container f6787fae8c1470d70df28decac829f478fb0cfee5ee0eed896c141d33387cf66 is not running이 에러가 발생하여docker ps -a 명령어 입력해서 컨테이너가 있는 지 확인하였고docker stop WPdocker start WP시도하고 다시 명령어 입력해도 같은 에러가 발생하는데 어떤 문제 일까요
-
미해결R로 배우는 통계
강의자료 다운로드
강의자료 다운로드 어디서 받나요?강의 코드 홈페이지에는 https://www.theissaclee.com/ko/courses/rstat101/이곳이라고 안내가 나와있는데.... 이런 사이트로 접속이 되는데;;;제가 못찾는건지.. 잘못 업데이트가 된건지...알려주실 수 있을까요 ㅜ ㅜ ?
-
미해결[LV1] Jetpack Compose - UI 연습하기
Retrofit 관련 Logcat 화면에 아래 예외가 출력
build.gradle 에 아래를 추가한 후 sync now 하고나서 implementation("com.squareup.retrofit2:retrofit:2.9.0") implementation("com.squareup.retrofit2:converter-gson:2.9.0") 아래는 전체코드입니다class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val coroutineScope : CoroutineScope = rememberCoroutineScope() val retrofitInstance = RetrofitInstance.getInstance().create(MyAPI::class.java) Box( modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center, ) { Button( onClick = { coroutineScope.launch { val response : Response<Post> = retrofitInstance.getPost1() Log.d("MainActivity", response.body().toString()) } } ) { Text( "Call API" ) } } } } } data class Post( val userId : Int, val id : Int, val title : String, val body : String, ) object RetrofitInstance { val BASE_URL = "https://jsonplaceholder.typicode.com/posts/1/" val client = Retrofit .Builder() .baseUrl(BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build() fun getInstance() : Retrofit { return client } } interface MyAPI { @GET("posts/1") suspend fun getPost1() : Response<Post> } 위를 실행하니Logcat 화면에 아래 예외가 출력되고 데이터를 얻어오지 못하는 군요RemoteConnection failed to initialize: RemoteConnection failed to open pipeFailed to open QEMU pipe 'qemud:network': Invalid argumentsendWakeUpEvent called on SchedulerClientBroadcastStrategyGCM_HB_ALARM release without a matched acquire! Couldn't load memtrack module 수고많으신 강사님늘 건강하시고 부자되세요
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
포스트 트윗 시 게시글이 추가되지 않고, 요청 무한로딩에 걸립니다. TypeError: Cannot read properties of undefined (reading 'data')
안녕하세요 제로초님현재 섹션3 redux-saga 연동하기 - 게시글, 댓글 saga 작성하기 영상의 Warning: Encountered two children with the same key, 2. 에러 해결까지 수강한 학생입니다!로그인 후 포스트 폼에 글을 입력 후 트윗하기 버튼을 누르는 순간 콘솔 창에 에러가 발생했습니다.redux-devtools로 포스트 추가 액션의 변화를 살펴보니ADD_POST_SUCCESS 포스트 추가 성공 액션이 실행되고 있지 않았습니다! 콘솔에 있는 에러 메시지 번역은 다음과 같았습니다.번역을 읽고 data가 undefined이며, addPost에 이상이 있음을 확인했고,컴포넌트 폴더의 PostForm.js와 reducers/post.js, sagas/post.js를 코드를 확인했습니다.https://github.com/ZeroCho/react-nodebird/blob/master/ch4/front/components/PostForm.js제로초님의 깃허브 챕터4와 구글 검색을 참고 후 가장 의심되는 코드 부분을 올립니다!※ 관련 없는 코드는 . . . 으로 요약 표시하였습니다. components/PostForm.js가독성을 위해 setText는 setPostText로, text는 postText로 바꾸어 코딩했습니다.// reducer 포스트 추가 요청 액션 불러오기 import { addPost } from '../reducers/post'; // 포스트 폼 컴포넌트(사용자 정의 태그) const PostForm = () => { const dispatch = useDispatch(); const [postText, onChangePostText, setPostText] = useInput(''); const { imagePaths, addPostLoading, addPostDone } = useSelector((state) => state.post); /* ----- 포스트 추가 완료 시 포스트 폼 글자 지우기 ----- */ useEffect(() => { if (addPostDone) { setPostText(''); } }, [addPostDone]); /* ----- 포스트 폼 제출 시 포스트 카드 추가 ----- */ const onSubmitForm = useCallback(() => { dispatch(addPost(postText)); }, [postText]); // const onSubmitForm = useCallback(() => { // dispatch({ // type: ADD_POST_REQUEST, // data: addPost, // }); // }, [postText]); return ( <Form . . . /> <Input.TextArea id="post-form" value={postText} onChange={onChangePostText} maxLength={140} placeholder="어떤 신기한 일이 있었나요?" /> . . . {/* ---------- 포스트 작성 버튼 ---------- */} <Button type="primary" style={{ float: 'right' }} htmlType="submit" loading={addPostLoading} > 트윗하기 </Button> </div> </Form> ); }; reducers/post.js// ShortId 라이브러리 불러오기 import shortId from 'shortid'; // 중앙 데이터 저장소(기본 state) export const initialState = { /* ---------- 메인 포스트 더미 데이터 ---------- */ mainPosts: [{ . . . }], /* ---------- 이미지 업로드 시 경로 저장 ---------- */ imagePaths: [], /* ---------- 포스트 추가 시도 중, 완료, 에러 ---------- */ addPostLoading: false, addPostDone: false, addPostError: null, } // 포스트 추가 액션 : 요청, 성공, 실패 export const ADD_POST_REQUEST = 'ADD_POST_REQUEST'; export const ADD_POST_SUCCESS = 'ADD_POST_SUCCESS'; export const ADD_POST_FAILURE = 'ADD_POST_FAILURE'; // 포스트 추가 요청 액션 생성함수(action creator) export const addPost = (data) => ({ type: ADD_POST_REQUEST, data, }); // 포스트 더미 데이터 const dummyPost = (data) => ({ id: shortId.generate(), content: data, User: { id: 1, nickname: '다랑', }, Images: [], Comments: [], }); // 리듀서(reducer) : (이전 상태, 액션) => 다음 상태 const reducer = (state = initialState, action) => { switch (action.type) { /* ----- 포스트 추가 요청 리듀서 ----- */ case ADD_POST_REQUEST: return { addPostLoading: true, addPostDone: false, addPostError: null, }; /* ----- 포스트 추가 성공 리듀서 ----- */ case ADD_POST_SUCCESS: return { ...state, mainPosts: [dummyPost(action.data), ...state.mainPosts], addPostLoading: false, addPostDone: true, // 사용자 더미 데이터 me: dummyUser(action.data), }; /* ----- 포스트 추가 실패 리듀서 ----- */ case ADD_POST_FAILURE: return { addPostLoading: false, addPostError: action.error, }; default: return state; } }; sagas/post.js// Saga 이펙트 불러오기 import { all, fork, call, takeLatest, put, delay } from 'redux-saga/effects'; // Axios 라이브러리 불러오기 import axios from 'axios'; // reducer 포스트 추가, 답글 추가 액션 불러오기 import { ADD_POST_REQUEST, ADD_POST_SUCCESS, ADD_POST_FAILURE, } from '../reducers/post'; // addPost 실행 시 서버에 addPostAPI 요청 function addPostAPI(data) { return axios.post('/api/post', data) } // ADD_POST_REQUEST 액션이 실행되면 addPost 함수 실행 function* addPost(action) { try { // const result = yield call(addPostAPI, action.data); /* ----- 요청 성공 시 ADD_POST_SUCCESS 액션 디스패치 ----- */ yield delay(1000); yield put({ type: ADD_POST_SUCCESS, data: action.data, // 성공 결과 }); } catch (err) { /* ----- 요청 실패 시 ADD_POST_FAILURE 액션 디스패치 ----- */ yield put({ type: ADD_POST_FAILURE, error: err.response.data, // 실패 결과 }); } } 강의 잘 보고 있습니다!항상 정성스러운 답변 남겨주셔서 감사합니다 제로초님!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
미세먼지앱 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! 안녕하세요 현재 스타일링 마무리하기 << 여기 듣고 있습니다. 옆에 지역선택하기 누르면 안바뀐다고 나와있는데 그게 보니깐 제 코드에선 지역이 서울로 설정 돼있더라구요 그래서 어떤 지역을 넣든간에 서울로 고정돼있는 거 같은데 제가 실수로 빼먹었나해서 문의드렸습니다. 다른 지역 누르면 종류별 통계에 미세먼지가 양호가 아님에도 양호라고 뜨네요 앱바에 보이는 색과 아이콘은 서울 고정이고 지역이름은 바뀌는 것 같습니다.다른 지역 누르면 종류별 통계에 미세먼지가 양호가 아님에도 양호라고 뜨네요
-
해결됨ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
Dev-Net의 통신불가
안녕하세요.Squid 실습을 진행하며 Devnet의 인터넷 사용이 필요한 상황입니다.Socnet의 경우 문제가 없이 통신하고 있는데, 이를 복제한 것이 Devnet이고 게이트웨이와 어드레스에 대한 /etc 설정 파일 또한 제대로 적용하였으므로 이 또한 잘 동작하여야 한다고 생각하였습니다.일단 실습을 진행하며 위와 같은 룰을 설정하였고, Devnet은 Pfsense에서 ping 10.0.150.2을 하면 정상적으로 소통하며, curl 10.0.10.100 또한 정상적으로 받아오는 상태로 각 구간 간의 연결 또한 문제 없는 것으로 파악됩니다.위의 룰에서조차도, 8.8.8.8 등에 대한 설정이 되어있어 ping 10.0.0.1이나 ping 8.8.8.8 등이 되어야할 것 같은데, 동작이 되지 않아 의문입니다. 심지어 ping 10.0.150.1로 게이트웨이와 통신도 불가능한 상황인데 curl은 제대로 받아오는 것이 의문입니다. 제가 혹시 잘못 설정한 부분이 있을까요?
-
해결됨
JS airbnb-style에서 확장자 관련 질문
안녕하세요, nodejs 환경에서 vanila javascript로 개발을 진행하고 있습니다. 컨벤션을 적용하고 싶어 airbnb-style을 적용했습니다. 문제는 아래와 같이 컨벤션에서 js 확장자를 허용하고 있지 않습니다. 그래서 airbnb-style을 적용하고 import에서 확장자를 붙이면 이와 같이 빨간줄이 뜨며 에러가 발생합니다. 그렇다고 확장자를 붙이지 않으면 파일을 찾을 수 없다고 나옵니다. 제가 알기로는 import 시에 확장자를 붙이는 것이 디폴트인것으로 아는데 이를 어떻게 해결할지 알 수 있을까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
winapi object2 강의중에
안녕하세요objectmanger 에서 벡터를 참조가아닌복사방식으로 가져와서 반복문을 돌며업데이트를 시켜주면 문제가되지않는것 까진 이해가 됩니다 근데 render 할때는 복사방식아닌 참조로 가져오는데 , 즉 원본을 가져와서 렌더링을 해주는데업데이트부분에서 스페이스바를 눌러 미사일을 추가하게되면 , 미사일 객체가 원본벡터안에 추가되어 들어가게 되어 렌더링할때도 영향을 받을거같은데 어째서 렌더링의 반복문 루프에는 참조값으로 받아와도 문제가없는지 궁금합니다
-
해결됨포트폴리오 초간단 배포하기
VULTR 무료 Credit 외에 더 없을까요?^^
안녕하세요 Foo 님! 강의 잘 듣고 있습니다^^ 강의 과정을 따라가던 중에 VULTR 에서 아래 상황을 겪었습니다.회원가입 후 카드를 등록 시 자동으로 100$ 충전 되어 있음GIFT Code 에 'FLYVULTR250' 입력했지만 실패 (Not compatible with other used codes)다른 Gift Code 를 몇 가지 찾아서 입력했지만 모두 먹통거기다 사용기한이 2023.11.10 까지. 즉, 가입시점(2023.10.26)으로 부터 약 15일 이더라구요,,,foo님은 30일이던데,,아쉽,,ㅜㅜ 해서 부끄러움을 감수하고 초보적인 궁금한 사항을 몇 가지 적어봤습니다.초대 링크를 통해 접속하고 가입하면 양측에게 Credit이 더 들어온다는 글이 있는데 지금도 유효한 방법일까요? 관련 내용을 찾기 힘드네요,, (만약 그렇다면 강의자료에 첨부해 주시면 좋을 것 같아요!)사용 가능한 GIFT Code 가 가끔씩 발행되나요? 만약 그렇다면 어디서 확인할 수 있을까요?개인적인 용도로 VULTR 를 조금씩 사용하고 싶은데, Credit으로 충전하는 것 외에 저렴하게 혹은 효율적으로 이용할 수 있는 방법이 있을까요? 감사합니다!
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReadLock 질문 드립니다!
ReadLock은 어떤 쓰레드도 write를 하고 있지 않을 때 ReadCount를 1 늘리는데 왜 while문 안에는 해당 조건문이 없는건가요??
-
해결됨디자인 시스템 with 피그마
토큰 Font size 변경 시 네이티브로 동기화 안됨
안녕하세요, 강의 실습 중 안되는 부분이 있어 문의 드립니다.타이포그래피 02 강의에서 Font size Default 값을 16에서 14로 변경하면 네이티브 시스템에 있는 스타일 값들과 적용해둔 텍스트 들의 사이즈들이 바뀌지 않습니다.토큰에서 설정 하나만으로 한번에 일괄 적용 할 수 있어서 이렇게 설정하는건데왜 네이티브 시스템으로 적용이 되지 않는지 모르겠습니다.토큰 내에서는 각 사이즈 별로 크기 변경됩니다.혹시 pro 버전이 아니라서 그런걸까요..
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
스마트포인터와 벡터와의 함께사용 ?
vector<shared_ptr<object>> v;라는것을 사용했을때 , shared_ptr 은 생명주기가 다하면 알아서 자동으로 소멸되는데vector 안에 object 를 넣게되면은 object 의 생명주기 가 연장되는건가요 ?만약에 생명주기가 연장되었다고 했을때vector<shared_ptr<Object>>& v = ObjectManager::GetInstance()->Get_Object();for (int i = 0; i < v.size(); ++i){v[i]->Update();}위처럼 벡터의 참조값을 를 가져와서update 도중 vector 안에 원소를 reset 하여 참조카운트가 0 이되어 삭제된다 치면은썡포인터와 다를게없어지는거아닌가욤?
-
미해결스프링 핵심 원리 - 기본편
싱글톤 테스트
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의에서 싱글톤은 유연하게 테스트가 어렵다고 말씀해 주셨는데요.어려운 이유가 static이기 때문인가요?클래스가 메모리에 로드될 때 생성되는거라서 유연하지 않은건지 궁금합니다.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") 실행시 False
이것저것 다양하게 자동화코드 짜보시다가막히면 언제든 무엇이든 질문 던져주세요.업무자동화 코딩은 과학이나 알고리즘과는 조금 달라서고민만으로 풀리지 않는 경우가 대부분입니다.저도 최대한 빠르게 회신 드리겠습니다.hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") 실행 결과가 False 입니다.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")
이것저것 다양하게 자동화코드 짜보시다가막히면 언제든 무엇이든 질문 던져주세요.업무자동화 코딩은 과학이나 알고리즘과는 조금 달라서고민만으로 풀리지 않는 경우가 대부분입니다.저도 최대한 빠르게 회신 드리겠습니다.
-
해결됨토비의 스프링 부트 - 이해와 원리
학습 테스트 중 스프링 컨테이너 관련 질문이 있습니다.
우선 강의 정말 잘 보고 있습니다. 토비님.일단 굉장히 초보적인 질문을 드리는 것 같아서 죄송스럽지만 자꾸 뭔가 하나 모자란 느낌이 자꾸 들어서 질문드립니다.계속 강의를 보면서 서블릿 컨테이너를 띄우고 스프링 컨테이너도 띄우고 이 과정을 리팩토링해서 스프링 컨테이너만 띄운 뒤 서블릿 컨테이너와 디스패쳐 서블릿의 팩토리 메소드를 빈으로 바꾸는 과정까지 학습했습니다. 그런데 이번 강의에서 나오는 학습 테스트를 보면 별다른 빈을 등록하지 않으시고 스프링 컨테이너만 띄우셔서 커스텀 빈을 테스트하시는 것 같아 보였습니다. 여기서 궁금한 점이 스프링 컨테이너에 빈이 등록되고 라이프사이클이 끝나는 과정까지 서블릿 컨테이너를 아예 의존하지 않는게 맞나요? 사실 웹 프로덕트 코드를 구현하는 과정에선 반드시 서블릿 컨테이너가 있어야 파싱이 되기 때문에 실무에선 무쓸모일 고민 같지만 스프링 컨테이너가 얼마나 독립적으로 실행될 수 있는지 알면 좋을 것 같아서요...
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
dio, retrofit, json_serializable의 관계
여러가지 패키지를 결합해서 사용하다보니 헷갈리는 과정이 있어서 질문드립니다. 제가 이해한 바로는 아래와 같은데 맞는지 확인부탁드립니다.. 패키지 정의: Dio는 Http통신을 간소화하며, 인터셉트를 통해 오류처리나 요청, 응답을 받을 때 무언가 작업을 할 수 있게 도와준다.Retrofit은 Dio를 통해 요청을 보내기 전 헤더 추가도 가능하고, GET method로 응답을 받은 후에 json_serializable을 활용해서 json데이터를 만들어둔 클래스에 매핑할 수 있도록 돕는다.패키지 활용:Retrofit으로 매핑가능하도록 RestaurantModel 클래스 등에 미리 factory생성자로 json_serializable .g.dart파일을 만들어둔 뒤 Dio로 서버응답을 받고 Retrofit을 통해 클래스로 매핑해서 메모리에 저장한다 까지가 지금까지 했던 과정인지요??