실무에서 서버 작업을 하다보면 스프링을 이용해 영상 스트리밍 기능을 만들어야 할 때가 있다. 이때 , HTTP range requests를 활용하면 쉽게 기능 개발을 할 수 있다. 1. HTTP Range Requests 란? HTTP 범위 요청이란 HTTP 를 통해 일정한 부분을 서버에서 클라이언트로 보내는 것을 Accept하고 보내는 방법입니다. 범위를 알 수 있는 대형 미디어 파일을 나누어서 읽을 수 있습니다. 파일 다운로드 도중 일시정지와 다시 시작 기능에 유용한 점을 이용해 클라이언트에선 미디어파일을 재생, 일시정지, 다시시작을 가능하게 만들 수 있습니다. 예를 들어 4.5mb짜리 파일을 받겠다하면, 서버는 전체 범위(Content-Length)와 일정 범위에 해당하는 파일을 bytes 로 내려..
글 목록
1. 정규표현식 개념 표현식 설명 ^ 문자열의 시작 $ 문자열의 종료 . 임의의 한 문자 (필수 입력이며 문자의 종류는 가리지 않음, 역슬래시(\)는 넣을수 없다) * 앞의 문자가 없을수도, 무한히 많을 수 있음 + 앞 문자가 하나 이상 존재함 ? 앞 문자가 없거나 하나 있음 [] 문자의 집합이나 범위를 나타내고 두 문자 사이는 -기호로 범위를 나타냄. []내에서 ^가 앞에 존재하면 not 을 의미함 ex) [0-9] 는 0~9 사이의 문자를 나타냄 {} 횟수, 또는 범위를 나타냄 () 소괄호 안의 문자를 하나의 문자로 인식 | 패턴 안에서 or 연산을 수행할 때 사용 \s 공백 문자 \S 공백 문자가 아닌 나머지 문자 \w 알파벳이나 숫자 \W 알파벳이나 숫자를 제외한 문자 \d 숫자 [0-9]와 동일..
Thymeleaf 로 뷰를 만들다 보면 JavaScript 의 ajax가 아닌 HTML Form태그 만으로 데이터 전송을 해야할 때가 있다. 이 때 로그인 인증을 위한 csrf 토큰을 보냄과 동시에 multipart 로 데이터와 이미지를 동시에 보내야 하는 상황이여서 막막했던 차에 좋은 해결 방법을 찾아서 공유한다. 우선 소스코드는 아래와 같다. 텍스트 * 이미지 * 1. 로그인 세션 문제 흔히 웹사이트들은 권한이 필요한 페이지들은 유저들이 로그인 한 정보를 토큰으로 남기고 이 토큰을 같이 전송해서 로그인 한 유저가 보낸 요청이라는 것을 서버에 알린다. ajax 에서는 beforeSend 를 통해 미리 토큰을 보내 해결할 수 있지만 form 태그에서는 어떻게 보낼 지 막막하던 차에 hidden 으로 in..
[Spring] 쉽게 익히는 JDBC Template 사용법 및 간단 예제 스프링에서 제공해주는 JDBC Template은 순수하게 JDBC Connection을 얻어서 DB API를 사용하는 것 보다 편하고 자주 쓰는 반복코드를 많이 줄일 수 있다. 다만 JPA나 QueryDsl과 다르게 db에 날리는 쿼리들을 직접 작성해야 한다는 단점이 있다. * 참고 JdbcTemplate을 사용하기 위해서는 먼저 Spring에 DB 연결 세팅을 해야한다. 필자의 경우는 MySQL과 연동하였지만 가볍게 예제프로젝트 용으로 굴릴 예정이신 분이라면 H2를 추천한다. 아직 DB 연동이 안되어 있는 분들은 아래 게시글들을 참고하기를 바란다. 1. 개발용으로 가볍고 편리한 H2 데이터베이스 설치 및 SpringBoot에 연..