분류 전체보기 32

FFmpeg 공부, 개발

FFmpeg (www.ffmpeg.org) 은 비디오, 오디오, 이미지를 쉽게 인코딩 (Encoding), 디코딩 (Decoding), 먹싱 (Muxing), 디먹싱 (Demuxing) 할 수 있도록 도움을 주는 멀티미디어 프레임워크FFmpeg은 다른 오픈소스 프로젝트와 마찬가지로 마이크로소프트의 윈도우 환경보다는 리눅스 환경에 맞춰 개발이 되고 있다. Windows 10/11이면 [WSL2 (Linux Subsystem)]를 설치하면 Windows에서도 Linux 환경으로 FFmpeg 개발 가능하기 때문에 이를 이용하겠다.WSL(Linux용 Windows 하위 시스템)은 별도의 가상 머신 또는 이중 부팅 없이 Windows 컴퓨터에서 Linux 환경을 실행할 수 있는 Windows의 기능이다. WSL은..

Github로 협업

실제 예시# 브랜치 생성 git checkout develop git pull origin develop git checkout -b feature/기능번호 # 커밋 & 푸시 git add . git commit -m "기능설명" git push -u origin feature/기능번호 # 병합 후 최신화 git checkout develop git pull origin develop 팀장으로서 Github을 이용해서 협업할 수 있는 환경을 만들겠다.다음 사진처럼 협업을 진행할 예정이다. 우리는 main-develop-feature 방식으로 진행 깃헙에 코드를 저장할 것이므로 레파지토리 주소를 남긴다.https://github.com/PEJ12/adaptive_video_streaming.git G..

고객의 네 번째 기능 구현-3

영화 예매하기 기능을 이어서 구현하겠다. 3. seat_id 입력받기3-1. screening_date_id도 제대로 입력받았다면 해당 movie_id, screening_date_id에 맞는 theater_id와 total_seat를 출력한다. (특정 영화, 특정 상영 일자에 맞는 상영관은 하나 밖에 없으므로 따로 입력을 받지 않고 바로 출력한다.)3-2. 해당 screening_date_id에 맞는 theater의 seat_id를 seat_assignment가 true일 때(예매 가능할 때)만 출력한다.이 정보를 출력함으로써 예매할 특정 영화, 상영일정, 상영관에 맞는 seat_id를 쉽게 알 수 있다. 3-3. 출력된 seat_id를 보고 예매할 영화의 seat_id를 클릭한다. 그리고 선택된 se..

고객의 네 번째 기능 구현-2

영화 예매하기 기능을 이어서 구현하겠다. 2. screening_date_id 입력받기 2-1.  movie_id를 제대로 입력했다면 해당 movie_id를 가진 영화의 screening_date_id, screening_date를 출력하고 이 값을 screening_date_id를 입력 받는 함수에 넘겨준다 (입력받은 값이 존재하는 값인지 확인하기 위함).  [오류1] 로 구현했더니 [오류2]가 되었다.  Not Found 오류의 원인은 redirect와 url_for 사용법에 문제가 있기 때문이다.url_for()은 함수 이름을 기반으로 URL을 생성한다.따라서 url_for()에 정의한 라우트 경로가 아닌, 함수 이름을 지정해야 한다.  form 태그의 action 경로는 라우트의 URL 경로와 일..

카테고리 없음 2025.01.10

고객의 네 번째 기능 구현-1

영화 예매하기 기능을 구현하겠다.제일 복잡하고 중요한 기능이므로 구현 순서를 적겠다. 1. movie_id 입력받기 1-1. 로그인할 때 member_id를 받아와서 member_id를 출력한다. 1-2. 상영 예정 영화의 movie_id, movie_title, 영화 포스터를 출력하고 이 값을 movie_id를 입력 받는 함수에 넘겨준다. (입력받은 값이 존재하는 값인지 확인하기 위함)1-3. 출력된 movie_id를 보고 예매할 영화의 movie_id를 입력한다. 이 때 존재하지 않거나 유효하지 않은 입력(예를 들어 숫자를 입력해야 하는데 문자를 입력)을 하면 제대로 입력할 때까지 이 과정을 반복한다.  2. screening_date_id 입력받기 2-1.  movie_id를 제대로 입력했다면 해당..

고객의 세 번째 기능 구현

1. 목표고객, 스태프, 분석가 각각 여러 기능이 있기 때문에 비슷한 기능들은 생략하고 중요한 기능들 위주로 구현하겠다.고객의 세번 째 기능인 영화 상영 날짜 기준으로 상영 예정인 영화를 내림차순으로 정렬하기를 구현하겠다.구현하면서 생긴 오류는 마지막에 적겠다.2. routes.py 구현이전 글에서 코드에 대한 설명은 자세히 했으니 중복되는 설명은 생략한다.조건에 해당하는 영화를 출력하는 것이므로 해당 정보를 넘겨주면 첫번째 기능을 구현할 때 만들었던 영화 출력을 담당하는 print_all_movies_1.html 을 사용 하면 된다.@app.route('/movies/sort')def sort_movies(): movies = sort_movie() return render_template(..

고객의 두 번째 기능 구현

고객의 두번 째 기능인 영화 이름으로 상영 예정인 영화 조회하기를 구현하겠다.구현하면서 생긴 오류는 마지막에 적겠다.1. 목표로그인을 하면 각 사용자 유형에 따라 기능이 출력된다. user로 로그인 했다면 [1 사진]의 user_function.html으로 출력된다. 이 때 두번 째 기능을 선택하면 /movies/search 링크로 이동한다.따라서 이 페이지의 기능을 구현하겠다. 2. routes.py 구현 먼저 코드의 중요한 부분을 설명하겠다. @app.route('/movies/search', methods=['GET', 'POST']) /movies/search URL에 대한 요청을 처리한다.methods=['GET', 'POST']: 이 라우트는 GET 요청(페이지 표시)과 POST 요청(폼 데이..

고객의 첫 번째 기능 구현

1. 정중앙에 로그인 창이 뜨도록 수정login.html Login ID: Password: Login  2. 로그인에 실패하면 실패를 알리는 창이 뜨도록 수정 -> 확인을 누르면 다시 로그인을 시도할 수 있다. 2-1.잘못된 로그인 정보가 입력되면 flash를 사용하여 로그인 실패 메시지를 표시한다.로그인 실패 시 flash를 호출하고, 이는 login.html 템플릿에서 get_flashed_messages로 가져와서 JavaScript에서 팝업을 띄운다. login.html에 추가한 코드  3. 영화 관리 시스템은 사용자(고객, 스태프,..