Book Review
[2016/02/16] 나는 프로그래머다_두번째 노트 (2부)
The uprooted
2016. 2. 16. 23:34
“임백준, 정도현, 김호광 - 나는 프로그래머다 / 2부 :기술 (4~7장)"
[4장 - 개발자에게 다가가려는 MS의 눈물 나는 노력]
“스파크와 빅데이터"
- 스파크(spark)는 실시간 빅데이터 처리를 위한 솔루션이다. 오픈 소스로 공개되었으며, 가장 큰 장점은 메모리를 병렬로 사용하여 느린 하둡(Hadoop)보다 최대 10배 이상의 고속 처리가 가능하다. (즉, 실시간 처리 분야에서 주목 받는 솔루션이다.) MLib 등 머신러닝 라이브러리와 잘 통합되는 것이 특징이다. 단점으로는 메모리가 깨지는 등 종종 불안한 모습을 보인다거나 버전마다 안정된 라이브러리 조합을 찾아야 한다는 것이다.
- http://spark.apache.org/
“MONO"
- MS의 기술로 닷넷 프레임워크의 오픈 소스 버전
- 닷넷 프레임워크는 윈도우 종속적인 기술이라 OS가 다른 리눅스 등에서 사용할 수 없었다. ECMA 표준으로 닷넷 프레임워크와 호환성 있는 기능이 MONO.
[5장 - 빌드에서 새로운 MS를 보다]
“IoT"
- 인터넷에 연결된 사물을 흔히 의미하지만, 임베디드 개발의 입장에선 ARM 이하 CPU에서 JSON 통신, HTTP 커넥티비티가 있는 것으로 이해된다.
- 사물인터넷이 대중화가 되기 힘들다고 본다. 비쌀 뿐더러 백색 가전, 자동차 회사 등이 헤게모니를 포기해야 하기 때문이다. 또한, 제품들이 통합 관리되고, 보안에서 개인이 안심할 수준이 되려면 몇 년의 시간과 노력이 필요한 분야이다.
“이벤트 허브"
- 모든 데이터를 한곳에 모아주는 것. 일종의 MQ Message Que. Que로 클러스터를 만드는 것인데, 발생하는 이벤트를 모두 여기로 던지면 리얼타임 분석 툴을 제공해 주겠다는 것.
“컴파일"
- 보통 컴파일러는 프로그래머의 코드를 기계어로 변경한다. 이 과정에서 논리적 오류나 문제가 발생하면 프로그래머는 디버그 모드로 실행 파일에 더 많은 정보를 붙여 에러를 추적한다. 이 과정에는 상당한 스킬이 필요하고, 에러가 난 변수나 각종 코드를 실시간으로 수정하는 것이 아니라 다시 빌드를 해야 한다. MS 로즐린 CTP의 경우 IDE를 통한 개발 과정에서 다양한 정보를 전달하고, 실시간으로 수정가능한 인터페이스를 제공한다.
[6장 - 아시아 두 번째 AWS 커뮤니티 히어로와 함께 하는 클라우드 컴퓨팅 이야기]
“Venom"
- 베놈은 클라우드 서비스가 가상 컴퓨터 플랫폼으로 사용하고 있는 XEN의 가상 플로피 드라이브 코드의 보안 취약점 또는 이를 노린 공격 방법을 의미한다. 같은 물리적 서버 안의 개별 클라우드 VM 호스트를 컨트롤 할 수 있는 root 권한을 획득하게 하는 것이 치명적인 문제다.
“클라우드"
- 컴퓨터나 저장소와 같은 리소스를 네트워크를 이용해 사용하는 서비스를 총칭
- IaaS (Infrastructure as a Service) : OS 레벨의 서비스와 로드벨런서와 같은 네트워크를 제공하는 서비스. 자유도가 높지만 관리가 번거롭고 가격이 비싸진다는 단점
- PaaS (Platform as a Service) : 런타임 실행 환경, 데이터베이스, 웹 서버와 같은 애플리케이션 실행 계층을 제공하는 서비스. OS 패치 등을 신경쓰지 않아도 되기 때문에 애플리케이션에 집중할 수 있고, 비용도 IaaS보다 저럼
- SaaS (Software as a Service) :소프트웨어 자체를 서비스로서 제공하는 형식의 클라우드 서비스. 웹 메일, 구글 독스, 드롭박스 등
“클라우드의 장점"
- 하드웨어나 인프라에 대한 신경을 쓰지 않아도 된다. 그리고 필요한 만큼 요금을 지불하고 쓸 수 있다.
- 이로 인해, 소프트웨어 개발자들이 개발에만 집중할 수 있게 한다.
“DevOps"
- 개발과 운영을 합성해서 만든 신조어. 개발, 빌드, 배포, 테스트를 하나의 사이클로 만들어 끊임없이 반복하는 개발 프로세스와 이를 실천하기 위한 기술, 툴링 등을 총칭하는 개발 패러다임. 인프라 구성 작업이 단순한 설정 작업에 그치는 것이 아니라 서버 애플리케이션의 릴리즈에 따른 애플리케이션 버전 관리, 데이터 마이그레이션, 그리고 이를 테스트하기 위한 버전별 자동화 테스트에 이르기까지 복잡한 일련의 작업들이 자동화되어 빠르고 정확하게 이루어져야 한다는 점에서 클라우드 컴퓨팅과 접점을 갖게 된다.
“AWS에서 제공하는 서비스들"
- Redshift : 고성능으로 대규모 데이터를 관리하기 위한 컬럼형 데이터베이스 서비스. Lamda를 통해 데이터를 수집할 수도 있고 S3를 이용해 저장된 데이터를 읽어올 수도 있다. JDBC와 ODBC를 제공하므로 기존의 익숙한 SQL 클라이언트를 사용할 수도 있다.
- S3(Simple Storige Service)는 VM 서비스인 EC2와 함께 AWS의 대표적인 서비스. 데이터가 여러 시설과 디바이스에 중복 저장됨으로써 99.99999999%에 가까운 객체 내구성을 제공한다.
- Route53 : 도메인을 IP 주소로 변경해주는 DNS 서비스. 지연시간 기반 라우팅, 지역 DNS, 가중치 기반 라운드 로빈을 비롯해 다양한 라우팅 유형을 통해 전역적으로 트래픽을 관리할 수 있게 한다.
[7장 - 핀테크, 메가 트렌드인가 버즈워드인가?]
“핀테크”
- 소프트웨어를 이용해서 금융 서비스를 제공하는 비즈니스 일반
- 금융 시스템을 효율적으로 만들기 위해서 테크놀로지를 활용하는 회사드로 구성된 경제 산업
- 핀테크의 하위범주 : 크라우드 펀딩, P2P 대출, 알고리즘 자산관리, 씨메틱 투자, 지불 서비스, 데이터수집, 신용평가, 교육대출, 디지털 화폐, 주식거래, 운전자본관리, 사이버 보안, 금융 데이터 분석을 위해 퀀텀 컴퓨팅을 활용하는 분야 등
- 간편결제와 규제에 대한 이야기가 전부가 아니다.
- 의구심, 상상력, 소프트웨어 기술
“랜딩클럽"
- 돈을 빌리고자 하는 하는 사람과 돈을 빌려주고자 하는 사람을 컴퓨터 시스템을 통해 연결시켜주는 서비스. 일종의 매치메이킹 회사.
“로빈후드"
- 주식거래 서비스. 수수료가 0%. 모바일과 웹을 통해 주식을 거래하는 이들이 원하는 기능을 정확히 제공하고, 수수료 없이 주식거래 서비스를 제공한다. 대신 아직 주식에 투자되지 않은 금액에서 나오는 이자와 마진 거래를 수행하는 고객들이 빌려가는 돈에 나오는 이자에서 수익을 올린다.
“사기탐지시스템"
- 빅데이터의 가장 핵심적인 분야. 디지털 데이터를 기계적으로 분석해서 통찰력을 제공하는 모든 종류의 행위. 핵심은 통계와 인공지능.
- 대량의 데이터를 대상으로 한 탐지, 확인, 오류정정을 하기 위한 데이터 프로세싱 기술
- 의심스러운 행동패턴을 검출해내기 위한 입력값에 대한 패턴인식 자동화
- 사기 행동에 대한 식별 자동화를 위한 머신러닝
- 샘플데이터로부터 의심스러운 패턴을 학습하여 이를 실시간 탐지에 사용할 수 있도록 하는 딥러닝
“핀테크 사업 영역"
- 개인 자산 관리
- 클라우드 펀딩
- 머신러닝 기반의 자산 투자
- 비트코인과 같은 화폐 관리
- 지급 결제
- 은행업 및 금융 데이터 분석
- 자본시장 관련 기술
- 금융자산 관리