반응형

분류 전체보기 141

[Java] Java기초 - (1) 역사

01. 자바란? 자바는 1991년 6월 썬 마이크로시스템즈(Sun Microsystems)에서 제임스 고슬링(James Gosling)에 의해 만들어졌다. 개발된 이유는 원래 토스트기 같은 가전제품에 들어가는 임베디드 소프트웨어를 만들기 위해서다. 현재까지도 가전제품에 들어가는 소프트웨어에는 저비용, 고효율을 위해 C/C++ 계열의 프로그래밍 언어가 사용되지만, 당시 C++프로그램은 OS와 CPU에 따라 다른 C++ 컴파일러가 필요했다. 이에 제임스 고슬링과 다른 직원들은 OS나 CPU에 구애받지 않고, 다양한 환경에서 실행할 수 있는 언어를 만들었고 이것이 자바다. 02. WORA (Write Once, Run Anywhere) 위에 기술했듯 자바는 어떠한 플랫폼에도 구애받지 않고 실행될 수 있는 언어..

[ADsP] 데이터 분석 기획 Section 01. 데이터 분석 기획의 이해(2) 분석 방법론

2. 분석 방법론 05. 빅데이터 분석방법론 가. 빅데이터 분석의 계층적 프로세스 1) 단계(Phase) 프로세스 그룹(Process Group)을 통해 완성된 단계별 산출물이 생성됨. 각 단계는 기준선(Baseline)으로 설정되어 관리되어야 하며, 버전관리(Configuration Management) 등을 통해 통제가 이루어져야 함 2) 태스크(Task) 각 단계는 여러 개의 태스크(Task)로 구성됨. 각 태스크는 단계를 구성하는 단위 활동이며, 물리적 또는 논리적 단위로 품질 검토의 항목이 될 수 있음 3) 스텝(Step) WBS(Work Breakdown Structure)의 워크 패키지(Work Package)에 해당되고 입력자료(Input), 처리 및 도구(Process&Tool), 출력자..

제 3회 이대로 괜찮은가?

원래 한 달에 한 번씩 이대로 괜찮은가를 시리즈처럼 하려고 했는데 어쩌다 보니 9월을 건너 뛰었다. 이번에는 8월과 9월 결산을 묶어서 해보려고 한다. 🎯 객관적 달성도 (2023.08.07 - 2023.10.04) 1. 주 5회 포스팅 글 작성 건수: 30건 기준 건수: 40건 (8주 * 5회) 달성도: 75% 목표에 많이 못 미쳤다. 8월에는 SQLD를 준비하느라 코딩테스트는 아침에 두뇌깨우기용이나 저녁에 복습 겸 잠깐잠깐 한 터라 글까지는 작성하지 못했다. SQLD는 지난 목표에는 없었지만, 데이터베이스 기초를 좀 더 전반적으로 공부하고 싶어서 도전했다. 2. 전공 서적 서적 이름: 컴퓨터 과학 총론 (Pearson) 진행 중인 챕터: 3-1 Chapter (운영체제) 총 챕터: 12 Chapter..

일상/Etc. 2023.10.04

[OOP] 객체 지향 설계의 다섯가지 원칙: SOLID

SOLID란? 객체 지향 프로그래밍에서 항상 등장하는 SOLID원칙은 개발 및 보수를 하는 데 있어, 소스코드를 읽기 쉽고 확장이 원활하도록 만드는 다섯가지 원칙이다. SOLID는 각 원칙의 첫번째 글자를 합친 것으로 각각 Single Responsivility Principle, Open/Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle이다. SOLID 원칙을 사용하지 않더라도 객체 지향적인 프로그래밍은 가능하지만, 원칙을 지키면 동료들과의 협업이 원활해지며, 추후 소프트웨어를 확장할 때도 실수를 미연에 방지할 수 있다. 단일 책임 원칙(Single R..

[Data Structure] NonLinear - (2) Heap

힙(Heap) 힙 자료구조는 일종의 트리다. 힙은 형태 속성과 힙 속성을 만족해야 하는데, 즉 힙은 완전이진트리 구조여야 하며 힙 속성을 가져야 한다. 완전이진트리는 이전 글에서 작성한 것처럼 마지막 레벨을 제외한 모든 노드가 다 채워져 있는 이진 트리이며, 마지막 레벨은 왼쪽에서 오른쪽으로 채워져 있는 트리이다. 힙 속성은 각 노드의 데이터들은 각각의 자식 노드의 데이터보다 크거나 같은 속성을 말한다. 힙 구현하기 힙 자료구조 또한 완전이진트리 형태를 가지고 있으므로 동적 배열로 나타낼 수 있다. 즉, 파이썬에서는 리스트로 힙 자료구조를 표현할 수 있다. 아래는 최대힙을 구현한 코드이다. 간단하게 heapify, heappop, heappush함수를 구현했다. def _swap(arr, index_1,..

[Data Structure] 분리 집합 (Disjoint Set)

분리 집합 (Disjoint Set) 분리 집합은 서로소 집합이라고도 한다. 전체 집합 U에 대해 U의 분리 집합 A, B는 다음 조건을 만족한다. A, B는 U의 부분집합이다 A, B는 서로 공통 원소를 가지지 않는다 A, B의 합집합이 곧 전체집합 U이다. 즉, 전체 집합 U를 겹치는 부분이 발생하지 않도록 모든 원소를 분리시킨 집합을 분리 집합이라고 한다. 분리 집합은 일반적으로 두 원소가 같은 집합에 속하는지 빠르게 여부를 확인하거나, 두 집합을 합치는 등의 연산을 할 때 사용된다. 예를 들면 SNS에서 A라는 사람과 B라는 사람이 친구 관계인지 여부를 확인하거나, 친구를 맺었다면 두 집합을 합치는 연산을 할 수 있다. 분리 집합은 대표적으로 트리 자료 구조와 Union-Find 알고리즘으로 구현..

[ADsP] 데이터 분석 기획 Section 01. 데이터 분석 기획의 이해(1) 분석기획 방향성 도출

1. 분석기획 방향성 도출 01. 분석기획의 특징 가. 분석기획이란? 실제 분석을 수행하기에 앞서 분석을 수행할 과제를 정의하고, 의도했던 결과를 도출할 수 있도록 이를 적절하게 관리하는 방안을 사전에 계획하는 작업 어떠한 목표(What)를 달성하기 위해(Why) 어떠한 데이터를 가지고 어떤 방식으로(How) 수행할 지에 대한 일련의 계획을 수립하는 작업이므로 성공적인 분석 결과를 도출하기 위한 중요한 사전 작업임 02. 분석 대상과 방법에 따른 네가지 분석 주제 유형 분석은 분석의 대상(What)과 분석의 방법(How)에 따라 4가지로 나누어진다 특정한 분석 주제를 대상으로 진행할 경우에도, 분석 주제 및 기법의 특성 상 4가지 유형을 넘나들면서 분석을 수행하고 결과를 도출하는 과정을 반복함 (1) O..

[코딩테스트] 백준 - 에디터

문제 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 커서를 L, D, B, P 명령어를 통해 이동하거나 커서 왼쪽에 문자를 삭제하고 추가하고 최종 결과를 출력하는 문제 전략 01. 리스트 import sys string = list(sys.stdin.readline().rstrip()) M = int(sys.stdin.readline().rstrip()) cursor = len(string) for _ in range(M): ins = sys...

[Data Structure] NonLinear - (1) Binary Tree

일반 트리(General Tree) 일반적인 트리는 노드들의 집합으로, 하나의 루트 노드와 서로 겹치지 않는 여러 개의 부분 집합으로 이루어진 나머지 노드들로 구성되어 있다. 트리에서는 노드들 간에 상하관계인 부모-자식 관계가 만들어진다. 즉 부모와 자식 간의 레퍼런스가 있어 서로의 노드를 식별할 수 있다. 일반 트리는 자식 노드 수의 제한이 없기 때문에 무한정 늘어날 수 있는 특징이 있으며, 이로 인해 노드의 수를 파악하기 어려우므로 알고리즘을 적절하게 사용하기 어렵다. 따라서 주로 일반 트리를 이진 트리로 변환해 사용한다. class Node: def __init__(self, data) -> None: self.data = data self.children = [] root = Node(1) nod..

[ADsP] 데이터의 이해 Section 03. 가치 창조를 위한 데이터 사이언스와 전략 인사이트

1. 빅데이터 분석과 전략 인사이트 01. 빅데이터 열풍과 회의론 빅데이터 열풍으로 인한 회의론도 있는데, 이런 회의론으로 인해 실제 우리가 빅데이터 분석에서 찾을 수 있는 수많은 가치들을 제대로 발굴해 보기도 전에 그 활용 자체를 사전에 차단해버릴 수도 있음. 02. 빅데이터 회의론의 원인 및 진단 가. 투자효과를 거두지 못했던 부정적 학습효과 과거 거액을 들여 고객관계관리(CRM)을 도입했던 기업들이 어떻게 활용하고 어떻게 가치를 뽑아내야 할지 난감해 했으며 생각 이상의 효과를 거두지 못했음 나. 빅데이터 성공사례 중 기존 분석 프로젝트를 포함해 놓은 것이 많다 국내 빅데이터 업체들이 CRM분석 성과를 빅데이터 분석으로 과대포장 03. 일차원적인 분석 vs 전략도출을 위한 가치기반 분석 일차적인 분석..

반응형