일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- rtmpserver
- InfluxDB
- docker container
- videostreaming
- hmm
- memory virtualization
- webserver
- Process
- ADsP
- CPU virtualization
- Docker Compose
- was
- segmentation
- MQTT
- ADsP요약
- 페이징
- goroutine
- reverse proxy
- TLS
- docker
- 은닉마르코프모델
- paging
- Address translation
- 2025년시작
- RTMP
- free-space manage
- Today
- Total
목록Server (12)
Euclidean space

Spring MVC Spring MVC는 Java 기반의 전통적인 synchronous, blocking 프레임워크입니다. model-view-controller 패턴으로, 앱이 model(data), view(UI), controller(logic) 파트로 나눠져있습니다. 요청이 오면, Dispatcher Servlet으로 이동하고, 서블릿이 이 요청을 controller에서 보냅니다. 각 요청마다 서버 쓰레드풀에서 하나의 쓰레드가 할당됩니다. 많은 요청들이 한 번에 있을 경우 딜레이를 유발할 수 있습니다. Spring WebFlux Spring 5부터 도입된 Reactive Streams 기반의 non-blocking 프레임워크입니다. synchronous식 Spring MVC 모델은 요청 하..
모든 시작은 아래 에러에서부터 기존에 생성자에 필드를 인자로 하나하나 넣어 만드는 방법 대신 Builder 패턴을 추가하였습니다.이때 생긴 에러org.springframework.orm.jpa.JpaSystemException: No default constructor for entity 초기 @Builder를 적용한 User Entity (error code)@Entity@Table(name = "users")@Builderpublic class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "kakao_id", nullable = false) priv..

HTTPS에서 들어봤던 TLS HTTPS는 HTTP에 SSL이나 TLS 동작이 추가된 프로토콜입니다. SSL(Secure Sockets Layer)TLS(Transport Layer Security)는 모두 인증과 암호화를 수행하는 프로토콜입니다. SSL를 개선한 것이 TLS로, 현재는 TLS만 주로 사용한다고 합니다. TLS는 TCP기반 Application layer에서 이용하는 네트워크 통신 보안 강화를 위한 프로토콜입니다.HTTP 뿐만 아니라 MQTT, SMTP 등 TCP 위에서 동작하는 프로토콜에 적용할 수 있습니다. TLS를 적용하면 네트워크 통신이 암호화되고, 서버 신원 인증도 가능합니다.TLS는 암호화된 통신 시작 전 handshake 과정이 있습니다. Client ➡️ Server..

로봇 서버에서 실시간 위치 데이터를 수신하여 데이터베이스에 저장하고, 실시간 위치 조회 및 특정 시간대의 위치 범위 평균 조회와 같은 기능을 제공하는 서버를 요청받았습니다. 기존에는 MQTT-Golang-MongoDB 구조를 사용하여,1초마다 입력받은 위치 데이터를 데이터베이스에 업데이트하는 방식으로 제작하였고, 이 방식이 효율적인지 의문이 들었습니다.이에 위치 데이터(시계열 데이터)의 효율적인 처리를 위해 시계열 데이터베이스를 찾아보았습니다. 이 영상(Using MQTT and InfluxDB for IoT)을 참고하여 MQTT-Telegraf-InfluxDB 구조를 적용해보았습니다. TSDB(Time Series Database): 시계열 데이터를 효율적으로 저장, 관리하기 위해 설계된 데이..

🔄 Goroutine 고루틴: Go 언어에서 제공하는 경량 스레드 (OS에 의해 관리되지 않고, Go 런타임이 관리하는 User-level 스레드) `go func() {}` 백그라운드에서 메세지를 비동기적으로 처리수천 개의 고루틴을 실행해도 효율적Go 런타임이 고루틴을 자동 관리 Goroutine은 동시성(Concurrency)과 병렬성(Parallelism)을 효율적으로 구현합니다.고루틴의 동시성 유무 차이는 이 영상(Go Concurrency Explained: Go Routines & Channels)을 통해 쉽게 이해해볼 수 있습니다. *동시성: 여러 작업을 번갈아가며 효율적 실행*병렬성: 여러 작업을 실제로 동시에 실행 ▶️ Channel 채널: Goroutine간 데이터를..

Spring Security: 인증과 접근 제어를 위해 세부적인 맞춤 구성이 가능한 강력한 프레임워크 OAuth2 (Open Authorization 2): 사용자가 비밀번호를 제공하지 않고 타사 애플리케이션의 사용자 정보를 접근할 수 있도록 허용하는 표준 인증 프로토콜 1️⃣ Spring Security에서 OAuth2 Google 로그인하기 Spring Security는 `SecurityFilterChain`을 `@Bean`으로 등록하여 보안 설정을 적용합니다. `pom.xml` org.springframework.boot spring-boot-starter-oauth2-client org.springframework.boot spring-boot-starter-web ..
https://www.emqx.com/en/blog/the-easiest-guide-to-getting-started-with-mqtt https://www.emqx.com/en/blog/mqtt-5-introduction-to-publish-subscribe-model 위 문서들을 보고 정리한 글입니다. 1) MQTT MQTT(Message Queuung Telemetry Transport): 리소스가 제한된 디바이스, 낮은 대역폭(Low Bandwidth), 높은 지연시간, 불안정한 네트워크 환경을 고려한Lightweight한 Publish-Subscribe 기반 메세징 프로토콜 2) MQTT가 IoT에 적합한 프로토콜인 이유 1. Lightweight: 패킷 크기가 작음2. Reliabili..
1. SRP (Single Responsibility Principle)단일 책임 원칙: 한 클래스는 하나의 책임만 가져야 한다. 2. OCP (Open Closed Principle)개방 폐쇄 원칙: 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.* 객체를 생성하고, 연관관계를 맺어주는 별도의 조립, 설정자 필요 => Spring container 3. LSP (Liskov Substitution Principle)리스코프 치완 원칙: 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다. 4. ISP (Interface Segregation Principle)인터페이스 분리 원칙: 특정 클라이언트를 위한 인터페이스 여러 개가 범용..

Web Server, Web Application Server를 알아보고,Nginx에서 reverse proxy 설정해보기 Spring Boot 애플리케이션 jar 파일을 실행하면서 의문이 들었습니다.Tomcat이 Nginx랑 다른건 뭐지? Web Server, Web Application Server부터 뭐가 다른지 살펴보았습니다.(이 둘에 대한 글은 정말 잘 정리되어있는 글들이 많으니, 검색 후 몇 개 읽어보는게 좋을 것 같습니다. ) https://code-lab1.tistory.com/199https://story.pxd.co.kr/1647https://www.bluebash.co/blog/web-server-vs-application-server/ 저도 몇 개 읽어보고 간단하게 정리를 ..

AWS EC2 Ubuntu 22.04 환경에서Nginx RTMP 서버 구축하고,HLS로 웹 상에서 실시간 비디오 스트리밍하기 우선 저는 위와 같은 구조로 실시간 영상 스트리밍 서버를 만들고 있습니다.* 이 글에선 Spring이나 S3를 통한 영상 저장은 다루지 않습니다. 제가 요청 받은 것은1. 웹 상에 실시간 영상 송출2. 클라이언트가 요청 시, 영상 저장이었습니다. RTMP, HLS에 대한 간단한 설명은 아래 첨부하겠습니다. 이번 글의 실습은이 글을 참고하여 진행하였습니다. How to Set Up a Video Streaming Server using Nginx-RTMP on Ubuntu 22.04RTMP also called “real-time messaging protocol” is a ..