묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Reader/Writer-Lock 강의 다 듣고 제가 제대로 이해한 게 맞는지 확인받고 싶습니다!
안녕하세요!어제, 강의도 다 안 듣고 질문을 드린 바보 같은 저를 질책하며 강의를 다 듣고 제가 이해한 게 맞는지 확인을 좀 받고 싶습니다!락 획득 정책을 말씀하실 때 살짝 이해가 안 가는 부분이 있었는데 동일 스레드일 때란 걸 알게 되고 나서는 이해에 큰 어려움이 없었습니다. 그래도 확인이 필요하다는 생각이 들었습니다! 각 항목을 번호로 구분해보겠습니다!동일 스레드일 때의 정책이란 게 락을 획득 후 실행될 때는 사실상 싱글 스레드인 것처럼 생각해도 되겠더라구요그렇다고 한다면 GameServer.cpp에서 테스트 코드 작성하실 때 ThreadWrite()일 때 TestPush(), TestPop()의 동작이 한 스레드에서 동작하는 건 당연히 문제가 안 되니까 W->W 혹은 W->R을 허용하는 게 이해가 됐습니다. 한 처리가 완료되고 나서 다른 처리로 넘어가니까요.그렇다면 같은 논리가 적용될 것 같은데 R->W은 왜 안 되느냐에 대해서도 생각해봤는데요. 논리적으로 접근했을 때, 하나의 함수 내에서 읽기 연산 중에 쓰기 연산을 하는 건 단일 책임 원칙에도 위반될 뿐더러 이상한 코드가 나오더라고요. 가령 테스트 코드로 작성하신 TestRead() 안에 TestPush() 혹은 TestPop()을 넣어버리면 안 되니까요. 또한 데드락이 생기지 않기 위해서는 락을 거는 순서가 중요한데, w->r을 허용한 이상 r->w를 허용하면 데드락이 생기기 딱 좋다.ReadLock에 대해서는, WriteLock을 잡고 있지 않은 다른 스레드는 ReadLock을 획득할 수 있다!ReadLock의 주석에 "아무도 소유하고 있지 않을 때"라고 되어 있어서, 조금 헷갈렸는데요. 코드를 보면 마스킹해서 read_count만 확인하는 걸 보고 역시 ReadLock은 WriteLock을 잡고 있지 않은 스레드도 잡을 수 있구나, 카운트 올리는 것만 경합하는 거구나, 로 이해했습니다.2년 전에 처음 강의를 들을 때 제대로 이해 안 하고 넘어갔다가 나중에 큰 화를 당했어서, 이번에는 확실히 이해하려고 하다 보니 코드에서 참 얻을 게 많다 느낍니다. 틀린 게 있으면 지적 부탁드립니다. 감사합니다!
-
미해결디지털 포렌식 (Digital Forensic) 전문가 과정
vol.py -h에서 오류가 납니다.
vol.py -h에서 오류가 납니다.Volatility Foundation Volatility Framework 2.4*** Failed to import volatility.plugins.mimikatz (ImportError: No module named construct)*** Failed to import volatility.plugins.linux.netscan (ImportError: No module named yara)Traceback (most recent call last): File "C:\Vol\vol.py", line 192, in <module> main() File "C:\Vol\vol.py", line 169, in main config.parse_options() File "C:\Vol\volatility\conf.py", line 262, in parse_options self.optparser.print_help() File "C:\Vol\volatility\conf.py", line 97, in print_help optparse.OptionParser.print_help(self, file) File "C:\Python27\New Folder\lib\optparse.py", line 1664, in print_help file.write(self.format_help().encode(encoding, "replace"))UnicodeDecodeError: 'ascii' codec can't decode byte 0xc8 in position 596: ordinal not in range(128)어떻게 해결할수 있을까요?
-
미해결이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)
프록시 관련 질문
안녕하세요 강사님,proxy 설정을 하면 이렇게 오류가 뜨면서 서버 시작이 안돼요.프록시 부분을 지우면 잘 작동하는데어디가 잘못된걸까요?
-
미해결[AI 실무] AI Research Engineer를 위한 논문 구현 시작하기 with PyTorch
gpu설정
엔비디아 gpu내장안되어있으면 gpu사용이 안되는건가요? 제 노트북은 Intel Arc TM Graphics 입니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
코드변경을 하면 오류가 생기는데요
코드를 조금만 바꿔도 체력이 0으로 변경되고 화살이 캐릭터 스폰 장소에서 캐릭터가 움직인 장소로 갔다가 몬스터에게 향하게 되는데 어디를 봐야 해결할 수 있을까요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌3)
순수 CSS 선택자 중첩(Nesting) - 활용예제 (로그인폼)관련 질문있습니다.
scss 작성하다가 궁금한 것이 있어 질문 남깁니다.scss를 작성할 때 띄어쓰기를 어떻게 해야할지 궁금합니다. 예를들어 .status { display: flex; justify-content: space-between; margin: 20px 0; & label { & input[type=checkbox] { display: none; +em { display: inline-block; width: 18px; height: 18px; background-image: url('images/icon-radio.png'); transform: translateY(4px); background-position: left; } &:checked+em { background-position: right; } &:checked+em+span { color: var(--mainColor); } } } & a:hover { text-decoration: underline; } } 선생님과 수업하면서 작성한 띄어쓰기 하지 않은코드인데요.이쁘게 정렬하고 싶어서 alt + shift + f 를 눌러서 전체 정렬을 했더니 .status { display: flex; justify-content: space-between; margin: 20px 0; & label { & input[type=checkbox] { display: none; +em { display: inline-block; width: 18px; height: 18px; background-image: url('images/icon-radio.png'); transform: translateY(4px); background-position: left; } &:checked+em { background-position: right; } &:checked+em+span { color: var(--mainColor); } } } & a:hover { text-decoration: underline; } } 이렇게 자동으로 띄어쓰기게 되더라구요.의미없는 띄어쓰기는 하지 않는게 좋다고 들었는데띄어쓰기를 하지 않으면scss nesting 특성상 괄호가 많아져서 알아보기 힘들고비주얼 단축키로 정렬했을 때엔 알아서 띄어쓰게 해주는데,scss는 어떤식으로 코드를 작성해야할지 궁금합니다.
-
해결됨Readable Code: 읽기 좋은 코드를 작성하는 사고법
정적 팩토리 메서드 of() 컨벤션
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 강의 중 정적 팩토리 메서드를 만드실 때 of()안의 파라미터가 없거나, 한 개 혹은 여러 개 일 때 모두 사용 하신 것 같아요유명 기술 블로그를 보면 https://tecoble.techcourse.co.kr/post/2020-05-26-static-factory-method/여러개의 파라미터를 통해 생성할 때 of를 쓰라고 되어있는데요, 이때 여러개 라는 말은 없거나, 한개 혹은 여러개 모든 경우를 포함하는 말 일까요?실제로 List인터페이스의 경우에서도 구분하지 않고 전부 of를 사용해서 맞는 것 같긴 한데 위의 블로그 표현과는 약간 다른 것 같아서 질문드립니다
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
break 부분이 왜 필요한지 헷갈립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기서 catch 부분에 break가 왜 필요한건가요?"q" 를 입력하면 printerThread 에 인터럽트를 걸고 while문의 !Thread.interrupted가 false가 되어서 while문을 탈출하는게 아닌가요?아니면 !Thread.interrupted가 false가 되기 전에 먼저 예외를 잡아서 인터럽트가 true에서 false로 먼저 되어서 !Thread.interrupted가 true가 되는건가요?
-
미해결기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
강의외 복잡한 ui 입력폼 관련 질문 있습니다
지금 여기까지 구현 했는데이렇게 순서 바꾸기를 해야 되는데 잘안됩니다혹시 원인이나 해결 방법 아시나요?https://okky.kr/questions/1516211그리고 이렇게 데이터가 복잡할 경우 프론트에서 데이터 가공해서 디비로 보내는게 어쩔수 없다고 보시나요 아니면 조금 과잉이라고 보시나요? 그점도 궁금합니다
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
11:05 자바 문제 c,d 답을 b, b + b 로 해도 4,1,1,2 나오는데 정답 아닌가요? 이게 더 짧고 보기에 있는 것만 사용한건데
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야어떤 강좌에서 질문하셨는지 알 수 있습니다.영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
도커 설치 베타버전으로 다운받아야하는걸까요?
도커 설치 베타버전으로 다운받아야하는걸까요?인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
환경변수 설정을 yml 아니라 properties로 해도 상관 없나요?
yml과 properties의 차이가 계층구조 표현의 차이만 있는거 같은데 properties로 적용해서 강의를 진행하여도 상관이 없나요?
-
해결됨Flutter 앱 개발 실전
디자인 시스템 관련해서 문의드립니다.
안녕하세요 선생님,저번에 카톡으로 질문 드렸었던 플러터하고 싶은 1인입니다! 아, 그리고 선생님 강의 댓글 1등 당첨되서 키보드도 받았네요 ㅋㅋㅋ 🙂 저는 현재, 앱을 처음부터 차근차근 선생님 스타일로 만들어 보고자 합니다.Material3에서 색상을 넣으니, LightSchem, DarkScheme해서 엄청 많이 나오더라구요.. 근데 선생님이 만드신 것 처럼, Palette나 다른 칼라 속성들 처럼 만들고 싶은데, 혹시나 material3 후에, 선생님이 일부 필요한 것들만 빼놓은걸까요? 1)혹시나 선생님이 만드실 때, grey100, 뒤에 숫자처럼 만드실 때 규칙이 있으실까요?2) 또한, dark_theme, light_theme도 설정할 때, Material3 주소에서, dart 파일을 다운 받았을 때, 색상 정하는 규칙도 궁금합니다. 어떤 식으로 처리하신걸까요? 감사드립니다.
-
미해결파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
8강 주문 모델 설계에서 따로 ManyToMany 관계를 위한 모델을 선언해준 이유?
class Order(models.Model): ... products = models.ManyToManyField( Product, blank=False, ) ...그럴 가능성은 드물지만 Product 수량은 1개로만 주문 가능하고 상품이름과 가격이 변동 불가하다고 하였을 때( 1개 주문시, 품절 되는 상품)는 별도의 OrderedProduct 클래스 없이 위와 같이 구현해도 무방한가요?class OrderedProduct(models.Model): order = models.ForeignKey( Order, on_delete=models.CASCADE, db_constraint=False, ) product = models.ForeignKey( Product, on_delete=models.CASCADE, db_constraint=False, ) ...따로 OrderedProduct 클래스에 FK로 order와 product를 두신건 이름/가격 정보의 변경 가능성, 2개이상의 수량 선택 문제를 해결하기 위함과 향후에 추가적인 모델의 유연성 때문에 이렇게 설계 해두신걸까요?
-
해결됨ADsP 2주 합격 올인원 패스
기출문제 3과목-분류모델 모형평가 지표 2번 문제
23페이지에 있는 2번 문제입니다. F1 구하는 공식에 의하여, 기술해주신 답변은 아래 내용과 같습니다.=(2*0.33*0.3)/(0.3+0.33) = 6/19 그런데 해당 공식을 풀이하여 약분해보면 약 3.142857 입니다.=0.198/0.63 = 0.066/0.21 = 0.022/0.07 = 약 3.142857 보기에 있는 2번과 3번을 소수점으로 바꿔보면 두 개 값이 똑같습니다.② 18/57 = 0.315789③ 6/19 = 0.315789 정답이 왜 3번인지에 대한 구체적인 설명 부탁드립니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
SetLevelStat함수의 Clamp처리 부분에서 수정이 필요한 것 같습니다.
안녕하세요 먼저 좋은 강의 감사드립니다.ABCharacterStatComponent.cpp의 SetLevelStat함수에서 CurrentLevel에 대한 Clamp의 MinValue가 1, MaxValue가 CharacterMaxLevel로 설정되어있는데 인덱스값이므로MinValue = 1, MaxValue = CharacterMaxLevel - 1로 수정이 필요할 것 같습니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
useEffect 가 정확히 언제 실행되는건지 헷갈립니다
강의를 다 듣고 뭔가 아직 useEffect의 개념이 명확히 잡히지 않았는데요..바뀐 state 값을 바로 이용하려고 할때, 컴포넌트가 렌더링된 후에 사용한다고 하셨는데그럼 만약 컴포넌트를 렌더링할때 바뀐 state값을 같이 렌더링해줘야 하는 경우에는 useEffect는 컴포넌트가 렌더링 된 이후에 사용하니깐 useEffect를 못쓰는건가요??여기서 useEffect가 컴포넌트가 렌더링 된 이후에 사용한다는게 모든 컴포넌트가 완전히 화면에 그려지고 나서 사용된다는 의미 맞나요??
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
비교연산자와 조건문 문제풀이 영상에서
14분 30초 경에 나오는 문제에서 a: 1 2 3 4 5b: 1 3 5 7 9sum: 0 -4 -9 -16 -25 이렇게 이해하면 틀린건가요?????a:1 b:1 sum: 0 >>>>sum:-1 a:2 b:3a:2 b3 sum:-1>>>>sum:-4 a:3 b:5a:3 b:5 sum:-4>>>>sum:-9 a:4 b:7a:4 b:7 sum:-9>>>>sum: -16 a:5 b:9a:5 b:9 sum:-16>>>>sum:-25 a:6 b:11a:6은 조건식에 해당하지 않아 빠져나오기때문에 -25가 정답이다 로 이해해야하는건가요??? 지금 제가 완벽하게 이해하고있는지 모르겠습니다.
-
미해결Next + React Query로 SNS 서비스 만들기
넥스트 프론트 서버에 로그인이 필요한 이유가 궁금합니다!
안녕하세요CSR 경험만 있다보니, 프론트 서버에 로그인한다는 개념이 뭔가 와닿지가 않아서요백엔드 서버에 쿠키로 인증이 되는데, 왜 프론트 서버에 로그인하는게 필요할까요?클라이언트 사이드만 있을 때랑 뭔가 다른 느낌이네요..ㅠ
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
제목 갯수만큼 총괄표 끼워넣기(SetMessageBoxMode 문제)
제목 갯수만큼 총괄표 끼워넣기실습 중에 아래와 같은 메시지가 나옵니다.선생님께서 제공한 실습 파일 버전이 높고, 저는 한글 2020 버전으로 낮아서 "문서끼워넣기" 작업 간에 아래 메시지가 뜨는 것 같습니다. 그래서 배운데로 아래와 같이 제공해주신 코드를 수정했습니다. SetMessageBoxMode() 인자로 확인 버튼 클릭하는 것(0x00000001)을 넣었는데도 계속 경고 창이 뜹니다. for i in range(len(지역학교명_리스트)): # print(i) 지역명 = 지역학교명_리스트.iloc[-1-i]['지역명'] 학교명 = 지역학교명_리스트.iloc[-1-i]['학교명'] hwp.SetMessageBoxMode(0x00000001) # 높은 버전 문서 붙여 넣기 시 뜨는 메시지 박스 제거(확인) 문서끼워넣기(filename) hwp.SetMessageBoxMode(0x0000000F) # 초기화 hwp.RenameField("사진", 학교명) # '사진' 필드 이름 변경 hwp.Run("Delete") # 커서가 위치한 곳에어떻게 해결할 수 있을까요?