레디스를 가장 쉽게 실습할 수 있는 것이 "채팅"
카카오톡, 라인에서 다 쓴다. 
인증 정보를 보관할 때 ( JWT 토큰 ) : 데이터를 저장할 때 만료 시간 지정 가능. 
랭킹 ( 게임에서 필요한 실시간 랭킹 ) 

 

  1. 관심사 분리

(코드 레벨에서 관심사 분리, 함수 기능별로 쪼개면 된다.) (함수는 함수끼리 독립적이고, 서로 엮여있을 필요없다.) (백엔드 Servlet filter - controller -service -repository)

  • 각 계층에서 어떤 일을 하는지 관심없다.
  • 각 계층에서 수정이 필요할 때 다른 계층에 영향을 미치지 않는다.
  • 내가 알아야 하는 건 오직 내가 호출하는 녀석뿐이다.
  • 주니어 개발자도 쉽게 기능 개발을 위해서 투입될 수 있다.
  • 코드를 이상하게 짰다고 해서 다른 계층과 기능으로 전파되지 않는다.
  • 엔터프라이즈 코드(서버 코드)가 어떻게 동작하는지 개별 개발자의 관심사가 아니다.
  • 문제가 생겨도 문제가 생긴 지점을 찾기 쉽다.
  • 대규모 프로젝트 개발에 유리하다.

( 개발자 간의 관심 분리 )

  • 프론트엔드가 아직 안 나와서 테스트를 못하고 있다...?
  • Swagger 쓰는 이유? 백엔드, 프론트엔드 없이 테스트 해볼 수 있다. / 역할 분리

블랙박스식 개발

  • 과정은 중요하지 않고, input, output에 집중한다.
  • 정상적으로 동작하는지만 본다.
  • 장점 : 리팩토링이 쉽다, 병목 지점을 찾아내기 쉽다. 기능의 분리가 쉽다.

30만 동시접속하는 배달 주문서비스 시스템을 만든다 어떻게 만들래? 로드 벨런서를 놓고 게이트 웨이를 넣고 분산 네트워크로 만든다.

  1. 레디스 DB

관계형 데이터베이스를 느리게 하는 것이 무엇일까? 관계가 복잡할 수록..! 느려진다. ( 댓글 , 좋아요, SNS등등 ) 레디스가 빠른 이유, 관계가 복잡할수록 key-value 구조라 빠르다. -sns는 follow와 게시글의 관계가 핵심이다. -하지만, 이를 관계형 db로 follow table과 feed table을 만든다면?

  • 데이터베이스의 병목으로 서비스는 곧 마비가 될 것이다.

왜?

  • 내가 팔로우하는 유저들의 리스트를 가져와서, select로 feef in uid(1,3,6...)
  • 댓글의 대댓글 ? 대댓글의 가져오고, 좋아요도 가져온단다면... 서버는 망가질 것이다.

그래서redis가 강점을 가진다. 왜? 관계가 없는 비관계형 DB선택 -데이터의 저장은 오직 그것의 관심사만? -혹시나 발생하는 관계를 합치는 것은 DB가 아니라 API 서버가 전담한다. -왜? API 서버는 병목이 적고 증설이 가능하니까! -DB는 대개 유일하다.( 전체가 유일한 하나의 덩어리다) follow(key-value)로 넣어둔다. key만 가져오면된다?

'CS > 디지털상식' 카테고리의 다른 글

DSS, OLAP, OLTP, DW  (0) 2020.02.25
빅데이터  (0) 2020.02.25
어셈블리어, 컴파일러, 인터프리터  (0) 2020.02.22
정리해야할 것들.  (0) 2020.01.11

DSS(Decision Support System) : 의사결정 지원 시스템

 

OLTP ( On-Line Transaction Processing )

여러 과정의 연산이 하나의 단위 프로세스(트랜잭션)로 실행되도록 하는 프로세스입니다. 네트워크상의 여러 이용자가 실시간으로 데이터베이스의 데이터를 갱신하거나 조회하는 등의 단위 작업을 처리하는 방식을 말한다. 

 

A 라는 사람이 B 에게 10,000 원을 이체하는 상황을 예로 들어보겠습니다.

1. A 라는 사람의 계좌에서 10,000 원이 인출됩니다.

2. B 라는 사람의 계좌에 10,000 원이 입금됩니다.

 

이 단계는 하나의 프로세스로 이루어져야 하며, 중간에 오류가 발생하는경우 모든 단계를 되돌려야 합니다.

 

 

OLAP ( On-Line Analytical Processing )

대용량 데이터를 고속으로 처리하며 쉽고 다양한 관점에서 추출, 분석할 수 있도록 지원하는 데이터 분석 기술입니다.

이용자가 직접 데이터베이스를 검색, 분석해서 문제점이나 해결책을 찾는 분석형 애플리케이션 개념. 대규모 데이터를 이용한 질의 검색 시 발생한 대량의 결과값을 단순히 사용하기는 어렵다. 데이터를 분석하여, 소비자 패턴, 연령대별의 선호 물품 등을 판별하여 매출에 긍정적 영향을 줄 수 있습니다.

주로 데이터 큐브 형태로 표현됩니다.

 

 

DW ( Data Warehouse )

오랜기간을 통해 추척된 데이터를 하나의 통합 데이터베이스로 구축해 놓은 것을 의미합니다.

 

 

 

'CS > 디지털상식' 카테고리의 다른 글

레디스(관심사 분리)  (0) 2020.04.03
빅데이터  (0) 2020.02.25
어셈블리어, 컴파일러, 인터프리터  (0) 2020.02.22
정리해야할 것들.  (0) 2020.01.11

빅데이터.show
0.08MB

어떻게 할래?

- ADP에 잘나와있는거 같다 이거 참고해서 정리하자. 

- https://www.youtube.com/channel/UCINY8MNBVyQgI5ZPaj1Mf0Q/videos

 

분석 : 평판분석, 텍스트 마이닝, SNS 분석, 클러스터분석

 

7가지 분석. 

감정 분석, 소셜 네트워크 분석 : 비정형 데이터( 댓글, 텍스트등) 분석이다.

 

 

아래 영상을 보고 정리하자.!!! 중요!!!

https://www.youtube.com/playlist?list=PLCui40VmeUnJYQRaYvR9emAfUthzSSLRZ

'CS > 디지털상식' 카테고리의 다른 글

레디스(관심사 분리)  (0) 2020.04.03
DSS, OLAP, OLTP, DW  (0) 2020.02.25
어셈블리어, 컴파일러, 인터프리터  (0) 2020.02.22
정리해야할 것들.  (0) 2020.01.11

 

어셈블리어란 ? 

사용자가 이해하기 어려운 기계어 대신에 명령 기능을 쉽게 연상할 수 있는 기호를 기계어와 1:1로 대응시켜 코드화한 기호 언어.

즉, 기계어지만 사용자가 읽기 쉽게 해놨다.!

어셈블리어 특징 

1. 어셈블리어는 컴퓨터 구조에 따라 달라지는 기계어에 맞춰 각각 다르게 사용된다. 때문에 컴퓨터 CPU마다 각각 다른 타입, 표현을 사용한다. BUT 기본 동작은 동일하다.( 틀린 예제 : CPU마다 사용되는 어셈블리어는 동일 하다. 틀림)

2. 프로그램에 기호화된 명령 및 주소를 사용한다. 

3. 어셈블리어의 명령은 의사며령과 실행명령으로 구분된다. 

4. 사용자가 프로그램을 쉽게 읽고 이해할 수 있어야 한다. 

 

어셈블리어 명령어 방식 

OPerand, OP, Label, 

 

 

컴파일.

고급언어로 작성한 원시 프로그램을 컴파일러가 기계어로 번역하는 작업을 컴파일(Complie)한다

 

컴파일러 언어 : FORTRAN, COBOL, C 

인터프리터 언어 : BASIC, LISP 등이 해당된다. 

 

 

'CS > 디지털상식' 카테고리의 다른 글

레디스(관심사 분리)  (0) 2020.04.03
DSS, OLAP, OLTP, DW  (0) 2020.02.25
빅데이터  (0) 2020.02.25
정리해야할 것들.  (0) 2020.01.11

 

클라우드 

laas - 서버를 운영하기 위해서 서버 자원, IP, Network Storage, 전력 등 인프라를 구축하기 위한 여러가지가 필요하다. laas는 이러한 것들을 가상의 환경에서 쉽고 편하게 이용할 수 있게 서비스 형태를 제공한다. paas,saas 기반이 되는 기술.

paas - 개발자가 씀 , 안정적인 플랫폼(환경)에서 응용프로그램을 개발 할 수 있는 API까지 제공하는 형태 

saas - 깔지 않고 가상서버에서 깔려진 프로그램 쓸 수 있다. ex) 사용자들이 쓰는 이 시스템이 어떻게 동작하는지 알 필요 없다.

 

참조 무결성 - 외래키, null값도 허용된다. 

 

리팩토링

리팩토링(Refactoring)은 소프트웨어를 보다 쉽게 이해할 수 있도록 만드는 작업입니다. 이해하기 쉬운 코드가 수정하기도 쉽기 때문에 수정하기 쉬운 코드를 만든다는 또 하나의 목적 역시 자연스럽게 달성됩니다. 리팩토링은 들어가는 리소스를 최소화하기 위해서 외부 동작의 변화 없이 소프트웨어의 구조를 바꾸는 것을 중심으로 진행이 됩니다.  

 

온라인 플랫폼을 통해 투자자로부터 모집한 자금을 차입자에게 공급하는 형태의 대출사업

 

특징:

1. 은행의 금융상품보다 높은 투자수익을 얻을 수 있다.

2. 대출 실행에 오랜 시간이 소요된다.

3. 신용등급에 영향없이 대출이 가능하다.

4. 상대적으로 낮은 금리로 대출이 가능하다.

 

 

'CS > 디지털상식' 카테고리의 다른 글

레디스(관심사 분리)  (0) 2020.04.03
DSS, OLAP, OLTP, DW  (0) 2020.02.25
빅데이터  (0) 2020.02.25
어셈블리어, 컴파일러, 인터프리터  (0) 2020.02.22

+ Recent posts