묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Slack 클론 코딩[실시간 채팅 with React]
npm run dev 실행후 http://localhost:3090/
http://localhost:3090입력하면 아무반응이 없어요..
-
미해결[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)
binding 선언시 null 허용을 하는 이유가 있나요?
안녕하세요.강의 잘 보고 있습니다.몇가지 질문이 있습니다. Fragment 에서binding 선언시 lateInit var를 사용 안하고 null 허용을 하는 이유가 onDestory()에서 해제를 하려는 이유인가요? lateinit var 로 선언하면 onDestory()에서 해제 할 수 없는건가요? onDestory() 에서 해제를 안하면 안되나요?
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
PostCreate 기본 생성자 문제 질문드립니다.
우선 수업 잘 듣고 있습니다 호돌맨님! 많이 배우고 있어요 ㅎㅎ제목에서와 같이 PostCreate 부분에서 기본 생성자에 관해 질문을 드립니다. // @Setter @Getter @NoArgsConstructor // TODO: 왜 이게 꼭 있어야 하는 것일까? public class PostCreateDto { @NotBlank(message = "타이틀을 입력해주세요.") private String title; @NotBlank(message = "내용을 입력해주세요.") private String content; @Builder public PostCreateDto(String title, String content) { this.title = title; this.content = content; } }우선 이건 제 코드입니다. 보시면 제 코드에는 @NoArgsConstructor 어노테이션이 있는데요. 이 부분이 없으면 제 PostControllerTest에서는 테스트 실패가 뜨더라구요. 에러 메시지는 다음과 같습니다. Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.blog.request.PostCreateDto (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)에러메시지를 읽어보니 생성자가 없다는 문제 같아서 @NoArgsConstructor 어노테이션을 붙여보니 정상적으로 작동을 하더군요.이 부분이 궁금해서 찾아보니 RequestBody로 넘어오는 데이터를 맵핑할 때 Jackson의 ObjectMapper가 사용되는데 이게 RequestBody를 생성할 때, DTO가 Property기반이 아니거나 Delegate를 한 상태가 아니라면 기본 생성자로 생성한다 라고 나와있네요. (https://velog.io/@conatuseus/RequestBody%EC%97%90-%EC%99%9C-%EA%B8%B0%EB%B3%B8-%EC%83%9D%EC%84%B1%EC%9E%90%EB%8A%94-%ED%95%84%EC%9A%94%ED%95%98%EA%B3%A0-Setter%EB%8A%94-%ED%95%84%EC%9A%94-%EC%97%86%EC%9D%84%EA%B9%8C-3-idnrafiw)그리고 바인딩할 때 Setter가 없이도 자바 리플렉션을 통해서 DTO에 값이 들어간다고 하는 것도 이번에 알게 됐네요. 그래서 Setter를 지우고 Getter랑 @NoArgsConstructor 어노테이션만 붙이고 테스트를 돌려보니 통과가 잘 됩니다. 그런데 호돌맨님이 올려주신 코드를 보니 PostCreate 부분에 기본생성자가 없더라구요. 그런데도 테스트통과가 잘 되는 것을 보니까 신기하네요. 어떻게 그게 가능한 것인지 설명해주실 수 있나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
graphql-upload 가 임포트 되지 않습니다 ..
{ "name": "aaa", "version": "0.0.1", "description": "", "author": "", "private": true, "license": "UNLICENSED", "scripts": { "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json" }, "dependencies": { "@nestjs/apollo": "^10.1.7", "@nestjs/common": "^9.0.0", "@nestjs/config": "^2.2.0", "@nestjs/core": "^9.0.0", "@nestjs/graphql": "^10.1.7", "@nestjs/jwt": "^10.0.1", "@nestjs/passport": "^9.0.0", "@nestjs/platform-express": "^9.0.0", "@nestjs/typeorm": "^9.0.1", "apollo-server-express": "^3.11.1", "bcrypt": "^5.1.0", "class-transformer": "^0.5.1", "class-validator": "^0.14.0", "dotenv": "^16.0.3", "graphql": "^16.6.0", "graphql-upload": "^13.0.0", "mysql2": "^2.3.3", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "passport-jwt": "^4.0.1", "reflect-metadata": "^0.1.13", "rxjs": "^7.2.0", "typeorm": "^0.3.11" }, "devDependencies": { "@nestjs/cli": "^9.0.0", "@nestjs/schematics": "^9.0.0", "@nestjs/testing": "^9.0.0", "@types/bcrypt": "^5.0.0", "@types/express": "^4.17.13", "@types/graphql-upload": "^15.0.2", "@types/jest": "29.2.4", "@types/node": "18.11.18", "@types/passport-google-oauth20": "^2.0.11", "@types/passport-jwt": "^3.0.8", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", "eslint": "^8.0.1", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", "jest": "29.3.1", "prettier": "^2.3.2", "source-map-support": "^0.5.20", "supertest": "^6.1.3", "ts-jest": "29.0.3", "ts-loader": "^9.2.3", "ts-node": "^10.0.0", "tsconfig-paths": "4.1.1", "typescript": "^4.7.4" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" } } 노드 모듈을 지우고 다시 설치했지만 .. 임포트 되지 않습니다 ..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]혹시 설날 할인 같은 거 계획 중이신지 궁금합니다.
-
미해결Blender(블렌더) 3.0 3D 그래픽의 입문 Part. 2
뒷부분 강의 내용에 쓰는 나뭇잎 파일은 따로 없나요?
뒷부분 강의 내용에 쓰는 나뭇잎 파일은 따로 없나요? 그냥 제가 모델링해서 써야하는 건지, 강의 자료가 있는데 못찾는 건지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-I 질문 있습니다
http://boj.kr/8b016e9bac4a41c6849a1fd3d5e1b96d이 코드가 틀린 코드인거 압니다.근데 이 코드에 테스트 케이스 5,17을 입력했을때 벡터의 범위를 벗어난다고 하더군요.5,17의 경우 K가 20일때 visited[20]이 3이되면서 50만을 전혀 무리없이 넘기지 않고 일찍 종료되는데, 대체 왜 범위를 벗어난다는건지 모르겠네요.테스트케이스 250000, 499999을 입력하면 잘 돌아갑니다. 그리고 이 문제에서 홀짝을 굳이 생각해야하나요? 기존 숨바꼭질 문제의 bfs로직에서 동생의 위치만 실시간으로 변하는걸 고려해서 짜면 되는거 아닌가요?
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
서비스스캔시 오류가 발생합니다.
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'context:component-scan'.서비스 제이유닛으로 테스트 하기위해서 servlet에 있는 scan을 root-context.xml으로 옮기는 과정중에서 일어났습니다.오류 뜨는 x표시란에 마우스를 대면 위와 같은 오류가 납니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
객체뒤 점 '.'을 찍었을때 나타나는 알파벳의 의미?
객체뒤 점 '.'을 찍었을때 나타나는 알파벳이 무슨 의미일까요?p는 property인 것 같은데,그외 m, f는 뭘까요?
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
루카스님은 원하는 기능을 찾을떈 어떻게 검색하나요
제가아직 초보이고영어도 자동번역만 쓰는 수준이다 보니뭔가 원하는 기능을 찾을떄 쉽지가 않은데요루카스님은 원하는 기능이 있을떄어떤 키워드로 검색을 하시나요??점프나 대쉬처럼 키워드가 딱 나오는거 말고지금 루트 본 회전 강의 초반에 설명처럼90도 넘어가면 돌아가는 움직임 구현처럼한 키워드로 정리가 안될떄요어떤 식으로 검색을 하시나요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
건의사항
제가 잘못 본건지는 모르겠지만,Node.js API구현 중 퍼사드 패턴 47:31초에서function getToken() { const myconunt =6 if(mycount === undefined){ console.log("에러발생!!! 갯수를 제대로 입력해주세요!!!") return ~~~}좌측 인강화면을 보시면 01-04-token-count-api-facade 폴더에 들어있는index.js파일에서 function getToken() 함수에서 매개변수를 지우고, const mycount = 6 으로 대체하였습니다. 하지만, 우측 노션에 학습자료 퍼사드 패턴에서는 function getToken(count) { ~~} 라고 해서 count매개 변수가 존재합니다.count를 여전히 매개변수로 사용하고 있습니다. 즉 "노션에 있는 자료가 수정되어야 한다고 생각합니다."노션 자료 중 호출하는 부분에서 createTokenOfPhone('01012345678', 6);매개변수 6도 삭제되어야 합니다. "REST-API 실습 강의"에서 postman으로 학습시 "휴대폰 번호 전송"이 안되서 순간적으로 당황했습니다.확인하시고, 답글 달아주시면 감사하겠습니다.해당강의는 Node.js API구현 중 퍼사드 패턴 47:31초입니다. 노션은 학습 자료 / 퍼사드 패턴 입니다.
-
미해결웹 게임을 만들며 배우는 React
React 18 버전으로 업그레이드
안녕하세요, 제로초님. react 강의 잘 듣고 있습니다.ReactDOM.render(<LikeButton />, document.querySelector("#root"));이 코드는 실행되고,ReactDOM.createRoot(document.querySelector('#root')).render(<LikeButton />);이 코드가 안되길래 package.json 에서 react 버전 확인해보니 17이더군요! 구글링 해서 찾은 걸로 터미널에 npm install react@latest react-dom@latest 쳐서 최근버전 설치했는데 변경된 게 없어서 질문드립니다.감사합니다.
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
v-if 질문입니다!
<td v-if="stock"> {{ stock !== -1 ? stock : stock = false}} </td> <td v-else><v-icon>mdi-infinity</v-icon></td>제 생각 : stock이 -1이라는 값으로 넘어오면 {{ stock !== -1 ? stock : stock = false}} 로 인해 stock이 false가 되고 v-else의 아이콘이 보여짐 현실 : stock가 -1이라는 값으로 넘어오면 v-if 태그가 false 값이 출력됨 뭐가 문제인가요?
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
Word Count 예제를 통해 기본 문법을 알아보기
질문은 많으시면 많을수록 좋습니다. 가능한 빠른 답변 드리겠습니다.원활한 답변을 위해, 자세한 질문 사항 부탁드려요 :D 해당강의 앞에 RDD 를 만드는 강의가 하나 있을꺼 같은데 빠진것 같습니다. 해당강의 서두에서 RDD 를 만드는 방법을 배웠다고 하는데 그게 없습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Model에 데이터를 보관한다. 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]회원 저장 - 컨트롤러 MvcMemberSaveServlet 에서Member member = new Member(username, age);memberRepository.save(member); //Model에 데이터를 보관한다. request.setAttribute("member", member);가 있는데멤버리파지토리에 멤버 안담고 바로 모델로 담아도 상관없나요? 아니면 레파지토리에 무조건 담아줘야 되나요?
-
미해결핸즈온 리액트 네이티브
styles 값을 상수로 사용하는 것
안녕하세요! 강의 잘 보고있습니다 ㅎstyles에서 중복 사용되는 값들을 아래와 같이 상수로 사용하셨는데,const BOTTOM = 30;const BUTTON_WIDTH = 60;상수명과 관계 없는 style인데도 해당 상수를 갖고와서 / 2라던지 +10라는 식으로 가공해서 사용하는 이유가 궁금합니다!예를들어서 borderRadius는 30이기때문에 BUTTON_WIDTH / 2를 주셨고,paddingRight는 70이기때문에 BUTTON_WIDTH + 10을주셨는데, 다른 부분들은 그대로 두셔서 어떤 기준으로 적용하신건지 모르겠습니다!right: 10 이 친구도 BUTTON_WIDTH - 50paddingLeft: 20 이 친구도 BUTTON_WIDTH - 40shadowOpacity: 0.5 이 친구도 BUTTON_WIDTH / 120등등으로 사용할 수 있는데 말이죠!혹시 상수를 이용해서 이렇게 스타일 안에서도 쓸 수 있다! 를 보여주시려고 예를 들어서 적용하신걸까요?!6.8 :: 애니메이션 사용하기
-
해결됨[왕기초편] 쓱싹 쓱싹 그림을 그려요
안녕하세요 좋은강의 감사합니다
안녕하세요 혹시 장비는 어떤걸 쓰시는지 여쭤봐도 될까요?
-
해결됨실전! 스프링 데이터 JPA
Auditing 기능 질문
안녕하세요, Auditing 기능에 대해서 궁금한 게 생겨 질문 드립니다.Auditing 이라는 기능으로 작성일, 수정일, 작성자, 수정자를 기록할 수 있다고 해주셨는데 삭제일, 삭제자를 기록하는 기능은 Auditing에서 제공 안 해주는 건가요?구글링 해봐도 그런 기능은 없는 것 같아서요.(다른 기술을 사용해야 하는 건가요?)
-
미해결오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
Cache buffer (lru) chain latch 문의 드립니다.
안녕하세요.강의 잘 듣고 있습니다. 강의 중 궁금한 사항이 생겨서 문의 드립니다.Cache buffer (lru) chain latch 강의 차수에서체인이 하나 인 것처럼 이해가 되는데 체인이 하나인걸까요?Cafhe buffer chain latch 가 관리하는 체인과Lru latch가 관리하는 체인이 별도로 있는 것으로 알고 있었는데, 혼동이 생겨서 문의 드립니다.Lru 체인래치의 경우 프리리스트가 필요하지 않은 경우는 따로 획득할 필요가 없는 것으로 이해하고 있었습니다.감사합니다강의 절말 잘 듣고 있습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
수업중 나온 깃허브 저장소가 없는 이유
수업중 나온 깃허브 저장소가 없는 이유가 궁금합니다.현재 스크린샷처럼 되어 있는 주소가 없어요