묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
board[ny][nx] 로 가야 하는거 아닌가요?
board[nx][ny]나 board[ny][nx] 나 상관은 없을 것 같긴한데 헷갈려서요!x를 x축이 아닌 그냥 의미없는 변수명으로 쓰신건가요??2차원 배열을 2중포문 돌면 y0 (x0, x1, x2...) y1 (x0, x1, x2...) 이런식으로 가면 y가 앞에 나와야하는것 같은데
-
해결됨코딩테스트 [ ALL IN ONE ]
코딩테스트 준비법이 궁금합니다
안녕하세요, 이번에 코테 입문하는 전자전기공학부 학생입니다.목표가 이번 하반기 대기업(제조, IT제외) 코테 준비로강의를 수강하면서 코딩문제풀이를 하려합니다. 현재 자료구조, 알고리즘에 대한 지식은 아예 없는 상태에서 어떤 코딩문제풀이를 해야할지 모르겠습니다. 공부법이나 문제풀이 사이트를 추천해주실 수 있을까요?
-
미해결스프링 배치
branch Part11 관련질문입니다.
안녕하세요 정수원 선생님 브랜치 Part11에 관해 동작문의가 2개 있습니다.1) SendJobConfiguration에서 apiJob이 제일 먼저 실행이 되는 job이고apiJob에서 apiStep1 (시작로그를 남기는) , apiStep2(끝냈다는 로그를 남기는) 사이에 주입받은 jobStep을 실행시키는데 이 jobStep은 SendChildJobConfiguration에 있는 jobStep 인가요? 2) 이후에 jobStep에서 apiMasterStep을 실행시키고 Partition으로 쪼개서 3개의 스레드에 할당할때는 apiSlaveStep에서 read부터 각 스레드가 담당하는것이 맞나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
id에 @NotEmpty를 한다면
@Data public class Member { @NotEmpty private Long id; @NotEmpty private String loginId; //로그인 ID @NotEmpty private String name; //사용자 이름 @NotEmpty private String password; }제가 실수로 id에 @NotEmpty를 하니까 회원가입 버튼을 눌렀더니 오류가 났습니다.오류가 나는 이유는 id의 오류처리를 안해서라고 생각하는 데 만약에 오류처리를 해야한다면MemberRepository의@Slf4j @Repository public class MemberRepository { private static Map<Long, Member> store = new HashMap<>(); //static 사용 private static long sequence = 0L; //static 사용 public Member save(Member member) { member.setId(++sequence); log.info("save: member={}", member); store.put(member.getId(), member); return member; } save() 메소드에서 하면 되는 걸까요??(id는 다른 필드들과 다르게 html에서 처리할 수 없으니까??)아니면 id는 데이터베이스에 들어가는 거니까 애초에 @NotEmpty 를 사용하면 안된다 라고 생각해야 건가요?? (개발자가 직접 입력한 것이 아니니까?)답변주시면 정말 감사하겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
navMeshAgent에서 맵을 bake 하는데 장애물 안쪽이 자꾸 bake가 됩니다.
장애물도 navigation static이고 not walkable인데도 저 안쪽이 자꾸 걸을 수 있는 곳으로 표시가 되어서 몬스터들이 랜덤으로 walkable좌표를 찍는데 저기로 잡아서 자꾸 벽안으로 기어들어갈려고합니다. 제기억에 장애물을 설치해 놓으면 그 안쪽도 당연히 장애물로 막혀서 걸을 수 없는 구역으로 나왔던거 같은데... 왜이러는 걸까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
google cloud storage의 keFilename
안녕하세요.fileUpload시 google cloud storage의 keyFilename 내용을 읽지 못하는듯 합니다.코드는 하기와 같고요. 실행시 아래와 같은 오류가 발생 합니다.경로 문제 일까요?
-
미해결실전! 스프링 데이터 JPA
클린 아키텍처에서 JPA
클린 아키텍처 (및 헥사고날) 설계 시 JPA 영속성 계층을 어디에 두어야하는지 궁금합니다.일반적으로 해당 아키텍처에선 영속성 계층을 도메인 계층에서 분리시켜야 한다고 주장하던데 (육각형 안 Entity는 POJO이며, JPA Entity는 바깥의 Adapter에 구현하고 Mapper로 변환하는 형식), 이렇게 되면 JPA가 제공하는 lazy loading이나dirty checking 등의 이점은 포기해야 되는것일까요?도메인 모델에 JPA 코드를 사용하자니 이러한 아키텍트 원칙에 위배되는거 같고, 그렇다고 이걸 분리해놓으면 따로 구현해야될게 많아지니 고민입니다..타협을 한다면 어느 방식으로 하는게 좋을까요? 애초에 이러한 아키텍트 방식과 JPA는 (지향점이 다르기에) 어울리지 않는 것일까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
수업 순서
프로그래밍을 이 강의로 처음 들어서 이해가 안 가는게 엄청 많은데 특히 Text RPG 부분이 어려워요 초반 강의랑 객체지향등 다른 강의를 다 듣고 Text RPG 강의를 봐도 순서가 괜찮은가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
AcceptEx()에 recvBuffer 지정시
AcceptEx 문서를 보니, AcceptEx에 버퍼를 지정 시, 해당 버퍼에 기본적으로(sizeof (sockaddr_in) + 16) * 2 만큼의 데이터가 담겨 오는것으로 보입니다. 문서에는 "서버의 로컬 주소 및 클라이언트의 원격 주소" 라고 되어있네요. ProcessAccept에서 따로 해당 크기만큼 버퍼의 OnWrite()를 해주지 않고 있는데,해당 데이터는 현재 Listener에서 따로 처리하지 않으니, 버퍼에는 기록이 되었을지언정사용하는 데이터가 아니니 WritePos를 갱신시켜주지 않는 것으로 이해가 되었습니다. 그런데 만약 FreeSize()가 (sizeof(sockaddr_in) + 16) * 2 보다 작게 남아 있었다면버퍼가 초과되어 정의되지 않은 동작이 일어나거나, 혹은 AcceptEx()가 실패하거나 하는 이상이 있을 것으로 보이는데,본문과 같이 별다른 처리를 하지 않아도 문제가 없는 것인지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
포인터 질문입니다
void Createmonster(StatInfo* Info); // 함수 선언부 Createmonster(&monster); // 함수 호출부 void Createmonster(StatInfo* Info) // 함수 내용{ cout << "몬스터 생성" << endl; Info->hp = 40; Info->damage = 8; Info->defence = 2;}Info->hp 가 어떻게 monster.hp에 접근하게 되는지 잘 이해가 안갑니다..해석이 잘 안된다고 해야될지 말로 표현이 잘 안됩니다
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
초록색 주석문은 뭔가요 .. !
pdf 교안 보면 이런식으로 되어있는 초록색 주석문? 이 있던데그냥 인텔리제이에서는 // 나 /* */ 했을 때 회색으로만 표시되고 저렇게 초록색으로는 안 표시되더라구요 ... 저거는 뭔가요 ?생성 단축키도 알려주시면 감사하겠습니다 ...
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
join과 join fetch 의 차이 ..
OrderQueryRepository 에 findAllByDto_flat 보면다 join 으로 되어있는데 join과 join fetch (페치 조인)의 차이점은 뭔가요 ..?join도 lazy 로 되어있는거 한번에 끌고오는 건 비슷한 거 같은데 .. ㅜ
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
퍼블리싱 된 파일을 vue프로젝트로 어떻게 옮겨야 할까요?
안녕하세요. 현재 회사에 재직중인 주니어 개발자입니다. 현재 회사에서 새로운 프로젝트를 개발하게 되었는데 공교롭게도 개발자가 저와 시니어분 밖에 안계시고 시니어분은 저한테 프로젝트를 일임하신 상태신데(시니어분도 vue는 해본 적이 없으십니다.), 프론트엔드단을 vue로 처음 개발하게 되어서 아무래도 혼자서 인터넷을 찾아보는것 보다는 강의를 듣는게 낫겠다 싶어 수강신청 하고 질문드립니다.현재 퍼블리싱 된 파일들이 있는 상태이고, 이것을 vue프로젝트로 옮겨야 되는 상황입니다.일단 css파일과 js파일은 public디렉토리 안에 css디렉토리와 js디렉토리를 만들고 그 안에 파일을 넣은 다음 index.html에 link태그와 script태그로 적용시키고 그 외 html파일에 있는 태그는 페이지별로 vue파일을 만들어서 그 안에 넣어놨습니다. 그런데 이렇게 하니 html과는 다르게 제대로 작동되지 않더군요. 혹시 이렇게 하는게 아닌 따로 적용하는 방법이 있는것인지, 아니면 방법 자체는 맞지만 어딘가 다른곳에서 엇나간것인지 궁금합니다.(참고로 대시보드 페이지를 작성하게 되어서 구글링 해서 찾아본 creative-tim에서 출시한 vue-material-dashboard에서 그래프가 필요하여 해당 vue컴포넌트와 그에 필요한 scss파일을 src-assets에 설치해뒀습니다. 혹시 scss와 적용되었던 css파일이 충돌이 나서 제대로 안되는것인지도 궁금합니다.https://www.creative-tim.com/product/vue-material-dashboard-2 참고사항으로 위에서 말한 creative-tim의 뷰프로젝트입니다.)
-
미해결
Session #1 강의에서 session.Send(sendBuff) 작동순서가 궁금해서 문의드립니다.
안녕하세요. 좋은 강의 잘 듣고 있습니다. (__) 아직 초보라서 잘 이해가 안가서 문의드립니다; Session session = new Session();session.Start(clientSocket);byte[] sendBuff = Encoding.UTF8.GetBytes("Welcome to MMORPG Server!");session.Send(sendBuff); 이렇게 됐을 때 궁금한게 session.Start(clientSocket) 가 실행되고 OnRecvCompleted가 됐을 때$"[From Client] {recvData}" 이부분이 무조건 먼저 실행되고그다음 "Welcome to MMORPG Server!" 이부분을 session.Send(sendBuff)로 보내게 되는 것인가요? 아니면 $"[From Client] {recvData}" 이 실행되기 전에 "Welcome to MMORPG Server!" 이 메시지를 먼저 보낼 수도 있는 것인가요? 비동기라고 해서 Session클래서에서OnRecvCompleted(object sender, SocketAsyncEventArgs args) 함수에서에서 $"[From Client] {recvData}" 를 받은 후뒤에다가 "Welcome to MMORPG Server!" 를 보내야 되는건 아닌가해서 궁금해서 문의드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-j 코드 질문
안녕하세요, 큰돌님. 최댓값만 구하면 되다보니 행과 열 단위로만 잘라서 계산을 했는데, 틀렸다고 나오네요. 혹시 제 코드에 틀린 점이 있나요? 반례를 찾지 못해서 그런데, 혹시 반례 좀 찾아주실 수 있나요?http://boj.kr/d607ff02d8924824b719f25244f17aab
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
스태킹 모델 메소드의 교차검증
안녕하십니까 선생님 좋은 강의 수강하고 부족한 부분에 대해 강의를 여러번 돌려보고 있습니다.다름아니라 제가 Stacking 앙상블 학습에 관심을 갖고 공부를 진행하고 있는데 sklearn에 StackingRegressor 메소드(?)를 이용한 코드를 작성해 봤습니다. 아래는 작성한 코드 중 메소드 부분입니다.Stacking = StackingRegressor(estimators=estimators, final_estimator=meta_model, cv=10)여기서 cv=10을 이용하면 강의 예시에 나오던 stacking_input_data 함수 정의에서 n_folds를 10한것과 같은 과정으로 이루어지는건가요?
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
가상 메모리의 전체적인 흐름이 이게 맞을까요.
가상 메모리의 전체적인 그림이 머릿속에 그려지지 않아 여러 자료를 찾아보면서 따로 공부를 해보았는데, 제가 이해한 내용이 맞을지 여쭤보고 싶어서 질문 글 남겼습니다. 짧게 적기 힘든 내용이라 좀 길게 적게된 것 같은데 양해부탁드립니다...ㅠ_______________________________________________________가상 메모리란 실행하고자하는 프로그램의 일부만을 메모리에 적재하여 물리 메모리보다 더 큰 프로그램을 실행시킬 수 있게 하는 기술로, 메모리가 실제 메모리보다 많아 보이게 하는 기술을 말한다.페이징 기법을 기준으로 설명하자면, 물리 메모리를 프레임이란 단위로 나누고, 가상 메모리를 페이지란 단위로 나누어 관리한다. ( 페이지의 크기 = 프레임의 크기 )이때, 어떤 프로세스의 어떤 페이지가 어떤 프레임에 할당되어 있는지를 알기 위해 페이지 테이블이란 것을 활용하게 되고, MMU가 이러한 페이지 테이블을 기반으로 가상 주소와 물리 주소를 매핑해주게 된다. ( 페이지 테이블은 RAM에 저장되어 있다. )근데 페이지 테이블이 RAM에만 존재하게 된다면, 물리 주소로 접근하기 위해 (페이지 테이블을 참조하기 위해 한 번 + 프레임에 있는 페이지를 참조하기 위해 한 번) 총 두 번을 메모리에 접근하게 되는 현상이 발생한다. => 시간이 두 배로 걸려 비효율적따라서 우리는 MMU안에 TLB라는 자주 참조하는 페이지 테이블을 위한 캐시를 따로 두고, 대부분의 메모리 접근을 한 번으로 처리할 수 있도록 한다. ( CPU가 접근하려는 논리 주소가 TLB에 존재하는 경우 메모리 접근 한 번만으로 처리가 가능 )참조 과정에서 만약 페이지 테이블의 유효비트가 0인 페이지에 접근하고자 하는 경우( 현재 물리 메모리에 적재되어있지 않은 페이지인 경우 = disk의 스왑 영역에 존재하는, swap out 되어있는 페이지인 경우) 페이지 폴트라는 인터럽트가 발생되게 된다.그럼 운영체제는 잠시 동작을 멈추고 페이지 폴트 처리 루틴을 통해 ( swap out, swap in 과정 ) 스왑 영역으로부터 필요한 페이지를 물리 메모리에 적재시킨 후, 페이지 테이블의 유효 비트를 1로 바꾸어주게 된다.cpu가 다시 작업을 시작하고, cpu는 해당 페이지에 접근이 가능하게 된다.가상메모리는 위와 같은 일련의 과정을 통해 마치 페이지 폴트가 일어나지 않은 것처럼( 실제 메모리보다 큰 메모리를 가지고 있는 것처럼 ) 작동할 수 있게 해준다.다만 결국 스와핑이라는 작업 또한 어느 정도 시간이 걸리는 작업이기 때문에, 페이지 폴트 인터럽트가 너무 자주 발생되는 경우에는 스레싱이 일어나게 된다._________________________________________________________해당 강의에서 나온 개념들이 이런 식으로 이어지는 것이 맞을까요?추가적으로 4:30초 부터 나오는 내용에서 3번 항목이 이해가 안됩니다...아래와 같이 이해해도 될까요.(가상메모리에 페이지가 존재하는지 확인하고) => 유효 비트를 확인하여 해당 페이지가 실제 RAM에 적재되어 있는지를 확인한다.(물리 메모리에 비어 있는 프레임이 있는지 찾습니다.) => 물리 메모리에 필요한 페이지를 swap in하기 위해 빈 공간이 있는지 찾는 과정.(물리 메모리에도 없다면 스와핑이 발동됩니다.) => 물리 메모리에 빈 공간이 없다면 적재되어있는 다른 페이지를 swap out 시킴. 이 과정에서 무엇을 swap out 시킬지는 OS가 결정.이렇게 페이지를 로드(swap in)하고 페이지 테이블을 최신화 -> cpu 작업을 다시 시작.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-K번 반례가 있습니다
input: 2 0 -1 정상적인 output은 1 -1 선생님 코드의 output은 2아마 입력 받는 수열중에 값이 0이 나올 때 len의 값이 증가해서 생기는 일 같은데, 먼저 lis배열을 (-1,000,000,000 ≤ Ai ≤ 1,000,000,000) 이외에 값으로 초기화해야 되지 않나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
뷰단 궁금한게있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]jstl이 앉먹어서 코드분량은많지만 고대폼의 jsp 화일을 써서 덮어버렸는데 잘됩니다 그대로 써도 괜찮을까요?
-
미해결[D.P.(DappProject)] 디앱 프로젝트(NFT 생성, NFT 구매 및 판매)
npm i @openzeppelin/contracts 실행 시 권한 에러
제목 그대로 강의영상을 따라하며 npm i 명령어로 zeppelin 을 설치하는 과정에 있습니다.명령어를 실행 시 해당 에러메세지와 함께 설치가 중단되는 현상이 나타납니다.이와같은 현상을 검색해 본뒤cmd 창을 관리자 모드로 열어 명령어를 재 실행 해 보아도 결과는 똑같습니다