회원가입 과제 정답 확인하고싶은데 전체 코드 올려주실수있나요?
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
정답 확인하고 싶어서요
- javascript
- node.js
- express
- docker
- tdd
- rest-api
- nestjs
173만명의 커뮤니티!! 함께 토론해봐요.
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
정답 확인하고 싶어서요
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
저의 개발 환경은 윈도우입니다. 이렇게 코드를 실행하였을 시 로컬 개발환경에서는 잘 실행이 됩니다. 그런데 docker로 실행시켰을 시 gateway만 아래의 오류가 뜹니다. 어떻게 처리 방법이 있을까요?
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
안녕하세요. 부트캠프 백엔드 강의를 수강하고 있습니다. 강의 [섹션8. ORM활용 API구현 > 상품카테고리 등록 API] 에서 질문이 있습니다. ProductCategory 생성 API를 실행하면, ProductCategory의 Metadata가 없다는 오류가 뜹니다 강의자료(노션)의 코드를 그대로 copy&paste 해줘도 동일한 오류가 나옵니다. 상품카테고리 등록 API 통하여 {name} 인수는 제대로 서버에 들어옵니다. (Console.log에 제대로 나와요) 디버깅해보니 아래 코드에서 에러가 발생합니다. const result = await this.productCategoryRepository.save({ name }); => 위 코드를 주석처리하면 오류발생 없이, DB 테이블들이 정상적으로 생성됩니다. {name} 에 인수도 잘 들어오는데, 터미널에서 보면 mysql 쿼리문도 생성이 안됩니다. 제가 어떤 부분에서 수정을 해줘야할까요? 댓글 부탁드립니다~ 좋은강의에 항상 감사드립니다!
미해결
실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
MySQL이나 H2 에서 TRUNCATE TABLE 시 AUTO_INCREMENT 컬럼값도 1로 초기화되는 걸로 알고 있습니다. 그런데 강의에서는 TRUNCATE 후 AUTO_INCREMENT 컬럼인 ID 를 1부터 다시 시작하게 하는 쿼리를 추가하셔서 어떤게 맞는건지 헷갈립니다 좋은 강의 감사합니다
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
이 강의는 며칠 안으로 끝내는게 목표인가요?
해결됨
Practical Testing: 실용적인 테스트 가이드
안녕하세요, 강의를 모두 들었고 정말 알차고 재밌게 다 들었습니다. 감사드립니다! 복습을 하다보니 실무 관점에서 몇가지 궁금한 부분들이 있는데요!! 1) JpaRepository 를 구현하는 구현체로 기본적인 CRUD 등 (ex. save(), saveAll() 등) 사용한다면, 이 부분도 별도 테스트를 작성하시나요? 전 이미 제공된 기본 메소드라 테스트 안해도 될 것 같다고 생각드는데 강사님은 실무에서 이부분도 하시는지 궁금합니다. 2) update/delete를 하게되면 저는 보통 void로 리턴값 없이 HttpStatus.ok 코드 정도만 보내곤했는데요. ApiResponse<Void> 이렇게 해서 보내도 무관할지 아니면 처리된 id값 정도라도 응답데이터에 실어서 보내는게 좋은가요? 3) 클라이언트에게 response하고 싶은 데이터가 API마다 다를 수 있는데 그럴때 서로 다른 Response DTO를 각자 만들어서 반환하시는 편인가요?? 제가 질문한 부분들은 할려면 다 할 수 있지만 좀 더 실무적인 관점에서의 방법이 궁금해서 여쭤봅니다! 감사합니다!
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
안녕하세요 데이터 통신 실습 중에 질문이 생겨 남깁니다. create board 실행 시 리턴값으로 number를 지정했을 때 나오는 게시물의 수와 fetchboardscount 실행 시 리턴값이 다른 이유가 궁금합니다. createboard의 리턴값도 몇 번째 게시물로 생성된 것인지 알려주므로 둘 다 게시물의 개수를 알려주는 게 아닌가요 ?
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
코드캠프 서버가 안 열려요 실습해야 하는데
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
graphql 방식이 아닌 rest로 변경하면서 다시한번 복습중인데 rest의 경우 app.module.ts에서 TypeOrmModule.forRoot({})에서 synchronize: true, 가 되어있을 시 db오류가 나는데 제가 다른 것을 잘못 설정한 것인가요?
미해결
Practical Testing: 실용적인 테스트 가이드
안녕하세요! PresentationLayer 테스트(1) 수강하며 문득 든 궁금증이 있어서 질문을 드립니다. 강의 36:03 쯔음에서 Product 가 하나도 저장되지 않은 상태를 테스트할 때, 새로운 Product 의 최신 번호를 조회하게 되면 "001" 이 되는 과정에서 ActiveProfile 을 test 로 해주지 않아 DB에 데이터가 임의로 들어가 있던 것 때문에 테스트 통과가 되지 않았는데요. 그러면 그 전에 진행했던 createProduct 테스트의 given에서 Product 를 하나 저장한다면 여기서도 ActiveProfile 이 test 이지 않았던 상태였기 때문에 저장한 데이터가 4번째 데이터가 되어야 하고 그랬다면 테스트 통과가 안 되어야 하는게 맞지 않았나..? 하는 갑작스러운 의문이 들었습니다. 제가 놓치고 있는게 무엇일까요?
해결됨
Practical Testing: 실용적인 테스트 가이드
안녕하세요 강사님, 우선 꿀팁 가득차있는 강의 너무너무 잘 들었습니다. Spring REST Docs 관련해서 질문이 있습니다. 강의에서는 이미 레이어별로 테스트 코드를 작성하였는데요. Spring REST Docs 적용하면서 별도의 ProductControllerDocsTest 클래스를 만들어 createProduct()의 동일한 테스트 코드가 문서를 위해 또 들어가는 것 같아 관리해야할 테스트 코드가 두배가 되는게 아닌가 궁금해서 질문드립니다! 실무에서는 이렇게 테스트 전용 테스트코드와 문서용 테스트 코드를 별도 분리하는지, 아니면 둘을 함께 포함하여 하나로 작성하는 방식인가요? ~ 감사합니다.
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
서버작동을 위한 node app.js를 실행할때에 dotenv를 require, import를 하면서 문의점이 발생했습니다. //server.js import { creatApp } from "./app.js"; import database from "./models/database.js"; const startServer = async () => { try { await database; const app = creatApp(); const PORT = process.env.PORT; app.listen(PORT, () => { console.log(`server is listening on ${PORT}👌`); }); } catch (err) { console.log(`Failed server connect❌`); database.destroy(); } }; startServer(); //database.js import { createConnection } from "typeorm"; import dotenv from "dotenv"; dotenv.config(); const database = createConnection({ type: process.env.DB_CONNECTION, host: process.env.DB_HOST, username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, port: process.env.DB_PORT, database: process.env.DB_DATABASE, }); export default database; 이렇게 진행하면 정상적으로 서버가 정상적으로 작동하지만 database.js에서의 dotenv import 부분을 require방식으로 server.js에 옮겨놓으면 에러가 발생합니다. 근본적으로 commonJS(require)방식과 module(import)방식에 대해서 dotenv를 불러올때에 require를 쓰면 server.js에 적용할때는 정상적으로 작동하는데 import를 똑같은상황에서 적용하려면 왜 database.js로 넘어가야하는지 그게 궁금해졌습니다! require와 import를 해올 때 전반적으로는 rquire는 동기적이고 import비동기적인 성질(?)때문이라고 하기에 영향이 있는건지.. 근본적인 이해가 되지 않아서요..ㅠㅜ 도움 부탁드리겠습니다 ㅠㅜ!!!!
해결됨
Practical Testing: 실용적인 테스트 가이드
안녕하세요~ 양방향 매핑을 사용하면 엔티티 간의 결합도를 높이기 때문에 가급적 단방향으로 만들면 좋다는 의견도 많은 것 같더라구요. 심지어는 양방향 매핑을 만들어야 한다면 엔티티가 아니라 id 값을 넣어서 참조를 하는게 더 좋다는 의견도 있구요. 강의에서는 양방향 매핑을 사용하셨는데 실무에서도 자주 양방향 매핑으로 설계하시나요? 사용하신다면 이러한 단점이 있지만 편의성이 더 크기 때문인가요?
해결됨
Practical Testing: 실용적인 테스트 가이드
강의하시는 PPT 파일 다운로드 받을 수 있을까요..?
해결됨
Practical Testing: 실용적인 테스트 가이드
CafeKiosk add()는 count 0이 경계값이라 0과 1로 테스트를 만들어야 할거 같은데 addSeveralBeverages() test에서는 count 2로 2개다 아메리카노로 add되었는지 확인하셔서 문의드립니다 실무라고 가정하면 count 0, 1, 2이상 값 3가지 경우로 test 작성해야하는 건가요??
미해결
Practical Testing: 실용적인 테스트 가이드
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요 선생님. 강의 정말 재밌게 잘 듣고 있습니다. 이번 강의에서는 실제 비즈니스 로직으로 사용 될 createOrder() 로직을 작성하고 오로지 test 를 위한 createOrder(LocalDateTime currentDateTime) 메소드를 추가로 작성하였는데 이처럼 오로지 테스트를 위한 메소드를 작성해도 괜찮은 것인지 궁금 해서 질문을 남겨봅니다 ! 다른 개발자라면 처음 봤을 때, 같은 이름의 메소드가 두개라서 만약 해당 메소드를 호출하는 경우 직접 코드를 확인해봐야 하는 불편함이 있을 것 같은데 이런 경우 어떻게 해결하나요??
해결됨
Practical Testing: 실용적인 테스트 가이드
유익한 강의 만들어주셔서 감사합니다. 무분별하게 FakeRepository를 만들면서 실제 프로덕션 코드에서 작동하는것과 똑같이 내가 FakeRepository를 만들었을 거란 확신이 없이 테스트를 작성하던 와중에 이 강의를 보고 좀 깨우친 바가 많았습니다. 해당 강의를 듣다가 이 케이스에서는 어떻게 검증하기 쉽도록 개선해볼 수 있을까 해서 질문드립니다. 인증 코드라는 도메인 객체가 있습니다. 인증코드는 만료시간이라는 속성을 가지고 있고, isExpired()라는 메서드를 통해 해당 인증코드가 만료되었는지 확인할 수 있습니다. public boolean isExpired() { return LocalDateTime.now().isAfter(expirationTime); } 강의를 듣기 전에는 이런 식으로 작성했습니다. 그런데 이런 식으로 작성하니 테스트 코드를 짜려고 하면 Fixture 설정 시 LocalDateTime.now ()를 사용해서 만료일자를 설정해야 한다는 생각이 듭니다. 이런 경우에도 만료되었는지 검증할 수 있는 시간을 파라미터로 받도록 리팩토링해주는 것이 맞을지 궁금합니다!
해결됨
Practical Testing: 실용적인 테스트 가이드
안녕하세요 강의에서는 패키지 구조를 api 아래에 api - service - product api - controller - product 이렇게 구현하셨는데 이렇게 구현하면 도메인이 많아지면 가독성이 떨어질 것 같아서 각 도메인마다 service, controller를 가지게 하는 구조는 어떻게 생각하시나요? api - product - service, controller 가독성보다 더 중요한 장점이 있을까요? 실무에서는 어떻게 하시는지 궁금합니다. 감사합니다~!
미해결
실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
POJO로 개발 후 스프링으로 전환, 이후 JPA 전환하는 이유가 있나요?? 처음부터 JPA로 만들면 안되는지 궁금합니다
해결됨
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
안녕하세요 몽고디비를 다시 복습하고자 공부하던중 저번에 brew update를 통해 해결 된줄 알았지만 또 다시 같은 오류가 발생하였습니다... 이 에러는 어떠한 에러인지 찾아보고 gpt에다가 물어봐도 안나오는데.. 혹시 무엇 때문에 몽고가 brew services start mongodb-community 를하게 되면 이 오류가 발생하게 됩니다.. 도와 주세요..ㅠㅠ