묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
자식 리소스 접근
class Item { int _itemType=0;} class Weapon: public Item { int _attack=2; } 라고 클래스를 정의할 때 Item* item = new Weapon(); 이라고 선언한다면 item->_attack에 접근이 불가능합니다. ---- 질문1 ----- item->_attack에 접근하는 가장 현실적인 방법은 Weapon* weapon = (Weapon*)item; 새로운포인터를 선언하여 weapon->_attack으로 접근하는 것인가요? ---- 질문2 ---- virtual 소멸자 선언을 하지 않았을 경우, delete item; 는 Item에 대한 소멸자만 호출할 뿐 Weapon의 소멸자를 호출하지 않습니다. 그럼 힙영역에서 _itemType만 해제되고 _attack타입의 크기만큼 메모리 누수가 일어나나요?
-
미해결시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
크론텝
크론텝을 만들었는데, 실행은 어떻게 하고정각과 30분마다 기준을 줬는데 저렇게 작성만 하고 :wq로 저장만 하면 crontab이 등록이 되서 저절로 작동하는건가요?? crontab은 aws instance에서도 자동으로 설치가 되어 있는 건가요??
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Lock Free 관련하여 질문드립니다.
예제 코드를 보면 TryPop을 아래와 같이 구현하고 있습니다. bool TryPop(T& outData) { Node* oldHead = _head.load(); Node* expected = oldHead; Node* desired = oldHead->Next; while (oldHead && false == _head.compare_exchange_weak(expected, desired)) { // Null } if (_head.load() == nullptr) { return false; } // 이하 생략 } 혹시 위의 코드에서 아래처럼 미리 Null check를 해도 무관할까요? bool TryPop(T& outData) { if (_head.load() == nullptr) { return false; } Node* oldHead = _head.load(); Node* expected = oldHead; Node* desired = oldHead->Next; while (false == _head.compare_exchange_weak(expected, desired)) { // Null } // 이하 생략 } 실제로 돌렸을 때는 문제가 없었는데, 혹시 제가 간과한 부분이 있나 하여 여쭤봅니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
XmlReader의 Depth에 대해서
17:27에서 int depth = r.Depth +1; while(r.Read()) { if(r.Depth != depth) break; } 코드가 이렇게 됐었는데 <packet name="PlayerInfoReq"> <long name ="playerId"/> <string name ="name"/> <list name ="skill"> <int name="id"/> <short name ="level"/> <float name ="duration"/> </list> </packet> 그러면 <list name = "skill"> 다음 줄을 들어갈때는 while에서 빠져나가게 되는거 아닌가요
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
1부터 1000까지의 합을 구하는 과정에서 궁금한 점입니다
강의에서 1부터 1000까지의 합을 구하는 과정을 설명하실 때 sum1 = 0 으로 우선 설정을 한 뒤, for v in range(1, 1001): sum1 += v 으로 복합 대입 연산자를 쓰셨는데, 이를 산술 연산자로 바꾸면 sum1 = sum1 + v 라고 설명해 주셨습니다. 여기서 sum1 = sum1 + v 의 의미가 잘 이해가 되지 않습니다. sum1 =0이라고 위에서 이미 설정을 했는데, 그럼 sum1 = sum1 + v은 0 = 0 + v 라는 의미인건가요? 수학적으로 성립하지 않는 논리인듯 하여 질문 드려봅니다...
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드려도 될까요?
안녕하세요 강사님! 강의 정말 잘 듣고있습니다. 제 풀이가 괜찮은지 리뷰 한번 부탁드려도 될까해서 질문드립니다. <html> <head> <meta charset="UTF-8"> <title>4. 졸업선물</title> </head> <body> <script> function solution(m, product) { let answer = 0; let n = product.length; product = product.sort((a, b) => (a[0] - b[0])); for (let i = 0; i < n; i++) { let dc = m - (parseInt(product[i][0] / 2) + product[i][1]); let cnt = 1, tmp = 0; for (let j = 0; j < n; j++) { if (j === i) continue; else { tmp += (product[j][0] + product[j][1]); cnt++ if (tmp >= dc) break; } } answer = Math.max(answer, cnt); } return answer; } let arr = [[6, 6], [2, 2], [4, 3], [4, 5], [10, 3]]; console.log(solution(28, arr)); </script> </body> </html>
-
해결됨it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문있습니다.
36번 삽입정렬 문제의 코드를 보니 앞부분에 #include<vector> #include<algorithm> using namespace std; 이게 추가되어있는데 혹시 어느 코드의 부분에서 사용되어 #include 되어 있는 것인가요?
-
미해결스프링 핵심 원리 - 기본편
memberRepository에 final을 붙이는 이유
안녕하세요 선생님. package hello.core.member; public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); 1. 위와 같이 레포지토리 생성 시 final을 붙이는 이유가 무엇인가요? 2. final은 불변의 객체인 경우 or Read only인 경우에만 붙인다고 알고있는데, join 메서드를 실행하게 되면 레포지토리의 store 변수에 데이터가 추가되어 결국 변화가 생기는 것 아닌가요? 편하실 때 답변주시면 감사하겠습니다 !
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
vs code
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 선생님 vscode 뭘 잘못 만졌는지 실행이 안되서, vscode lnsiders 깔아는데 괜찮나요???
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
비디오파일을 인코딩도 되나요?
파일 업로드후에 ffmpeg를 노드서버에서 인코딩도 할수 있나요? avi,mov등 비디오파일을 mp4로 인코딩 할수있는지 궁금합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
multer fileFilter 사용법이 변경되었나봐요 수정해봤습니다
강의 너무 잘듣고 있습니다. 필터가 안되어서 구글링해서 고쳐봤습니다. 사용법이 조금 변경되었나봐요 const storage = multer.diskStorage({ destination: (req, file, cb) => { cb(null, 'uploads/') }, filename: (req, file, cb) => { cb(null, `${Date.now()}_${file.originalname}`) } }) const fileFilter = (req, file, cb) => { // mime type 체크하여 원하는 타입만 필터링 if (file.mimetype == 'video/mp4' ) { cb(null, true); } else { cb({msg:'mp4 파일만 업로드 가능합니다.'}, false); } } const upload = multer({ storage: storage, fileFilter: fileFilter }).single("file") //================================= // Video //================================= router.post("/uploadfiles", (req, res) => { upload(req, res, err => { if (err) { return res.json({ success: false, err }) } else{ return res.json({ success: true, filePath: res.req.file.path, fileName: res.req.file.filename }) } }) });
-
미해결스프링 시큐리티
SecurityConfig.java관련 문의
안녕하세요. SecurityConfig수정하는 부분의 68라인을 보시면 갑자기 .authenticationEntryPoint 부분이 코딩이 되어 있는데, 이 부분은 왜 나오는걸가요? 구굴링 해보니, 인증실패시 처리하기 위해서 작동한다고 이해는 했는데, 이 코드를 추가하신 의도가 궁금합니다. 감사합니다.
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
주피터노트북 실행이 안돼요
위의 사진처럼 print('Hello')를 입력하고 실행을 하면 앞에 *이 뜨면서 실행은 안돼요ㅜㅜ 무엇이 문제일까요ㅠㅠㅠ
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
안녕하세요. CAM 연산 때 사용하는 label에 대해서 질문이 있습니다
안녕하세요. 강의 잘 듣고 있습니다 CAM 연산하는 과정에서 의문점이 있어서요. 크게 상관은 없을 것 같은데, 정확하게 CAM 연산을 보려면 모델이 예측한 라벨에 대해서 CAM 연산을 수행하는 것이 맞죠? 코드는 정답 라벨을 가지고 해서, 크게 상관은 없겠지만 의도하신 것이 맞는지 궁금합니다 감사합니다 def cam(model, trainset, img_sample, img_size): model.eval() with torch.no_grad(): # requires_grad 비활성화 model.layer4[1].bn2.register_forward_hook(get_activation('final')) # feature extraction의 마지막 feature map 구하기 data, label = trainset[img_sample] # 이미지 한 장과 라벨 불러오기 data.unsqueeze_(0) # 4차원 3차원 [피쳐수 ,너비, 높이] -> [1,피쳐수 ,너비, 높이] _ = model(data.to(device)) act = activation['final'].squeeze() # 4차원 [1,피쳐수 ,너비, 높이] -> 3차원 [피쳐수 ,너비, 높이] w = model.fc.weight # classifer의 가중치 불러오기 for idx in range(act.size(0)): # CAM 연산 if idx == 0: tmp = act[idx] * w[label][idx] else: tmp += act[idx] * w[label][idx] # 모든 이미지 팍셀값을 0~255로 스케일하기 normalized_cam = tmp.cpu().numpy() normalized_cam = (normalized_cam - np.min(normalized_cam)) / (np.max(normalized_cam) - np.min(normalized_cam)) original_img = np.uint8((data[0][0] / 2 + 0.5) * 255) # 원본 이미지 사이즈로 리사이즈 cam_img = cv2.resize(np.uint8(normalized_cam * 255), dsize=(img_size, img_size)) return cam_img, original_img
-
미해결RPA로 자동화 천재되기 (UiPath 응용편)
비번 자동화 가 자꾸 방해하는데
비번자동화가 자꾸 나와서 방해하는데 처음에 있는 글없애는 방법좀
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
안녕하세요 vit가 cnn을 대체하게 되는 것인가요?
안녕하세요. 연구를 한다기 보다는, 개인적으로 이미지처리 kaggle 코드를 볼 때 상위코드가 최근에는 VIT 기술을 적용한 것인데, 이것이 자연어처리 쪽에 사용하는 transformer attentiton 기술을 가져와서 사용하게 되는군요. 자연어처리 쪽은 딥러닝 기초 때 RNN만 간단히 본 것이라, transformer 쪽은 잘 몰라서요 최근에 SOTA와 많이 근접한 VIT가 CNN을 대체할 수 있나요? 혹시 이는 추후 강의에서 언급하실 계획인가요? 감사합니다
-
미해결유니티(Unity)로 시작하는 게임개발: Part 1. 컴퓨터 구조 입문
클럭 한 주기당 몇 비트가 옮겨지나요??
어떤 곳은 클럭 한주기에 1비트다, 어떤 곳은 클럭 한주기에 여러 비트다 라고 하던데질문은 =>한 장치에서 다른 장치로 데이터를 이동 시킬때는 한 클럭에 1비트고 CPU에서는 한 클럭에 여러비트를 옮길 수 있는건가요??그리고 그 이유는 CPU의 레지스터 때문이고??
-
미해결2022 30분 요약 강좌 시즌 1 : HTML, CSS, Linux, Bootstrap, Python, JS, jQuery&Ajax
position : relative; 관련하여 질문드립니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .container{ width: 400px; height: 400px; background-color: skyblue; position: relative; top: 10px; left: 10px; } .one{ width: 100px; height: 100px; background-color: red; position: absolute; /*absoule의 기준점 선정은 부모에 relative 설정*/ top: 50%; left: 50%; } .two{ width: 100px; height: 100px; background-color: blue; position: absolute; top: 30px; left: 30px; } </style> </head> <body> <div class="container"> <!-- container 클래스를 기준점으로 잡음--> <div class="one"></div> <div class="two"></div> </div> <div class="container"> <!-- top: 10px; 적용 안됨..?--> <div class="one"></div> <div class="two"></div> </div> </body> </html> 안녕하세요 :) <div class="container">를 2번 출력하면 아래의 container 클래스는 top: 10px; 이 적용되지 않는 이유에 대해서 질문드립니다. 저는 아래 container 클래스가 출력될 때 top:10px; 이 적용되어서 중간에 여백이 생길 줄 알았는데, 붙어서 출력되더라구요. 답변 부탁드립니다. 감사합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@RequestMapping("${...${...}}")이게 어떻게 동작하나요?
@RequestMapping("${server.error.path:${error.path:/error}}") pulbic class BasicErrorController extends AbstractErrorController 이렇게 코드상에 탬플릿에서 사용하는 ${...} EL표기법이 사용되었는데요. 저는 저 문법이 html 파일에서 사용하는 건줄 알았거든요. 그래서 코드상에 있으니까 이게 제가 아는 그 EL 표기법인건지, 결국 어떻게 동작하는 건지 잘 모르겠습니다. 갓영한님께서 아무 설정 하지 않으면 /error가 기본으로 동작합니다, 라고 하셨는데 그게 어떻게 이루어지는 건가요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터 경우 dispatcherType으로 제외할 수 없는 이유가 서블릿 기술이 아니기 때문이라는 의미가 궁금합니다!
인터셉터의 경우 이런 dispatcherType으로 뭔가 할 수 있는게 없었죠. 스프링 기술이기 때문에 그래서 강력한excludePathPatterns 에서 오류페이지 경로를 빼주면 됩니다, 이렇게 말씀하셨는데요. 제가 이걸 보면서 궁금했던 것이 왜 인터셉터에는 dispatcherType을 사용하지 않지, 라는 것이었습니다. 그냥 requst객체에서 dispatcherType이 뭔지 if문으로 확인하면 되는거 아닌가? 싶었는데... 먼가 선생님께서 인터셉터는 그냥 스프링 기술이기 때문에, 라는 말씀을 하셨는데 거기에 이유가 있을 것 같기도 하고요. 스프링 기술이라서 서블릿 기술을 사용하지 않는다는 말이 무슨 의미이신가요? 어차피 다 자바 언어이고 자바 코드로 원하는데로 기능 구현을 하면 되는거 아닌가요?