묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
tailwind css가 적용이 안돼요
강의 보고 따라했는데 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.jsimport 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> ) }
-
미해결실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
TRUNCATE TABLE 시 AUTO_INCREMENT 컬럼 1로 초기화
MySQL이나 H2 에서 TRUNCATE TABLE 시 AUTO_INCREMENT 컬럼값도 1로 초기화되는 걸로 알고 있습니다. 그런데 강의에서는 TRUNCATE 후 AUTO_INCREMENT 컬럼인 ID 를 1부터 다시 시작하게 하는 쿼리를 추가하셔서 어떤게 맞는건지 헷갈립니다좋은 강의 감사합니다
-
미해결Java/Spring 주니어 개발자를 위한 오답노트
OOP 란 무엇인가요?
최근 OOP 란 무엇인가요?질문을 받았는대, 어버버한 경험이 있는대, 범위가 너무 광범위하여 답하기가 어렵습니다.
-
해결됨Practical Testing: 실용적인 테스트 가이드
강의를 다 듣고 몇가지 궁금점이 있어요
안녕하세요, 강의를 모두 들었고 정말 알차고 재밌게 다 들었습니다. 감사드립니다!복습을 하다보니 실무 관점에서 몇가지 궁금한 부분들이 있는데요!!1) JpaRepository 를 구현하는 구현체로 기본적인 CRUD 등 (ex. save(), saveAll() 등) 사용한다면, 이 부분도 별도 테스트를 작성하시나요? 전 이미 제공된 기본 메소드라 테스트 안해도 될 것 같다고 생각드는데 강사님은 실무에서 이부분도 하시는지 궁금합니다.2) update/delete를 하게되면 저는 보통 void로 리턴값 없이 HttpStatus.ok 코드 정도만 보내곤했는데요. ApiResponse<Void> 이렇게 해서 보내도 무관할지 아니면 처리된 id값 정도라도 응답데이터에 실어서 보내는게 좋은가요?3) 클라이언트에게 response하고 싶은 데이터가 API마다 다를 수 있는데 그럴때 서로 다른 Response DTO를 각자 만들어서 반환하시는 편인가요?? 제가 질문한 부분들은 할려면 다 할 수 있지만 좀 더 실무적인 관점에서의 방법이 궁금해서 여쭤봅니다! 감사합니다!
-
미해결Practical Testing: 실용적인 테스트 가이드
Presentation Layer 테스트 (1) 관련 질문이 있습니다!
안녕하세요! PresentationLayer 테스트(1) 수강하며 문득 든 궁금증이 있어서 질문을 드립니다.강의 36:03 쯔음에서 Product가 하나도 저장되지 않은 상태를 테스트할 때, 새로운 Product의 최신 번호를 조회하게 되면 "001"이 되는 과정에서 ActiveProfile을 test로 해주지 않아 DB에 데이터가 임의로 들어가 있던 것 때문에 테스트 통과가 되지 않았는데요.그러면 그 전에 진행했던 createProduct 테스트의 given에서 Product를 하나 저장한다면 여기서도 ActiveProfile이 test이지 않았던 상태였기 때문에 저장한 데이터가 4번째 데이터가 되어야 하고 그랬다면 테스트 통과가 안 되어야 하는게 맞지 않았나..? 하는 갑작스러운 의문이 들었습니다.제가 놓치고 있는게 무엇일까요?
-
해결됨Practical Testing: 실용적인 테스트 가이드
Spring REST Docs 관련 질문
안녕하세요 강사님, 우선 꿀팁 가득차있는 강의 너무너무 잘 들었습니다.Spring REST Docs 관련해서 질문이 있습니다. 강의에서는 이미 레이어별로 테스트 코드를 작성하였는데요. Spring REST Docs 적용하면서 별도의 ProductControllerDocsTest 클래스를 만들어 createProduct()의 동일한 테스트 코드가 문서를 위해 또 들어가는 것 같아 관리해야할 테스트 코드가 두배가 되는게 아닌가 궁금해서 질문드립니다! 실무에서는 이렇게 테스트 전용 테스트코드와 문서용 테스트 코드를 별도 분리하는지, 아니면 둘을 함께 포함하여 하나로 작성하는 방식인가요? ~ 감사합니다.
-
해결됨Practical Testing: 실용적인 테스트 가이드
양방향 매핑
안녕하세요~ 양방향 매핑을 사용하면 엔티티 간의 결합도를 높이기 때문에 가급적 단방향으로 만들면 좋다는 의견도 많은 것 같더라구요.심지어는 양방향 매핑을 만들어야 한다면 엔티티가 아니라 id 값을 넣어서 참조를 하는게 더 좋다는 의견도 있구요. 강의에서는 양방향 매핑을 사용하셨는데 실무에서도 자주 양방향 매핑으로 설계하시나요?사용하신다면 이러한 단점이 있지만 편의성이 더 크기 때문인가요?
-
해결됨Practical Testing: 실용적인 테스트 가이드
강의자료
강의하시는 PPT 파일 다운로드 받을 수 있을까요..?
-
해결됨Practical Testing: 실용적인 테스트 가이드
addSeveralBeverages() 경계값 테스트
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 - productapi - controller - product 이렇게 구현하셨는데이렇게 구현하면 도메인이 많아지면 가독성이 떨어질 것 같아서 각 도메인마다 service, controller를 가지게 하는 구조는 어떻게 생각하시나요? api - product - service, controller가독성보다 더 중요한 장점이 있을까요?실무에서는 어떻게 하시는지 궁금합니다. 감사합니다~!
-
해결됨Practical Testing: 실용적인 테스트 가이드
서비스 계층 통합테스트
안녕하세요강의 잘 보고 있습니다! 수업에서 서비스 계층을 테스트하실 때,@SpringBootTest를 이용해서 Repository 계층의 빈을 등록하고 주입받아서 사용하고 있습니다. 서비스 계층을 mock을 이용해 단위테스트로 하시지 않고 Repository 계층을 통합해서 사용하는게 많이 사용하는 방식인가요?실제 현업에서는 Service 계층을 어떻게 테스트 하는 지 궁금합니다. (단위테스트or 통합테스트)
-
해결됨Practical Testing: 실용적인 테스트 가이드
단위테스트의 개념에 대해서 질문 드립니다!
안녕하세요! 테스트 강의가 드문데 정말 친절하게 잘 알려주셔서 감사하게 듣고 있습니다 :)아직 강의를 다 들은 것은 아니지만 강의 내용 중 궁금한 것이 있어 질문 드립니다.제가 테스트를 제대로 공부해본 적이 없어 혼자서 독학을 하며 공부했던 단위테스트는 주로 Mock과 항상 연관지어 설명이 되어 있었습니다. 통합테스트(@SpringBootTest)는 스프링 컨테이너를 띄우고 bean으로 등록된 모든 빈을 가지고 테스트를 하는 것인데 반해, 단위테스트는 해당 계층(Layer)을 테스트할 때 꼭 필요한 bean만 가지고 와서 최소 단위(메서드나 클래스)로 테스트를 진행한다고 저는 알고 있었습니다.그래서 예를 들어 Service 계층 테스트를 진행할 때면 Repository에 관련된 bean들은 Mockito 등을 사용해서 Mock을 만들고 InjectMocks를 해준다는 식으로 저는 공부를 하고 테스트 코드를 작성한 경험이 있습니다.그런데 오늘 강의에서 강사님이 설명해주시는 내용을 듣다보니 @SpringBootTest 와 같은 어노테이션과 상관없이 단위테스트를 진행하시는 것 같다는 인상을 받았습니다. Order에 대한 테스트를 진행하실 때도 단위테스트라는 언급을 하셨고, OrderSerivice에 대한 테스트를 진행하실 때도 @SpringBootTest를 사용하고 있지만 단위테스트를 하신다고 표현을 하시더라구요.혹시 통합테스트와 단위테스트를 구분하는 강사님만의 방법이 있는 것인지 궁금합니다! 장문 글 읽어주셔서 감사합니다!
-
해결됨Practical Testing: 실용적인 테스트 가이드
글자를 크게 보는 방법이 없을까요?
강사님께서 올려주신 영상의 코드 폰트가 너무 작습니다..30분 정도 봤는데, 눈이 너무 아픕니다..ㅠㅜ다른 강의 보면서 작다고 느낀적은 한번도 없는데혹시, 녹화한 강의를 크게 보는 방법이 없을까요?