MAC는 Message Authentication code(메시지 인증 코드)의 줄임말로, 메시지를 인증하기 위해서 사용하는 정보다. A 유저가 인터넷으로 연결된 B 유저에게 라고 메시지를 보냈다고 가정해보자. 이 메시지에서 "A"가 보냈다는 것은 매우 중요한 정보를 담고 있으며, 따라서 위조 혹은 변조되면 안 된다. 메시지가 인터넷을 가로지르면 아래의 두 가지 보안 위험에 노출 된다. 1. 메시지 변조 1. 메시지 위조
몇년 전부터 MSA를 인터넷 서비스에 적용하기 위한 노력을 하고 있다. 특히 컨테이너를 기반으로 하는 MSA에 관심이 있다. MSA는 클라우드 환경이 일반화되면서 주도적인 개발모델이 됐다. 클라우드는 네트워크, 컴퓨터 메모리를 통합해서 하나의 컴퓨터처럼 보이게 한다. 기존에 서버 단위로 실행되는 애플리케이션들은 클라우드 환경에서 마치 프로세스처럼 작동을 한다. 그나마 VM(가상머신)기반의 클라우드에서는 서버를 사용한다는 느낌이 어느 정도남아 있었는데, 컨테이너로 넘어오면서는 이러한 느낌마저 사라져 버렸다.
Programming in Scala Second Edition을 가지고 스칼라를 공부한다. 여기에 공부한 과정을 정리 한다. 번역판이 있어서 구입을 하긴 했는데, 인간적으로 너무 두꺼워서 공부하기가 쉽지 않다. 그냥 영문 PDF 판을 위주로 공부하다가 해석이 힘든 부분만 번역문서를 읽을 생각이다. PDF뷰어로 okular 을 사용하는데, 가볍고 정말 좋다. 1. 1. 1.
Scala는 "Scalable language"(확장 가능한 언어)의 줄임말이다. 이 이름은 언어의 디자인 특성을 그대로 반영해서 지어졌다. 스칼라는 스크립트 작성에서 부터 대형 시스템의 구축에 이르기 까지 광범위함 작업에 사용 할 수 있다. 스칼라는 쉽게 배울 수 있다. 표준 자바 플랫폼에서 실행되며, 자바 라이브러리들을 그대로 사용 할 수 있다. 자바의 포넌트들을 결합한 스크립트를 작성하기에 좋은 언어다. 또한 대규모 시스템과 재사용 가능한 프레임워크를 구축 할 때도 큰 강점을 발휘한다.
웹 푸시 알림을 이용하면 사용자는 자신이 좋아하는 사이트에서 올라오는 컨텐츠를 적시에 확인 할 수 있다. 사이트가 각 개인을 위한 맞춤 컨텐츠를 제공하고 있다면, 유저는 적당한 시간에 원하는 컨텐츠를 읽을 수 있을 것이다. 이는 사이트에 대한 유저의 참여를 높일 것이다. 푸시 API를 이용해서 사용자에게 컨텐츠를 알려주는 방법을 살펴보자.푸시는 백그라운드에서 브라우저에 의해서 돌아가는 서비스 워커가 처리한다. 사용자가 알림을 클릭하거나 알림 창을 닫는 등의 상호 작용을 할 때만 푸시 코드가 실행이 된다. 즉 평소에는 베터리를 사용하지 않는 다는 이야기인데, 모바일 환경에서 이것은 매우 중요한 특징이다.
Joinc Distributed File System이다. 오브젝트 스토리지를 위한 분산 파일 시스템과 블럭 스토리지를 위한 분산 파일 시스템을 구현한다. 일반 파일 시스템에 마운트 해서 사용 할 수 없다. ls, copy, rm 과 같은 일반적인 파일 시스템 작업을 할 수 없다. 이 작업을 위해서는 FUSE와 같은 고수준 파일 시스템이 필요하다. HDFS는 불변 파일(Immutable file)만 저장된다. 이미 저장된 파일은 수정 할 수 없다.
일단 scala를 설치해야 겠다. apt-get으로 간단하게 설치 할 수 있다.# apt-get install scala스칼라는 인터프리터 언어처럼 사용 할 수 있다. 프롬프트에서 "scala"를 입력하면 인터프리터가 뜬다. python 인터프리터와 비슷한 느낌이다.$ scalaWelcome to Scala 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_121).Type in expressions for evaluation. Or try scala> 여기에서 그냥 코드를 입력하면 된다. 1+2를 입력해보자.scala> 1+2
Connected Car는 인터넷에 연결 할 수 있는 수단을 가지고 있으며, 무선 근거리 통신을 위한 수단도 가지고 있다. 이를 통해 차량은 인터넷을 이용해서 외부에 있는 정보에 접근할 수 있을 뿐만 아니라, 차량 내부의 다른 기기들의 정보에도 접근 할 수 있다.1996년 제너럴 모터스(General Motors)사가 OnStar와 함께 첫번째 컨넥티드 카라고 할 수 있는 Cadillac Deville, Seville, Eldorado를 개발 했다. 이들 컨넥티드카의 목적은 사고가 발생했을 때, 안전을 확보하고 긴급구호를 제공하는 것이었다. 사고가 났을 때, 운전자와 승객의 생존율은 얼마나 빠르게 사고가 보고되고, 의료반이 사고현장에 도착하는지에 달려 있기 때문에 우선적인 기능이였을 것이다.
44 POSTS HERE
HMAC
MAC는 Message Authentication code(메시지 인증 코드)의 줄임말로, 메시지를 인증하기 위해서 사용하는 정보다. A 유저가 인터넷으로 연결된 B 유저에게 라고 메시지를 보냈다고 가정해보자. 이 메시지에서 "A"가 보냈다는 것은 매우 중요한 정보를 담고 있으며, 따라서 위조 혹은 변조되면 안 된다. 메시지가 인터넷을 가로지르면 아래의 두 가지 보안 위험에 노출 된다. 1. 메시지 변조 1. 메시지 위조
API Gateway
몇년 전부터 MSA를 인터넷 서비스에 적용하기 위한 노력을 하고 있다. 특히 컨테이너를 기반으로 하는 MSA에 관심이 있다. MSA는 클라우드 환경이 일반화되면서 주도적인 개발모델이 됐다. 클라우드는 네트워크, 컴퓨터 메모리를 통합해서 하나의 컴퓨터처럼 보이게 한다. 기존에 서버 단위로 실행되는 애플리케이션들은 클라우드 환경에서 마치 프로세스처럼 작동을 한다. 그나마 VM(가상머신)기반의 클라우드에서는 서버를 사용한다는 느낌이 어느 정도남아 있었는데, 컨테이너로 넘어오면서는 이러한 느낌마저 사라져 버렸다.
Golang 코드 모음
Scala
Programming in Scala, Second Edition
Programming in Scala Second Edition을 가지고 스칼라를 공부한다. 여기에 공부한 과정을 정리 한다. 번역판이 있어서 구입을 하긴 했는데, 인간적으로 너무 두꺼워서 공부하기가 쉽지 않다. 그냥 영문 PDF 판을 위주로 공부하다가 해석이 힘든 부분만 번역문서를 읽을 생각이다. PDF뷰어로 okular 을 사용하는데, 가볍고 정말 좋다. 1. 1. 1.
A Scalable Language
Scala는 "Scalable language"(확장 가능한 언어)의 줄임말이다. 이 이름은 언어의 디자인 특성을 그대로 반영해서 지어졌다. 스칼라는 스크립트 작성에서 부터 대형 시스템의 구축에 이르기 까지 광범위함 작업에 사용 할 수 있다. 스칼라는 쉽게 배울 수 있다. 표준 자바 플랫폼에서 실행되며, 자바 라이브러리들을 그대로 사용 할 수 있다. 자바의 포넌트들을 결합한 스크립트를 작성하기에 좋은 언어다. 또한 대규모 시스템과 재사용 가능한 프레임워크를 구축 할 때도 큰 강점을 발휘한다.
Web Push Notifications
웹 푸시 알림을 이용하면 사용자는 자신이 좋아하는 사이트에서 올라오는 컨텐츠를 적시에 확인 할 수 있다. 사이트가 각 개인을 위한 맞춤 컨텐츠를 제공하고 있다면, 유저는 적당한 시간에 원하는 컨텐츠를 읽을 수 있을 것이다. 이는 사이트에 대한 유저의 참여를 높일 것이다. 푸시 API를 이용해서 사용자에게 컨텐츠를 알려주는 방법을 살펴보자.푸시는 백그라운드에서 브라우저에 의해서 돌아가는 서비스 워커가 처리한다. 사용자가 알림을 클릭하거나 알림 창을 닫는 등의 상호 작용을 할 때만 푸시 코드가 실행이 된다. 즉 평소에는 베터리를 사용하지 않는 다는 이야기인데, 모바일 환경에서 이것은 매우 중요한 특징이다.
JDFS
Joinc Distributed File System이다. 오브젝트 스토리지를 위한 분산 파일 시스템과 블럭 스토리지를 위한 분산 파일 시스템을 구현한다. 일반 파일 시스템에 마운트 해서 사용 할 수 없다. ls, copy, rm 과 같은 일반적인 파일 시스템 작업을 할 수 없다. 이 작업을 위해서는 FUSE와 같은 고수준 파일 시스템이 필요하다. HDFS는 불변 파일(Immutable file)만 저장된다. 이미 저장된 파일은 수정 할 수 없다.
2.First Steps in Scala
일단 scala를 설치해야 겠다. apt-get으로 간단하게 설치 할 수 있다.# apt-get install scala스칼라는 인터프리터 언어처럼 사용 할 수 있다. 프롬프트에서 "scala"를 입력하면 인터프리터가 뜬다. python 인터프리터와 비슷한 느낌이다.$ scalaWelcome to Scala 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_121).Type in expressions for evaluation. Or try scala> 여기에서 그냥 코드를 입력하면 된다. 1+2를 입력해보자.scala> 1+2
Connected Car
Connected Car는 인터넷에 연결 할 수 있는 수단을 가지고 있으며, 무선 근거리 통신을 위한 수단도 가지고 있다. 이를 통해 차량은 인터넷을 이용해서 외부에 있는 정보에 접근할 수 있을 뿐만 아니라, 차량 내부의 다른 기기들의 정보에도 접근 할 수 있다.1996년 제너럴 모터스(General Motors)사가 OnStar와 함께 첫번째 컨넥티드 카라고 할 수 있는 Cadillac Deville, Seville, Eldorado를 개발 했다. 이들 컨넥티드카의 목적은 사고가 발생했을 때, 안전을 확보하고 긴급구호를 제공하는 것이었다. 사고가 났을 때, 운전자와 승객의 생존율은 얼마나 빠르게 사고가 보고되고, 의료반이 사고현장에 도착하는지에 달려 있기 때문에 우선적인 기능이였을 것이다.