728x90
하둡 개발환경과 맵리듀스
찾아보기
- 상당히 어렵다. 😀😀😀😀😀
- 아파치 스파크, 아파치 제플린
- 맵리듀스 알고리즘
데이터 마이닝
과학 산업 및 기타 여러 응용분야의 문제를 해결하기 위한 것
- 데이터 마이닝
- 빅데이타
-> 데이터 과학으로 불리게 됨
데이터 모델링
핵심은 데이터 모델을 만드는 것 -> 데이터를 요약하는 것 -> 두드러진 특징만 남기는 것
빅데이터 분석
빅데이터 분석을 위한 모델링은 엄청난 양의 데이터를 빠르게 처리하는 것이 관건
- 분산
- 저장
- 병렬처리 / 분석
데이터 관련 직군
요새 증가를 하고 있습니다.
하둡의 경험을 많이 요구하며 경력을 선호한다.
하둡 아키텍처
분산 처리 및 빅데이터를 지워하기 위한 아키텍처를 가지고 있다.
하둡 에코시스템
- 맵리듀스 프로그래밍
- 배치 처리
- 빅데이터 SQL 쿼리
- 맵리듀스 추상화 스크립트
- 인메모리 OLAP
- 스트리밍 분석
- 머신러닝
블록체인
- 이더리움
- 하이퍼레저 패브릭
어떤 체인을 사용할 것인가?
- Public chain 은 누구나 접근 가능
- 진정한 의미 탈 중앙화
- 데이터를 저장하는 것이 매우 비쌈
- 트랜잭션 마다 비용
- 복잡한 스마트 계약 비용
- private chain DB 준하는
- 사전 약속 사용자
- Hyperledger fabric
구조
프론트엔드
백엔드
ABI <-> 이더리움 네트워크
- ABI 는 API 와 크게 다르지 않다.
메타 마스크
- 쉽게 사용할 수 있는 크롬 익스텐션
- 키를 보관하고 서명 안전하게 하는 역할
- WEb3 를 쉽게 서명
- 개발자는 추상화된 API 이용 가능
프론트엔드 블록체인 통신
- Web3.js
- private 서명은 가능
- 하지만 메타 마스크 서비스 이용이 안전
- 지갑으로 ETH 전송과 스마트 계약 통신을 통해 데이터 가지고 오는 것도 가능
ABI
- Application Binary Interface
- solc
How to deploy
바이트 코드와 abi를 이용해서 배포
이더리움
제일 중요한 modifier Payable modifier
- 이더리움 전제
- 핵심 로직은 이더리움 이용 결제
- 입금 관련 로직을 만들고 싶으면 payable modifier 를 붙여준다면 구현 가능
- 모임 통장 만들기, 경매, 안전 거래
- 핵심 로직 -> payable modifier
블록체인 영상 저장
- 이더리움 블록 크기 1-8
- 저장 가능?
- 텍스트라도 200개 이상 저장하는 것은 어렵다
- 방법은?
- 일반적으로 파일을 정합성을 확인할 때 해시값을 이용
- 해시값을 블록체인에 저장한다면
이더리움 vs 자체 코인
- 화폐가치는 얼마나 신용하지에 따라서 결정
- 코인 가치는 사람들의 신용 따라서 결정
- 이더리움 많은 사람들이 사용하기 때문에 신용도가 높고 가치도 높다
- 우리가 만든 자체 코인은 자유도가 높지만 신용도는 매우 낮다.
- 하지만 사람들은 가치를 떠나서 그냥 받는 것을 좋아하기도 한다.NFT?
Wrapper Class
- Web3j 를 이용해서 Smart Contrat 통신을 위해 Wrapper 생성
- 컴파일된 바이너리 부터 Wrapper Class 를 생성
- 컴파일된 바이너리가 변경된다면 다시 만들어야 한다.
- 주석 공백을 포함하여 어떤것이 바뀌어도 Wrppaer Class 는 다시 만들어야 한다.
- Jenkins 같은 자동화 빌드 도구도 좋음
유저가 블록체인을 불편해 할떄
- 서비스 제공자가 별로 키를 보관하고 관리해줄 수 있다.
- 신규 유저 -> 지갑 생성 보관
- 로그인 인증을 통해서 유저 확인하고 대신 서명
- 대부분 유저는 블록체인 이해가 어렵다.
프론트 vs 백엔드
- 완전한 탈 중앙화를 추구 한다면 프론트 엔드 유저 서명
- 하지만 유저는 익숙하지않음으로 이를 보완하려면 백엔드 처리를 해주어야 한다.
어떤 네트워크를 사용할 것인가?
- 우라먼 사용할 수 있는 Private 네트워크를 구성하는 것
- Infura 와 같은 Public 테스트텟도 많다.
- 이더리움 메인넷과 동일한 테스텟을 사용하는 것도 가능하지만 실서비스는 메인넷에 배포
728x90
'SSAFY' 카테고리의 다른 글
나름 CS 상식(?) (0) | 2021.10.18 |
---|---|
병렬 분산 알고리즘 구현 ( 이론 ) (0) | 2021.08.25 |
[ SSAFY ] 캐싱의 개념과 적용 (0) | 2021.08.24 |
[SSAFY] 산업혁명 (0) | 2021.08.17 |
[SSAFY] TDD (Test Driven Dev) (0) | 2021.08.12 |