안녕하세요! 강사님. 클라이언트를 500명으로 늘렸을 때 말로 설명해주신 부분에서 이해는 가는데, 일부분이 정확하게는 이해가 가지 않는 부분이 있습니다. 작업이 밀려버리면 스레드풀에서 보낸 스레드가 돌아오지 않으니 새로운 스레드를 만들기때문에 메모리가 점점 찬다 -> 스레드가 패킷을 async하게 recv한 다음 jobqueue에 push를 할 때, push 하기위해 lock이 있으니 해당영역에서 병목현상이 발생하고, 그로인해 blocking된 스레드가 오지 않으니 스레드풀에서 새 recv가 오면 스레드 재사용이 아니라 새 스레드를 할당하기 때문에 스레드는 각 스레드별로 stack을 가지고 있기 때문에 이런 스레드별로 가지고있는 용량이 계속 증가하는거라서 메모리가 늘어난다. 라고 이해를 했었습니다. 그런데 나중에 다시 말씀해 주셨을 때, 일이 계속 밀리면, 스레드풀에서 스레드가 돌아오지 않으니 새로운 스레드를 만들고, sendbuffer에서 큰 단위의 버퍼에서 짤라서 사용하는걸로 구현했기 때문에 메모리가 계속 늘어난다. 라고 하셨는데, sendbuffer는 여러 스레드가 큰 버퍼에서 짤라서 각자 쓰는 것으로 이해를 했었어서 여러 스레드가 써도 큰 버퍼는 그대로고 얼마나 sendbuffer를 사용하는 횟수가 많아지냐. 가 달라지는거라고 생각이 들었는데,,, 그게 아닌가요? sendbuffer에서 큰 단위의 버퍼에서 짤라서 사용하는 것이 메모리 증가에 무슨 영향이 있는지 잘 이해가 되지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] https://www.inflearn.com/questions/116505/%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4 위 내용을 읽고 이해한게 맞는지 질문하게 되었습니다. SpringDataJpaMemberRepository 인터페이스가 JpaRepository와 MemberRepository 인터페이스를 상속받는데 "MemberRepository에 정의된 추상 메서드들을 SpringDataJpaMemberRepository에서 재정의할필요없이 JpaRepository 인터페이스에 기본적으로 정의되어 있는걸 상속받기 때문에 재정의 없이 바로 사용할 수 있다" 라고 이해했습니다. 그러나 만약 JpaRepository에서 정의된 기본 기능 외에 다른 기능이 필요하다면 SpringDataJpaMemberRepository 또는 부모인 MemberRepository에서 기능을 추가할 수 있는데, SpringDataJpaMemberRepository에 추가하게 되면 스프링데이터jpa의 의존도가 올라가지만 스프링데이터jpa가 제공하는 편의기능으로 사용이 사용하기 편하게 되고 MemberRepository에 기능을 추가하게 되면 SpringDataJpaMemberRepository 에 간단히 내용을 적어 편하게 사용하는것보다는 복잡하지만, 대신에 스프링데이터Jpa의 의존도는 떨어진다. 라고 이해했는데 맞는지 확인해주실 수 있으신가요?? :)
안녕하세요 내장톰캣 강의를 따라하던 중 ./gradlew build에서 에러가 나서 문의드립니다. 현재 설정정보 사진으로 첨부합니다. 현재 인텔리제이 터미널로는 git bash를 사용하고 있습니다. 다 17로 맞췄습니다. 그런데 신기한 점이 있는데 여기서 ./gradlew build --clean를 하면 build failed가 뜹니다. 하지만 powershell에선 성공합니다. jar 파일이 잘 생기구요 그리고 powershell에서 java version를 확인하면 git bash와 동일합니다. 여기서 git bash에서 gradlew 가 안되는 이유는 뭘까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 커넥션 풀과 쓰레드 풀의 차이점이머에요??
기존 v1 코드가 중복되는 문제로 v2에 관련된 내용을 새로운 프로젝트로 작성 중에 있습니다. 그런데 문제는 menu_ins 구조에서 다음과 같은 오류가 발생을 하고 있습니다. There was an unexpected error (type=Internal Server Error, status=500). nested exception is org.apache.ibatis.binding.BindingException: Parameter 'strCoffee' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2] org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'strCoffee' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2] 대충봐도 파라미터 인덱스 배열의 순서가 불일치 하고 파라미터 인자값의 문제인것 같아 이부분을 확인하다 결국 기존의 코드를 그대로 복사 붙여넣기를 해도 진전이 없습니다. 어떤상황에 처하면 이러한 오류가 발생하는지를 알고 싶습니다.
[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
return ResponseEntity.created(URI.create("/Member/"+id)).build(); 이렇게 코드 이동을 시켰느데 Header에 Location의 경로에는 이동하고 싶은 URI가 있지만 화면은 빈 화면을 보여줍니다. 어떻게 이동할 수 있나요?? 선생님께서 작성하신대로해도 Header의 Location의 경로은 저렇게 있지만 실행하면 빈 화면만나옵니다. 원하는 메시지와 함께 이동을 원할 시 어떻게 해야 할까요?
ERROR Invariant Violation: "main" has not been registered. This can happen if: Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project. A module failed to load due to an error and AppRegistry.registerComponent wasn't called., js engine: hermes 위와같은 에러가 svg 관련 라이브러리 설치이후에 발생됩니다.. 검색을 여러방면해봤지만 답을찾지 못했습니다. { "name": "awesomeproject", "version": "1.0.0", "main": "node_modules/expo/AppEntry.js", "scripts": { "start": "expo start", "android": "expo start --android", "ios": "expo start --ios", "web": "expo start --web" }, "dependencies": { "expo": "~48.0.6", "expo-status-bar": "~1.4.4", "react": "18.2.0", "react-native": "^0.71.3", "react-native-svg": "13.4.0", "svg": "^0.1.0" }, "devDependencies": { "@babel/core": "^7.20.0", "react-native-svg-transformer": "^1.0.0" }, "private": true }
예전 답변을 보고 intellij속성을 gradle 속성으로 바꾸니 실행이 됐는데 저 실행하는게 계속 돌아가도 상관없는 부분인가요? 아니면 문제가 해결이 안된건가요 localhost:8080/hello 까지 실행은 잘 됩니다. 정지하면 저렇게 에러메시지가 나와서 문제있는거 같아서 질문올립니다.
예를들어, 하나의 주문에 짜장면2개, 짬뽕2개를 했다고 가정하면 Order테이블에서는 1개의 데이터가 생성, OrderItem테이블에서는 2개의 데이터가 생성 되는게 맞을까요? 그렇다고 한다면 Order에 대한 총액이 궁금할 때에는 Order에서 OrderItems를 구한 뒤, 각각의 orderPrice를 더하면 될까요?
안녕하세요 ! 어렵지만 열심히 반복해서 서버 강의를 듣고있는 학생입니다. 다름이 아니라 iocp 서버로 Lobby를 제작하고 dedicated server로 InGame을 제작해서 2개의 서버를 함께 돌리려고 합니다. iocp server로 Lobby Level을 구성하고 3명이 한팀을 이뤄 MatchMaking을 통해 dedicated server로 만들어진 InGame Level로 넘길 생각입니다! iocp server와 dedicated server를 연결해두고, 클라이언트들을 옮기는 방식을 쓰려고 구상을 했는데, 제가 만든 iocp server와 dedicated server를 어떻게 연결할지 감이 안와서 질문드립니다. 혹시 이 방법이 불가능한지에 대해서도 여쭙고싶습니다. 감사합니다