728x90 Spring/mvc3 [Spring] 파이썬 서버로 api 통신하기 파이썬 처리가 필요한 이유 현재 졸업프로젝트로 백엔드를 담당하고 있고, 스프링을 사용하기로 결정했다. 우리의 비즈니스 로직 중 STT와 키워드 추출이 필요한데, 이는 파이썬 쪽에서 처리가 필요하다. 처음에는 다음과 같이 처리를 하였다. 1. 파이썬 파일 실행 (ProcessBuilder, Process) 자바에서 ProcessBuilder를 사용하면, 컴퓨터의 python을 실행시킬 수 있다. 코드는 다음과 같다. package site.atkproject.sttservice.util; import lombok.NoArgsConstructor; import java.io.*; @NoArgsConstructor public abstract class PythonFileManager { protected S.. 2022. 5. 27. [Spring Thymeleaf] Layout 만들기 footer 영역 입니다. 레이아웃을 만드는 이유 타임리프를 통해 우리는 편안하게 스프링의 모델들을 html에 동적으로 표현할 수 있다. 암튼 내용을 보여주려면 html 파일들이 있어야 할텐데, 보통 header, nav, footer 같은 공통의 영역이 있고, 한 div 태그 안에 다른 내용들을 보여주게끔 설계를 많이 한다. 이럴려면 공통의 레이아웃을 만들어 주어야 하는데, 이때도 타임리프에서 의존성을 추가해서 사용해줄 수 있다. build.gradle에 아래를 추가해주자. implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' 그리고 나는 다음과 같이 templates 안에 디렉토리와 파일들을 만들어 주었다. footer, header는 .. 2022. 5. 8. [Spring] Thymeleaf 정리 사전 지식 타임리프는 서버사이드렌더링 화면을 렌더링하는 방식은 크게 두 가지가 있다. 첫 번째는 브라우저단에서 그리는 CSR(Client Side Rendering)이다. 이것은 리액트나 vue.js 등을 활용하여 동적으로 내용을 갖고와 브라우저에서 직접 화면을 생성할 때 사용한다. 두 번째는 SSR(Server Side Rendering)이다. 서버에서 화면을 그리고 그 html내용을 클라이언트에 보내면 클라이언트(브라우저)는 출력만 하면 된다. 그리고 스프링에서는 대표적으로 이 타임리프를 밀어주고 있고, 백엔드 개발자는 이것을 잘 활용해서 화면을 출력하자. 리액트나, Vue.js도 공부하면 좋겠지만 백엔드만 해도 공부할게 너무 방대하다.. 네츄럴 템플릿 타임리프의 목적은 순수 HTML을 유지하게 해준.. 2022. 3. 16. 이전 1 다음 728x90