본문 바로가기

반응형

Web

(5)
[npm] npm run ... - permission denied 터미널에서 node를 설치하고, 다른 PC에서 받아 온 프로젝트를 open한 후, 테스트를 위해 npm run serve 명령어를 입력했더니 permission denied 라면서 실행이 되지 않았다ㅠㅠ 지웠다 다시 설치해보고 sudo 써보고 난리를 쳤지만 계속 permission denied가 떴고 결국 해결한 방법은 의외로 간단했음! 1. 프로젝트의 node_modules 폴더와 package_lock.json 파일을 지워버리고 2. npm i 명령어를 수행한 뒤 3. 다시 npm run serve 를 수행하면 멀쩡히 잘 실행된다!
[Spring Boot] @SpringBootTest와 @WebMvcTest SpringBoot에서 JUnit5을 사용하여 테스트 코드를 작성할 때 @SpringBootTest 어노테이션을 자주 쓰게 되는데, 상황에 따라서는 @WebMvcTest를 쓰는게 좋을 때도 있다. + 테스트를 쉽게 하기 위해서 요청을 수행하고 응답을 만들어내는 mock 객체를 사용한다. 이럴 때 사용되는 객체가 여러가지 존재하지만 대표적으로 MockMvc를 많이 사용한다. @SpringBootTest + @AutoConfigureMockMvc @SpringBootTest는 프로젝트의 전체 컨텍스트를 로드하여 빈을 주입하기 때문에 속도가 느리고, 통합 테스트를 할 때 많이 사용한다. 수많은 스프링 빈을 등록하여 테스트에 필요한 의존성을 추가하기 때문에, 필요한 빈만을 등록하여 테스트를 진행하고자 한다면 슬..
[Spring MVC] Controller에서 여러 Service 호출? - Service는 단순하게 하나의 트랜잭션을 갖는다고 생각하면 된다. 트랜잭션이란 한 번에 수행되어야 할 일련의 연산들을 말하며, 실행 중에 오류가 나면 원래의 상태로 rollback해야 한다. 따라서 Service A와 Service B는 실행 중에 오류가 나도 서로에게 영향을 주지 않으므로, 한 Controller에서 여러 Service를 호출하는 것은 딱히 문제가 되지 않는다.
[Web] MVC 패턴을 알아보자 MVC 패턴 MVC 패턴은 디자인 패턴 중 하나. Model, View, Controller의 약자로, 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성 요소를 3가지 역할로 구분한 패이다. 비즈니스 로직과 UI 로직을 분리하여 유지보수를 더 쉽게 수행할 수 있다. 1. Model 데이터를 나타낸다. 일반적으로 데이터베이스의 테이블에 대응된다. Service, DAO 등의 '비즈니스 로직'이 이 Model 계층에 가깝게 만들어져야 효율적인 구성이 된다. 2.View 사용자 인터페이스 요소를 나타낸다. 사용자에게 보여지는 결과 화면을 출력하는 역할을 한다. 3. Controller 모델과 뷰를 연결하는 다리 역할을 한다. 뷰에서 사용자의 데이터 선택이나 입력, 수정 등의 이벤트가 발생하면, 컨트롤러가 해..
React는 프레임워크?라이브러리? 난 지금까지 React가 Javascript 기반의 Frontend 프레임워크인 줄 알았다.. 하지만 최근 React 공부를 시작하면서 프레임워크가 아닌 라이브러리라는 것을 알았다! 먼저 Framework와 Library의 차이점을 정리하자면, Framework 뼈대나 기반구조. Application 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 어느정도 뼈대, 구조를 제공해주는 것이다. 프로그래머는 제공된 프레임워크의 구조에서 어플리케이션을 개발한다. Library 특정 기능에 대한 API(도구, 함수)를 모은 집합. 프로그래머는 해당 기능을 사용하기위해 불러와서 호출한다. 이렇게 정리할 수 있는데, 여기서 중요하게 생각할 수 있는 것은 '제어의 역전'이다. 제어의 역전..

반응형