본문 바로가기
반응형

Spring Boot13

k8s환경에서 리소스 파일을 읽을 경우 유의 사항 오류발생오류는 Graphql Query Validation때문에 동작을 하지 않아서 schema.graphql을 다시 만드는 과정에서 오류가 발생했다. 로그를 확인해보니 resources아래의 파일을 못읽어오고 생성도 못하고 오류가 빵빵 터지는 상황이였다ㅋㅋ아래처럼 path를 잡아주니 로컬에서는 잘 돌아가지만 jar로 배포되는 Docker환경에서는 리소스파일이 jar파일에 포함이 됩니다.그래서 경로말고 클래스패스를 통해 리소스를 읽어야합니다.public GraphQLSchema getGraphQLSchema() throws IOException { // 스키마 파일 경로 String schemaFilePath = "src/main/resources/graphql/schema.graphql"; .. 2024. 9. 11.
JPA 연동 가이드 - 개발편 이런.. 개발편은 wiki에 작성했던것을 옮겨적으려고 했으나..gRPC 스터디 하면서 작성한거라다시 작성 고고고~:)JPA를 한다는건 DAO(Data Acess Obejct) or Repository단이라 DB랑 연관있는 친구라gRPC를 하든 GraphQL을 하든 Restful로 하든 상관이 없습니다.단지 객체를 가지고 테이블 관련 매핑하는 작업을 한다는 것 입니다!이번에는 GraphQL때문에 GraphQL Query를 만들기 위한 Template이 필요합니다.이 템플릿을 관리 할 수 있게 MySQL에 저장해서 사용하고자 합니다.환경은 Spring Boot+Gradle+Jdk 22+MySQL1) Gradle을 사용하고 있으니 build.gradle에서 Dependency를 걸어줍니다.(아주 오래전엔..직.. 2024. 9. 10.
JPA 연동 가이드 - 이론편 들어가기전 주저리처음 DB를 연동할 때 jdbc를 통해 db를 연동했다가sql mapper라는  iBATIS/MyBatis의 등장으로 편하게 사용하다가사용하다보니 반복적인 sql들도 많고 sql에 의존적이여서 JPA라는 것을 통해 객체지향적인 개발에좀 더 중점을 두게 되었습니다. 향후 어떻게 변할지 기대되네요 ㅎㅎJPA는 무엇일까요?오래전 자바 진영에서는 EJB(Enterprise Java Beans)라는 기술 표준을 만들었는데그안에 Entity bean이라는 ORM 기술이 포함되어있었습니다.하지만 너무 복잡하고 기술 성숙도가 떨어지고 J2EE 어플리케이션 서버에서만 동작 했습니다.이때 Hibernate라는 오픈소스 ORM프레임워크가 등장했는데 EJB의 ORM 기술과 비교해서가볍고 실용적인데다 기술 성숙.. 2024. 9. 2.
1) ENS Project - Spring Boot + LLM(Open ai 적용 해보기) 2024.05.20 - [A.I/RAG] - ai? 맨땅에 헤딩 -6(langChain) : 간단 daum news로 RAG 실습 2024.05.13 - [A.I/RAG] - ai? 맨땅에 헤딩 -5(langChain) : langsmith 셋팅 및 tracing해보기!!2024.04.29 - [A.I/RAG] - ai? 맨땅에 헤딩 -4(langChain): vector DB 간단 사용!2024.04.26 - [A.I/RAG] - ai? 맨땅에 헤딩 -3(langChain) : 주요 컴포넌트 체크!2024.04.24 - [A.I/RAG] - ai? 맨땅에 헤딩 -2(langChain) : 튜토리얼 따라해보기!2024.04.19 - [A.I/RAG] - ai? 맨땅에 헤딩 -1(langChain) : a.. 2024. 8. 17.
SpringBatch 예제 스프링배치 버전이 낮아서 이참에 스프링부트+스프링배치로 변경해보려고 한다."라스트 제다이"가 아닌 "라스트 스프링" ㅋㅋ 설명에 앞서 주저리를 하자면..요즘 스프링 관련 업무가 없어서..너무 뒤쳐진거 같다..ㅜ.ㅜ..마지막 남은 스프링인가? ㅋㅋ 예제는 아래 사이트를 참고 - https://spring.io/guides/gs/batch-processing/ 결과는 아래와 같다. 위 사이트 내용을 요약해서 보면간단한 배치 서비스를 만들껀데 이 서비스는 csv파일의 데이터를 가져와서 입맛에 맞게 변경 한 뒤 데이터베이스에 저장하는게 목표이다.정형적인 배치서비스를 축약한 내용의 소스인것 같아서 선택했다.데이터를 수집해서 변경 후에 데이터베이스에 저장(insert) or 변경(update)하는 style이 되겠.. 2018. 9. 12.
ace-t의 Spring Boot 따라잡기(기본 - freeMarker 연동) 오랜만에 강좌를 쓰네요^0^ 오늘은 freeMarker라는 템플릿을 이용하여 view를 만들어보겠습니다. ㅎㅎ왜 freemarker냐?! 라고 하시면..회사에서 현재 사용하고 있어서라고..후훗 우선 지난번의 강좌를 통해 새롭게 검토하는 겸 따라서 해보겠습니다. 2016/03/22 - [OpenSource/Spring Boot] - ace-t의 Spring Boot 따라잡기(셋팅편)2016/03/22 - [OpenSource/Spring Boot] - ace-t의 Spring Boot 따라잡기(기본 - 헬로우월드찍어보기!)2016/03/23 - [OpenSource/Spring Boot] - ace-t의 Spring Boot 따라잡기(기본 - SourceTree에 연결 및 Repository에 올리기)20.. 2016. 8. 28.
uses unchecked or unsafe operations. uses unchecked or unsafe operations. 와 같은 워닝이 뜨면 확인해보아야할 것이있다. 아래와 같이 ArrayList 를 하나 선언했다. ArrayList keyArr = new ArrayList(); 위처럼 선언을 하면 uses unchecked or unsafe operations. 라고 warning이 뜬다. ArrayList keyArr = new ArrayList(); 이렇게 해야 경고는 뜨지 않는다. 관련해서 이펙티브 자바책을 한번 보면 좋을것 같다. - 끝 - 2016. 4. 1.
ace-t의 Spring Boot 따라잡기(기본 - CouchBase 연동하기) 2016/03/23 - [OpenSource/Spring Boot] - ace-t의 Spring Boot 따라잡기(기본 - 외부톰캣 연동하기!) Rest api + CouchBase 연동CouchBase 셋팅은 따로 다루지 않겠습니다.이미 셋팅이 되어있다는 전제하에 진행합니다. 1) build.gradle의 dependency 추가 compile('org.springframework.data:spring-data-couchbase:2.0.0.RELEASE') 를 추가. 2) Controller 작성Controller 작성 후 Service를 호출하는 방식이 보통 MVC 패턴이며, Repository라는 interface를 implements하여 Service에서 구현해 나가는 구조 입니다. 또한 couc.. 2016. 3. 24.
ace-t의 Spring Boot 따라잡기(기본 - 외부톰캣 연동하기!) 2016/03/23 - [OpenSource/Spring Boot] - ace-t의 Spring Boot 따라잡기(기본 - SourceTree에 연결 및 Repository에 올리기) 외부 톰캣을 사용하고자 한다면!! jar -> war로 변경을 해주면 됩니다. 방법은? 1) build.gradle에서 주황색 부분을 변경 jar->warapply plugin: 'war' war {baseName = 'lineup-fanta'version = '0.0.1-SNAPSHOT' } 2) main 소스에 추가 작업 extends SpringBootServletInitializeradd overriding source@Overrideprotected SpringApplicationBuilder configure(S.. 2016. 3. 23.
ace-t의 Spring Boot 따라잡기(기본 - SourceTree에 연결 및 Repository에 올리기) 1. 로컬에 있는 소스를 소스트리에 연동 시킵니다. 2. 아래와 같이 gitignore.io에 접속하여 커밋하면 안되거나 불필요한 액션을 줄이기 위해 ignore할 파일들에 대해서 Generate 해줍니다. https://www.gitignore.io/ /.git/info의 exclude에 위에서 생성되어진 내용을 붙여넣기를 해준다.붙여넣을 내용. # Created by https://www.gitignore.io/api/gradle,intellij ### Gradle ### .gradle build/ # Ignore Gradle GUI config gradle-app.setting # Avoid ignoring Gradle wrapper jar file (.jar files are usually ign.. 2016. 3. 23.
ace-t의 Spring Boot 따라잡기(기본 - 헬로우월드찍어보기!) 2016/03/22 - [OpenSource/Spring Boot] - ace-t의 Spring Boot 따라잡기(셋팅편) 주저리 - 헬로우월드를 찍기전에 스프링의 구조를 한번 생각해볼 필요가 있겠습니다.특히나 팀으로 혹은 2~3명이서 개발을 하는거라면 서로 각자 개발하지말고 먼저 물어보세요~당신은 어떤구조로 개발하였나요? 라구요! 주변에 너무 혼자서만 개발하시는분들이 많기 때문에 각자 자기만의 스타일을 고집한다면..유지보수도 힘들고 커뮤니케이션을 함에 있어서도 힘든 부분이 있으니깐요! 예를 들어 아래와 같이 기본적인 구조로 생각을 하신다는 가정하에 진행해보도록 하겠습니다.api ㄴ config ㄴ controller ㄴ repository ㄴ service 이제 코딩을 한번 해볼 차례 입니다. 헬로우월.. 2016. 3. 22.
ace-t의 Spring Boot 따라잡기(셋팅편) 1. 목표현재 개발중인 프로젝트에서 필요한 api를 Spring Boot로 구현하고자 함.정리를 해두면 다른사람도 좋고 나도 좋고~도랑치고 가재잡고~CouchBase storege - SpringBoot api 2. 환경Mac OS XJDK 8Tomcat 8Gradle 1.3.3Spring BootCouchBase 4.x인텔리J IDE 12git 3. Spring Boot 간단 셋팅!http://start.spring.io/ 에 접속!아래의 그림처럼 필요한 것들을 찾아서 Dependencies 선택! 나중에 찾아서 넣어도 되니 신중하게 생각하지 않아도 됨. 위에서 Group는 패키지라고 생각하시면 됩니다. 또한 Gradle Project Artifact를 설정, 디펜던시 설정 후에 Generaate Pr.. 2016. 3. 22.
step by step - spring boot 스프링 부트를 프로젝트에 적용시켜 구현을 하고 있다.위의 소스는 해당 프로젝트를 위한 가이드 소스이다. 꼭 필요한 작업이라고 생각이 되어 개발 가이드 소스를 조금씩 습득하며 구현하고 있다.전체적인 아키텍처와 as-is 분석도 해야하니..새벽에 더 볼수 밖에 없지만 뭔가 하고있다는게 즐거운듯 하다.또한 다른업무에 치여 손도 못댔었는데..그나마 요즘 운동을 시작했더니 새벽에 안졸리고 집중이 되어 조금이라도 코드를 짜봐서 조으다~2016년 목표한바 성취하도록 화이팅 하자! 2016. 2. 17.
반응형