묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
print등 함수 설명이 안나옵니다.
안녕하세요. print 함수 설명이 안나와 가지구요 ㅠㅠ 아래 설명과 같이 하려고 하는데 autocomplete-python폴더 내에 grammer로 시작하는 파일 자체가 없습니다. ㅠㅠ 어떻게 해결해야 할까요.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
주제와는 좀 벗어날 수도 있지만 export/import save/load 관련 질문 드립니다.
강의를 아직 끝까지 듣지는 않았는데 제목 목록만 봐서는 강의에서 안 다루어지는 것 같아서 이미지 생성 순서 강의에 질문 남깁니다. 제가 지금 데이터+코드 로 딥러닝 개발환경을 도커 위에 구축하는 것을 해보려고 하는데요. 도커로 묶어서 컨테이너로 만드는 것 까지는 성공을 했어요. 주피터 노트북 웹으로 연결해서 쓰고 싶어서 포트 연결까지 해주었는데요. 아래 명렁어로 컨테이너를 실행시켜주었습니다. docker run -it -p 8888:8888 -d -v $(pwd)/notebooks:/notebooks final_doc -v $(pwd)/notebooks:/notebooks 부분은 dockerfile 에서 COPY 를 넣어도 왜인지(제가 경로를 잘 못기입한건지) 파일 복사가 안되어서 부득이하게 저렇게 시작할때 명령어로 주게 되었네요. notebooks 안에는 모델과 데이터가 담겨 있습니다. 그리고 나서 docker export 이미지아이디 >doc_cow_classification.tar 로 컨테이너를 tar 파일로 만들고 $ docker import doc_cow_classification.tar imported_img 를 이용해서 다시 이미지로 변환해 준 뒤 docker images로 이미지가 생성된 것을 확인하고 docker run -it -p 8888:8888 -d imported_img 를 했더니 docker: Error response from daemon: No command specified. 와 같은 에러를 만났습니다. 찾아보니 뭐,, 엔트리 포인트 커맨드를 직접 알려줘야 한다고 하더군요 (잘 이해는 안되었지만 기존에 tar 를 생성했던 컨테이너가 docker ps 로 정보 출력했을떄 CMD 가 /run_jupyter.sh 였어서 그것을 넣어 주었습니다. docker run -it -p 8888:8888 -d imported_img:latest /run_jupyter.sh 명렁어를 실행시키니 오류는 나지 않지만 docker ps 를 해도 컨테이너가 만들어진 것이 없습니다.. 1. 실행을 시켜도 아무 오류가 나지 않으면서 컨테이너가 만들어지지 않는 것은 무엇이 잘못 되었을까요? 정확한 답이 아니더라도 이러이러한것을 찾아보셔도좋을것 같아요 정도의 커멘트라도 정말 감사합니다 ㅠㅠ 2. export 명렁어를 찾아보니 컨테이너와 이미지 모두를 tar화 할 수 있다고 하는데, 제가 컨테이너 실행 시킬 때 같이 명령어에 입력해 주었던 docker run -it -p 8888:8888 -d -v $(pwd)/notebooks:/notebooks final_doc 포트 연결 정보도 남아 있게 되나요? 아니면 컨테이너-tar- 이미지 로 바꾸서 다시 실행시키면 저 정보를 다시 입력해 주어야 하나요? 긴 질문 읽어주셔서 감사합니다. ps. 좋은 강의 정말 감사드려요. 혼자 공부하고 있는데 구글링만 하면서 파편화 되어 있던 지식들을 이 강의를 통해 구조화 시킬 수 있었습니다. 강의 자료도 정말 좋고,, 일부러 에러 상황 먼저 만들어 주시고 해결 방법 알려주는 식의 진행도 정말 좋아요.. 떠먹여 주시는 강의 감사합니다.
-
미해결정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)
문제 원본을 어디에서 볼 수 있나요?
강의자료의 github는 풀이 java파일만 있는거같아서요.
-
미해결타입스크립트 입문 - 기초부터 실전까지
선생님 질문이 있어서 뷰에 대하여 여쭤봅니다...
리액트 요새 클래스에서 훅을 쓰는 추세인데.. 저희 회사에서는 뷰 nuxt.ts기반으로 개발하면서 클래스 기반을 쓰는 데 그게 최신 추세인가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
열거형 앞에 캐스팅 하는 거 불편하네요
C에서는 그냥 Choice.sicissors라고 써도 괜찮았던 것 같은데 C#은 일일히 캐스팅해줘야 하는 건가요? 이런 Rule이 장단점이 있는 것 같네요. 설정에서 뭔가 바꿔줄 수 있을 것 같은데...
-
미해결Node.js - Express
main.js 소스중 일부 log, logout_process 소스가 빠져있어 부탁드립니다.
안녕하세요. 수고많으십니다. main.js 소스중 일부 log, logout_process 소스가 빠져있어 부탁드립니다. 감사합니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
회원가입 구현시 에러
에러 메시지가 아래와 같이 출력됩니다. 뒷부분 로그인/로그아웃까지 진행했는데, 회원가입 후 로그인, 로그아웃은 제대로 돌아갑니다. 아마 회원가입 후 db에서 넣고 그 다음부터 에러가 나는 듯 합니다. django.urls.exceptions.NoReverseMatch: 'acocuntapp' is not a registered namespace
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
value_counts() 관련
선생님 df_last['"전용면적"].value_counts() 하면 전용면적별로 해당 빈도수가 나오는데.. 혹시 결측치 제외하고 보려면 어떻게 해야 하나요? df_last['"전용면적"].notnull().value_counts() 도 해봤고.. df_last['"전용면적"].value_counts().notnull() 도 해봤고.. df_last['"전용면적"].notnull.value_counts() 도 해봤는데.. 제가 원하는 값이 안나오네요..ㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Raycast에서 카메라 위치를 transform.position이 아닌 _delta 로 하는 이유
영상의 3:24초 경에서 Player(유니티짱)에서 Camera로 향하는 Raycasting을 할 때 왜 카메라 위치에 transform.position이 아니라 _delta를 하나요? _delta는 플레이어에서 카메라까지의 거리를 담은 vector3라고 알고 있어서요. 그래서 제가 생각했을 땐 _delta가 아닌 transform.position을 넣어야 잘 작동할 것 같은데 막상 transform.position을 넣었더니 카메라 위치가 아닌 곳으로 ray를 쏘고 있더라고요. Camera의 position을 넣어야 할 것 같은 Physics.Raycast()의 두번째 인자에 _delta 를 값을 넣어야 잘 작동하는 이유가 무엇인가요?
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
강의 17분 캡처내용
선생님 안녕하세요 강의 17분에서 캡처한 그림인데요.. 맨윗줄에서 2번째 그림 2번째 줄에서 1번째 그림 그 2개의 그림에서는 왜 서울 지역만 점이 찍힌걸로 보이나요..? 다른 scatterplot 의 그림들과 달리 확연히 서울 지역의 분홍색점만 찍혀 있는 것 같아서요..
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
4-1 FS-i6 수신 테스트
안녕하세요. 강의대로 따라한다고 하지만 결과가 항상 달라 애를 먹고 있습니다. 현상 : 수신 결과가 깨져서 나옵니다 UART5에서 수신된 데이터를 UART6으로 보는 것에서 각 통신속도가 115200으로 같은데 왜 안나올까요. 아래 코드에서 확인 가능할까요? ? ?. void MX_UART5_Init(void) { LL_USART_InitTypeDef USART_InitStruct = {0}; LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; /* Peripheral clock enable */ LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_UART5); LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOC); LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOD); /**UART5 GPIO Configuration PC12 ------> UART5_TX PD2 ------> UART5_RX */ GPIO_InitStruct.Pin = LL_GPIO_PIN_12; GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; GPIO_InitStruct.Pull = LL_GPIO_PULL_UP; GPIO_InitStruct.Alternate = LL_GPIO_AF_8; LL_GPIO_Init(GPIOC, &GPIO_InitStruct); GPIO_InitStruct.Pin = LL_GPIO_PIN_2; GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; GPIO_InitStruct.Pull = LL_GPIO_PULL_UP; GPIO_InitStruct.Alternate = LL_GPIO_AF_8; LL_GPIO_Init(GPIOD, &GPIO_InitStruct); /* UART5 interrupt Init */ NVIC_SetPriority(UART5_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); NVIC_EnableIRQ(UART5_IRQn); USART_InitStruct.BaudRate = 115200; USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B; USART_InitStruct.StopBits = LL_USART_STOPBITS_1; USART_InitStruct.Parity = LL_USART_PARITY_NONE; USART_InitStruct.TransferDirection = LL_USART_DIRECTION_RX; USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE; USART_InitStruct.OverSampling = LL_USART_OVERSAMPLING_16; LL_USART_Init(UART5, &USART_InitStruct); LL_USART_ConfigAsyncMode(UART5); LL_USART_Enable(UART5); } /* USART6 init function */ void MX_USART6_UART_Init(void) { LL_USART_InitTypeDef USART_InitStruct = {0}; LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; /* Peripheral clock enable */ LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART6); LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOC); /**USART6 GPIO Configuration PC6 ------> USART6_TX PC7 ------> USART6_RX */ GPIO_InitStruct.Pin = LL_GPIO_PIN_6|LL_GPIO_PIN_7; GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; GPIO_InitStruct.Alternate = LL_GPIO_AF_8; LL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* USART6 interrupt Init */ NVIC_SetPriority(USART6_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); NVIC_EnableIRQ(USART6_IRQn); USART_InitStruct.BaudRate = 115200; USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B; USART_InitStruct.StopBits = LL_USART_STOPBITS_1; USART_InitStruct.Parity = LL_USART_PARITY_NONE; USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX_RX; USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE; USART_InitStruct.OverSampling = LL_USART_OVERSAMPLING_16; LL_USART_Init(USART6, &USART_InitStruct); LL_USART_ConfigAsyncMode(USART6); LL_USART_Enable(USART6); }
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
pairplot관련
pairplot으로 나온 9개 그림에서요.. 왜 9개가 나오는 건가요.. 수치데이터가 연도, 월, 평당분양가격 3개로 인식해서 3*3이라면.. 서로 행과 열이 겹치는 그래프는 예를 들어 맨아래 맨오른쪽 그래프의 경우에는 x축 평당분양가격, y축 평당 분양가격..인건가요? 가운데 그림은 x축- 월, y축-월 이렇게 되는 건가요..?(이 그래프가 무슨 의미가 될 수 있는지도 의문입니다..ㅠ) 9개의 그림에서 각 그림마다 x축과 y축을 어떻게 이해해야 하는 건지..ㅠ자세히 설명 부탁드립니다. 그리고 마지막으로 pairplot 그림이 저는 다 붙어져서 그려지고 있는데 서로 간격을 두고 그리려면 어떻게 해야 하나요..ㅠ? plt.figure(figsize=(10,3)) 이 코드를 seaborn 그래프 코드 쓰기 전에 써도 적용이 안되더라고요.. ㅠ
-
미해결홍정모의 따라하며 배우는 C++
네트워킹 맛보기 - Boost.Asio Socket에서 멀티쓰레드 채팅프로그램 예제
안녕하세요. 교수님의 c++강의를 정말 잘듣고 있는 학생입니다. 유튜브로부터 시작해서 인프런으로 넘어와서 강의를 오늘 끝까지 다 들었습니다. 마지막 챕터중에 boost asio로 네트워크 프로그램을 짜는 강의가 있는데 여기에서 숙제로 멀티쓰레딩을 사용해서 채팅프로그램을 작성해봐라 라고 숙제를 내주신 부분이 있는데 이 부분에 대해서 숙제 예제 코드같은것을 없는지 궁금합니다. 답변주시면 감사하겠습니다. 좋은 강의 들려주셔서 정말 감사합니다.
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
FacetGrid 관련
기존 강의에서는 kdeplot 서브플롯만들 때 FacetGrid 이용해서 아래의 코드였는데 g = sns.FacetGrid(df_last, row="지역명", height=1.7, aspect=4,) g.map(sns.distplot, "평당분양가격", hist=False, rug=True); 똑같이 알려주신 페이지에 가보니 g = sns.FacetGrid(df_last, row="지역명", height=1.7, aspect=4,) g.map(sns.kdeplot, "평당분양가격") 이 코드로 변경되어있더라고요..! 이 부분도 seaborn이 업데이트되면서 업데이트 된 부분인거지요? 그리고 업데이트 공지가 어디있나요? ㅠ 강의 새소식에 찾아봤는데 제가 잘 못찾는건지.. 못찾았어요..ㅠ
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
kdeplot 설명 관련
선생님 10:55~58초 쯤에 평균 분양가격이라서 cumulative가 의미가 없다고 하셨는데요.. price = df_last.loc[df_last["평당분양가격"].notnull(), "평당분양가격"] price 변수에 저렇게 되어있는데 왜 평균 분양가격이라고 하시는건가요..?..? 평균값이 아닌 평당분양가격의 결측치와 공백값 제거해서 총 3957개가 모두 들어있는데.. cumulative 해주면 의미 있는 것 아닌가용..? 그리고 kdeplot 에서.. multiple=layer/level=10/thresh=0.05/bw_method='scott' 값들이 default로 들어가 있는 것 같은데.. 각각 무슨 의미인가요...ㅠ?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
안녕하세요! 영한님! 질문 하나 드려도 될까요?
안녕하세요 영한님! 인프런과 타사 플랫폼으로도 강의를 잘 보고 있습니다. 추운 날씨에 감기 조심시고 고생 너무 많습니다! 다름 아니라 쿠키 Secure과 HttpOnly 설명을 들었습니다 Secure는 Https일때만 쿠키를 세팅해주고 HttpOnly는 XSS를 방지해주고 자바스크립트에서 쿠키를 세팅 못하고 HTTP 전송에만 사용하신다고 하셨는데, 이 때 HTTP전송이란 Http/Https의 구분이 아닌 Http 프로토콜을 이용한 전송을 말씀하시는 건가요? Https일때만 쿠키를 세팅하고(Secure 활용), XSS 방지를 같이 하고 싶을땐(HttpOnly 활용) 이렇게 세팅하면 되는건가 싶어서 여쭤봅니다!
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
작성자 이름을 가져오고 싶을 때
ProductInfo.js 파일에서 props.detail.writer.name 이런 식으로 받아올 수 없는건가요? 이렇게 하면 오류가 발생하네요 ㅠㅠ json 데이터 안에 포함되어 있는 것은 확인했는데 어떤 식으로 불러와야 할 지 모르겠습니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
terminateEnvironment completed successfully.
terminateEnvironment completed successfully. 환경 세부 정보에 이렇게 나오고 env에 더 이상 접근 할 수 없다면 완전히 삭제된거고 요금이 청구 될 일도 없는 건가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
지역변수와 값 전달에서 질문
지역변수와 값 전달부분에서 스택 프레임과 관련된 질문이 있습니다. void IncreaseHp(int hp) { int finalHp = hp + 1; hp = hp + 1; } int main() { int hp = 1; int localValue = 1; cout << "increase 호출 전 : " << hp << endl; IncreaseHp(hp); // 사실 이건 IncreaseHp(1); 이거다. 인수 값을 복사해서 넘기고 있다 이게 중요한 사실 cout << "Increase 호출 후 : " << hp << endl; return 0; } 이 코드에 디스 어셈블리를 사용하면 int hp = 1; 00142658 mov dword ptr [hp],1 int localValue = 1; 0014265F mov dword ptr [localValue],1 cout << "increase 호출 전 : " << hp << endl; 00142666 mov esi,esp 00142668 push offset std::endl<char,std::char_traits<char> > (01412A8h) 0014266D mov edi,esp 0014266F mov eax,dword ptr [hp] 00142672 push eax 00142673 push offset string "increase \xc8\xa3\xc3\xe2 \xc0\xfc : " (0149B30h) 00142678 mov ecx,dword ptr [__imp_std::cout (014D0D8h)] 0014267E push ecx 0014267F call std::operator<<<std::char_traits<char> > (014120Dh) 00142684 add esp,8 00142687 mov ecx,eax 00142689 call dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (014D0A0h)] 0014268F cmp edi,esp 00142691 call __RTC_CheckEsp (0141285h) 00142696 mov ecx,eax 00142698 call dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (014D0A4h)] 0014269E cmp esi,esp 001426A0 call __RTC_CheckEsp (0141285h) IncreaseHp(hp); 001426A5 mov eax,dword ptr [hp] 001426A8 push eax 001426A9 call IncreaseHp (0141370h) 001426AE add esp,4 // 사실 이건 IncreaseHp(1); 이거다. 인수 값을 복사해서 넘기고 있다 이게 중요한 사실 cout << "Increase 호출 후 : " << hp << endl; 001426B1 mov esi,esp 001426B3 push offset std::endl<char,std::char_traits<char> > (01412A8h) 001426B8 mov edi,esp 001426BA mov eax,dword ptr [hp] 001426BD push eax 001426BE push offset string "Increase \xc8\xa3\xc3\xe2 \xc8\xc4 : " (0149B48h) 이런 값이 나옵니다. 위 어셈블리어에서 00142658 mov dword ptr [hp],1 를 통해 main 에서 hp에 1을 복사대입해주고 IncreaseHp(hp); 001426A5 mov eax,dword ptr [hp] 를 통해 hp = 1을 eax 레지스터에 복사대입해줍니다 001426A8 push eax 를 통해 eax를 스택에 넣습니다. 여기서 질문 있습니다. 1. 지금 스택에 들어간 eax(값은 1) 이건 main의 매개변수 인건가요? 아니면 IncreaseHp 함수의 매개변수hp인가요? 강의 설명에 따르면 매개변수와 반환 주소값은 이전 함수가 정해준다고 했으니 main이 IncreaseHP 함수의 매개변수를 정해준 것 같지만 IncreaseHP 함수의 매개변수가 맞는 생각인지 궁금합니다. 2. 001426A9 call IncreaseHp (0141370h) => 여기서 call을 통해 IncreaseHp 함수로 넘어가려는 것을 알았습니다. 이 때 강의 설명에 따르면 IncreaseHp에서 작업이 끝나면 돌아올 수 있게 반환 주소 값이 저장될 것입니다. 여기서 궁금한점이 그럼 main의 지역함수인 hp와 localValue는 언제 스택에 쌓이게 되는건가요? 어셈블리어로 CALL을 때리는 순간 돌아올 주소를 스택에 저장하고 IncreaseHp 함수 속으로 넘어가게 되는데 그렇다면 main의 지역변수는 스택에 쌓이지 못하게 되는 것 아닌가요? (마찬가지로 만약 func1()안에 func2()가 있다면 func1()의 지역변수 또한 쌓이지 못하고 CALL을 만나는 순간 func2()로 넘어가는 것 아닌가요?) 첨부한 스크린샷을 보면 main()에서 매개변수 -> 반환 주소 값 -> 지역변수를 스택에 쌓고 func1()으로 넘어가는 것처럼 묘사가 되어있는데 이게 어떻게 가능한건지 궁금합니다.. 3. 우리 main 함수는 IncreaseHp와 다르게 매개변수가 없으니까 스택에 쌓이는 main 부분은 반환 주소값(뭔가 return이 있으니 메인도 반환될 것 같습니다) -> 지역변수(2번 질문에 따르면 언제 쌓이는지 모르겠지만) 이런식으로 2개의 값만 가지게 되는건가요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
상속과 접근제한자
안녕하세요! 강의 너무 잘듣고 있습니다. 다름이 아니라 상속과 접근제한자에 관하여 궁금한 점이 생겨 아무리 찾아봐도 해결되지않아 질문을 남기게되었습니다. 파생 클래스는 기본 형식보다 높은 액세스 수준을 가질 수 없습니다. internal 클래스 A에서 파생된 public 클래스 B를 선언할 수 없습니다. 이것이 허용된다면 파생 클래스에서 A의 모든 protected 또는 internal 멤버에 액세스할 수 있게 되므로 결과적으로 A가 public이 되는 것과 같아집니다. 출처 : https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/access-modifiers 위의 경우 파생 클래스에서 A의 모든 protected 또는 internal 멤버에 액세스할 수 있게 되므로 결과적으로 A가 public이 되는 것과 같아집니다. 라는 이유로 파생클래스에서 더 높은 엑세스 수준을 가질 수 없다고 하는데 해당 부분이 이해가 잘 가지 않습니다. 혹시 예시를 들어 안되는 이유를 알려주실 수 있나요? (public 접근 제한자를 갖는 메서드안에서 private 멤버를 사용할 수 있는 것처럼 public 클래스가 internal 클래스를 상속할 수 있다고 생각이 되어 헛갈립니다.) (public 메서드 안에 private변수에 접근할 수 있다고해서 private변수가 결과적으로 public인것은 아니지 않습니까?)