윈도우에서 개발중입니다 현재 Vue .js 3 버전을 사용중이라 Vue 프로젝트 실행시 node 를 12.14.0 버전으로 사용하고 있습니다 BackEnd Api 설치 후 Api 프로젝트를 실행시에는 nvm 을 이용해 10.16.3 버전으로 실행하면 정상 실행됩니다 하지만 Vue 프로젝트와 Api 프로젝트 두개를 동시에 띄우려고 하니까 node 버전을 하나만 인식하기 때문에 한쪽의 프로젝트에서는 문제가 발생했습니다. 위 문제를 해결하기 위해 프로젝트 최상위 경로에 .nvmrc 파일을 생성 후 노드 버전을 명시 ex) 10.16.3 npm use 를 실행했는데 A version argument is required but missing. 에러가 출력됩니다 .nvmrc 파일을 제대로 인식하지 못 하는것 같은데 이 문제를 어떻게 해결 가능할까요 터미널에서 기본적인 nvm list , nvm --version 등은 모두 인식하며 터미널 재시작 및 컴퓨터 재시작도 해봤지만 동일한 현상입니다 nvm 버전은 1.1.11 이며 사용하려는 node 버전은 nvm 을 통해 모두 설치되어 있습니다.
기존 노트북에서 강의를 듣다가 맥북을 사용하게 되어 맥북으로 넘어와 강의 환경을 구축하고자 비주얼스튜디오코드를 설치하고 2강에서 차례로 말씀해주신 응용 프로그램을 설치하는데 html snippets는 말씀하신 개발자(geyao)의 프로그램이 보이지도 않고 설치가 안되어 강의 진행이 어렵습니다ㅜㅜ 혹시 비슷한 프로그램은 없을까요??
중괄호 등을 통해서 코드를 작성할 때 중괄호가 [] 이렇게 두개 자동으로 생성되는데요. 이외에도 '' 등 두개씩 자동으로 만들어줘서 코드를 작성하는데는 편리한데 'LEE' 등 코드를 쓰고 EE에서 '를 넘어 가기 위해 방향키를 눌러줘야 하는 불편함이 있습니다. 혹시 빠르게 작성하기 위해 단투키 같은게 별도로 있을지 문의드립니다
안녕하세요 강의 잘 보고 있습니다. 다름이 아니라 이렇게 H2등을 쓰지않고 테스트 할 경우, 많은 테스트 데이터들을 셋업하는 것이 힘들것 같은데 보통 어떻게 처리하시나요? h2등을 사용한다고 하면 강의에서 알려주신 것 처럼 보통 .sql을 실행시켜서 사용할텐데, 이렇게 소형테스트들에 테스트데이터를 java code로 반복문 돌면서 생성하자니 좀 번거러운 것 같은데 혹시 다른 방법이 있을런지 혹은 어떻게 하시는지 궁금하여 여쭤봅니다. 환절기가 다가오는데 더위 조심, 감기 조심 하시길 바랍니다. 감사합니다.
섹션2. HTTP Response 처리 에서 from_orm 관련 오류가 나서 질문드립니다. The from_orm method is deprecated; set model_config["from_attributes"]=True and use model_validate instead. 라는 에러와 함께 서버를 작동시켜도 Swagger에서 GET함수가 반영되지 않고 status code 500으로 Error가 발생하는데 해결법을 혹시 아실까요? 구글링을 해봐도 정보가 잘 나오지 않네요ㅠ if order and order == "DESC": return ListToDoResponse( todos=[ToDoSchema.from_orm(todo) for todo in todos[::-1]] )
#include <stdio.h> #include <windows.h> int main(int argc, char* argv[]) { int ch; FILE* fr, * fw; //const UINT default_cp = GetConsoleOutputCP(); //printf("%u\n", default_cp); const char* in_filename = "원본.txt"; const char* out_filename = "사본.txt"; unsigned long count = 0; if ((fr = fopen(in_filename, "r")) == NULL) { printf("can't open %s\n", in_filename); exit(EXIT_FAILURE); } if ((fw = fopen(out_filename, "w")) == NULL) { printf("can't open %s\n", out_filename); exit(EXIT_FAILURE); } //SetConsoleOutputCP(CP_UTF8); while ((ch = fgetc(fr)) != EOF) { fputc(ch, stdout); fputc(ch, fw); count++; } fclose(fr); fclose(fw); //SetConsoleOutputCP(default_cp); printf("file %s has %lu characters\n", in_filename, count); printf("copied to %s\n", out_filename); printf("한글 출력 확인"); return 0; } 제가 제대로 이해한건지 헷갈리네요... 강의 2:45 콘솔창에서 한글이 깨지는 이유는 텍스트 파일의 인코딩 방식은 UTF8(== 인코딩방식 == 코드페이지)인데 콘솔창의 인코딩 방식과 다르기 때문이 맞나요? 원본.txt에 담겨있는 데이터는 컴퓨터 내부에서 바이너리로 저장되어있습니다. (프로그램을 통해 인코딩을 해도 이 바이너리 데이터 자체는 바뀌지않음) 이 바이너리 데이터를 메모장은 UTF8 인코딩 방식을 통해서 인코딩 한 후 출력하기 때문에 메모장에서는 한글이 제대로 출력 되는 것이고, 프로그램은 이 바이너리 데이터를 그대로 읽어왔지만 콘솔창의 인코딩 방식은 UTF8이 아니기 때문에 인코딩 과정에서 한글은 제대로 인코딩이 안되고 그렇기에 한글은 깨지는것. 그러므로 SetConsoleOutputCP(CP_UTF8); 를 통해 콘솔창의 인코딩방식을 UTF8로 바꾸어 준 후 실행하면 한글이 제대로 출력 됨. 마지막으로 복사한 사본.txt파일의 데이터는 원본.txt에 담겨있는 바이너리 데이터 그 자체를 그대로 복사한 것이고 그것을 메모장에서 열면 인코딩방식이 일치하기에 사본.txt파일은 한글이 깨지지 않는다. 맞을까요? 감사합니다!!!
Q1. nest.js 같은 라이브러리들을 자유자재로 써야 하나요? Q2. docs를 따로 보면서 사이드 프로젝트를 만들며 공부해야 하나요? 아니면 또 다른 강의를 구매해서 공부해야하나요? 기초적인 지식은 어느정도 감이 잡힌 것 같은데, 세부적인 설정 부분이나 고급 기능들은 어떻게 접근할지 잘 모르겠습니다. 강사님은 어떻게 공부하시나요?
안녕하세요! JVM 메모리구조를 최근에 공부하면서 생긴 궁금증이 있어 질문을 드리고자 합니다. Metaspace 영역에서는 Class와 Method, Static 변수들에 대한 메타데이터를 가지고 있다고 알고 있는데, 이는 Method 영역의 역할과 겹치는 것 같습니다. Method 영역 내에 Metaspace 영역이 존재하는 걸까요? Spring 프레임워크를 사용하다보면, 수 많은 요청에 대해 Reflection을 사용하게 되고 이는 Metaspace에 부하를 줄 수 있다고 하셨습니다. 하지만 특정 A 클래스를 동적으로 로딩하면 최초 한 번에 한해서만 Metaspace에 메타데이터를 저장할 것이고, 이후에는 추가적으로 해당 클래스에 대한 메타데이터를 중복해 저장하지 않는데 어느 포인트에서 성능이 저하되는지 궁금합니다. 위와 같은 개념들을 아무리 찾아봐도 나오지 않아서 선생님께 여쭤보고 싶었습니다. 올려주신 강의와 유튜브 영상 항상 잘 보고 있습니다. 감사합니다 :)
안녕하세요. 먼저 h2를킨다음, application.yml 파일에서 주소 url: jdbc:h2:~/jpashop 를 통해 실행하면, User 폴더에 jpashop.mv 파일이 생성은 됩니다. 그런데 tcp 를 통해 접속하기위해 주소 url: jdbc:h2:tcp:// localhost/~/jpashop 를 입력한다음 intelliJ를 다시 실행하니 File corrupted while reading record: null. Possible solution: use the recovery tool [90030-214] 실행창에 이런 경고가 뜨면서 연결되지않고 꺼집니다. h2에 문제가있나싶어서 h2를 전부 제거하고 1.4.200 버전으로 새로 깔았는데도 문제가 해결되지 않습니다. 이전동안 문제없이 잘되었는데 알수없는이유로 안되네요 어디가 문제일까요...
function solution(n, m) { const answer = []; const DFS = (num, combination) => { if (combination.length === m) { answer.push(combination.slice()); return; } if (num > n) return; DFS(num + 1, [...combination, num]); DFS(num + 1, [...combination]); }; DFS(1, []); return answer; } console.log(solution(4, 2)); 이전에 배웠던 방식처럼 해당 수를 포함하는 경우와 포함하지 않는 경우로 DFS를 호출하고 combination 배열이 길이가 m이면 answer에 push하도록 했습니다. 이 방식으로 풀어도 정답 코드와 성능이 크게 다르지 않을까요?
범쌤님 질문 답변 정말 감사합니다. 궁금했던 속이 뻥 뚫리네요.ㅜㅜ 추가질문1. 프론트 개발자 입장에서 필요한 최대 단위 토큰은 어느정도일까요? 전역에서 베이스단위 토큰으로 관리되는것만으로도(큰단위 필요 없이) 개발에 매우 용이한것이라는거죠? 개발자가 아니여서 어느정도 매력적인지가 감이 안와서 여쭤봅니다. (현재 '토큰'으로 개발되어있지 않음) 사실 디자인 관리측면에서는 아무리 못해도 원자단위 까진(버튼,인풋) 만들어서 개발연동해두고 싶어서요. 생각의 차이인듯해서 어느정도가 서로가 생각하는 필요선의 합의점일지가 궁금합니다. 추가질문2. 버튼 토큰은 무료버전에서 만들수없을까요? 테스트 단계라 아원자보다 더 큰 단위의 토큰까지 테스트 해보고싶습니다. 그리고 유료버전 강의는 생각하고 있지 않으신걸까요?