• HTTP를 통한 동적 적응 형 스트리밍 

• ISO 23009-1-2012 MPD 및 세그먼트 형식 

• HTTP 호환 표준을 통한 미디어 컨텐트 전달 사양.

• ISO 기본 미디어 파일 형식 및 MPEG-2 전송 스트림에 대한 정의 된 지원. 실제적으로 이는 H264 및 AAC와 동일합니다.

• DASH 콘텐츠는 미디어 프레젠테이션 설명 및 관련 콘텐츠 세그먼트로 구성됩니다. 

• XML 스키마를 사용합니다.

• Apple의 HTTP Live Streaming (HLS)과 유사하게 DASH에는보다 포괄적 인 기능 세트가 포함되어 있습니다.


• Dynamic Adaptive Streaming over HTTP 

• ISO 23009-1-2012 MPD and Segment Formats 

• Specification on media content delivery via HTTP-compliant standards.

• Defined support for ISO Base Media File Format and MPEG-2 Transport Streams. 

• In practical terms, this equates to H264 and AAC

• DASH content comprises of a Media Presentation Description and associated content segments. 

• Uses XML schema.

• Similar to Apple’s HTTP Live Streaming (HLS), DASH contains a more comprehensive feature set.

'Develop Issue > DRM' 카테고리의 다른 글

widevine이란 무엇인가  (0) 2017.09.04

1. 카톡 친구 or 채팅목록에서 상단의 검색창에 데일리웹툰봇을 검색하셔서 친추하시면 됩니다.



2. 하단의 버튼들중 보고싶은 웹툰 회사를 눌러줍니다. (현재 레진/네이버/다음/네이트 지원 중)


3. 예를들어 네이버를 누르게 되면 오늘 네이버에 업데이트되는 웹툰들이 주르륵 버튼형태로 다시 나오고,

여기서 선택만하시면 바로 웹툰으로 이동할수있는 링크가 제공됩니다






네.. 제가 개발했습니다






다른 환경에 있던 스프링 프로젝트를

내 개발환경으로 끌어들이니 메이븐 pom.xml에서 Missing artifact 에러가 발생했다..

한참 이유를 찾아 다녔는데

<type> 엘리먼트에 대한 속성을 지정해주지 않았기 때문이었다.

메이븐을 통해 라이브러리 의존성을 지정해 줄 때,

경우에 따라 어떤 메이븐 라이브러리는 pom에 정의된 dependency를 받아오게끔 구성되어 있다..

이런 라이브러리를 적용할때 <type>pom</type>을 빼먹으면

jar를 찾을 수 없어서 에러가 발생한다.


예시)

<!-- https://mvnrepository.com/artifact/com.github.oshi/oshi-dist -->

<dependency>

    <groupId>com.github.oshi</groupId>

    <artifactId>oshi-dist</artifactId>

    <version>3.4.0</version>

    <type>pom</type>

</dependency>


참고)

https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

http://knight76.tistory.com/entry/maven-type-pom


몇장없긴한데

정말 필요하신분들에게 드립니다.

티스토리 초대장 필요하신분은 간단하게 이용목적이랑 댓글로 달아주세요~

'일상' 카테고리의 다른 글

주니어 개발자!! 카카오 면접 후기  (2) 2017.04.25

crontab은 일정 시간동안 정해놓은 패턴을 반복하여 프로그램을 제어 할 수 있는 리눅스의 기능이다.

이를 활용하면, 일정시간마다 실행되어야하는 프로그램들을 간편하게 처리 및 관리해 줄 수 있다.

(마치 윈도우 기반 서버의 작업 스케줄러와 유사하다고 보면된다..)

프로젝트 중, 일정시간마다 php를 실행시켜줘야하는 기능을 구현해야 했는데

이를 통해 빠르게 해결 할 수 있었다.



1. 우선 php엔진이 어느 위치에 존재하는지 확인한다.

# whereis php 


2. crontab을 편집하기 위한 명령어 입력한다. (vi로 동작함)

# crontab -e 


3. 2.를 통해 오픈된 문서에 crontab 룰에 맞춰서 명령어를 작성해준다.

10 * * * * /usr/bin/php -q /.../process.php

맨 앞의 5개 파라미터(* * * * *)은 각각 분, 시, 일, 월, 요일(각 파라미터별 입력범위 : 00~59, 00~23, 00~31, 01~12, 0~7)을 의미한다.

즉 상기 명령어는 각 시간별 10분에 실행하라는 뜻이다.

하지만, 시간별 10분이 아닌 "10분 마다" 실행을 하려면

 */10 * * * *를 입력한다.

그 다음 파라메터는 php엔진의 위치, -q는 실행하겠다는 옵션을 의미한다.

그 다음에 입력된 경로는 실행할 php파일경로다.


4. 기타 명령어들

- crontab 재시작

# /etc/rc.d/init.d/crond restart


- 현재 crontab 리스트 보기

# crontab -l 


- 로그 조회

# tail /var/log/cron


- 작업 종료(사용 시, crontab 명령어들이 사라진다)

# crontab -r 



WAMP로 테스트가 마친 PHP프로젝트를

cent OS로 옮겼더니... 동작이 안되었습니다..


도대체 어디가 문제였을까.. 디버깅을 시도했습니다...

파일 접근(쓰기 / 읽기 등)에 있어서 문제가 발생했더라구요

대체 뭐가문제일까 찾아보았습니다..


파일 권한을 777로도 줘보고, 상위디렉터리까지 권한을 바꿔도 보고

파일을 새로 생성도 해보고,, 이상한 행동들은 다 했습니다..


검색을 열심히 해보니 전부 삽질이었습니다.

문제는 selinux가 실행된 상태였기 때문이었습니다.


selinux란?

-------------------------------------------------------------------------

보안 강화 리눅스(Security-Enhanced Linux, 간단히 SELinux)는 미국 국방부 스타일의 강제 접근 제어(MAC)를 포함한 접근 제어 보안 정책을 지원하는 매커니즘을 제공하는 리눅스 커널 보안 모듈이다. 다양한 리눅스 배포판에 추가할 수 있는 커널 수정 및 사용자 공간 도구들의 모임이다. 보안 강화 리눅스는 보안 결정 진행을 보안 정책과는 별개로 함과 동시에 보안 정책의 영향을 받는 소프트웨어의 양을 간소화하는 것을 시도하는 구조를 이룬다.[1][2] 보안 강화 리눅스의 기반이 되는 주요 개념들은 미국 국가안보국의 일부 초기 프로젝트들로 거슬러 올라간다.

이 보안 모듈은 2003년 8월 8일 버전 2.6을 기점으로 주류 리눅스 커널에 통합되어 있다.

----------------------------------------------------------------------

라고 위키에서 말하는군요

위키출처 : https://ko.wikipedia.org/wiki/%EB%B3%B4%EC%95%88_%EA%B0%95%ED%99%94_%EB%A6%AC%EB%88%85%EC%8A%A4


[해결방법]

지금 실행된 selinux 종료 (재부팅 설정에 따라 부팅하면 다시 켜질수있음)

# setenforce 0


부팅 시 실행하지 않기 설정

# vi /etc/selinux/config

SELINUX=disabled

(부팅때마다 실행할 경우 SELINUX=enforcing)


관련된 이슈나 정보가 있으면 댓글로 알려주세요~


Fossology는 PHP기반의 웹 UI 인터페이스를 제공하고 있습니다.

주소는 디폴트값으로 설정되어있다면 "[서버host주소]:8081/repo" 입니다.


그런데 이걸로 무언가 더 업데이트하거나 서비스를 만들어보고 싶다면

누구나 UI부터 바꾸어주고싶다는 생각이 들 것입니다.


저번 포스트에서 이러한 웹페이지들이 어느 경로에 위치해 있는지

간단히 적었습니다만... 경로는 찾긴 찾았으나 도대체

무엇을 어떻게 수정해야 할지 감이 오지 않습니다.


Fossology 웹페이지를 조금만 연구해보신들이라면 눈치채셨겠지만,

URL에 mod라는 get Parameter를 넘겨줌으로써 사용자가 원하는 링크를 처리하는 것을 발견하셨을 겁니다.



바로 이런것 처럼요. 예를들어서 웹페이지에 처음들어갔을때 홈화면은 mod=home 입니다.

mod에 값을 넣어서 요청하면, 각 값마다 반응하여 이에 적합한 페이지를 리턴해주는 기능을 수행하는 페이지들이 있습니다.

하나의 페이지에는 여러개의 모듈(php파일)들이 모여 구성되어 있으므로,

이걸 하나로 묶어주는 파일을 찾으면 작업이 수월할거라고 생각됩니다.

그렇다면 하나로 묶어주는 파일이 어떻게 mod라는 쿼리를 받아서 처리하는지 안다면,

자신이 원하는 페이지를 빠르게 찾아내어 수정이 가능할 것입니다.


찾아보니 다음과 같군요


문자열을 검색하는 프로그램을 통해, mod라는 쿼리에 대해 어떻게 값을 가져오는지 알 수 있었습니다.

아, 알고봤더니 const NAME = {VALUE};를 통해 값을 가져오는 것이었네요!

예를들어 우리가 처음 웹에 들어갔을때 접하는 메인화면의 경우

mod=home을 get parameter로 요청하게 되고,

이는 HomePage.php라는 녀석이 응답하게 됩니다.

사용자가 쿼리값을 home으로 주었으니, 이 페이지는 결론적으로 home.html.twig라는 웹페이지를 리턴하게 되네요..

즉, 메인화면을 수정하고 싶으면 home.html.twig의 내용 및, home.html.twig에서 import(?)하고 있는 php모듈들을

원하시는대로 수정하시면 되겠네요!

이상 하나의 웹페이지를 구성하게 되는(사용자가 보낸 url의 쿼리값을 받아내는) 페이지를 알아보았습니다.

질문이나 제안은 댓글로 남겨주세요~




추가)

어떻게 보면 const Name = {VALUE};의 내용을 가지고있는 파일들의 갯수가 즉, Fossology에서 기본으로

제공하는 웹환경의 총 페이지 갯수가 얼추 되겠네요, 제가 검색한 경우에는 총 31개가 나왔습니다.

(www/ui 디렉터리부터 검색)

'Develop Issue > Fossology' 카테고리의 다른 글

fossology web 편집하기  (0) 2017.11.10
Fossology란 무엇인가  (0) 2017.11.09


fossology web 편집, 수정하기


이 포스팅에서는 localhost:8081/repo로 접속했을 때 나오게되는 fossology 웹 인터페이스 페이지를

수정하기 위한 경로에 대해서 알아봅니다.


우선 웹페이지들이 담긴 디렉터리를 찾아 들어갑니다

fossology가 패키지에 의해 설치 되었다면, 

fossology 웹 루트는 "/usr/share/fossology/www/"이며, 

소스 설치가 사용 된 경우 웹 루트는 '/usr/local/share/fossology/www/'입니다.

저같은 경우에는 Docker를 이용하여 설치했기 때문에 후자의 경로로 들어갔습니다.


현재 다른 부분에 대한 내용도 파악중인 부분이긴 하지만,

여러분들이 /repo페이지에서 보게되는 핵심적인 html소스들은 다음과 같습니다.


해당 웹루트 경로에서부터 "ui\template"


우선 여기로 들어가면, twig 확장자가 나오게 됩니다..

해당 내용을 보시면 대체로 우리가 눈에 보이게 되는 html 파일들이 들어있습니다.


html이면 html이지, 뒤에 붙은 twig는 무엇인지 의문을 가지게 됐는데요,

확인해보니 PHP 언어의 템플릿 엔진이라고 합니다..(한국어로 된 정보는 거의 없는것 같네요 -.-;;;)

구태여 twig가 무엇인지 잘 알진 못하더라도, 결국에는 우리가 잘 알고있는 html 소스코드들이 나와있기 때문에

뭔가 부족하고 허접(?)해 보이는 UI를 수정 할 수 있을 것같은 자신감이 듭니다!


fossology에 대한 새로운 정보를 얻게 되면 다시 포스팅 남기겠습니다.

fossology에 대한 자료 자체가 얻기가 힘드네요 ㅜ.ㅜ;;;


참조 url

fossology 웹루트 경로 : http://archive15.fossology.org/projects/fossology/wiki/Config-How_to_Configure_the_FOSSology_site

twig : https://en.wikipedia.org/wiki/Twig_(template_engine)

'Develop Issue > Fossology' 카테고리의 다른 글

Fossology URL query별 접속되는 페이지 알아보기  (1) 2017.11.13
Fossology란 무엇인가  (0) 2017.11.09

FOSSology는 오픈 소스 라이센스 컴플라이언스 소프트웨어 시스템 및 툴킷이다. 비슷한 종류로는 Jninka가 있다.

우리는 이를 활용해서 프로젝트에 어떤 라이센스 및 저작권이 사용되었는지 스캔 할 수 있다. PostgreSQL 기반의 데이터베이스를 사용하며

웹 UI를 통해 워크 플로우를 확인 할 수 있다.. 일단 검색하면 Fossology에 대한 공식 사이트를 확인 할 수 있으며, github를 통해 오픈소스를 받을 수 있다.


설치의 경우 Ununtu 리눅스에 최적화 되어있다..

현재 CentOS에 계속 삽질을 했으나.. 역시나 우분투로 진행하는게 훨씬 나은 것 같다..

Docker로 컨테이너 지원을 하고 있으니, 이를 활용하면 무척 간편하게 설치하여 이용 할 수 있다!

'Develop Issue > Fossology' 카테고리의 다른 글

Fossology URL query별 접속되는 페이지 알아보기  (1) 2017.11.13
fossology web 편집하기  (0) 2017.11.10

+ Recent posts