예전 스핀락 설명 하실때 메모한 내용입니다. 락을 걸고 있는 상대방이 조금만 기다리면 놔줄 것 같다는 확신이 있을 때는 굳이 Context-Switching까지 가지 않고 무식하게 대기하는 SpinLock이 좋습니다. 비행기 1인 화장실 앞에서 대기하는데, 안에서 손 씻고 있는 소리가 들린다면, 굳이 자리에 돌아가서 대기하기 보단 문앞에서 조금만 더 기다리는게 현명합니다. MMO에서 lock을 쓰는 경우는 대부분 컨텐츠의 멀티쓰레드 경합 처리에서 사용하게 되는데, 어마어마하게 오래 걸리는 작업이 아닌 경우가 많기 때문에 SpinLock이 대부분의 경우에서 유리합니다. 질문 컨텍스트 스위칭이라는게 a쓰레드가 공유 자원을 다쓰고 쓰레드 풀로 들어가면 b라는 쓰레드가 공유자원을 획득해서 사용하는 걸로 알고 있는데 그러니까 프로세스 내부에 stack 공간만 바뀌는 스핀락이라는게 무한 반복 타고 들어가서 계속 기다리잖아요 상대방이 빠져나올떄 까지 lock은 접근 했다가 a라는 쓰레드가 사용중이네 글멈 나는 다른 작업 하고 이따 한번 더와바야지 이 개념이 아닌가요? 여기서 왜 컨텍스트 스위칭이라는 표현을 쓰셨는지 여쭤봅니다? a가 가고 b가 들어가야 컨텍스트 스위칭이 성립되는 게 아닌가요?
express에서는 프론트에서 백앤드로 요청하는것과 동일하게 짰고 잘 작동했습니다. router.post("/add", async (req, res) => { const { videoId, category, tags } = req.body; const ENDPOINT = getEndpointFromVideoId(videoId); try { if (!videoId) { return res.status(404).send(ADD_YOUTUBE_VIDEO_FAIL.ko); } const response = await axios.get(ENDPOINT); const result = getVideoDataFromVideoId(response.data, true); // 중략.... nest.js는 express 노드버드 구조랑 다소 다른 것 같은데, 다른 서버로 데이터 요청 시 방법은 동일하게 쓰면 되는건가요?
Sequelize 질문 1. 대량의 데이터를 불러올 때 성능 문제는 따로 없을까요? 2. include는 join을 하는 거라 생각하면 될까요? 3. Sequelize를 사용하면 DB 서버에서 데이터만 가져와서 백엔드 서버에서 include와 같은 기능을 사용하는건가요? 웹 서버 질문 웹서버 기본적인 원리가 궁금합니다. 1. 현재 구현되는 express 서버는 오류가 발생하면 프로그램이 멈추는데 많은 사용자가 들어오면 한명만 잘못되도 전부가 사용 못하게 되는 것인가요? 2. 1번에 관련된 기술을 찾으려면 어떤 키워드로 검색하면 좋을까요? 항상 수업 잘 보고 있습니다. 감사합니다. 새해복 많이 받으세요 :)
선생님 mappedby속성을 이용하게 되면 나를 매핑하고 있는 테이블을 주인이라고 알려주는 기능이라고 알고있습니다. list <member> members = new arraylist() 에서 mappedby속성을 부여해주고 ooo.getmembers().add(member)을 해주게 되면 mappedby 속성으로인해서 db에는 반영이 안되지만 객체지향 쪽으로는 저장하겠다는 의미인가요? 제가 아는게 맞다면 반대로 Team team 에 mappedby 속성이나 이번강의에서 말씀하셨듯 @joincolumn(insertable =false updatable =false를 해주면 어떤식으로 읽기전용이 되는지 궁금합니다...
강의 처음부터 끝까지 좋은 내용들이라 초보분들에게 강력하게 추천할만 한 것 같습니다! 네이버가 검색하면 이젠 블로그 카테고리가 안나오고 VIEW에 나오는거 같네요~ 혹시 강의 들으시다 찾으시는 분 있으실거 같아 내용 추가해주시면 더 좋을거 같습니당^^;; 완강 후 후기 작성시 사은품 자료가 있다고 해서 이메일 남깁니다^^ aisky@naver.com 강의와 관련있는 질문 을 남겨주세요. • 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) • 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) • 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’ 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. • 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. • 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. • 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. • 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . • 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. • 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다.
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
멤버변수에 포인터변수가있으면, 객체를 복사 생성자든 대입연산자든 복사가 이루어질때 (디폴트 생성자,연산자일때) 똑같은 주소값을 가지고 가르키기에 문제가 발생하고, 깊은 복사 (새로 복사 생성자, 대입연산자를 만들어줌)를 만들어주고, 새로 동적할당시키는건 이해했습니다. 근데 마지막에 깊은복사 new Pet 동적할당할때 Pet의 복사 생성자를 왜 호출하는지 궁금합니다. 기본생성자를 호출해도 똑같이 동작하는데 의미의 차이일까요? 새로 동적할당하여 새로운 메모리를 할당받고, 원본 knight가 가진 pet의 멤버(만약 pet의 멤버가 존재했다면)의 값은 복사하여 전달한다. 라는 개념으로 보면 되나요?