class MyJSONEncoder(DjangoJSONEncoder): def default(self, obj): if isinstance(obj, QuerySet): return tuple(obj) elif isinstance(obj, Post): return {'id': obj.id, 'title': obj.title, 'content': obj.content} elif hasattr(obj, 'as_dict'): return obj.as_dict() return super().default(obj) JSON 직렬화 강의에서 위의 구문의 return tuple(obj) 이 실행될 경우 재귀적으로 default 메서드를 탄다고 말씀하셨는데 어떤 원리인지 이해를 하지 못했습니다. 튜플로 변환될 때 어떻게 MyJSONEncoder 가 이를 인지하고 작동하는지 여쭤봅니다.
감이 안잡히는데 좀 도와주세요 ㅜㅜ 힌트라도 주시면 감사하겠습니다.. async update({ productId, updateProductInput, }: IProductsServiceUpdate): Promise<Product> { const product = await this.findOne({ productId }); this.checkSoldout({ product }); const result = this.productsRepository.save({ ...product, // 수정 후 수정되지 않은 다른 결과값까지 모두 받고 싶을 때 사용 ...updateProductInput, }); return result; }
안녕하세요! 섹션 5. "작업형1" 과 구슬 게임의 <작업형1 모의고사 3> 강의의 아래 문제풀이 중 강사님 풀이 방법과 같이 첫번째 조건(cond1)과 두번째 조건(cond2)의 값을 각각 r1, r2로 받지 않고, cond1 과 cond2의 or 조건으로 한 번에 출력하고, True 값을 sum 하면 왜 결과값이 왜 달라지는지 이해가 안 되어 문의드립니다. (아래 코드 참고 부탁드립니다) 답 : 192 (저의 풀이대로 하면 결과값 : 150) 문제7 index '2001' 데이터(행)의 평균보다 큰 값의 수와 index '2003' 데이터(행)의 평균보다 작은 값의 수를 더하시오 강사님 풀이 # 풀이 df = pd.read_csv("data.csv", index_col="Unnamed: 0") m2001 = df.loc[2001].mean() cond = df.loc[2001] > m2001 r1 = sum(cond) # 100 m2003 = df.loc[2003].mean() cond = df.loc[2003] < m2003 r2 = sum(cond) # 92 print(r1+r2) # 결과값 192 제 코드 # 풀이 df = pd.read_csv("data.csv", index_col="Unnamed: 0") m2001 = df.loc[2001].mean() cond1 = df.loc[2001] > m2001 m2003 = df.loc[2003].mean() cond2 = df.loc[2003] < m2003 sum(cond1|cond2) # 결과값 150
4:50의 Unauthorized까지는 잘 따라왔는데 이후 2번째 지갑 주소를 복사, 붙여넣고 진행하니 이런 에러가 발생합니다. 뭐가 원인인지 알 수 있을까요? "error": "network does not support ENS (operation=\"getResolver\", network=\"maticmum\", code=UNSUPPORTED_OPERATION, version=providers/5.7.2)"
안녕하세요! 네트워크 변경 시 자동으로 로그아웃되어 글 남깁니다. 뭄바이 네트워크로 변경하라는 메세지만 뜨고 게임은 일시정지 해야하는데 아예 로그아웃이 되어버립니다. 아주 가끔씩 일시정지가 되기도 하는데 될때는 왜 되는지 이유가 뭔지 모르겠습니다 ㅠ logout은 account 변경 확인할때와 useEffect로 isConnected 확인할때만 사용하는데, 네트워크를 변경하게 되면 isConnected가 false로 바뀌기도 하나요?
제네릭스 클래스 (연장 전반전) 강의 5:51 부분과 관련해서 궁금한 점이 있어 문의를 드립니다. CoffeeByUser<User> c7 = new CoffeeByUser<>(new User("강호동")); 1번 질문. 위의 줄에서 CoffeeByUser<>에 다이아몬드 안에 User를 넣은 이유가 CoffeeByUser 클래스 User를 상속받고 있기 때문인 걸까요? 아니면 User class 형태로 값을 받기 때문인 걸까요? 왜 <> 안에 User가 들어가는지 잘 모르겠습니다. 2번 질문. CoffeeByUser<User> c7 = new CoffeeByUser<>(new User("강호동")); 에서 new CoffeeByUser<> 뒤에 (new User("강호동");이라고 작성되어 있습니다. CoffeeByUser<User> c7 = new Coffee<>("강호동"); 이 아니라 <> 뒤에 (new User("강호동");을 붙여준 이유가 CoffeeByUser가 User를 상속받고 있기 때문에 붙이는 걸까요?
안녕하세요. section29까지 수강을 다 진행하였는데요. 예제 코드 관련 오류가 있어 질문드립니다. 예제코드가 데이터베이스 처음 만든 상태에서는 괜찮은데 데이터베이스에 데이터를 넣고 코드를 수정하면 아래와 같은 오류가 나옵니다. query failed: ALTER TABLE `product_saleslocation` ADD `id` varchar(36) NOT NULL PRIMARY KEY error: Error: Duplicate entry '' for key 'product_saleslocation.PRIMARY' query: ROLLBACK [Nest] 33022 - 05/21/2023, 12:47:43 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... QueryFailedError: Duplicate entry '' for key 'product_saleslocation.PRIMARY' 그리고 DBeaver로 확인하면 product_saleslocation의 기본키인 "id"가 자동으로 삭제되어 있습니다. product_saleslocation의 비정상적인 데이터를 삭제해도 다른 테이블의 기본키에서도 동일한 오류가 발생합니다. 코드를 단순히 주석만 삭제하고 저장해도 프로젝트가 재실행되고 나서 저런 오류가 발생합니다. 프로젝트가 재실행될 때마다 DB에 자동적으로 뭔가 데이터 수정 작업을 하는거 같은데 아무 요청도 안 했는데 DB에 수정이 일어나는 이유를 모르겠습니다.
안녕하세요. 좋은 강의 감사합니다. 현재 분류까지 강의를 수강한 상태이며, 그 이후 텍스트 분석 강의 부분을 먼저 수강하려고 하는데 질문이 있습니다. 제가 아래와 같은 요구사항을 구현하고자 하는데 텍스트 분석 강의를 먼저 수강 하여도 구현이 가능할지 궁금합니다. 고객의 문의 데이터(채팅 등의 텍스트 데이터)를 이용하여, 급 상승하는 키워드를 detect 하고자 합니다. 예를 들면, 마스크 같은 키워드는 코로나 이전에는 하루 평균 10번 이하로 등장했는데, 코로나 이후 하루 평균 1000번 이상 등장한 케이스가 있다고 가정 할 때를 예로 들 수 있습니다. 위와 같은 키워드를 찾고 예측하고자 하는 니즈가 있는데, 해당 강의로(텍스트 분석) 커버가 가능 할까요? 감사합니다.
강의 4~ 5분 즈음에 sleact 테이블을 생성하는데요 아래의 에러 메시지가 나오면서 테이블 생성에 실패 하시는 분들은 > a-nest@0.0.1 db:create > ts-node ./node_modules/typeorm-extension/dist/cli/index.js db:create -d ./dataSource.ts /Users/user/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:161 const err = new Error( ^ Error: Can't add new command when connection is in closed state at Connection._addCommandClosedState (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:161:17) at Connection.end (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:902:26) at Query.onResult (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/typeorm-extension/dist/database/driver/mysql.js:27:28) at Connection._notifyError (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:241:17) at Connection._handleFatalError (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:180:10) at Connection._handleNetworkError (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:193:10) at Socket.emit (node:events:513:28) at Socket.emit (node:domain:489:12) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) {} dotenv 패키지를 설치하세요. npm i dotenv dotenv 설치하는 부분이 편집 과정중 어디선가 생략된것 같아요. 아주 간단 한건데 이거 때문에 삽질을 좀 해서 혹시나 도움이 될까 싶어 올립니다.
안녕하세요 강사님! 파이썬 3.10 이상인 상태로 배포를 하려합니다! 배포를 하는 도중 AttributeError: module 'collections' has no attribute 'Callable' 가 발생하여 보니 pydenticon 에러였습니다. 이런 경우는 컨테이너 안에서 수정을 해야할 것 같아서 docker run -it <이미지 이름> /bin/bash 으로 수정 후 docker commit을 진행했습니다.하지만 이 경우, 문제가 생기는데 docker run --rm --publish 9000:8000 -it <이미지이름> sh 를 실행하여, python3 manage.py runserver 0.0.0.0:8000 을 직접 실행해줘야만 하는 번거로움이 있었습니다. 혹시 이를 해결하기 위한 방법이 있는지 알고싶습니다. 감사합니다.
안녕하세요. 전 현재 queryDSL 강의까지 듣고 몇달간 프로젝트를 진행중인 학생입니다. 이번에 맞닥뜨리게된 문제가 특이해서 질문 남겨봅니다. 다름이 아니라 CascadeType을 지정하지 않은 상태에서 데이터를 DB에 저장했었습니다. 당시엔 flag를 통한 delete를 기능에 담아내고 있었기 때문입니다. 하지만 시간이 흘러 delete를 해야할 타이밍이 와서 기능을 구현하는데 의존성 때문에 부모 객체가 삭제될 수 없다며 Connection org.postgresql.jdbc.PgConnection@37333b1f marked as broken because of SQLSTATE(08006), ErrorCode(0) 에러가 나며 에러를 띄웠습니다. 아무리 찾아봐도 CascadeType을 통해 JPA에서 영속 상태를 정한다고만 하고 Bard, ChatGpt, Bing 등 비슷한 답을 줬습니다. 서비스 전의 DB라 DB에 있던 튜플들을 전부 삭제하는 것으로 해결했으나 궁금증은 여전히 해결되지 않았습니다. CascadeType을 지정하지 않았을 때 저장된 값은 CascadeType.ALL로 바꿨을 때도 영속상태로 들어가질 않나요? 만약 그렇다면 해당 값이 어떻게 CascadeType이 지정되기 전에 저장됐는지 아닌지 알 수 있는 건가요?
안녕하세요 선생님 windows 11 운영체제 플랫폼에서 강의를 수강하고 있습니다. webstorm IDE 사용하고 있습니다. nvm windows를 설치해서 사용 중이며 node 18 lts 버전을 사용 중에 있습니다. npm i nodemon --save-dev package.json에 devDependencies에 추가한 상태입니다. 선생님과 똑같이 cmd 창에서 node app 입력했을 경우 잘 실행이 되었는데요. nodemon app 을 입력했을 경우 다음과 같이 실행할 수 없습니다. C:\Users\mingyo\study\nodejs\nodePractice\express>nodemon app 'nodemon'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. C:\Users\mingyo\study\nodejs\nodePractice\express>nodemon app.js 'nodemon'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 찾아봤을 때는 nodemon을 -g 옵션을 줘서 전역으로 설치하는 방법 시스템 환경 변수를 수정(?)하는 방법 이렇게 크게 두 가지 방법이 있는 것 같았습니다. global 설치는 선생님이 별로 추천하지 않는다고 하셔서 어떤 해결 방법을 사용하는 걸 추천하시는지 궁금합니다. 아 그리고 nvm windows를 사용해서 node를 다운받았는데, nvm windows 사용으로 인해 이 문제가 발생한 건지도 궁금합니다. 조금 찾아보긴 했는데 이렇게 질문드리는 게 적절한지 잘 모르겠습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 실전!스프링부트와 JPA활용 1편 - 엔티티클래스개발2 수업 18:46초 가량에서 선생님이 jpa가 자동으로 만들어내는 DDL을 그대로 사용하면 안되고 스크립트를 뽑아내서 가다듬고 사용한다고 말씀해주셨는데요 가다듬는 과정에는 구체적으로 어떤 행위가 있는지 궁금합니다