데이터엔지니어

웹 애플리케이션

6. HTTP 웹 기본 지식 - URI와 웹 브라우저 요청 흐름

URI 웹 브라우저 요청 흐름 URI(Uniform Resource Identifier) 리소스를 식별하는 통합된 방법 URI UR는 로케이터(Locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. URL : Resource Locator 우상욱이 현재 어디 살고 있다. URN : Resource Name 우상욱 그 자체 중간에 어딘가 이름을 집어넣으면 나오는게 거의 url만 씁니다. URI 단어뜻 Uniform : 리소스 식별하는 통일된 방식 Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음) Identifier : 다른 항목과 구분하는데 필요한 정보 URL, URN 단어 뜻 URL - Locator : 리소스가 있는 위치를 지정 URN - Name : 리소스에 이..

웹 애플리케이션

5. HTTP 웹 기본 지식 - DNS

DNS IP는 기억하기 어렵다. 그리고 문제는 IP는 변경이 될 수도 있다. 그래서 도메인 네임 시스템(Domain Name System)이 생겼다. DNS 서버에 도메인을 등록할 수 있다. DNS 서버에 google.com의 IP를 주세요라고 요청하면, IP를 준다. 그래서 google.com에서 IP가 바뀌면 DNS 서버에 이걸 바꿔놓으면, 전화번호부 처럼 사용할 수 있다. 정리 인터넷 통신 IP(Internet Protocol) TCP, UDP PORT DNS

웹 애플리케이션

4. HTTP 웹 기본 지식 - PORT

PORT : 포트는 배가 도착하는 항구 IP는 서버를 찾는 것 PORT는 애플리케이션을 찾는 것 웹브라우저가 HTML을 만들어서, 100.100.100의 포트 10010번으로 보낸다. 서버에서 어떻게 포트를 알 수 있나? tcp/ip 패킷 만들 때 다 써서 보내니까, 반대로 써서 보내면 되니까 IP는 아파트고, 포트는 몇 동 몇 아파트를 하나의 서버나 PC로 보면 된다.

웹 애플리케이션

3. HTTP 웹 기본 지식 - TCP, UDP

인터넷 프로토콜 스택의 4계층 IP의 단점을 TCP를 살짝 올려서 그걸 보완해주는 역할을 한다고 보면 된다. UDP는 비연결성, 비신뢰성, 순서을 보장해주진 않지만 장점이 있다. 프로토콜 계층 소켓 라이브러리라는 걸 보통 쓰는데, 소켓 라이브러리를 통해서 os 계층에다가 hello라는 메세지를 넘긴다. tcp에서 tcp 정보를 씌우고(녹색 씌우는 느낌) 그 밑에 ip와 관련된 데이터들을 씌웁니다. 이렇게 IP 패킷을 생성하고, 그 안에 IP 정보, TCP 정보, 메시지가 포함 되어있다. 그게 이더넷 프레임을 통해서 나간다. 패킷 : 진짜 패키지(수화물 + 덩어리(버킷)) -> 택배 박스에 데이터 넣듯이 해서 보내는 거랑 비슷 TCP 특징(신뢰할 수 있는 프로토콜) IP만으로 해결이 안됐던 전송 정보를 넣..

웹 애플리케이션

2. HTTP 웹 기본 지식 - 인터넷 통신(IP)

인터넷 네트워크 인터넷 통신 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 내가 한국에 사는데 미국에 있는 친구한테 메시지를 보내야한다. 인터넷 망을 통해서 메시지를 보내야한다. IP(인터넷 프로토콜) 복잡한 인터넷망에서 미국에 있는 친구한테 보내려면 최소한의 규칙 필요 이는 IP 주소를 통해 가능하다. 클라이언트인 내가 IP 주소를 부여받아야한다. 지정한 IP 주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 전달 IP 패킷 정보 그럼 친구가 메세지를 받았으면, 똑같이 한다. 출발지 IP를 넣고 목적지 IP를 넣고 던진다. 노드별로 주소 물어가면서 던지면서 최종적으로 클라이언트에게 다시 OK 메세지를 전달해준다. IP 프로토콜의 한계 비연결성 패킷을 받을 대상이 없거나 서비스 불..

웹 애플리케이션

1. HTTP 웹 기본 지식

HTTP를 배워야하는 이유 HTTP를 웹 기술과 관련된 개발을 오랫동안 하더라도 HTTP에 대해 고민을 많이하게 된다. HTTP 상태 코드는 어떻게 하고 싶을까? 잘못된 자료도 많고, HTTP 스펙을 보자니 실무에 도움이 될까 고민이 있다. 개발자는 평생 HTTP 기반 위에서 개발해야한다. 실무에 꼭 필요한 HTTP 지식 모바일 앱 웹 프론트엔드 백엔드 백엔드 개발자 분들에게 도움이 가장 많이 될 것

웹 애플리케이션

node.js 백엔드 기초

JAVASCRIPT 자바 스크립트는 설치 없이 가능했던 이유? 브라우저에 자체에서 실행이 가능했던 것 그런데, 이걸 내 컴퓨터 혹은 서버에서 돌리는 경우 node.js를 설치해야 자바스크립트 실행 가능 NPM npm(node package manager) 필요한 패키지가 있으면, npm에서 가져와서 쓰면 된다. npm install 패키지명 npm uninstall 패키지명 Install 하면 package.json, package-lock.json에 입력된다. package.json : 대략적인 내용 기록 dependencies에서 설치된 패키지 확인 가능 package-lock.json : 상세 내용 기록 node.modules : 설치한 모듈들이 전부 저장 Express Express는 웹 프레임워..

데이터 엔지니어링/Spark

32. Spark 마무리, 다음 스텝

1. 요약 Spark은 2세대 빅데이터 처리 기술 자체 분산 파일 시스템을 갖고 있지 않음 DataFrame, SQL, ML, Streaming, Graph와 같은 다양한 기능 지원 빅데이터 처리 종합 선물세트 단순히 ETL만 할거라면, Hive 같은 것과 차이가 나지 않는다. 구조화된 데이터 처리라면 SQL을 사용 굳이 데이터프레임으로 readability를 떨어뜨릴 필요가 없다. spark SQL 엔진의 최적화 기능을 사용하기 위해서라도, 웬만하면 SQL로 작성 하지만 어떤 기능들은 SQL만으로도 불가능하니, 데이터프레임과 적절히 조합해서 사용 어떤 경우에는 UDF가 굉장히 유용하게 쓰일 수 있다. 주로 기능적인 부분에 대해 학습 Spark 고급 강의에서는 최적화와 관계된 부분의 심화학습 예정 SPA..

데이터 엔지니어링/Spark

31. Spark EMR, Zepplin

AWS EMR EMR(Elastic MapReduce) 위에서 실행하는 것이 일반적 EMR이란? AWS의 Hadoop 서비스 (On-demand Hadoop) Hadoop(YARN), Spark, Hive, Notebook 등등이 설치되어 제공되는 서비스 기본적으로는 YARN 위에서 돌림 Spark은 Zepplin과 같은 Spark 전용 Notebook과 같이 실행되는 경우가 많다.. EC2 서버들을 worker node로 사용하고(이중 하나가 마스터 노드) S3를 HDFS로 사용 AWS 내의 다른 서비스들과의 연동이 쉬움(Kinesis, DynamoDB, Redshift, ...) Spark on EMR 실행 및 사용 과정 AWS의 EMR(Elastic MapReduce - 하둡) 클러스터 생성 EMR..

데이터 엔지니어링/Spark

30. SparkML Pipeline

모델 빌딩과 관련된 흔한 문제들 트레이닝 셋의 관리가 안됨 모델 훈련 방법이 기록이 안됨 어떤 트레이닝 셋을 사용했는지? 어떤 피쳐들을 사용했는지? 하이퍼 파라미터는 무엇을 사용했는지? 모델 훈련에 많은 시간 소요 모델 훈련이 자동화가 안된 경우 매번 각 스텝들을 노트북 등에서 일일히 수행 에러가 발생할 여지가 많음 (특정 스텝을 까먹거나 조금 다른 방식 적용) ML Pipeline의 등장 모델 훈련 방법 기록, 모델 훈련 시간 소요등의 문제를 해결하기 위해 등장 자동화를 통해 에러 소지를 줄이고 반복을 빠르게 가능하게 해줌 Spark ML 관련 개념 정리 ML 파이프라인이란? 데이터 과학자가 머신러닝 개발과 테스트를 쉽게 해주는 기능(데이터 프레임 기반) 머신러닝 알고리즘에 관계없이 일관된 형태의 AP..

데이터 엔지니어링/Spark

29. SparkML(Classification, 타이타닉 생존 예측 모델)

1. Spark Session Build from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("Titanic Binary Classification example") \ .getOrCreate() 2. Spark read csv data = spark.read.csv('./data/titanic.csv', header=True, inferSchema=True) 3. 데이터프레임 검정통계량 data.select(['*']).describe().show() 4. 데이터 클린업 PassengerID, Name, Ticket, Embarked는 사용하지 않을 예정 (아무 의미가 없음). Cabin도 비어있는 값이 너무 많..

데이터 엔지니어링/Spark

28. Spark ML(Regression, 보스턴 주택값 예측 모델)

1. Spark Session Build from pyspark.sql import SparkSession spark = SparkSession / .builder / .appName("Boston Housing Linear Regression example") / .getOrCreate() 2. Spark read csv data = spark.read.csv('./data/boston_housing.csv', header=True, inferSchema=True) 3. 피처벡터 생성 # VectorAssembler를 import해서 # input이 되는 컬럼 이름은 feature_columns이고 # outputCol을 만들어라, 그것의 이름은 features로 줘라 from pyspark.ml.fe..

우상욱
'데이터엔지니어' 태그의 글 목록 (2 Page)