inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

styled-components 설치 에러

미해결

따라하며 배우는 리액트 A-Z[19버전 반영]

styled-components version 6 이후로 강의에 나오는 npm install styled-components --save 명령어로 설치하면 에러가 발생해요 npm install styled-components@5.3.10 으로 5버전대로 설치했습니다 //Use V5, npm install styled-components@5.3.10 //Use yarn yarn install styled-components //To use the beta version npm install styled-components@latest

  • react
  • redux
  • tdd
  • typescript
  • next.js
  • 소프트웨어-테스트
info 댓글 1 좋아요 1 조회수 1069

섹션 7에서 완벽하게 제어하기 파트에서 질문이 있습니다!

미해결

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. LocalDateTime. now(), 즉 현재 시간과 관련된 기능의 사용을 지양하자라고 말씀해주셨습니다! 이 뜻이 현재시간과 관련된 요구사항이 넘어왔을 때 해당 요구사항을 현재시간과 관련 없이 다른 방법으로 풀어보자 라는 의미일까요? 아니면 다른 기술적인 방법을 말씀하시는 걸까요~? 기술적인 방법이 있는 것이라면 어떤 방법이 있을지 궁금합니다!

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
khmin3011 댓글 2 좋아요 1 조회수 438

OG 실습 중에 궁금한게 생겨 질문드립니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

불과 얼마전에 네이버가 사이트를 바꿨는데요 오늘 OG 실습을 하던 중, 네이버 head / meta에 OG tag가 사라진 것을 확인했습니다. OG tag가 없이도 미리보기가 잘 구현되는데, 어떻게 가능한지가 궁금해 질문드립니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
김민규 댓글 1 좋아요 0 조회수 541

04-06 Mongoose 활용 강좌 21분 경에 포트포워딩 주석을 해제하고 진행했는데

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

저는 주석 안풀고 그냥 네임 리졸루션으로 했는데 그렇게 진행해도 되나요? 그런데 이렇게 하면 compass 프로그램 주소를 mongodb://my-database:27017/mydocker 이렇게 가야하는 건가요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
박상준 댓글 1 좋아요 0 조회수 366

docker-compse volumes 관련 질문드립니다!

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

docker-compose.yaml에 volumes 추가한 후 실행해봤지만 index를 바꿔도 refresh되지 않습니다. 그래서 반대로 container의 값을 수정하면 local의 index.js가 바뀔까 했지만 위의 사진처럼 오류가 발생합니다. Mount되었다는 것으로 보아 연결은 된 것 같고, 제공된 파일과 강의 비교하면서 오탈자 찾아봤지만 모두 같습니다. 이를 해결하기 위해 어떻게 접근해야할지 궁금합니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
김민규 댓글 1 좋아요 0 조회수 512

복습중 오류

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

복습을 통해 다시 공부을 하던중 오류가 발생하였습니다. 해당 오류가 기존 수업과 충돌되어서 발생한 오류 인지 궁금합니다. 해달 오류 해결 방법이 있을까요?? 해당 오류는 [Nest] 76304 - 2023. 05. 17. 오후 5:45:23 ERROR [ExceptionHandler] Table 'board' already exists QueryFailedError: Table 'board' already exists 나왔습니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
뽕리뽕뽕 댓글 1 좋아요 0 조회수 335

Docker hub를 보던 중 궁금한게 생겨 질문드립니다!

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

수업에서 사용한 node docker image의 경우 linux, node, npm, yarn이 설치된 이미지라는 것을 어떻게 확인할 수 있는지 궁금합니다. 즉 docker hub에 있는 이미지를 보고 그 이미지가 어떤 컴퓨터인지 어떻게 확인할 수 있는지가 궁금합니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
김민규 댓글 1 좋아요 0 조회수 277

구글로그인 review영상

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

client id와 client secret 받는 과정에 대해 노션을 참고하라는 영상내용이 있는데 혹시 어디서 참고하면 될까요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
yskim 댓글 1 좋아요 0 조회수 335

Cookie의 경우 RestDocs로 어떻게 해야할까요?

미해결

Practical Testing: 실용적인 테스트 가이드

강의 너무 잘듣고 사이드 프로젝트에 적용하고 있는데 cookie의 경우 restdocs로 어떻게 추출해야되는지 모르겠습니다.. 공식 문서에서는 requestCookies() 가 나와있는데 현재 저의 프로젝트에서는 적용이 안되네요. 저는 SpringBoot 2.6.12 버전이며 java 17, management의 경우 1.0.14 버전입니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
댓글 2 좋아요 1 조회수 1089

마이크로 서비스 운영시 DB는 하나 써도 되는 건가요?

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

마이크로 서비스로 다수의 서버들을 운영하려고 한다면 typeorm을 통해 entity 에서 1대1 관계 등에서 정의내린 것들은 어떻게 유지 해야 할까요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
yskim 댓글 1 좋아요 0 조회수 336

section 22. CORS 파트에서 궁금증이 생겨 질문드립니다!

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

origin이 같다는게 어떤 의미일까요? domain이 같다는 것인가요? 같은 localhost인데 CORS가 발생한 이유가 궁금합니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
김민규 댓글 1 좋아요 0 조회수 443

[섹션 22]Quiz 5 axios 질문

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. 프론트엔드와 api 를 연동하는 과정에서 axios를 import 하는 방법에 질문 있습니다. menu.js의 getCoffee 함수에서 axios를 이용해 /starbucks api를 호출하려는데, menu.js 파일에서 import axios from 'axios'를 하면 에러가 발생합니다. 반면에 menu/index.html 에서 <script src=" 를">https://unpkg.com/axios/dist/axios.min.js"></script>를 하면 잘 작동합니다. 이렇게 index.html에서 axios를 다운받는게 맞는건가요? 그렇다면, 실제로 axios를 사용하는 코드는 menu.js에 있는데, 왜 index.html에서 가져와야 하는 건가요? 감사합니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
wldnjs 댓글 1 좋아요 0 조회수 308

Presentation Layer 테스트 (2) 질문있습니다.

해결됨

Practical Testing: 실용적인 테스트 가이드

Presentation Layer 테스트 (2) 58:57에 모듈을 분리해도 사실은 서비스 계층에서 BeanValidation을 책임상 하지 않는데 의존하고 있기때문에 의존성을 계속 추가해야 한다. 이렇게 말씀해주셨는데 컨트롤러에서 전부 검증을 책임지지 않고 특수 형태 Validation은 서비스 레이어나 도매인 객체 생성할때 검증한다고 하셨는데 검증 로직을 스프링 AOP,스프링 Assert 로 구현을하면 서비스 계층이 스프링 프레임워크를 많이 의존하게 되는거 같아서요 강사님은 어떤식으로 검증로직을 선호하시고, 선호하시는 이유도 궁금합니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
티벳로보 댓글 1 좋아요 6 조회수 793

도커 mysql 연결 안되는 문제

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

[section27] 08-06 도커 패키징 강의 관련 내용입니다. 강의대로 똑같이 세팅하고 진행해보니, 빌드까지는 잘되지만 실행할 때 데이터베이스와 연결이 안되는 문제가 생깁니다. Unable to connect to the database, Retrying... 에러가 뜨는데, 강의에서 말씀하셨듯이 데이터베이스 서버가 늦게 켜지는 문제라고 생각하고 계속 시도해도 똑같이 연결이 안됩니다. 세부 에러메시지가 다른 걸 보니 다른 문제같은데, 구글링해서 mysql 세팅도 바꿔보고 코드도 바꿔보고 이것저것 다 해봤는데 안돼서 이렇게 질문 남깁니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
김건 댓글 1 좋아요 0 조회수 840

강의 자료 링크

미해결

모든 개발자의 실무를 위한 올인원 기본기 클래스

강의 자료 링크가 동작이 안되는데 확인 부탁 드립니다!

  • python
  • git
  • docker
  • tdd
  • 객체지향
  • 아키텍처
  • ci/cd
  • 동시성
  • 소프트웨어-테스트
최일규 댓글 1 좋아요 0 조회수 656

서비스 계층의 테스트 범위에 대해서

미해결

Practical Testing: 실용적인 테스트 가이드

//CommunityCommandService.java public void updateCommunity(Long communityId, String description, List<String> newTags) { Community community = communityRepository.findCommunityById(communityId); community.updateCommunity(description, newTags); } 만약, 이런 코드가 있다고 하면 Service는 데이터를 받고 Community 클래스에게 실제 데이터 변경을 위임합니다. //Community.java public void updateCommunity(String description, List<String> tags) { this.description = new Description(description); this.hashtags.updateTags(tags, this); } Service 클래스를 테스트할 때 상태검증으로 테스트한다면, //CommunityCommandService.java @Test void 상태검증_테스트() { community = new Community("dummy Intro", List.of("dummy tag")); given(communityRepository.findById(any)).willReturn(community); communityCommandService.updateCommunity("new intro", List.of("new tag")); assertThat(community.getIntroduce).isEqualTo("new intro"); assertThat(community.getTags).containsExactly("new tag"); } 이렇게 테스트하게 됩니다. 사실 데이터의 변경 자체는 CommunityTest에서 테스트 하였습니다. //CommunityTest.java @Test void updateCommunity() { final Community community = TestCommunity.builder().build(); community.updateCommunity("커뮤니티 소개란 입니다.", List.of("태그1", "태그2")); assertThat(community.getHashtags()).extracting("tag").containsExactly("태그1", "태그2"); assertThat(community.getDescription()).isEqualTo("커뮤니티 소개란 입니다."); } 이렇게 되면 CommunityCommandService에서 내부 Community.updateCommunity를 중복적으로 검증하는게 아닌지 생각이 듭니다. 객체지향 관점에서, Service는 Community에게 위임하여 상태를 변경시킵니다. 실제 내부에 어떠한 변화가 발생했는지에 집중하는게 아니라, 객체에게 위임했는지 여부에 좀 더 초점을 맞춰야하는 걸까요? (verify를 통해서) 질문 저는 사실 상태검증을 더 좋아합니다. 상태검증을 사용한다면 위와 같은 중복검증이 발생하게 되는걸까요? 객체지향의 관점에서 보면 사실 verify를 통해서 호출여부를 판단하는게 더 좋아보입니다. 다만, 상태검증을 위해서라면 위와 같이 중복적으로 검증하는 것을 피할 수 없는건가요? 강사님의 경우, 상태검증을 할 때 위와같이 Community 로직을 다른 곳에서 테스트하였다고 해도, Service에서 다시 테스트하나요?

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
ㅎㅇㅎㅇㅎㅇ 댓글 1 좋아요 5 조회수 534

Persistence 계층 단위테스트를 어디까지 하는게 맞을까요?

해결됨

Practical Testing: 실용적인 테스트 가이드

@DisplayName("상품 번호 리스트로 상품목록을 조회하기") @Test void findAllByProductNumberIn(){ //given Product product1 = createProduct("001", 1000); Product product2 = createProduct("002", 3000); Product product3 = createProduct("003", 5000); productRepository.saveAll(List.of(product1, product2, product3)); //when List<Product> findProducts = productRepository.findAllByProductNumberIn(List.of("001", "003")); //then assertThat(findProducts).hasSize(2) .extracting("productNumber","price") .containsExactlyInAnyOrder( tuple("001",1000), tuple("003",5000) ); } 1. 데이터 계층은 유효한 상품 번호 리스트만 넘어왔다는 전제로만 테스트를 해도 충분한가요? 유효하지 않은 상품번호는 검증 로직에서 걸러졌다고 생각하고 테스트를 한다고 생각하면 될까요? @DisplayName("미등록된 상품 번호 리스트로 상품목록을 조회하기") @Test void findAllByProductNumberIn(){ //given Product product1 = createProduct("001", 1000); Product product2 = createProduct("002", 3000); Product product3 = createProduct("003", 5000); productRepository.saveAll(List.of(product1, product2, product3)); //when List<Product> findProducts = productRepository.findAllByProductNumberIn(List.of("004", "005")); //then assertThat(findProducts).hasSize(0); } 2. JpaRepository가 제공하는 기본 save,findAll 등도 개발자가 원하는 데이터가 올바르게 저장 되었는지, 조회가 되었는지 테스트도 실무에서는 작성하시나요 ? 아니면 이미 만들어진 코드이기 때문에 불필요한 테스트 코드라 생각해서 넘어가는지 궁금합니다. @DisplayName("주문 생성시 상품 리스트에서 주문의 총 금액을 계산한다.") @Test void calculrateTotalPrice(){ //given List<Product> products = List.of( createProduct("001", 1000), createProduct("002", 2000) ); //when Order order = Order.create(products, LocalDateTime.now()); //then assertThat(order.getTotalPrice()).isEqualTo(3000); } private Product createProduct(String productNumber, int price) { return Product.builder() .type(HANDMADE) .productNumber(productNumber) .price(price) .sellingStatus(SELLING) .name("메뉴 이름") .build(); } @DisplayName("주문 생성시 주문 상태는 INIT 이다.") @Test void init(){ //given List<Product> products = List.of( createProduct("001", 1000), createProduct("002", 2000) ); //when Order order = Order.create(products, LocalDateTime.now()); //then assertThat(order.getOrderStatus()).isEqualByComparingTo(OrderStatus.INIT); } @DisplayName("주문 생성시 등록시간을 기록한다.") @Test void registeredDataTime(){ //given LocalDateTime registeredDateTime = LocalDateTime.now(); List<Product> products = List.of( createProduct("001", 1000), createProduct("002", 2000) ); //when Order order = Order.create(products, registeredDateTime); //then assertThat(order.getRegisteredDateTime()).isEqualTo(registeredDateTime); } Order.create 테스트 코드를 작성할때엔 각각 필드 초기화를 단위테스트 를 진행했는데, @DisplayName("주문번호 리스트를 받아 주문을 생성한다.") @Test void createOrder(){ LocalDateTime registeredDateTime = LocalDateTime.now(); Product product1 = createProduct(HANDMADE, "001", 1000); Product product2 = createProduct(HANDMADE, "002", 3000); Product product3 = createProduct(HANDMADE, "003", 5000); productRepository.saveAll(List.of(product1, product2, product3)); OrderCreateRequest request = OrderCreateRequest.builder() .productNumbers(List.of("001", "002")) .build(); OrderResponse orderResponse = orderService.createOrder(request, registeredDateTime); assertThat(orderResponse.getId()).isNotNull(); assertThat(orderResponse) .extracting("registeredDateTime","totalPrice") .contains(registeredDateTime,4000); assertThat(orderResponse.getProducts()).hasSize(2) .extracting("productNumber","price") .containsExactlyInAnyOrder( tuple("001",1000), tuple("002",3000) ); } createOrder 테스트 코드는 같이 검사 를 했습니다. 3. 각 초기화를 해주는 정적 매서드를 테스트 코드로 작성을 했는데 Order.create 테스트 코드는 필드마다 분리를 해서 테스트 코드를 작성하고, createOrder 테스트 코드는 같이 검사를 했습니다. 또 강의에는 없지만 ProductResponse.of 정적 메서드로도 초기화를 했는데 따로 분리해서 테스트 코드를 작성하지 않고 OrderServiceTest의 createOrder()에서 같이 테스트 코드에 포함되었습니다. 테스트 코드를 분리하는 경우와 같이 검사하는 경우를 나누는 기준이 있을까요?

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
티벳로보 댓글 1 좋아요 1 조회수 932

@JoinColumn() 관련 오류

미해결

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

@JoinColumn() @OneToOne(() => ProductSalesLocation) productSaleslocation: ProductSalesLocation; 코드가 들어가면 import { JoinColumn, JoinTable } from 'typeorm/browser'; 위 처럼 import가 되고 아래와 같은 오류가 뜹니다. Join Column OneToOne 부분만 지우고 코드를 돌리면 잘 돌아가는데, 저것을 추가하는 순간 아래와 같은 오류가 뜹니다. 이유를 알 수 있을까요? 16-01-mysql-relation2/node_modules/typeorm/browser/index.js:3 import "reflect-metadata"; ^^^^^^ SyntaxError: Cannot use import statement outside a module at internalCompileFunction (node:internal/vm:73:18) at wrapSafe (node:internal/modules/cjs/loader:1176:20) at Module._compile (node:internal/modules/cjs/loader:1218:27) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1308:10) at Module.load (node:internal/modules/cjs/loader:1117:32) at Function.Module._load (node:internal/modules/cjs/loader:958:12) at Module.require (node:internal/modules/cjs/loader:1141:19) at require (node:internal/modules/cjs/helpers:110:18) at Object.<anonymous> (/Users/hychoi/WebstormProjects/backend-study/class/16-01-mysql-relation2/src/apis/products/entities/product.entity.ts:3:1) at Module._compile (node:internal/modules/cjs/loader:1254:14)

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
최학열 댓글 1 좋아요 0 조회수 610

tailwind css가 적용이 안돼요

미해결

따라하며 배우는 리액트 A-Z[19버전 반영]

강의 보고 따라했는데 tailwind가 적용이 안되네요 뭐가 문제일까요? Hello world!에 밑줄이 그어져야 하는데 그대로예요. 다른분이 하신 질문보고 거기 답변달린 방법들 해봤는데 계속 해결이 안되네요.. 시도한 방법 tailwind.config.js 파일의 content 확인 터미널에서 pakage.json에 dependencies 최신버전으로 업그레이드하기 App.css 확인 npm run start했던거 껐다가 다시켜기 아래는 해당하는 파일들이예요. App.css에서 [Unknown at rule @tailwindcss (unknownAtRules)] 경고가 떴었어요 이게 문제일까요? 근데 저 오류로 검색해보면 죄다 그냥 경고 무시하기 설정방법만 나오던데 다른 해결방법이 있는건가요? tailwind.config.js /** @type {import('tailwindcss').Config} */ module.exports = { content: ["./src/**/*.{html,js}"], theme: { extend: {}, }, plugins: [], } app.css @tailwind base; @tailwind components; @tailwind utilities; /*아래는 생략*/ app.js import React, {useState} from "react"; import "./App.css"; import List from "./components/List"; import Form from "./components/Form"; export default function App() { const [todoData, setTodoData] = useState([]); const [value, setValue] = useState(""); const handleSubmit = (e) => { e.preventDefault(); let newTodo = { id: Date.now(), title: value, completed: false } setTodoData(prev => [...prev, newTodo]); setValue(""); }; return ( <div className="container"> <div className="todoBlock"> <div className="title"> <h1>할 일 목록</h1> </div> <h1 className="text-3xl font-bold underline"> Hello world! </h1> <List todoData={todoData} setTodoData={setTodoData}/> <Form handleSubmit={handleSubmit} value={value} setValue={setValue} /> </div> </div> ) }

  • react
  • redux
  • tdd
  • typescript
  • next.js
  • 소프트웨어-테스트
Jin Park 댓글 1 좋아요 0 조회수 10238

인기 태그

인프런 TOP Writers

주간 인기글