Welcome to AceT's Blog(858)
-
주저리) mvc에서 controller 분리 전략
프로젝트를 하나 만들어서 mvc를 만들려는데..고민을 해보았다. ㅋㅋ Q) 현재는 하나의 도메인을 호출할 예정이지만 다른 도메인이 들어왔을 경우에 컨트롤러를 어떻게 분리를 해야할지 고민해보자! 카테고리별 즉, 디렉토리별로 분리하여 관리를 해주는 방법 아니면 그냥 Controller 디렉토리안에서 각각 필요한 Controller를 명명으로 분리하는 방법 기능적으로 커플링이 없다면 당연히 디렉토리별로 각각 만들어서 그 안에서 관리를 해주면 좋은데.. 기능적으로 중복코드가 발생할 가능성이 크다면? 즉, 서비스쪽 로직코드가 중복이 될 가능성이 크다. 예를 들어서 쇼핑몰을 구축을 한다면 주문/발주/송장입력 등 결이 다른 기능을 가지고 있다면 손쉽게 디렉토리별로 나눠서 관리하면 좋을것이다. 심지어는 MSA아키텍처로..
2024.03.09 -
springboot Swagger 설정
swagger란? https://swagger.io/ 사용해보니 api개발을 할 때 이해관계자에게 또는 팀원들한테 개발한 api대한 것을 사용해보라고 공유를 할 수 있습니다. 혹은 post방식의 경우 브라우저에서 테스트하기가 힘든데 swagger를 사용하면 용이 합니다.(물론 postman같은 친구들을 사용하기도 합니다.) 주저리로.. 아주오래전엔 javadoc이라는걸 사용하기 위해서 메소드위에다가 주석을 적고 javadocs를 만들어서 공유하거나 엑셀에 정리를 하거나 위키에 정리해서 공유를 하곤 했습니다. 이제는 springboot에서 swagger를 설정해서 사용하면 됩니다! 그런데..!! springboot 3.x이상에서는 아래와 같이 io.springfox-swagger가 동작하지 않습니다. //..
2024.03.08 -
springboot 예외처리(Exception Handler)
안녕하세요~ 오늘은 저번 시간에 이어서 예외처리를 해보려고 합니다 ㅎㅎ 저번시간 리마인드 2024.02.29 - [OpenSource/Spring Boot] - springboot 배너변경..ㅋㅋ;; 2024.02.29 - [OpenSource/Spring Boot] - springboot logging설정 2024.03.03 - [OpenSource/Spring Boot] - springboot profiles 예외처리의 종류 checked exception과 unchecked exception 2종류로 보시면 됩니다. checked exception예상 가능한 예외라고 보시면 됩니다. unchecked exception은 런타임오류이기 때문에 컴파일단계에서 잡아낼수 없으며 실행중에 오류가 나는 경우입..
2024.03.08 -
springboot profiles
profiles? 이녀석은 언제 사용하는가? 바로 우리가 만든 어플리케이션을 환경에 따라 기동을 시킬때 필요한 내용 입니다. 환경에 따라 기동을 한다는건 로컬에서 실행을하거나 개발서버에서 실행을 한다거나 할때 즉, 개발환경 dev, staging, prod(real)을 뜻 합니다. 보통 배포를 할 때 필요합니다. 로컬에서 개발하다가 개발환경으로 올려서 테스트 하기 위해 배포할 때(혹은 prod) 로컬과 개발환경은 구분되어야 합니다. 여기서 구분되어야할 것은 db설정 같은 정보 입니다. profiles 구성 방법 첫번째 profiles는 보통 하나의 application.yaml에서 구분해서 가져오거나 두번째 application.yaml 즉, 파일 자체를 구분해서 가져올수 있는 방법 2가지 정도로 보시면..
2024.03.03 -
springboot logging설정
springboot는 기본적으로 commons-logging을 사용합니다. (https://commons.apache.org/proper/commons-logging/) 하지만 아파치 공통 로그를 사용하되 실질적으로 logging을 logback으로 하고 있다고 합니다ㅋㅋ LOGBACK을 사용을 하려면 2가지 방법이 있습니다. 첫번째는 application.yml을 통해서 관리를 하는 방법입니다. 두번째는 logback-spring.xml을 만들어서 디테일하게 관리하는 방법입니다. 첫번째 방식 기본이 console로그 입니다. 아래는 application.yml의 설정 입니다. logging의 레벨도 정할 수 있으며 spring.output.ansi.enabled를 통해 색깔도 이쁘게 할수 있습니다. 또..
2024.02.29 -
4. SPARQL이란?
스파클- SPARQL : Simple Protocol and RDF Query Language 2008년 웹 표준화 기구인 W3C(월드와이드 웹 컨소시엄)에서 제정하였습니다. 관계형 데이터베이스(RDB)에서 데이터 검색과 질의를 위해 구조화 질의 언어(SQL)가 사용되는 것과 같이 웹 환경의 RDF 데이터베이스에서는 SPARQL이 사용 됩니다. 다시 말해 RDF(Resource Description Framework)로 표현된 지식 그래프에 대한 쿼리 언어입니다. SPARQL은 SQL과 유사한 구조를 가지고 있으며, RDF 트리에서 데이터를 검색하고 조작할 수 있습니다. SPARQL의 기본구조 아래와 같은 기본구조로 되어있습니다. PREFIX (SELECT, CONSTRUCT, DESCRIBE, ASK)..
2024.02.29