본문 바로가기

개발기술

(127)
원격제어 ; GUI 제어 MobaXterm MobaXterm is an all-in-one remote access tool for Windows that supports:SSH (Secure Shell)X11 ForwardingVNC (Virtual Network Computing) with built-in VNC viewer! RDP (Remote Desktop Protocol)FTP/SFTP (File Transfer Protocols)맥북이면 Remote DestTop Manager https://wscode.tistory.com/91 [MacOS] MobaXterm 대신 사용가능한 Remote Desktop Mananger주제: MobaXterm 대신 사용가능한 Remote Desktop Mananger 작성: 2023..
영상처리 프로토콜(rtsp) 및 프레임워크(ffmpeg, gstreamer) Video Source Category각 카테고리는 비디오 스트림을 수신하는 방식에 따라 구분되며, 카메라 또는 소스가 데이터를 어떻게 제공하는지에 따라 다릅니다. 분류 설명웹캠USB 카메라 또는 노트북 내장 카메라 → UVC(USB Video Class)로 운영체제가 인식하는 표준 비디오 장치로 처리비디오 파일사전 녹화된 동영상 파일 (MP4, AVI 등) → 실시간이 아닌 저장된 파일 재생ONVIFXML 기반의 API 명세로 IP 카메라 제어용 표준 프로토콜 → RTSP를 통해 실시간 스트리밍 수행IP 카메라일반 네트워크 카메라 (ONVIF 여부 무관) → RTSP, HTTP, 또는 자체 프로토콜 사용GStreamer멀티미디어 스트림 처리용 프레임워크 → 비디오를 사전에 가공하거나 조합 가능 스트리밍..
예외처리 & Logging 예외정상적인 프로그램 흐름을 방해하는 비정상적인 상황 즉, 프로그램 실행 도중 발생할 수 있는 에러 상황을 객체로 표현한 것예외처리란 이러한 예외 상황이 발생했을 때, 적절히 대응하는 것 예외처리의 목적서비스 안정성 확보 :예외가 발생하더라도 전체 애플리케이션이 완전히 중단되지 않도록 보호하는 게 1차 목표.@Scheduled 배치에서 예외 터지고 잡지 않으면 스케줄러 자체가 멈춤 (Spring에서는 실제로 발생)사용자 경험 보호 (UX 보호)에러가 발생했을 때 친절한 메시지로 알려주고, 최대한 정상적인 흐름처럼 보여주는 게 중요해. 사용자에게 ‘500 에러’ 같은 시스템 메시지를 그대로 노출하지 않음.“비밀번호가 틀렸습니다.” vs “Internal Server Error”문제 진단 용이성 확보개발자나..
JWT Refresh Token Strategy Authentication Strategies Comparison Authentication Strategy DescriptionUse CaseSession-Based AuthenticationStores user session in the server (stateful)Monolithic apps, Spring Security with sessionsJWT-Based Authentication (Without Refresh Token)Uses a single JWT for authentication, but requires re-login when expiredSimple stateless APIsJWT + Refresh Token(This Strategy)Uses a short-lived access..
게시판 구현 : 권한에 따른 동적인 메뉴 Implementing Dynamic Menu Based on User Authorities in a Web Application 1. Key Considerations for Implementing a Dynamic MenuUser Authentication & AuthorizationUse Spring Security (for backend) to handle authentication and assign roles.Use JWT tokens, OAuth, or Session-based authentication for user verification.Role-Based or Permission-Based Access ControlRole-based: Users are assigned predefin..
NGNIX 사용 Nginx의 역할 개요 Nginx는 클라이언트 요청을 목적지 서버로 라우팅(프록시)하는 고성능 리버스 프록시 서버로, 주로 HTTP(S) 트래픽을 처리하는 미들웨어 역할을 수행합니다.본질적으로는 “요청 분기 처리기” 로 동작하여,요청 경로(URL path)나 헤더 등 조건에 따라 다른 백엔드 서버로 트래픽을 라우팅(Reverse Proxy)또는 location 블록 조건에 맞으면, 디스크에 저장된 정적 파일을 직접 서빙(Static File Serving) 할 수도 있습니다. 역할 설명① 웹 서버 (Web Server)HTML, CSS, JS, 이미지 등 정적 파일을 빠르게 서빙② 리버스 프록시 (Reverse Proxy)클라이언트 요청을 받아 백엔드 서버(Spring, Node 등)로 전달→ 백엔드 ..
JPA 데이터 맵핑방식 : Entity 기반, DTO 기반 조회 JPA 내에서 데이터를 조회하는 2가지 방식1. 엔티티 기반 조회 (Entity-based fetch)join fetch, find(), JPQL, EntityGraph반환: 엔티티특징: 영속성 컨텍스트에 등록됨 (관리됨)엔티티 기반 fetch는 도메인 객체를 조작하거나, 트랜잭션 내에서 상태를 변경할 때 사용JoinFetch는 영속성 컨텍스트 내 연관관계를 자동으로 맞춰줘야하기에 대용량 데이터 조회에 성능이 좋지않음SELECT u FROM User u JOIN FETCH u.posts 2. 값 기반 조회 (DTO Projection)new Dto(...), Projections.constructor(), Tuple, native query반환: DTO, 값 객체, 튜플특징: 영속성 컨텍스트에 등록되..
JPA 기타기능 (Pageable, auditing, data.sql 기능) 1. Auditing functionality : Persistency Layer에서 특정 이벤트 발생시에 자동적으로 데이터값을 생성해주는 기능을 말한다. 레코드 생성자, 생성일 등 데이터의 히스토리를 추적하는데 사용된다. Auditing 기능을 적용할 Entity 클래스에@EntityListeners (AuditingEntityListener.class)를 추가하고, 필요한 필드에 @CreatedDate나 @LastModifiedDate와 같은 애너테이션을 붙입니다. 이 entitylistener들은 entity의 lifecycle을 파악하고 lifecycle의 특정부분에 지정된 코드를 실행하도록 한다.@EntityListeners(AuditingEntityListener.class)@Configur..