묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
다형성
다형성 강의 관련해서 질문드릴게있습니다.instanceof를 쓸 때 형 변환이 왜 필요한지 알고싶습니다.
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
region 도쿄로 안하시는 분들
저는 cloud9이 접근이 안되어 cloud shell로 하고 있는데eksctl create cluster -f create-cluster.yaml 입력하시기 전에 nano create-cluster.yaml 입력하시고 region 바꿔주셔야 합니다저는 서울이라 region: ap-northeast-2로 입력했습니다.
-
미해결직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
pyhwpx의 set_table_width함수가 파일에 따라 안될때가 있습니다..
질문 남겨주셔서 감사합니다.막히면 언제든 무엇이든 자주 질문 던져주세요.수학/과학이나 알고리즘과는 달리업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다.다시 말씀드리지만, 질문을 자주자주 남겨주세요.저도 최대한 빠르게 회신 드리겠습니다.당부드릴 두 가지가 있습니다.① 가급적 구체적으로 설명해주세요.② 특정 챕터 관련 질문 남겨주실 때는, 어느 챕터인지 알려주세요ㅜ==================================== hwp.set_table_width()이 함수가 특정 파일에선 안먹힙니다..ㅠㅠ해당 한글 파일의 설정을 변경하거나 조정해야 할 부분이 있을까요? 일반적인 파일은 다 잘됩니다!
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
multiplay부분 에러
Library\PackageCache\com.unity.multiplayer.tools\NetVis\Configuration\OwnershipSettings.cs(41,24): error CS0103: The name 'CustomColorSettings' does not exist in the current contextmultiplay 열심히 보고 있는데요. 시작부터 이런 에러가 나와서 앞으로 나가지를 못 하고 있네요.
-
미해결스프링 핵심 원리 - 기본편
aop 초기화 시점과 초기화 콜백 시점
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 스프링 완전 정복 로드맵과 JPA 로드맵까지 전부 끝내고 개인 프젝 전에 복습을 하고 있습니다 확실히 전체 로드맵을 다 돌고 다시 보니까 아는 게 많아져서 그런지 더 재미있네요다름이 아니라 라이프 사이클을 복습하면서 스프링 aop 프록시 생성 시점과 콜백 시점은 정확히 언제일까? 먼가 먼저일까? 라는 궁금증이 생겼습니다그래서 개인적으로 테스트를 해보고 정리해 봤는데 아래 내용이 맞는지 읽어주시면 감사하겠습니다 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 ->postProcessBeforeInitialization -> 초기화 콜백 ->postProcessAfterInitialization ->소멸전 콜백 -> 스프링 종료직접 포스트 프로세서를 구현하고 ProxyFactory 사용해서 대체하니까포스트 프로세서의 어떤 메소드를 구현하냐고 프록시를 적용하냐에 따라서 콜백 메소드에 AOP 적용이 달라지더라구요초기화 콜백 이전에 AOP를 적용하면 초기화 콜백에도 부가 로그가 찍히고초기화 콜백 이후에 AOP를 적용하면 초기화 콜백에는 부가 로직이 안 찍히는걸 확인했습니다커스텀 말고 @Aspect를 통해서 적용하니까 콜백 메소드에 부가 로그가 안 찍히는걸로 봐서는 스프링 AOP는 postProcessAfterInitialization 메소드를 구현하는 걸로 추측해 봤습니다 감사합니다
-
미해결김영한의 실전 자바 - 중급 2편
7번 장바구니 문제의 minus() 메서드 로직 관련
[질문 내용]문제 7 - 장바구니 문제에서, minus 메서드를 보면 찾으려는 product가 존재하지 않는 경우에도 cartMap.remove()를 호출하도록 되어 있습니다. 존재하지 않는 것을 지우고자 하는 게 불필요하게 메서드를 호출하는 게 아닌가 싶은데, 예제를 쉽게 만들기 위한 선택인가요, 아니면 실무에서 저렇게 결과를 찾을 수 없어도 지우도록 하는 코드를 작성해도 문제가 없는 건가요?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
공부 방법에 대해서 문의 드려요
강의를 듣고는 있는데 이해가 되는 부분도 있지만 안되는 부분도 있고해서 강의마다 혼자서 정리를 하는데 정리한 부분이 맞는건지도 헷깔리고 합니다. 어디 물어볼 때도 없고 해서 일단은 이해한 내용을 토대로 정리중인데 강의를 쭉 한번 완강하고 다시한번 들으면서 재 정리를 하는게 나을까요? 아니면 이해할 때 까지 여붙잡고 정리를 한 뒤 다음 수업을 진행하는게 나을까요??
-
해결됨게임 엔진을 지탱하는 게임 수학
삼각함수 관련 질문입니다.
안녕하세요. 선생님삼각함수로 고통받고 있는 1인입니다..몇가지 궁금증이 있어 질문드립니다. 1. sinθ,cosθ,tanθ의 의미빗변이 1인 직삼각형에서sinθ- 높이/빗변으로 계산 -> 높이와 빗변의 비를 나타냄- (sinθ * 빗변)을 계산하여 "높이"를 알기 위함cosθ- 밑변/빗변으로 계산 -> 밑변과 빗변의 비를 나타냄- (cosθ * 빗변)을 계산하여 "밑변"를 알기 위함tanθ- 높이/밑변로 계산 -> 높이와 밑변의 비를 나타냄- (tanθ * 밑변)을 계산하여 "높이"를 알기 위함- (밑변^2 + 높이^2)를 계산하여 "빗변^2"을 알기 위함 위 내용이 기본적인 내용이고 이것을 응용하는 것이라 이해했습니다.이렇게 이해해도 되나요? 2. 용어의 정의삼각비- 나무위키: 삼각형의 세 변의 길이 중 두 변의 길이간의 비례 관계를 나타내는 값이다.- 네이버 국어사전: 직각 삼각형의 세 변 가운데에서 어느 두 변을 취하여 만든 비의 값삼각함수- 나무위키: 삼각비에서 쓰이는 정의역을 예각에서 일반각으로 확장시킨 것.- 네이버 국어사전: 각의 크기를 삼각비로 나타내는 함수 용어에 대한 정의가 네이버 국어사전이랑 나무위키랑 다르더라구요. (블로그마다도 좀 다르구요..)kms 대한수학회 라는 곳도 있는데, 여긴 한글/영어 표기만 있구요.이런 용어는 관리하는 기관이 있거나 할거같은데, 어디서 확인하는게 좋을까요? 3. sinθ의 실제값"빗변(10)과 θ(11도) 라는 값이 주어지고, 높이를 구해야하는 경우, sin11은 어떻게 알지?" 라는 궁금증이 생겼습니다.검색해보면 대부분이 문제풀이 하는거만 나와서 실망스러웠습니다.그러던중 어떤 글을 찾았는데, 내용이 잘 이해되는건 아니지만, 역시 계산하는 방법이 있었고, 찾았다는 사실이 기뻣습니다.https://gpgstudy.com/forum/viewtopic.php?t=568강의에서 이런 내용이 다뤄지지 않는 이유가 있을까요? (다른 곳에서도 다뤄진것을 본적은 없지만..) 감사합니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
interrupt() 메서드 사용 부분
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.아래 부분처럼 interrupt() 사용해서 수정했는데잘 작동하는데 이건 잘못된 코드 일까요..?while문도 try() catch() 문 안에 넣으면 안될까요 ..?@Override public void run() { try { while (true) { if (jobQueue.isEmpty()) { continue; } String job = jobQueue.poll(); log("출력 시작: " + job + ", 대기 문서: " + jobQueue); Thread.sleep(3000); log("출력 완료: " + job); } } catch (InterruptedException e) { log("interrupt!"); log("프린터 종료"); } }
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
13장 강의 수강 후 질문드려요~
안녕하세요 🙂 맛비님!FPGA 13장 수강 후 질문이 있어 글 남겨요!13장 28분 즈음을 보면, Vitis(=PS) 를 통해 13이라는 값을 Bram에 Write 하여 0번지 주소에 "8c29664c" 값이 들어오는 것을 확인하였는데요. 여기서, BRAM 에 정보 ( Address , Data ) 를 바탕으로 PL 로직에서 Source Code 를 작성하여 기능 구현을 하려고 합니다. ( 예를 들어 BRAM 0번지 Address 에 "8c29664c" Data 가 저장되면 LED On , 다른 값일 경우 Off..) 혹시 이러한 동작으로도 사용이 가능할까요? 사용 가능하다면, 설정 방법을 알려주시면 도움이 될 것 같습니다.
-
미해결Vue 3 시작하기
Vue 개발자도구 timeline에 No events라 뜨는 문제
버튼 클릭을 해 이벤트를 발생시켰음에도 불구하고 개발자도구에는 No events라고 뜹니다.Timeline에서 record 버튼 눌러 record on 했음에도 마찬가지입니다.해결방법을 아실까요? ㅠㅠ
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
투두리스트 content 수정 기능 추가 문의
투두리스트를 만들고 있는데여기서 만약 삭제버튼 옆에 수정버튼을 추가하여todo list에 입력한 content 내용을 수정할 수 있는 기능을 추가하려면todolist 내용 요소를 div요소에서 input text 요소로 바꾸고보이기는 input value사용하고,수정은 OnChange 이벤트를 사용하면 될까요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
파일 시스템 관련 질문입니다.
강의에서 모든 파일 시스템의 종류들은 다 FAT형식을 기본으로 갖는다고 하셨는데 검색해보니까 FAT도 한 종류의 파일시스템일 뿐이고 NTFS나 EXT 같은 종류의 파일 시스템은 각자 다른 방식으로 파일을 관리한다고 나와서요 그냥 기본적으로 FAT형식을 기반으로 발전시킨것들이다라고 이해해야할까요?다른 종류의 파일 시스템들도 0번 트랙, 0번 섹터의 MBR을 다 가지고 있는건가요?
-
미해결스프링 핵심 원리 - 고급편
@AfterReturning 설명 중 객체의 변경과 조작의 차이점
강의 18분 40초쯤 @AfterReturning 설명 중 반환되는 객체를 조작할 수는 있으나 변경할 수는 없다라고 말씀하셨는데 조작의 예시로 setter를 들어주시기는 했으나 setter를 통해 값을 변경하는 것도 결국 변경이 아닌가 생각이 들기도 하고 조작과 변경의 차이가 잘 이해되지 않습니다.조작과 변경의 차이를 조금 더 구체적이고 정확한 예시와 의미를 통해 이해시켜주실 수 있으실까요?
-
미해결폭발적인 조회수가 나오는 쇼츠 with 캡컷
영상 오류?
영상 제대로 올리는 법쇼츠 저작권두 개의 강의 영상이 파트2 캡컷영상으로 재생되는데오류인 건지 확인 부탁드립니다
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
감정일기장 getMonthlyDate 질문
안녕하세요.작성한 일기를 언제 작성했는지 필터링 하기 위한 getMonthlyDate 함수에 대해 질문이 있습니다.강의 내용에서는 작성한 일기가 언제 작성했는지를 알기 위해서 beganTime, endTime을 두고 시간까지 비교를 하였는데요.간단하게 getMonth()를 활용해서 작성한 일기를 해당하는 '월'로만 비교를 할 수는 없는 건지 궁금합니다!
-
해결됨실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
cdc 기반의 스트리밍 데이터 처리
안녕하세요. 강의 잘듣고 있는 도중에 질문이 있어 글을 작성하게 되었습니다. 현재 cdc 기반으로 iceberg 테이블에 operation(insert, update, delete) 정보들을 적용해서 데이터를 적재하고 있습니다. 이부분까지는 DMS -> kinesis -> lambda-> firehose -> iceberg 순서로 문제없이 적재를 진행하고 있지만 이런형식으로 운영중인 iceberg 테이블 10개를 join 시켜 datamart에 현재는 1주일에 한번씩 전체를 삭제 후 insert하는 비효율 적인 방식으로 마트를 운영중에 있습니다. 이것을 개선시키기 위해 적재중인 iceberg 테이블들에 변경된 데이터들을 5분 10분 단위로 종합해 datamart 테이블에 변경 분에 한해서만 insert, update, delete를 반영해주고자 하는데 강의를 듣다보니 spark streaming을 활용해서 뭔가 해결을 할 수 있을것 같은데 혹시 이부분에 대한 아이디어에 대해서 조언을 구할 수 있을까요? 10개의 테이블에 대해서 10분간 발생한 변경 점들을 종합해 datamart에 반영을 해주려고 하는데 아직 제대로 감이 잡히지 않아서 질문드렸습니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
13-16) UpdateAPI test 에러
강의 수강 내용에 따라test_author_can_update_post 와 test_non_author_cannot_update_post를 수행하면 하기의 에러가 발생합니다.list, retrieve, create, destroy 전부 정상 작동하는데 update만 해당 오류가 발생합니다/blog/api.py, line 75, in has_permission if request.method in SAFE_METHODS: NameError: name 'SAFE_METHODS' is not defined 수업 내용대로 따라가고 있는데 ㅠㅠ 오류가 발생한 곳이 어디인지 알 수 가 없습니다.수업 내용을 따라서 구현한 코드는 다음과 같습니다.# blog/tests/test_api.py import base64 import pytest from django.core.exceptions import ObjectDoesNotExist from django.urls import reverse from rest_framework import status from rest_framework.response import Response from rest_framework.test import APIClient from accounts.models import User from accounts.tests.factories import UserFactory from blog.models import Post from blog.tests.factories import PostFactory def create_user(raw_password: str = None) -> User: """새로운 User 레코드를 생성 및 반환""" return UserFactory(raw_password=raw_password) def get_api_client_with_basic_auth(user: User, raw_password: str) -> APIClient: """인자의 User 인스턴스와 암호 기반에서 Basic 인증을 적용한 APIClient 인스턴스 반환""" # *.http 파일에서는 자동으로 base64 인코딩을 수행해줬었습니다. base64_data: bytes = f"{user.username}:{raw_password}".encode() authorization_header: str = base64.b64encode(base64_data).decode() client = APIClient() client.credentials(HTTP_AUTHORIZATION=f"Basic {authorization_header}") return client @pytest.fixture def unauthenticated_api_client() -> APIClient: """Authorization 인증 헤더가 없는 기본 APIClient 인스턴스 반환""" return APIClient() @pytest.fixture def api_client_with_new_user_basic_auth(faker) -> APIClient: """새로운 User 레코드를 생성하고, 그 User의 인증 정보가 Authorization 헤더로 지정된 APIClient 인스턴스 반환""" raw_password: str = faker.password() user: User = create_user(raw_password) api_client: APIClient = get_api_client_with_basic_auth(user, raw_password) return api_client @pytest.fixture def new_user() -> User: """새로운 User 레코드를 생성 및 반환""" return create_user() @pytest.fixture def new_post() -> Post: """새로운 Post 레코드를 반환""" return PostFactory() @pytest.mark.it("작성자가 아닌 유저가 수정 요청하면 거부") @pytest.mark.django_db def test_non_author_cannot_update_post(new_post, api_client_with_new_user_basic_auth): url = reverse("api-v1:post_edit", args=[new_post.pk]) response: Response = api_client_with_new_user_basic_auth.patch(url, data={}) assert status.HTTP_403_FORBIDDEN == response.status_code @pytest.mark.it("작성자가 수정 요청하면 성공") @pytest.mark.django_db def test_author_can_update_post(faker): raw_password = faker.password() author = create_user(raw_password=raw_password) created_post = PostFactory(author=author) url = reverse("api-v1:post_edit", args=[created_post.pk]) api_client = get_api_client_with_basic_auth(author, raw_password) data = {"title": faker.sentence()} response: Response = api_client.patch(url, data=data) assert status.HTTP_200_OK == response.status_code assert data["title"] == response.data["title"] ## core/mixins.py from typing import List, Optional, Type from colorama import Fore from django.conf import settings from django.db.models import Model, QuerySet from rest_framework import permissions from rest_framework.renderers import BrowsableAPIRenderer, JSONRenderer from rest_framework.request import Request from rest_framework.response import Response from rest_framework.serializers import Serializer from rest_framework.utils.serializer_helpers import ReturnDict from rest_framework.views import APIView from core.permissions import make_drf_permission_class class JSONResponseWrapperMixin: def finalize_response( self, request: Request, response: Response, *args, **kwargs ) -> Response: is_ok = 200 <= response.status_code < 400 accepted_renderer = getattr(request, "accepted_renderer", None) if accepted_renderer is None or response.exception is True: response.data = { "ok": is_ok, "result": response.data, } elif isinstance( request.accepted_renderer, (JSONRenderer, BrowsableAPIRenderer) ): response.data = ReturnDict( { "ok": is_ok, "result": response.data, # ReturnList }, serializer=response.data.serializer, ) return super().finalize_response(request, response, *args, **kwargs) class PermissionDebugMixin: if settings.DEBUG: def get_label_text(self, is_permit: bool) -> str: return ( f"{Fore.GREEN}Permit{Fore.RESET}" # colorama 라이브러리 활용 if is_permit else f"{Fore.RED}Deny{Fore.RESET}" ) def check_permissions(self, request: Request) -> None: print(f"{request.method} {request.path} has_permission") for permission in self.get_permissions(): is_permit: bool = permission.has_permission(request, self) print( f"\t{permission.__class__.__name__} = {self.get_label_text(is_permit)}" ) if not is_permit: self.permission_denied( request, message=getattr(permission, "message", None), code=getattr(permission, "code", None), ) def check_object_permissions(self, request: Request, obj: Model) -> None: print(f"{request.method} {request.path} has_object_permission") for permission in self.get_permissions(): is_permit: bool = permission.has_object_permission(request, self, obj) print( f"\t{permission.__class__.__name__} = {self.get_label_text(is_permit)}" ) if not is_permit: self.permission_denied( request, message=getattr(permission, "message", None), code=getattr(permission, "code", None), ) class TestFuncPermissionMixin: TEST_FUNC_PERMISSION_CLASS_NAME = "TestFuncPermissionMixin" @classmethod def get_test_func_permission_instance(cls) -> permissions.BasePermission: permission_class = make_drf_permission_class( class_name=cls.TEST_FUNC_PERMISSION_CLASS_NAME, # *_test_func_name 속성이 지정되면, 이 권한 클래스가 사용된 APIView 클래스에서 # 지정 이름의 메서드를 찾습니다. has_permission_test_func_name="has_permission", has_object_permission_test_func_name="has_object_permission", ) return permission_class() def get_permissions(self) -> List[permissions.BasePermission]: # 기존 permission_classes 설정에 권한 정책을 추가하는 방식으로 동작 return super().get_permissions() + [self.get_test_func_permission_instance()] def has_permission(self, request: Request, view: APIView) -> bool: return True def has_object_permission( self, request: Request, view: APIView, obj: Model ) -> bool: return True
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
ㅇ
ㅇ
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
android 실행 에러 질문있습니다
안녕하세요 강의 잘 보고 있습니다.현재 저는 Mac을 사용하고 있고인텔리제이로 iOS 와 Android 둘다 실행하는것으로 강의를 보며 공부하고 있는데요Android를 빌드 할때" Lost connection to device.Finished with error: getVM: (-32000) Service connection disposedthe Dart compiler exited unexpectedly. " 와 같은 메시지와 함께 실행이 되지 않습니다 아직 초보라 구글링하여 혼자 해결해보려해도 방법을 찾지못해 질문드립니다.