JTBC 종편 개발
기간 : 11.09 ~ 11.12
담당파트 : 뉴스 DB SP,인프라,CMS,서비스페이지,VOD, jquery 공통 ui script 작업
개발툴 : Visual Studio 2010
환경 : .Net Framework 4.0 + IIS 7.5 + MS-SQL 2008
이래저래 말많던(?) JTBC 종편 프로젝트
동시에 네군데의 회사에서 각자 서로의 종편사이트가 12월을 목표로 개발되었을거다.
대충하면 왠지 비교당할수도 있겠다는 생각 + 이젠 방송사 사이트도 만들어보는구나 라는
설레임
컨텐트 수급이 가장 큰 이슈였다.
개국일은 잡혔지만, 시간이 가도 채널 번호도 결정되지 않았고 프로그램도 확실히 정해진게 없었다.
담당했던 부분은 뉴스파트, 나중에 추가로 다른 파트에서 쓸 플레이어 부분 작업을 했다.
- 플레이어
방송사이트에서 동영상 플레이어가 차지하는 비중이 크다.
애초에 자체개발을 했어야 했지만, 개발에 주어진 프로젝트 기간 두달반내에 모든 인프라를 구성할 수는 없었다. 결국 유명한 jwplayer + plugin 를 구매해 도입하기로 했다.
스킨의 자유도도 있고, 쓸만한 광고 플러그인이 있어 나쁘지 않은 선택이었다.
덕분에 올초에 개발되었던 Display Ad 솔루션을 약간 수정해 동영상 광고도 커버할 수 있게 하고 두개를 연결시켜 동영상 광고 수익을 발생시킬 수 있는 환경을 큰 비용없이 구축할 수 있게 됐다.
이번 jtbc 프로젝트의 특징 중 하나는 패드의 접근성을 충분히 고려했다는거다.
(모바일용은 따로 만들었지만 아이패드나 갤럭시탭에서 보기엔 너무 광활하다)
플래시 대신 메뉴나 쇼케이스의 effect를 javascript로 구현했다. 다행히 복잡한 효과가 아니라 가능했다. iPad로 사이트에 들어왔을때 플래시 기반의 jwplayer 대신 html5의 video 태그를 활용해 거의 동일한 사용자 환경을 제공한다. 물론 갤럭시탭도 마찬가지...
- One-Time URL
CDN에서 영상소스를 url로 받아올 때 one-time url 솔루션을 거쳐 인증키를 파라미터로 같이 받아온다.
이렇게 해놓으면 해당 주소로는 호출이 설정에 따라 다르겠지만 1~3회 정도로 제한하거나 유효시간을 걸 수 있어 영상 url의 노출되어도 직접 재생을 막을 수 있다.
인증키를 받아 오는 방법은 소켓통신.
CDN에서 dll 하나와 샘플소스를 보내줬지만, 동작은 잘 됐지만 SVN에 커밋하려고 보니 연결된 모든 개발자가 해당 dll를 자기 pc의 레지스트리에 따로 등록해야 빌드가 깨지지 않았다. 이룬..
결국 유지보수 이슈를 고려해 비슷한 역할을 하는 모듈을 새로 만들기로 했다.
System.Net.Sockets를 참조해 별도의 dll import 없이 구현했다.
이래야 나중에 편하다.
- 뉴스
뉴스쪽 개발인원은 3+3.
따로 6층 회의실을 하나 전세(?)내서 모였다.
솔직히 처음에 걱정이 됐었다. 3+3이라고 쓴 이유는 3명이 아직 졸업을 앞둔 대학생 신입들이었기 때문.
"기존인력 셋, 신입사원 셋" 라고 해서 기존 3명을 프로젝트 초반에 바짝 긴장하게 만들었다.
결론부터 얘기하자면 3명의 신입들은 예상보다 잘해줬다.
이런저런 이유때문에 처음 목표는 일정도 일정이니 기존 중앙일보 신문사의 테이블 구조를 그대로 어떻게 잘 한번 묻어가서 UI쪽만이라도 어떻게 잘 마무리 해보자였으나....
기존 구조가 몇년동안 조금씩 조금씩 개선되어가는 과정에서 분석하고 변경하는데 시간이 너무 걸릴 것 같았다. 결국 기획서를 기준으로 모든 뉴스 테이블을 다시 설계했다.
(내가 아니라 훌륭한 DBA느님께서)
물론 테이블 명세서와 기획서를 참고해 필요한 프로시저는 직접 만들었다.
기사면 html에 플레이어 호출 스크립트를 넣는 것은 jQuery 의 extends 를 활용해 기존의 컨텐트 소스를 건드리지 않으면서 옵션을을 추가할 수 있는 식으로 구현해봤다.
프로젝트 초반에 약간 부지런을 떨어 뉴스쪽 탭네비를 간단하게 구현할 수 있는 jQuery 기반의 공통 플러그인을 개발해놨다. 덕분에 프론트 ui쪽 스크립트 작업 시간을 많이 단축시켰다.
뉴스의 건당로그는 파일기반으로 구현했다.
처음엔 그냥 건당 insert 라는 만용을 부려볼까 했지만,
그러다 네이버 홈에 기사가 노출되었을때 DB가 죽으면 바로 대형사고다.
이런 백엔드 작업까지 모두 처음부터 할려니 힘들었지만 할 수 없다.
파일 로그를 쌓고 분석서버에서 처리후 주기적으로 로그DB에 업데이트한다.
이걸로 많이본기사, 많이본VOD 등의 데이터를 통계낼 수 있다.
이번에 특히 신경쓴 건 운영툴 쪽이었다. 기존 기획서보다 더 편한 방법이 생각나면
운영자들에게 이런건 어떠냐고 물어보고, 꼼수를 부려댔다.
(고백하자면 코딩도 그게 더 간편했다)
아무튼 정해진 기간내에 큰 문제없이 오픈한 프로젝트.
'My Job > 해왔던일' 카테고리의 다른 글
| JTBC 개발 (0) | 2011/12/27 |
|---|---|
| 고객사 관리툴 (영업 부문 관리) (0) | 2011/08/29 |
| Display AD Solution (0) | 2011/08/18 |
| JoinsMSN.com 런칭 (2) | 2010/11/25 |
| 모바일 월드컵 사이트 (2) | 2010/06/10 |
| 조인스 블로그 인덱스 개편 (2010) (3) | 2010/06/01 |

