Software architecture 소프트웨어 아키텍처란, 구성요소들 사이에서 유기적 관계를 표현하고 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙입니다. 즉, 소프트웨어를 여러 모듈로 나누고 모듈간의 규칙을 만들어서 변경에 대응하는 방법입니다. 소프트웨어 아키텍처없이 코드를 작성한다면 초반에는 조금 더 생산성이 높게 개발을 할 수 있지만 프로젝트 규모가 커짐에 따라 생산성이 저하되기 때문에 적절한 소프트웨어 아키텍처를 도입하는 것은 중요합니다. 예를 들어 어떤 코드가 어느 파일에 있는지 예측하기가 어려워지고, 코드를 재활용하기 어려워 비슷한 코드를 매번 작성해줘야합니다. 이런 경우 수정을 하는 경우도 모든 부분을 직접 찾아서 수정해주어야 하는 불상사가 발생합니다. 이러한 소프트웨어 아키텍처는..
OAuth 2.0은 사용자가 자원(예: Google 계정 정보)에 대한 접근 권한을 부여하고 다른 웹 애플리케이션이나 서비스에서 그 자원에 접근할 수 있도록 하는 권한 부여 프로토콜입니다. Google 소셜 로그인은 OAuth 2.0을 기반으로 하며, 사용자가 다른 웹 애플리케이션에 Google 계정을 사용하여 로그인할 수 있도록 합니다. OAuth는 결국 권한 부여 프로토콜이기 때문에 Google이라는 플랫폼에 종속되는 방식이 아닙니다. 이와 같은 인증 방식을 제공한다면 Google 외의 다른 플랫폼에서도 OAuth 방식을 사용하여 로그인을 할 수 있습니다. (facebook, apple, naver, kakato, etc..) 이번 프로젝트에서는 google 접근 외의 다른 권한이 전혀 필요하지 않기..
대규모 분산 처리의 프레임워크 다수의 컴퓨터에 데이터 처리를 분산하기 위해서는 실행을 관리하기 위한 프레임워크가 필요하다. 구조화 데이터와 비구조화 데이터 구조화 데이터 스키마가 명확하게 정의된 데이터 SQL로 집계 비구조화 데이터 자연 언어로 작성된 텍스트 데이터와 이미지, 동영상 등의 미디어 데이터를 포함한 스키마가 없는 데이터 SQL로 제대로 집계할 수 없음 분산 스토리지 등에 저장하고 분산 시스템에서 처리 스키마리스 데이터 - 기본 서식은 있으나 스키마가 정의 안됨 CSV, JSON, XML 등의 데이터는 서식은 정해져 있지만 컬럼 수나 데이터 형은 명확하지 않아 스키마리스 데이터라고 불린다. 데이터를 다운로드 할 때마다 스키마를 정하는 것은 시간과 비용이 소요되기 때문에 JSON은 JSON 그대..
프로그래머스 - 네트워크 문제 주어진 2차원 행렬에서 서로 연결된 네트워크가 총 몇가지가 있는지를 리턴하는 문제 주어진 행렬로 그림을 그려보면 문제의 예시가 쉽게 이해된다. 먼저 각 컴퓨터는 네트워크에 연결되어 있기 때문에 (0, 0), (1, 1), (2, 2)와 같이 본인 자신은 연결되어 있어 1로 표기된다. 그 외에는 행에서 열로 연결된다라는 가정하에 그림을 그려보면 된다. 예를 들어 0행의 1열이 1이라면 0번 컴퓨터와 1번 컴퓨터가 연결되어있다라는 뜻이 된다. 코드 def dfs(com, computers, visited): visited[com] = True for idx, value in enumerate(computers[com]): if value and not visited[idx]: ..
- Total
- Today
- Yesterday
- 빅데이터를지탱하는기술
- DP
- GROK
- oozie
- cka
- logstash
- heapq
- 네트워크
- sqoop
- 파이썬
- DFS
- 이코테
- 빅데이터
- OS
- 프로그래머스
- BOJ
- elasticsaerch
- CSAPP
- Python
- Algorithm
- Espher
- HDFS
- kafka
- 백준
- CS
- mahout
- Flutter
- Elasticsearch
- kubernetes
- Hadoop
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |