ETC 23

공변성과 반공변성, 무공변성

스칼라는 공변성(variance)와 반공변성(contravariance), 무공변성(invariance)을 지원한다.이 세 가지 성질에 대해 위키백과 설명을 보면 이해하기 어렵지만, 정리해서 보면 쉽게 이해할 수 있다. 타입 T를 받았을 때, [ +T ] 공변성 : 타입 T를 확장한 타입에 대해서 허용 [ T ] 무공변성 : 타입 T만 허용 [ -T ] 반공변성: 타입 T의 상위(부모) 타입에 대해서 허용 이 포스트에는 스칼라를 이용한 공변성 예제를 살펴보고, ECMAScript를 이용해 간단하게 만들어본 공변성-타입 제한 배열을 적어놓는다. 스칼라를 이용한 공변성 예제스칼라는 언어 레벨에서 세 개의 성질을 지원한다. /** * 예시 클래스. * People

ETC 2018.06.05

Angular, Nginx 프록시 설정

1. Nginx 설정 파일Nginx의 Localtion 설정 파일은 기본적으로 /etc/nginx/conf.d/default.conf 로 되어 있다. Location 설정 파일 위치 및 mime 타입, 로그 등의 설정은 /etc/nginx/nginx.conf 파일에서 설정할 수 있다. 설정 파일을 변경한 경우 적용을 위해 service nginx reload 명령어를 사용할 필요가 있다. 2. Location 설정http -> server 하위에 location을 설정한다. 1) 같은 서버의 다른 포트로 API 서버를 둔 경우 프록시 설정 location /api/test1 { proxy_pass http://localhost:3000; # /api/test1의 하위 호출은 localhost:3000로 ..

ETC 2018.02.26

Data URI, 파일을 문서에 임베드하기

최근 의외로 자주(다시?) 사용하게 되는 것 중 하나로 Data URI를 꼽을 수 있다.Data URI는 data: 접두사가 붙은 데이터 문자열로, 이미지나 영상, 심지어 사운드 파일도 될 수 있다. 1. Data URIMozilla.org의 Data URIs 문서를 살펴보면 Data URI는 아래와 같은 형식을 가진다. data:[][;base64],여기서 은 jpg, png, wav, mp3등 데이터의 형식(MIME 타입이므로 실제로는 image/jpg 같은 형태로 적힌다), base64는 대상 파일을 base64 형식으로 변환한 실제 데이터를 뜻한다. 여기서 base64는 바이트를 아스키 코드 문자열로 변환하는 방식인데,원래 플랫폼 독립적인 형식으로 데이터를 전송하기 위해 만들어졌지만 이 포스트에서..

ETC 2018.02.22