묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결롱런하는 슈퍼 개발자가 되기 위한 필수 지식, IT 인프라 기초 총정리
네트워크 프로토콜과 계층 강의
안녕하세요 강의 문의 드립니다.10:34에 검은색 화면으로 넘어가는데 강의가 끝나서 이렇게 넘어가는게 맞는거죠??
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
예제로 구현하는 파일 업로드,다운로드 25:50 부근
제가 지정한 경로에 파일도 업로드 되고redirect 되는것도 확인했습니다 post요청을 보매녀 redirect되서 /items/1로 get요청을 보내는데 여기서 whitelabel 오류가 나옵니다. item-view.html에서첨부파일:<img>를 삭제하고 돌리면정상적으로 뷰를 랜더링 합니다어디서 문제가 발생한건가요??+파일을 첨부안하면 오류가 발생안하고 파일을 첨부하면 오류가 발생합니다. 어디서 문제가 있는지 감이안오네요ㅜ
-
미해결
인프런 김영한 강사님 강의 듣고있는데 포트오류 생깁니다
Web server failed to start. Port 8080 was already in use. Identify and stop the process that's listening on port 8080 or configure this application to listen on another port. 이 문구들이 나오는데 김영한 강사님께서 이전 포트8080을 끄고 다음 것을 진행하라고 하셨습니다.그런데 애초에 중지버튼에 불이 들어와있지 않습니다.
-
해결됨
저 좀 도와주세요 ㅠㅠ 어떻게 해야 하죠??
pygame를 통해서 캐릭터를 움직일 수 있는 게임을 만들어 보려 하는데원근감을 이용해 위로 움직이면 캐릭터가 축소되고, 아래로 움직이면 캐릭터가 확대되어야 하는데확대/축소가 될 때마다 캐릭터의 모습이 흐려지다가 사라지는 게 발생해요ㅠㅠ어떻게 해야 할까요?import pygame import sys WHITE=(255,255,255) screenx=1280 screeny=720 def drawobject(obj,x,y): global screen screen.blit(obj,(x,y)) def initgame(): global screen,fps,bg,char pygame.init() screen=pygame.display.set_mode((screenx,screeny)) bg=pygame.image.load('리소스/background.png') char=pygame.image.load('리소스/sprite.png') pygame.display.set_caption('제목 뭐하지') fps=pygame.time.Clock() def rungame(): global screen,fps,bg,char charsize=char.get_rect().size charwidth=charsize[0] charheight=charsize[1] x=screenx/2 y=screeny-charheight charX=0 charY=0 changecharsize=0 done=False while not done: for event in pygame.event.get(): if event.type in [pygame.QUIT]: pygame.quit() sys.exit() if event.type in [pygame.KEYDOWN]: if event.key==pygame.K_LEFT: charX-=6 elif event.key==pygame.K_RIGHT: charX+=6 elif event.key==pygame.K_UP: charY-=4 changecharsize-=3 elif event.key==pygame.K_DOWN: charY+=4 changecharsize+=3 if event.type in [pygame.KEYUP]: if event.key==pygame.K_LEFT or event.key==pygame.K_RIGHT: charX=0 elif event.key==pygame.K_UP or event.key==pygame.K_DOWN: charY=0 changecharsize=0 drawobject(bg,0,0) x+=charX if x<-120: x=-120 elif x>screenx-charwidth+120: x=screenx-charwidth+120 y+=charY if y<535-charheight: y=535-charheight elif y>720-charheight: y=720-charheight charwidth+=changecharsize if charwidth<180: charwidth=180 elif charwidth>360: charwidth=360 charheight+=changecharsize if charheight<180: charheight=180 elif charheight>360: charheight=360 char=pygame.transform.smoothscale(char,(charwidth,charheight)) drawobject(char,x,y) pygame.display.update() fps.tick(60) pygame.quit() initgame() rungame()
-
미해결스프링 부트 - 핵심 원리와 활용
pinpoint 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의와 직접적인지는 고민되지만 몇일 해보고 안되서 도움을 요청드립니다. pinpoint 에서 servermap 으로 모니터링하면 agent 포함된 각각의 마이크로 서비스의 흐름도가 보여야만 하는데 application만 보입니다... api 가 호출되는건 보이는데 db 나 mq 쪽은 보이지 않더라고요... java11을 사용중이고 pinpoint config 에서는 db나 mq설정은 true로 되어 있습니다. 강의 후에 연습해보려고 시도했는데(docker network로 구성) 구글링도 많이 해봤지만 생각보다 잘되지 않아 커뮤니티에 글을 남깁니다. 감사합니다!
-
미해결
로드맵(기초부터 응용까지 한 방에 끝내는 파이썬) 쿠폰
로드맵(기초부터 응용까지 한 방에 끝내는 파이썬) 쿠폰이 맨위 배너에 있는데쿠폰은 어디서 받을 수 있나요 ?
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
앱실행 오류가 있어요.
안녕하세요, 궁금한게 있어서 문의 드립니다. 다이어트메모 앱을 처음 만들었을때는 강의처럼 잘 되었는데, 복습차원으로 새로 하나 다시 만들었습니다. 그런대 두번째로 만든앱에서 앱실행 후에 이미지뷰를 누르니 앱이 강제 종료가 되더라고요. 그래서 처음 것과 변수이름까지 같게 해가면서 몇 번 다시 실행해 보니 이번엔 실행도 되지 않고 에러가 떴습니다. 뭐가 잘못된 건지 알려주시면 감사하겠습니다!!https://drive.google.com/file/d/177O_1hLuKez4SMsV4acQhgFsZhEtQnQV/view?usp=sharing https://drive.google.com/file/d/1n0r5Cc5y8bcHCyG4rMSJlkyKxogt_0SU/view?usp=sharing
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
LoadBalancer 에 달린 VM 에 배포하는 방법
섹션 3 의 [Loadbalancer 생성해서 VM 연결해주기] 강의에서 AWS 의 LoadBalancer 를 앞 단에 연결해 주신 상태인데요. 섹션 4 의 [배포용 Workflow 만들기] 강의에서는 배포를 LightSail 의 VM 에 직접 하셨습니다.현업에서도 LoadBalancer 를 통하지 않고, 각각의 VM 에 직접 배포를 하는지 궁금합니다.이렇게 되면 LoadBalancer 에 달려 있는 VM 이 여러 개일 경우, 배포를 모든 VM 에 각각 해 주어야 하는데요.Load Balancer 밑에 달린 VM 에 배포하는 방법에 대해 자세히 알려주시면 감사하겠습니다.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
Load Balancer 중복 여부 질문
섹션 3 의 [Loadbalancer 생성해서 VM 연결해주기] 강의에서 AWS 의 LoadBalancer 를 앞 단에 연결해 주신 상태인데요.섹션 5 의 [Process manager - 여러 프로세스를 뛰우고 load balancing 해주기] 강의에서는 pm2 를 이용해 또 LoadBalancer 를 생성해 주시고 있습니다.Load Balancer 를 2개를 생성하는 것인가요?
-
해결됨Next + React Query로 SNS 서비스 만들기
fetch와 axios 차이점이 문득 궁금해졌습니다.
next.js에서의 fetch는 fetch api와 다른 것과, cache: 'no-store'를 사용하면 getServerSideProps를 사용한 것과 동일한 것도 이해를 했습니다. 근데 만약 fetch를 사용하지 않고 axios를 사용한다면 어떤 차이점이 있는지 궁금합니다.질문 : axios를 사용하면 next.js에서 어떻게 SSR 처리가 되는 걸까요? (next.js fetch를 쓰지 않는데 어떻게 SSR이 처리가 되는지)
-
미해결CloudNet@ - Amazon EKS 기본 강의
EKS Add on 기능
안녕하세요 kube-proxy와 Amazon VPC CNI core DNS경우는 일반적으로 Kubernetes에 구성 요소 아닌지요? 그런데 왜 EKS에서 add on 으로 나와 있는건지 궁금합니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
nginx, gunicorn, daphne 기반 배포 관련하여 질문 좀 드릴게요
안녕하세요~현재까지 공개된 강의 내용과 무관한 질문이지만, 도통 문제 해결 방향을 잡지 못하고 있어 글 남겨 봅니다. ><DRF, Channels, React로 만든 앱을 nginx, gunicorn, daphne 기반으로 배포하려는데, 막힌 지점에서 벗어나질 못하고 있습니다 ㅜnginx, gunicorn, daphne 모두 정상적으로 동작하고 있는 것 같은데, nginx 설정 파일에 등록한 127.0.0.1로 접속하면 "사이트에 연결할 수 없음, 127.0.0.1에서 연결을 거부했습니다"라는 화면이 나옵니다.문제 해결을 위해 추가적으로 살펴봐야 부분에 관해 조언을 해주신다면 너무 감사드리겠습니다!한 가지 찝찝한 부분은, react오 django 프로젝트 폴더를 담고 있는 폴더의 경로는 home/kiwitter인데 home/ubuntu/kiwitter/처럼 현재 제 우분투 환경의 사용자를 중간에 추가해야 진행 시 오류가 발생하지 않더라고요. 가상환경 사용과 관련있는 것 같은데, 어쨌든 그래서 경로 입력 시 home/ubuntu/kiwitter/처럼 중간에 사용자명을 추가하는 방식을 사용하고 있는데, 혹시 지금 문제가 이것과 관련이 있을까 싶어 말씀드립니다.배포 시 React와 Django 프로젝트가 정상적으로 동작하는지 각각 따로 확인하는 방법이 있을까요? Django도 지금처럼 http와 웹소켓으로 클라이언트 요청이 들어오는 경우에 각각의 동작 여부를 개별적으로 살펴볼 수 있는 방법이 있나요? 배포 관련 지식이 없는 데다 하나씩 단계적으로 정상 동작 여부를 점검하지도 못하니 배포의 늪에서 벗어나는 게 더 힘드네요,,파이썬 사랑방에는 모든 게시물이 관리자의 승인을 받아야 되나요? 아니면 가령 일정 등급 이상이 되면 승인 없이 게시물을 자유롭게 올릴 수 있나요? 여기서 질문 드린 부분을 처음에는 페북 파이썬 사랑방 그룹에 질문했었는데 관리자의 검토가 필요하다는 안내를 보고 궁금해서 여쭤봅니다. ✔ 프로젝트 폴더 구조(venv) ubuntu@Ubuntu:~/kiwitter$ ├── kiwitter_backend │ ├── chats │ ├── db.sqlite3 │ ├── kiwitter_backend │ ├── kiwitter.sock │ ├── log │ ├── manage.py │ ├── secrets.json │ ├── staticfiles │ ├── tweets │ └── users ├── kiwitter_frontend │ ├── build │ ├── node_modules │ ├── package.json │ ├── package-lock.json │ ├── public │ ├── README.md │ └── src ├── requirements.txt └── venv ├── bin ├── include ├── lib ├── lib64 -> lib └── pyvenv.cfg ✔ nginx, gunicorn, daphne 동작 상태<sudo systemctl status nginx 명령어 출력 결과><ps aux | grep gunicorn의 출력 결과><ps aux | grep daphne의 출력 결과>✔ nginx, gunicorn, daphne 관련 설정 파일</etc/nginx/sites-available/kiwitter>upstream django_server { server unix:/home/ubuntu/kiwitter/kiwitter_backend/kiwitter.sock; # Gunicorn 소켓 파일 위치 } upstream channels_layer { server localhost:6379; # Daphne 서버 주소 및 포트 } server { listen 80; server_name 127.0.0.1; # 실제 도메인 또는 공용 IP 주소로 변경 # React 앱이 위치한 경로 location / { root /home/ubuntu/kiwitter/kiwitter_frontend/build/; try_files $uri $uri/ /index.html; } location = /favicon.ico { access_log off; log_not_found off; } location /static/ { alias /home/ubuntu/kiwitter/kiwitter_backend/staticfiles/; # STATIC_ROOT 경로 } location /media/ { alias /home/ubuntu/kiwitter/kiwitter_backend/media/; # MEDIA_ROOT 경로 } # API 요청을 Django로 프록시 location /api/ { proxy_pass http://django_server; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # Django admin 페이지 및 기타 Django 경로 location /admin/ { proxy_pass http://django_server; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # WebSocket 요청 처리를 위한 설정 location /ws/ { proxy_pass http://channels_layer; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }</etc/systemd/system/gunicorn.service>[Unit] Description=gunicorn daemon After=network.target [Service] User=ubuntu Group=www-data WorkingDirectory=/home/ubuntu/kiwitter/kiwitter_backend ExecStart=/home/ubuntu/kiwitter/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/ubuntu/kiwitter/kiwitter_backend/kiwitter.sock kiwitter_backend.wsgi:application [Install] WantedBy=multi-user.target</etc/supervisor/conf.d/channels.conf>[fcgi-program:asgi] socket=tcp://localhost:8000 directory=/home/ubuntu/kiwitter/kiwitter_backend command=/home/ubuntu/kiwitter/venv/bin/daphne -u /run/daphne/daphne%(process_num)d.sock --fd 0 --access-log - --proxy-headers kiwitter_backend.asgi:application numprocs=2 process_name=asgi%(process_num)d autostart=true autorestart=true stdout_logfile=/home/ubuntu/kiwitter/kiwitter_backend/log/asgi.log redirect_stderr=true✔ Django settings.py... 생략 ALLOWED_HOSTS = os.getenv('ALLOWED_HOSTS', '').split(',') # .env 관련 부분 -> ALLOWED_HOSTS=127.0.0.1,localhost ... 생략 CSRF_TRUSTED_ORIGINS = [ 'http://127.0.0.1:8000', 'http://127.0.0.1', 'http://localhost:8000', 'http://localhost', ] ... 생략 CHANNEL_LAYERS = { 'default': { 'BACKEND': 'channels_redis.core.RedisChannelLayer', 'CONFIG': { "hosts": [('127.0.0.1', 6379)], # Redis 서버 주소 }, }, }
-
해결됨핸즈온 리액트 네이티브
실물 기기로 개발 시 안드로이드 스튜디오는 필요가 없는건가요?
안녕하세요, 개발환경 구성할 때 안드로이드 스튜디오를 같이 설치를 했는데요.만약 실물 기기를 이용하여 개발을 할 때는 안드로이드 스튜디오를 따로 설치해주지 않아도 상관이 없는걸까요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
영상 중에 intercept redirect 질문
안녕하세요! 진석님 강의 잘듣고 있습니다.intercept redirect 강의 파트에서 도중에 끊긴 것 같은데 다음 회차에서 이어지는건가요? 확인 부탁드립니다!늘 좋은 강의 감사합니다:)
-
해결됨시스템 소프트웨어 개발의 모든 것 - 시스템 반도체와 전기 자동차 중심
절실한 강의자료 ㅜㅜ...
안녕하세요.로드맵을 따라 수강하기 위해 강의들을 모두 구해하였는데요.강사님께서 설명하시는 자료가 있어야 공부 및 복습을 제대로 할 수 있을 것 같은데 강의하시는 pdf 자료를 공유해주실 수는 없는지 여쭤봅니다. ㅠㅠ 부탁드립니다. ㅜㅜ
-
미해결Next + React Query로 SNS 서비스 만들기
credentials provider 에서 서버로 부터 받아온 error message가 반환되지 않는 경우
안녕하세요 제로초님!강의 들으면서 개인 프로젝트에 적용 중입니다!현재 로그인 기능 구현을 시도하고 있고, 백엔드 API는 개인적으로 이미 구현이 되어있는 상황입니다.로그인 구현 방식은 강의 내용과 동일하게 진행하고 있는데요,아이디 또는 비밀번호가 틀렸을 때 authResponse.ok가 false로 반환되어 아래처럼 에러를 던져주고 있는데, 이 에러의 에러메시지가 터미널에서는 확인이 됩니다.근데 저 에러 메시지를 로그인을 요청하는(onSubmit 함수가 있는) 클라이언트 컴포넌트에서 확인을 하고 싶은데 next-auth signIn 요청시에 error로 잡히지 않고 res(정상응답)으로만 반환이 되고 있습니다.그리고 그 res를 콘솔에 찍어보면{error: 'CallbackRouteError', status: 200, ok: true, url: null} 로만 반환이 됩니다. 로그인이 정상적으로 이루어졌을 때는{error: null, status: 200, ok: true, url: 'http://localhost:3000/login'} 이렇게 반환이 됩니다.next-auth에서 Import해온 signIn 함수의 response 와 서버에서 받아온 errorMessage를 어디서 핸들링해야하는 건지 궁금하여 질문 드립니다.. 터미널에서 찍히는 errorMessage를 동일하게 signIn 함수의 error로 잡고 싶은데 가능한가요?
-
해결됨홍정모의 따라하며 배우는 C언어
* (asterisk) 가 초기화문에서 사용될때, 할당문에서 사용될때 차이.
안녕하세요,초기화문에서 *가 사용될땐 주소가 저장되고,일반 명령문에서 변수앞에 *를 붙이면 앞의 경우와 다르게 redirection 연산자로서 사용되는데 그냥 암기해야 되나요? 간단한 예를 들면, int *a = 0x0077*a = 123;위 두 문장의 의미는 각각 int 포인터 변수 a 를 선언하며 0x0077 이라는 주소값을 a 에 저장. a가 가리키는 주소(0x0077)에 접근하여 123을 저장. 감사합니다.
-
미해결UIKit - iOS14 실무 가이드 <iOS앱 진짜 개발자 되기>
pageViewController 호출시점
강의에서 매개변수로 viewControllerBefore viewController 이나 viewControllerAfter viewController 를 가지고 있는 pageViewController함수를 이용해 현재 페이지의 idx 를 구할 수 있다고 들었는데, 언제 호출되는지 궁금해서 각각 함수에 아래의 디버깅 코드를 넣어서 테스트 해봤습니다print("before pageViewController 호출")print("after pageViewController 호출")결과는 오른쪽 페이지로 갈때는 after 이 출력되었고 왼쪽페이지로 갈때는 before 이 출력되었는데 매번 나오는건 아니고 나올때도 있고 안 나올때도 있더라고요..왜 이렇게 매번 호출이 되었다가 안되었다가 하는 것일까요?페이지에 따른 규칙성일까 싶어 확인해봤으나 랜덤으로 나왔다가 안 나왔다가 하는 것 같았습니다. extension OnBoardingPageViewController: UIPageViewControllerDataSource { func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { print("before pageViewController 호출") guard let currentIdx = pages.firstIndex(of: viewController) else { return nil } self.currentIdx = currentIdx //마지막 페이지일 경우 마지막 페이지로 if (currentIdx == 0 ) { return pages.last } return pages[currentIdx-1] } func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? { print("after pageViewController 호출") guard let currentIdx = pages.firstIndex(of: viewController) else { return nil } self.currentIdx = currentIdx if currentIdx == pages.count - 1 { return pages.first } return pages[currentIdx + 1] } }
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
xml파일과 properties에 로그레벨 질문
<configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n</pattern> </encoder> </appender> <root level="DEBUG"> <appender-ref ref="STDOUT" /> </root> </configuration>이 코드를 쓰면 DataSource 커넥션풀에서 별도의 Thread가 동작하는 코드를 볼수가 있는데 application.properties에서 logging.level.root=debug 로 설정을하니까 안보이더라구요... 왜 안되는지 이유를 알수잇을까요?
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
13강 void UABCharacterMovementComponent::ABTeleport() 구현에서 문제가 있습니다.
강의 코드와 같이 작성했으나 CharacterOwner에 멤버함수에 대해 접근이 안됩니다.//.h FIle class ARENABATTLE_API UABCharacterMovementComponent : public UCharacterMovementComponent 분명 UCharacterMovementComponent 클래스를 상속받았고 UCharacterMovementComponent 클래스안에 ACharater에대한 선언도 있는듯 한데CharacterOwner포인터가 incompleted class라고 하면서 클래스 내부에 대해 접근을 하지못하네요..ㅠㅠFVector TargetLocation = CharacterOwner->GetActorLocation() + CharacterOwner->GetActorForwardVector() * TeleportOffset;#include "GameFramework/Character.h"우선 해당 클래스를 cpp에 포함시켜서 해결은 했는데 저만발생하는거같아 이상하네요 더좋은 방법이 있을까요?? 아래는 에러코드들입니다.error C2027: use of undefined type 'ACharacter'error C2039: 'GetActorLocation': is not a member of 'TObjectPtr<ACharacter>error C2027: use of undefined type 'ACharacter'