스프링 5

[Spring] 로그 남기기 - Log4j / SLF4J / Logger

Spring Boot 코드를 보면 @SLF4J 어노테이션을 본 적이 있을 것이다. Lombok에서 @SLF4J를 써본 사람이라면, 로그 관련된 어노테이션이라는 것을 알 수 있을 것이다. 그렇다면 SLF4J는 무엇이고 Log4j, Logger은 무엇일까? 👍🏻 로그의 중요성 프로그램에서 로그를 작성해두면, 어떤 동작을 하고 있는지 혹은 어느 부분에서 에러가 났는지 쉽게 파악할 수 있다. 특히나 오류가 발생했을 때, 어떤 함수 호출에서 문제가 있었는지/에러 메세지가 무엇인지, 어떤 값이 들어갔는지 등을 알 수 있기 때문이다. 단, System.out.prinln()을 사용하여 로그를 찍지 말자. 운영할 때는 전혀 사용되지 않고, 성능에 문제가 발생한다. 1️⃣ SLF4J 란? SLF4J는 Simple Log..

SERVER/Spring Boot 2021.08.24

[WebRTC] Kurento를 사용하여 실시간 스트리밍하기

Kurento client를 활용하여 one2many call의 흐름을 익혀보자 대략적인 그림으로 그려보면, 1명의 스트리머가 있고 N명의 Viewer들이 존재하는 아래와 같은 그림일 것이다. 대략적인 서버의 구성은 아래의 그림과 같다. 이제 본격적으로 어떤 흐름으로 1:N 스트리밍을 할 수 있는지 알아보자 Presenter가 방송 켰을 때 1. Client가 웹에 들어오면 웹소켓으로 시그널링 서버와 연결을 한다. 2. 스트리머가 스트리밍 시작 버튼을 누르면, JSON형태로 id와 sdpOffer정보를 시그널링서버에 보낸다. 스트리머가 다른 방송을 보고 있는지 또는 다른 방송을 키고 있는지 여부를 파악해야 함 id는 WebSocket통신을 할 때, 어떤 메세지를 담고 있는지 구별해주는 id 이다. Pre..

WebRTC 2021.01.25

[Spring] 스프링 프레임워크 이해하기

스프링 프레임워크란? 스프링 프레임워크는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크이다. 웹 애플리케이션을 만들기 위해 다양한 프레임워크가 존재하지만, 많이 알려지고 활용하고 있는 프레임워크이다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크로도 체택되었다. 스프링 프레임워크를 중심으로 스프링 부트, 스프링 시큐리티, 스프링 소셜, 스프링 클라우드 등 다양한 프로젝트들을 만들었다. 스프링 아키텍처 - MVC 패턴 MVC는 Model, View, Controller로 데이터와 화면을 분리시켜서 코드 재사용성을 높인다. 그림의 프론트 컨트롤러의 역할을 스프링 MVC에서 디스패처 서블릿이 대신한다. 일반적으로 사용하는 스프링 MVC 구조 1. 사용자(Client)..

SERVER/Spring Boot 2020.12.30

[Spring] Spring boot 프로젝트 살펴보기 (feat. 인증서버)

프로젝트의 주요 파일 및 구조 크게 src, test, build.gradle이 있다는 것을 확인할 수 있다. 프로젝트의 주요 파일 설명 src/main/java java 파일이 담겨져 있는 디렉토리 AuthServerApplication 애플리케이션이 동작할 수 있는 main함수가 담겨져있는 스프링의 메인 클래스 (애플리케이션 동작의 맨 처음이라고 생각하면 됨) application.properties 사용할 property를 정의하는 곳 ex) DB name, password, 속성 등 # 개인의 중요한 정보가 담겨있는 것은 따로 관리하여 gitignore에 추가해놓는 것이 좋음. build.gradle 프로젝트에서 사용하는 라이브러리들을 관리하고 빌드하는 곳 1. AuthServerApplicati..

SERVER/Spring Boot 2020.12.29

[Spring] Spring Boot 프로젝트 생성하는 방법

Spring Initializr Link를 통해 프로젝트를 생성해보자 링크 : https://start.spring.io 사이트를 들어가보시면 아래와 같은 창이 뜨신 것을 확인할 수 있습니다. 이제 우리는 필요한 것들을 추가해주면서 Generate를 해줄 건데요 Gradle Project 를 선택했습니다. ( Maven을 사용해도 무방합니다.) Language는 Java로 Spring boot version 2.4.1 사용할 Dependencies 를 넣어주고 Generate 하면 끝! 해당 프로젝트를 다운 받은 후, IDE를 사용하여 열면 끝입니다! successful하게 빌드가 완료된거 확인하시고 작업하시면 됩니다.

SERVER/Spring Boot 2020.12.14