안녕하세요 메모리 릭과 관련해서 질문 드립니다 비주얼 스튜디오에서 프로그램 실행시키면 진단 도구 창이 뜨고 그 안에 현재 프로세스가 얼마나 메모리 잡아 먹는지 보여주는데 콘솔에 로그 찍으면 메모리 계속 잡아먹으니까 서버와 클라 모두 콘솔에 아무것도 로그를 찍지 않게 빈 상태로 두었는데도 약 30초마다 3~5MB 씩 오릅니다 그래서 강의 자료에 있는 모든 코드를 복붙해서 어떤 로그도 안찍게 살짝 수정 후 실행했더니 결과는 동일하게 조금씩 오르더라구요 이 상태에서 서버는 계속 작동시키고 클라를 끄니까 메모리 릭 현상이 멈추긴 했습니다만 이 현상이 선생님 환경에서도 일어나는지 궁금하네요.. 기본 서버 강의라서 아직 최적화가 덜 돼서 그런건지요..?
WebSocket connection to 'wss://roundtables.kr/socket.io/?EIO=4&transport=websocket&sid=ClU8avDZJZkaowUwAAAC' failed: value @ websocket.js:43 이번에 React와 Express 서버를 배우면서 websocket을 다루게 됐는데 계속 웹 소켓 연결에 실패하고 있는데 이유 아시는 분 있나요? 환경은 proxmox에서 lxc 컨테이너로 웹을 열고 있고 지금 2개의 사이트가 열려 있어서 NGINX 프록시 메니져 쓰고 있습니다.
저는 계속 에뮬레이터 실행안되서 찾아보다가 CPU 기능에서 인텔 가상화 기술이 지원되는지 확인해야한다는 내용도 있길래 찾아봤는데, 이렇게 인텔 가상화 기술에 ' x '가 되있으면 PC 자체가 성능부족으로 에큘레이터 미작동을 해결할 방법이 아예 없는건가요? <CPU 성능확인> <에뮬레이터 오류 화면>
안녕하세요! 좋은 강의 감사합니다. 추상화를 공부해보니 상속과 추상화의 관계에 대해서 궁금해져서 질문 드립니다. 모든 상속은 데이터 추상화인가요? 제가 생각해봤을 땐 부모 클래스를 상속받는 자식 클래스들의 관계를 따져봤을 때 공통점이 있다면 추상화 O, 공통점이 없다면 추상화 X 인 것 같은데... 상속인데 추상화가 아닌 예시가 떠오르질 않아서 맞는지 모르겠습니다.
안녕하세요 차근차근 강의 들으며 공부하고 있는 수강생입니다 현재 강의에서 알려주신 방법에 따라 페이지를 구현할 경우 2가지 문제점에 대해 말씀해 주셨는데요 2번째 문제점은 내가 수정하고 싶은 요소만 수정했을 때, 기존에 입력했던 다른 요소가 삭제된다는 것이었습니다 그런데 container 파일 작성 요소 중 const [writer, setWriter] = useState(); const [title, setTitle] = useState(); const [contents, setContents] = useState(); useState() 소괄호가 비어 있을 땐 기존에 입력했던 다른 요소가 삭제되지 않은 채 수정한 요소가 반영되었습니다 여기서 궁금한 점은 useState() 소괄호가 비어 있을 때와 소괄호 안에 빈 문자열("")을 넣어주었을 때 결과가 달라지는 이유 useState() 소괄호가 비어 있는 상태로 코드 작성을 끝내지 않는 이유 입니다 감사합니다
안녕하세요 선생님하고 다르게 풀이를 하였는데 맞는걸까요? for (int i = 0; i < 9; i++) { scanf_s("%d", &arr[i]); } scanf_s("%d", &r); for (int i = r; i < 9; i++) { printf("%d ", arr[i]); } for (int i = 0; i < r; i++) { printf("%d ", arr[i]); } return 0;
[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
안녕하세요 선생님! 감사히 잘 듣고 있는 수강생입니다. 맨 마지막 도전과제 질문이 있어 문의드립니다. 하나의 태그에 대해서만 만드는게 아니라 나온 html 태그들을 각 함수에 할당하는 for 문으로 한번 돌려보고 싶어서... 이런식으로 했더니 err가 납니다. def 함수 <--- 이 함수부분을 동적으로 할당할 수 있는 방법이 있을까요....? print_center 라고 되어있는부분은 계속 덮어씌워지는걸 확인했습니다.
이 문제를 보고 큐브 같다는 생각이 들었습니다. 행을 뒤집을 수도, 열을 뒤집을 수도 있으니 결론적으로 0행과 0열을 뒤집으면 0행0열의 원소는 그대로지만 나머지 0행과 0열의 원소는 뒤집은 결과를 갖게 되니까요. 111 111 111 이 100 011 011 처럼 된다는 말입니다. 근데 저는 이 문제를 보고 도저히 행 또는 열을 선택해서 완전탐색을 하면 정답을 구할 수 있다. 는 사실을 혼자서 생각하지 못했습니다. 이유는 아까 예시와 같이 행과 열을 순차적으로 조작하면 개별요소도 수정할 수 있지 않을까? 하는 생각이 들어서 였습니다. 과연 코테에서 이런 아이디어를 떠올릴 수 있을지.. 자신이 없습니다.. 혹시 이 아이디어를 어떻게 생각하셨는지 궁금합니다. 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] @SpringBootApplication 내부에 @ComponentScan이 있기 때문에 @SpringBootApplication가 붙은 CoreApplication을 실행하면 컴포넌트 스캔을 하게 되는 거 맞죠? 그런데 만약 @Service, @Controller, @Component @Autowired 등을 전혀 사용하지 않고 오로지 설정 클래스의 @Configuration, @Bean을 통해 빈을 등록한다면 CoreApplication을 실행했을 때 컴포넌트 스캔이 동작하긴 하지만, 컴포넌트 스캔을 통해 등록되는 빈은 없다고 보면 되나요? 즉, @Bean을 통해 등록되는 빈들은 있어도, 컴포넌트 스캔은 동작은 하되, 스캔을 통해 등록되는 빈은 이 경우엔 없다고 보면 되나요?
수고하십니다. 다름 아니라 제가 맥환경에서 Kubernetes Cluster 설치흐름 [v1.15] (강의 실습버전) (음성없음) 실습과정을 따라하던중 virtualbox 7.x 에서 vm으로 환경 설정을 3번이나 동일하게 따라했고 다 되었는데요 맥 Termius 에서 도저히 버추얼박스내 구축한 192.168.0.30번의 가상머신이 ssh로 연결이 안되어서요 virtualbox에서 vm 실행해서는 root 비밀번호 쳐서 접속이 되는데 맥용 터미널에서만 도저히 안되네요 참고로 저는 인텔칩이구요 왜 그럴까요? Kubernetes Cluster 설치 [v1.22] (최신, 쉬운설치 버전) 은 잘 맥 Termius에서 virtualbox vm에 잘 접속이 됩니다. 모든 설정을 그대로 따라 햇는데요... 정말로 안되어서 문의 드리오니 문의 부탁드립니다.. ㅜㅜ 제가 모르는 맥 설정이 있는지요??
해당 수업에서 gets함수를 활용한 코드를 컴파일하여 실행하면 다음과 같은 문제가 뜨면서 실행이 안됩니다.. 이전 hello world 출력할 때는 문제 없이 실행이 됐엇는데, 다른 프로젝트 생성 후 실행하면 이런 문제가 뜨니 미치겠습니다 ㅜㅜ 인터넷 서칭으로 계속 찾아보곤 있는데, 선생님께서 혹시 해결 방안을 아시는가 싶어 질문드립니다..
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 잘 듣고 있습니다! 학습을 위해 예제 코드를 조금 응용해서 TODO 앱를 만들어보고 있는데 의도한 기능대로 작동이 안 됩니다. 강의 내용과는 조금 방향이 다르지만 BindingResult 관련 질문이기도 하고 하루종일 해봐도 모르겠어서 질문 올립니다. 강의 예제의 [회원 가입] 폼에서 이름을 비워두고 제출한 경우 @Valid 검증 오류가 발생 하여 return "members/createMemberForm" 되고, View에서 <p th:if="${#fields.hasErrors('name')}" th:errors="*{name}"><p> 가 삽입되면서 MemberForm 의 @NotEmpty 에러 메세지가 출력되는 기능을 조금 바꿔서 해 수정 기능에 적용해 보려고 했습니다. 의도한 기능은 이렇습니다. (코드는 밑에 있습니다) 할 일(task) 수정을 누르면 @GetMapping("/tasks/{taskId}/edit") 와 매핑된 메서드가 전달된 파라미터의 taskId 로 할일 객체를 찾아 TaskForm (할일 Form 객체)에 값을 세팅합니다. 그리고 이 TaskForm 객체를 Model 에 "form" 이라는 이름으로 값을 담아 전달합니다. View(할일 수정 폼)에서 수정하고자 하는 할일의 현재 name 값, priority 값를 보여줍니다. (수정을 위해 현재 값을 표시해줌) 수정 폼을 채우고 제출을 누르면 @PostMapping("/tasks/{taskId}/edit") 에 매핑됩니다. 만약 검증에 오류가 있는 경우 return "task/editTaskForm"; 를 합니다. 즉 editTaskForm.html 문서를 엽니다. 문제 상황 : 그런데 editTaskForm.html 파싱에 실패합니다. 해당 Task의 현재 값을 미리보기 해주려면 ${form.name} 을 참고해야 하는데 form 이 넘어가지 않아서 인 것 같습니다. 그래서 @SessionAttributes("form") 로 세션에 저장해주었습니다(스프링 2.7입니다). 2. 이제 파싱은 되고 해당 Task의 현재 값 미리보기도 됩니다. 그런데 여전히 <p> 태그가 생성되지 않아서 오류 메세지도 출력이 안 됩니다. BindingResult 가 날아간 것 같습니다. 3.방법을 바꿔서 View를 바로 여는 게 아니라 @GetMapping 으로 리다이렉트를 해보았는데 역시 Model 이 초기화되면서 BindingResult 가 날아가는 것 같습니다 ㅠㅠ 검색해보니 RedirectAttributes 를 써야 한다는데 저는 강의와 똑같이 스프링 2.7을 쓰고 있는데 3.1 미만 버전에서는 GET 파라미터로 전달하는 것 외엔 방법이 없을까요? @Controller @RequiredArgsConstructor @SessionAttributes("form") public class TaskController { private final TaskService taskService; @ModelAttribute("form") public TaskForm getTaskFrom() { return new TaskForm(); } @GetMapping("/tasks/{taskId}/edit") public String editTaskForm(@PathVariable Long taskId, Model model) { Task task = taskService.findOne(taskId); TaskForm form = new TaskForm(); form.setName(task.getName()); form.setPriority(task.getPriority()); model.addAttribute("form", form); return "task/editTaskForm"; } @PostMapping("/tasks/{taskId}/edit") public String editTask(@PathVariable Long taskId, @Valid TaskForm form, BindingResult result, SessionStatus sessionStatus) { if (result.hasErrors()) { return "task/editTaskForm"; } taskService.editTask(taskId, form.getName(), form.getPriority()); sessionStatus.setComplete(); return "redirect:/tasks"; } } JPA 활용 2편까지도 들었고 MVC 1까지도 들었는데.. MVC 2의 BindingResult 강의를 듣고 다시 해보는게 좋을까요? 하지만 너무 해결하고 싶습니다.........🥺 어느 부분을 체크해보면 좋을까요?