묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결왕초보를 위한 네트워크 기초
라우팅 테이블
안녕하세요.라우터 프로토콜 강의를 듣다가 이해가 안 가는 부분이 생겨 질문드립니다.모두가 동일한 네비게이션 지도를 갖는 것처럼 라우터들도 모두 동일한 지도를 갖는다고 하셨는데, 전 강의에서는 가정에서 사용하는 공유기는 라우팅 테이블이 단순한 지도를 갖는다고 하셨습니다.그렇다면 모든 라우터들이 동일한 지도를 갖는다는 것이 아니게 되는데.. 이 부분이 잘 이해가 안 가서 설명 부탁드리겠습니다.감사합니다.
-
해결됨Flutter 앱 개발 기초
노션 강의노트
안녕하세요, 얼마 전까지 1~5회차 다 모여있는 노션링크가 있었던 것 같은데 찾을 수 없어서 질문 드립니다.1. 노션 링크 다시 받을 수 있을까요? 2. 그리고 강의 수강 기한이 끝나면 노션도 닫히는지 궁금합니다!강의 대시보드에 노션 평생 소장이라고 되어 있는데 노션 페이지 복제 기능 풀어주실 수 있나요..? 감사합니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
수업질문
버튼 만들어서 post로 보내려고 할 때 발생하는 에러가 달라요강사님 영상에서는 Forbidden에러가 발생하는데 제꺼는 runtime error at /account/hellow_world 에러가 발생합니다. 어디서 문제일까요?
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
notifier provider /state에 바로 추가하는 것과 add함수로 추가하는 것 차이
onPressed: () { ref.read(shoppingListProvider.notifier).state += [ ShoppingItemModel( name: uuid.v1(), quantity: 5, hasBought: false, isSpicy: true) ]; },추가하는 것도 혼자 연습해보다가 의문이 생겼습니다.위 코드에서는 watch해둔 것 때문에 build()가 바로바로 재실행되는 것 같은데 아래같이 List에 추가할 때처럼 add함수로 추가하면 build()가 되지 않고 HomeScreen으로 나갔다 들어와야만 적용이 되는 것을 볼 수 있었습니다.똑같이 state에 model을 추가하는 것인데 무슨 차이가 있는 건가요? ref.read(shoppingListProvider.notifier).state.add( ShoppingItemModel( name: uuid.v1(), quantity: 5, hasBought: false, isSpicy: true) );
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
프래그먼트 오류 입니다
실행 시켰을 때 아래와 같은 오류가 나옵니다. 여기서 build.gradle에서 compileSdk 를 34로 변경해 주면 실행 버튼 자체가 비활성화 됩니다 대체 왜 이런지...제발 도와주세요ㅠㅠ
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
ECK 2.9 구성 상의 문제입니다
VM 환경 4대에 각각 mater 1 대 , worknode 3대 , calico 네트워크 환경으로 구성된 상태입니다.이 환경에서 ECK 를 설치해 보려고 하는데 진행이 잘 되지 않습니다.진행 중 elasticsearch pod 상태가 pending에서 진행이 되지 않고 있으며 persistentVolume 상태가 pending 중입니다. 볼륨 구성 시 문제가 되는 것 같은데 방법을 잘 모르겠습니다. 혹시 도움을 받을 수 있을까요..?참고로 볼륨 로그를 확인해 본 결과 no persistent volumes available for this claim and no storage class is set으로 확인 되었습니다.
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
Scale-in 시
안녕하세요, 강의 수강 중 궁금한 점이 있어 질문 남깁니다.Scale-in 시에도 기본적으로 graceful shutdown 되도록 ecs autoscaling 내부에서 처리가 되는 것일까요?아니면, graceful shutdown을 위해서는 따로 설정을 해야하는 것일까요?감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5-2 작업형 문의
name, host_name은 둘다 3만이 넘는 고윳값 때문데 삭제하는 건 알겠는데 host_name은 9943개인데 삭제하는 이유를 알 수 있을까요? latitude, longitude 얘네는 host_name보다 고윳값이 많은데 삭제하지 않는 이유는 수치형 데이터여서 그런가요?
-
해결됨실전! 스프링 데이터 JPA
@Rollback(false) 이 되지 않아요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]'예제 도메인 모델과 동작확인' 테스트 과정에서 @Rollback(false)가 동작하지 않아 h2 데이터베이스에 테이블이 생성되지 않습니다. application.ymlspring: datasouce: url: jdbc:h2:tcp://localhost/~/datajpa username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: format_sql: true logging.level: org.hibernate.SQL: debug # org.hibernate.type: trace MemberTest.java@SpringBootTest @Transactional @Rollback(value = false) class MemberTest { @PersistenceContext EntityManager em; @Test public void testEntity(){ Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(teamA); em.persist(teamB); Member member1 = new Member("member1", 10, teamA); Member member2 = new Member("member2", 20, teamA); Member member3 = new Member("member3", 30, teamB); Member member4 = new Member("member4", 40, teamB); em.persist(member1); em.persist(member2); em.persist(member3); em.persist(member4); em.flush(); em.clear(); List<Member> members = em.createQuery("select m from Member m", Member.class).getResultList(); for (Member member : members) { System.out.println("member = " + member); System.out.println("member -> " + member.getTeam()); } } }
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-j 범위체크 조건 질문드립니다
https://www.acmicpc.net/source/share/c705165d9da648cab807897686bcb320논리로직은 이해를 한거같은데 아직도 이분탐색에서 left와 right를 체크하는부분에서 mid값을 걸러내는부분이 잘 이해가가지않네요 right에서 mid값을 가지고오나 left를 체크할떄 가지고오나 결과는 같을거라고 생각했는데 아직도 이부분이 잘 이해가가지않습니다 ㅜㅜ
-
미해결데이터 분석 SQL Fundamentals
집계함수를 사용할 때 반드시 group by 와 함께 써야하나요?
안녕하세요 선생님 :)집계(Aggregate) Analytic SQL 실습 - 03 에서 Q: product_id 총 매출액을 구하고, 전체 매출 대비 개별 상품의 총 매출액 비율을 소수점2자리로 구한 뒤 매출액 비율 내림차순으로 정렬 문제를 풀던 과정 중에 제가 select *from (select order_id, line_prod_seq, product_id, amount, sum(amount) as product_total_sum, round(amount/ sum(amount), 2) as total_sum_amount_ratiofrom nw.order_items)aorder by total_sum_amnt_ratio;이렇게 일단 쿼리를 적어서 실행시켜보았는데요.오류가 발생했는데 그 내용이 "order_items.order_id" 는 반드시 GROUP BY 절내에 있어야 하던지 또는 집계 함수 내에서 사용되어져야 한다.라고 하는데 왜 group by를 사용해야하는지 잘 모르겠어서 여쭤봅니다. select sum(amount) as product_total_sumfrom nw.order_items;와 같이 간단한 일반적 집계는 group by 없이 가능한데제 쿼리는 왜 실행이 안되는 걸까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
redirect 조건설정 ?
bool authState = false; final router = GoRouter( initialLocation: '/', errorBuilder: (context, state) { return ErrorScreen( error: state.error.toString(), ); }, redirect: (context, state) { print('MatchedLocation: ${state.matchedLocation}'); print('AuthState: $authState'); if (state.matchedLocation == '/login/private' && !authState) { return '/login'; } return null; },안녕하세요, 리다이렉트시 조건 설정로직이 이해가 잘 되지 않습니다. 초기 authState의 값은 'false'입니다.state.matchedLocation == '/login/private' && !authState 이부분에서 첫번째 조건은(state.matchedLocation == '/login/private') 'true', 두번째도 '!autoState'이므로 ' true'입니다. 그래서 모든 조건이 true가 되어서 로그인이 이루어져서 privateScreen으로 이동해야 될 것 같은데...잘 이해가 되지 않는 로직이라서 질문드립니다. 이렇게 쓰는게 좋을 것 같으나 .... if (state.matchedLocation == '/login/private' && !authState) { return '/login/private'; } return '/login'; } 라우터에서는 이렇게 써야 할 것 같은데요.... if (state.matchedLocation == '/login/private' && authState) { return '/login'; } return null; } 상기와 같이 쓰면 state.matchedLocation == '/login/private' && authState 은 당연한 참이기에 의미없는 조건문이 됩니다. 여하튼 잘 이해되지 않는 부분입니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
안녕하세요 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 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! 안녕하세요 현재 스타일링 마무리하기 << 여기 듣고 있습니다. 옆에 지역선택하기 누르면 안바뀐다고 나와있는데 그게 보니깐 제 코드에선 지역이 서울로 설정 돼있더라구요 그래서 어떤 지역을 넣든간에 서울로 고정돼있는 거 같은데 제가 실수로 빼먹었나해서 문의드렸습니다. 다른 지역 누르면 종류별 통계에 미세먼지가 양호가 아님에도 양호라고 뜨네요 앱바에 보이는 색과 아이콘은 서울 고정이고 지역이름은 바뀌는 것 같습니다.다른 지역 누르면 종류별 통계에 미세먼지가 양호가 아님에도 양호라고 뜨네요