반응형 개발248 PostgreSql docker 실행 시 Data directory "/var/lib/postgresql/data" has invalid permissions 조치 docker compose로 postgresql를 띄워서 테스트 해볼 일이 생겨서 간단히 실행을 해봤는데 아래와 같은 디렉토리 permission 에러가 발생했다.Data directory "/var/lib/postgresql/data" has invalid permissions docker compose 파일은 아래와 같이 작성이 된 상태였다.version: '3'services: postgres: image: postgres volumes: - ./postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: postgre POSTGRES_USER: postgre POSTGRES_PASSWORD.. 2024. 11. 17. IntelliJ Python 개발환경 구성(프로젝트 생성, 가상환경, Hello World) 예전 Python 개발을 할 때 PyCharm을 활용했었는데, IntelliJ에서도 쉽게 개발환경 구성이 가능하고 IDE를 통일시킨다는 측면에서 IntelliJ에서 Python 개발환경 구성 방법을 알아본다 프로젝트 생성먼저 Python 플러그인이 설치되어 있는지 확인해본다. IntelliJ에서 Python파일을 열어본적이 있으면 추천에 의해서 아마 설치가 되어있을 수 있는데, 설치가 되지 않았으면 설치해준다 이제 Python Hello World를 위한 프로젝트를 생성해보자. 새 프로젝트를 생성하기 위해 "New > Project..."를 선택한다. 신규 프로젝트 세팅을 위한 다이얼로그가 열리고, 좌측에서 Python을 선택한다. 그리고 우측에서 Environment 관련 설정에서 신규 환경구성을 위.. 2024. 11. 10. MyBatis Invalid bound statement (not found) 오류 조치 SpringBoot에서 MyBatis 설정 시 아래와 같은 에러가 발생하는 경우 확인 해야 할 항목 및 조치 방법에 대해서 정리해본다.org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 1. application 설정 파일 application.yml 또는 application.properties 파일에 설정된 mapper xml 파일 경로가 올바르게 되어 있는지 확인한다. 아래 예시 설정을 참조하자.mybatis.mapper-locations=classpath:/mappers/*.xml 2. Mapper인터페이스와 SQL ID아래와 같이 Mapper 인터페이스 메소드명과 SQL 파일의 ID가 동일한지 확인한다. .. 2024. 10. 18. SpringBoot Redis Cache 적용 - @Cacheable, @CacheEvict SpringBoot에서 Redis를 활용하여 Cache를 적용하는 방법을 알아본다. 보통 로컬 Cache를 적용할 때 Caffeine Cache 또는 Ehcache를 적용할 수 있는데 글로벌 Cache로 Redis도 쉽게 적용이 가능하다. 1. 의존성 설정redis 적용을 위해서 'spring-boot-starter-data-redis' 의존성을 추가해준다.implementation 'org.springframework.boot:spring-boot-starter-data-redis:3.1.0' 2. Config 설정application.yml 이나 application.properties 파일에 아래와 같이 redis 설정을 진행한다. 필자는 properties 파일 기준으로 작성을 했다. # redi.. 2024. 10. 14. Invalid value type for attribute 'factoryBeanObjectType': java.lang.String 에러 해결 SpringBoot 프로젝트에 MyBatis 적용을 위해서 Gradle에 의존성을 주입하고 실행하니 아래와 같은 에러가 발생했다.Invalid value type for attribute 'factoryBeanObjectType': java.lang.String 확인해보니 SpringBoot 버전과 MyBatis 버전의 문제였다. 필자 같은 경우 SpringBoot는 3.3.4에, MyBatis는 아래와 같이 3.0.1 버전을 찾아서 적용했었다.implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.1' 이 버전을 3.0.3 버전으로 변경해주니 해결 되었다. implementation 'org.mybatis.spring.boot:.. 2024. 10. 9. [http client] IntelliJ .http로 간단히 API 테스트 하는 방법#2 이번에는 IntelliJ에서 API를 테스트하는 방법 중 Spring Controller 소스 기반으로 http client를 생성하는 방법과 IntelliJ Endpoint를 사용하여 http client를 생성하는 방법을 알아본다. 지난번 내용은 아래를 참조하자 [http client] IntelliJ .http로 간단히 API 테스트 하는 방법IntelliJ IDEA는 다양한 기능을 통해 개발자들이 HTTP 요청을 테스트하고 디버깅할 수 있도록 도와준다. 특히 REST API 개발에서 HTTP 요청을 빠르게 테스트하는 것이 중요한데, IntelliJ에서는 HTTP Client라happy-jjang-a.tistory.com Controller 소스 기반 HTTP Client 테스트아래와 같이 Con.. 2024. 9. 29. [http client] IntelliJ .http로 간단히 API 테스트 하는 방법#1 IntelliJ IDEA는 다양한 기능을 통해 개발자들이 HTTP 요청을 테스트하고 디버깅할 수 있도록 도와준다. 특히 REST API 개발에서 HTTP 요청을 빠르게 테스트하는 것이 중요한데, IntelliJ에서는 HTTP Client라는 강력한 도구를 제공하는데, 사용하는 방법도 직관적이고 간단하다. IntelliJ에서 HTTP Client로 API 테스트 하는 방법에 대해서 알아본다. 1. HTTP Client 설정IntelliJ에는 내장된 HTTP Client가 있어, 별도의 플러그인 설치 없이도 HTTP 사용이 가능하다. HTTP Client는 .http 파일을 생성하여 사용한다. 만약에 없는 경우 IntelliJ 플러그인에서 http로 검색을 해서 설치한다. 2. 기본 요청 테스트먼저 .ht.. 2024. 9. 15. [MSA] Saga 패턴 이해와 종류(8가지) MSA 보상트랜잭션에서 많이 얘기가 나오는 Saga패턴에 대해서 알아본다. Saga 패턴- 서비스에서 각 업데이트가 이벤트를 발행해 다음 차례의 이벤트를 트리거하는 일련의 로컬 트랜잭션- 만약 일련의 작업들 중 하나라도 실패하면 이전까지의 작업이 완료된 서비스들에게 보상이벤트를 소싱함으로써 분산 환경에서 일관성을 보장하는 패턴- Saga패턴은 통신방식([Sync]동기/[Async]비동기), 일관성 처리([Atomic] 원자적 일관성/[Eventual] 최종 일관성), WorkFlow 조정 방식([Choreography]코레오그래피/[Orchestration]오케스트레이션)에 따라 8가지가 있음 1. Epic Saga(에픽 사가)동기 통신 + 원자적 일관성 + 오케스트레이션(SAO)많은 사람들에게 익숙하고.. 2024. 9. 12. 이전 1 2 3 4 ··· 31 다음 반응형