반응형
제육's 휘발성 코딩
반응형
[Big Data] Chap1. 빅데이터 분석 기획(2)
Big Data 2021. 9. 7. 20:22

분석 문제 정의 분석은 과제와 관련된 현상이나 원인, 해결방안에 대한 자료를 수집 및 분석하여 의사결정에 활용하는 활동 문제라는 것은 기대 상태와 현재 상태를 동일한 수준으로 맞추는 과정 이 과정에서 제약조건을 파악하고, 잠재 원인을 진단하고 관련된 데이터를 수집, 가공, 분석하는 활동 수행 하향식, 상향식 접근 방식을 반복적으로 수행하면서 상호 보완하여 분석 과제를 발굴한다. 과제 발굴 이후 '분석 과제 정의서' 산출물을 작성한다. 하향식 접근 방식 분석 과제가 정해져 있고 이에 대한 해법을 찾기 위해 체계적으로 분석하는 방법 비즈니스 모델 캔버스 사용 기업 내,외부 환경을 포괄하고 있는 비즈니스 모델 과제 발굴 기법에 활용 문제 탐색, 문제 정의, 해결방안 탐색, 타당성 검토, 선택 (..

파이썬 링크드 리스트 구현
PYTHON/Algorithm 2021. 9. 7. 15:16

링크드 리스트 연결 리스트라고도 한다. 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조 링크드 리스트는 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조 본래 C언어에서는 주요한 데이터 구조지만, 파이썬은 리스트 타입이 링크드 리스트의 기능을 모두 지원 배열은 미리 공간을 확보해야하지만, Linked list는 필요할 때마다 노드를 생성할 수 있다. 기본 구조 노드 : 데이터 저장 단위 (데이터 값, 포인터)로 구성 포인터 : 각 노드 안에서, 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간 class Node: def __init__(self, data, next =None): self.data = data self.next = next 하나의 노드에는 데이터,..

[Clean Code] Chap4. 주석
Book/Clean Code 2021. 9. 7. 03:21

주석을 최대한 쓰지 말자 주석은 나쁜 코드를 보완하지 못한다. 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문이다. // 직원에게 복지 혜택을 받을 자격이 있는지 검사 if ((employee.flags & HOURLY_FLAG) && employee.age > 65) if (employee.isElligibleForFullBenefits()) 코드로도 좋은 의도를 표현할 수 있다. 주석은 방치된다. 새로운 추가 기능 및 변경사항이 생기면 주석도 수정을 해야한다. 코드는 컴파일되어 호출되지만, 주석은 그저 주석이기 때문에 결국 의미없는 텍스트가 되어버린다. 좋은 주석 // kk:mm:ss EEE, MMM dd, yyyy 형식 Pattern timeFormat = Pattern.compil..

[Big Data] Chap 1. 빅데이터 분석 기획 (1)
Big Data 2021. 9. 6. 21:24

빅데이터 막대한 양의 정형 및 비정형 데이터 데이터에서부터 가치를 추출하는 것은 통찰, 지혜를 얻는 과정으로 DIKW 피라미드로 표현 Data : 데이터 - 객관적 사실로, 순수한 수치나 기호 A는 책을 10000원에, B는 책을 15000원에 판매 Infomation : 정보 - 데이터 간의 연관 관계와 함께 의미 도출 해당 책은 A가 더 싸게 판다. Knowledge : 지식 - 유의미한 정보로 분류하고 일반화 시킨 결과물 책은 A가 더싸게 팔기 때문에 A에서 책을 구입할 계획 Wisdom : 지혜 - 도출된 창의적 아이디어 A가 다른 상품들도 B보다 저렴할 것으로 판단 데이터 양을 측정하는 바이트 크기 KB - MB - GB -TB -PB - EB - ZB - YB 분석 가치 에스컬레이터 (Anal..

[Clean Code] Chap3. 함수
Book/Clean Code 2021. 9. 6. 17:20

SOLID 객체지향 설계의 5가지 원칙 SRP : 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 클래스는 하나의 기능만 가지며, 어떤 변화에 의해 클래스를 변경 해야 하는 이유는 오직 하나뿐이어야 한다. SRP로 책임이 분명해지기 때문에, 변경에 의한 연쇄작용에서 자유로워 질 수 있다. 가독성 향상과 유지보수가 용이해진다. 실전에서는 쉽지 않지만 늘 상기해야 한다. OCP : 개방-폐쇄 원칙 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀있어야 한다. 변경을 위한 비용은 가능한 줄이고, 확장을 위한 비용은 극대화 한다. 요구사항의 변경이나 추가사항이 발생하더라도, 기존 구성요소에는 수정이 일어나지 않고, 기존 구성 요소를 쉽게 확장해서 재사용한다. 객체지향의 추상화와 다형성을 활용한다. ..

알고리즘 복잡도
PYTHON/Algorithm 2021. 9. 5. 18:30

알고리즘 복잡도 시간 복잡도 : 알고리즘 실행 속도 공간 복잡도 : 알고리즘이 사용하는 메모리 사이즈 가장 중요한 시간 복잡도를 이해하고 계산할 수 있어야 한다. 알고리즘 성능 표기법 Big O 표기법 : O(N) 알고리즘 최악의 실행 시간을 표기 아무리 최악의 상황이라도, 이정도의 성능은 보장한다는 의미 Ω (오메가) 표기법: Ω(N) 오메가 표기법은 알고리즘 최상의 실행 시간을 표기 Θ (세타) 표기법: Θ(N) 오메가 표기법은 알고리즘 평균 실행 시간을 표기 시간 복잡도 계산은 반복문이 핵심 요소임을 인지하고, 계산 표기는 최상, 평균, 최악 중 최악 표기법을 중심으로 익히자 O 표기법 빅 오 표기법 O(입력) 입력 n 에 따라 결정되는 시간 복잡도 함수 O(1) < O(logn) < O(n) < ..

큐, 스택
PYTHON/Algorithm 2021. 9. 5. 17:20

자료구조 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미 어떤 데이터 구조를 사용하느냐에 따라, 코드 효율이 달라진다. 대표적인 자료구조 (배열, 스택, 큐, 링크드 리스트, 해쉬 테이블, 힙 등) 알고리즘 어떤 문제를 풀기 위한 절차 / 방법 어떤 문제에 대한 원하는 출력을 얻을 수 있도록 만드는 프로그래밍 어떤 자료구조와 알고리즘을 사용하느냐에 따라 성능이 천지차! 파이썬과 C언어의 배열 예제 #include int main(int args, char* argv[])){ char country[3] = "US"; printf("%c%c\n", country[0], country[1]); printf("%s\n", country); return 0; } country = &#39;US&..

[Database] 개체, 속성, 관계 의미
CS/데이터베이스 2021. 9. 1. 18:43

데이터베이스 엔티티 (Entity) 엔티티는 업무에서 관리해야 하는 데이터 집합을 의미 개념, 사건, 장소 등의 명사 엔티티 특징 식별자 : 유일한 식별자 인스턴스 집합 : 2개 이상의 인스턴스 필요 ex) 고객 정보는 2명 이상 있어야 한다. 속성 : 엔티티는 반드시 속성을 가지고 있다. ex) 고객 엔티티에 이름, 주소, 전화번호 등 관계 : 다른 엔티티와 최소한 한 개 이상 관계 필요 업무 : 업무에서 관리되어야 하는 집합 엔티티 종류 엔티티의 종류는 유형과 무형에 따른 종류, 발생하는 시점에 따른 종류로 나뉜다. 유형과 무형 유형 엔티티 : 업무에서 도출되며 지속적으로 사용되는 엔티티 ex) 고객, 강사, 사원 개념 엔티티 : 유형 엔티티는 물리적 형태가 있지만, 개념 엔티티는 없다. ex) 거래..

반응형
반응형