전체 글 168

SI / SM 차이

#SI(System Integration) 시스템 구축 SI는 요약하자면 ‘시스템을 구축하는 업무’라고 정리할 수 있습니다. 과거에는 전산시스템을 구축할 때 기업에서 자체적으로 시스템을 구축했습니다. 하지만 전산시스템이 복잡해지고 전문성이 필요해짐에 따라 시스템의 개발, 기획, 유지보수, 운영 등을 대신해주는 하청과 파견업체가 생겨납니다. 이런 업무를 하는 회사를 SI기업이라고 합니다. SI형태의 기업으로는 ‘삼성SDS’, ‘LG CNS’, ‘SK C&C’, ‘롯데정보통신’ 등이 대표적입니다. #SM(System Management) 시스템 운영 및 유지보수 SM은 ‘시스템을 운영하는 업무’라고 짧게 요약할 수 있습니다. 시스템을 관리하는 관리자로 운영에 초점이 맞춰져 있는 업무를 말합니다. 시스템의 운..

카테고리 없음 2022.05.10

[Spring] View 설정 / h2 Database 설정

Template Engines thymeleaf, Apache FreeMarker, Groovy Templates 있는데 여기서 Thymeleaf를 주로 쓴다. Natural templates을 사용하고, 이는 장점이 많다. --> 요새는 React 나 Vue를 많이 쓰긴 한다. -- 여기에 없으면 웹이 열리지 않았다. -- 하지만 3.0 되면서 개선됨 스프링 공식 튜토리얼 https://spring.io/guides/gs/serving-web-content Serving Web Content with Spring MVC this guide is designed to get you productive as quickly as possible and using the latest Spring project..

[Mac] Git 설치 및 연동

이제는 Git을 설치해야 한다. 1. brew 설치하기 /bin/bash -c "$(curl -fsSL https://gist.githubusercontent.com/nrubin29/bea5aa83e8dfa91370fe83b62dad6dfa/raw/48f48f7fef21abb308e129a80b3214c2538fc611/homebrew_m1.sh)" eval $(/opt/homebrew/bin/brew shellenv) // brew 버전 확인 brew --version 2. git 설치하기 brew install git 설치가 완료됐으면 IntelliJ에서 연동을 해보자 Preferences -> GitHub에 가서 본인의 아이디를 등록한다. 상단에 VCS -> Enable Version Control..

[Mac] M1 자바 버전 11로 변경

역시 순탄치 않다.! 시작부터 빨간색을 보게 되었다.. 현재 1.8 버전을 사용하고 있는데 11 버전으로 스프링을 시작해서 현재 11버전이 아니라는 뜻이다. 따라서 현재 사용하고 있는 자바 버전을 11로 변경해주는 작업을 하였다. JDK 11 버전을 다운 받는다. 다운을 마치면 터미널에서 다음과 같이 변경해주면 된다. 주로 M1은 Azul에서 제공하는 JDK를 많이 사용한다고 하는데, 일단 Oracle에서 제공하는 자바로 설정하였다. // 현재 있는 자바 버전 확인 @-ui-MacBookPro ~ % /usr/libexec/java_home -V Matching Java Virtual Machines (4): 11.0.15.1 (x86_64) "Oracle Corporation" - "Java SE 11..

[Spring] @CacheEvict

@Caching(evict = { @CacheEvict(value="", key="", beforeInvocation = true) }) 다음과 같은 어노테이션이 메소드에 선언되어 있었을 때, 에러 없이 실행은 되었지만 아무런 결과가 나오지 않았다. 결론은 실행되지 않았던 것이다. 이는 beforeInvocation = true 때문이었다. beforeInvocation 속성으로 메서드 실행 이후(기본값)나 이전에 제거를 해야 하는 지를 지정할 수도 있다. 메서드 실행 이후에 실행되는 경우는 다른 어노테이션과 같은 의미를 가져서 메서드가 성공적으로 완료되면 캐시에서 동작(여기서는 제거)이 실행된다. 메서드가 실행되지 않거나(캐시 되어서) 예외가 던져지면 제거가 실행되지 않는다. 메서드 실행 이전에 실행되..

[JUnit5] No ParameterResolver registered for parameter 에러

JUnit으로 테스트를 하던 도중에 다음과 같은 에러가 났다. 새로운 컴포넌트를 만들어서 의존성 주입을 하고 있었고, 불가능하다는 뜻이었다. @RequiredArgsConstructor 로 의존성 주입을 할 때는 불가능했고, @Autowired로 의존성 주입을 할 때는 가능했다. 찾아본 결과 , JUnit은 Spring과 다르기 때문에 생성자 매개변수 관리는 스프링 컨테이너가 JUnit이 하는 것이고, 따라서 생성자에 적당한 매개변수를 DI해야하는 데 그때 파라미터를 찾아줄 적당한 ParameterResolver를 못찾게 된다고 한다. 오류 코드 @Slf4j @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @Requi..

[JAVA] UnsupportedOperationException 에러

JUnit5 테스트를 하던 도중, 파라미터 값들을 리스트로 만들어야 하는 경우가 있었다. 이 때, 리스트를 객체로 생성하지 않고서는 add를 사용 할 수가 없었다. 이는 Arrays.asList()는 java.util.ArrayList 가 아니라 Arrays 안에 있는 inner class를 사용하고 있는 것이며, 이 안에는 add나 addAll이 없다고 한다. 따라서 ArrayList로 선언하고 add나 addAll을 사용하면 된다. 기본에 사용한 코드 List path_parameters = Arrays.asList(parameterWithName("A").description("a")); List request_parameter = Arrays.asList( parameterWithName("B")..

반응형