본문 바로가기

반응형

CONTENTS

(149)
복잡도 Complexity 1. 시간복잡도: 알고리즘을 위해 필요한 연산의 횟수. 즉, 특정한 크기의 입력에 대해 알고리즘이 얼마나 오래 걸리는지를 의미. 2. 공간복잡도: 알고리즘을 위해 필요한 메모리 사이즈. 즉, 특정한 크기의 입력에 대해 알고리즘이 얼마나 많은 메모리를 차지하는지 의미. 최근 대용량 시스템이 보편화 되면서 공간복잡도 보다 시간복잡도가 중심이 됨. 프로그래밍에서 시간복잡도에 가장 영향을 많이 미치는 요소는 반복문이다. 알고리즘 성능 표기법 1. Big O 표기법 - 알고리즘 최악의 실행 시간 표기 - 아무리 최악의 상황이라도 이정도의 성능은 보장한다는 의미로 일반적으로 많이 사용함 2. 오메가 표기법 - 알고리즘 최상의 실행 시간 표기 3. 세타 표기법 - 알고리즘 평균 실행 시간 표기 시간복잡도의 Big O..
02. 변수, 자료형, 할당 1. 프로그래밍의 3대 요소 - 변수, 자료형(DataType), 할당(=) - 변수의 크기와 데이터 종류를 결정하는 것이 자료형(Data Type) - 자료형에 의해 크기와 종류가 결정 된 변수가 선언되면 메모리가 할당됨 변수 (variable) 데이터를 저장할 메로리 공간의 이름 자료형 (data type) 변수의 크기와 변수에 저장될 데이터의 종류를 결정하는 것 할당 (assign) 변수에 값을 저장(대입, 할당)하는 것 - 기본자료형(primitive data type)과 사용자정의자료형(user-defined data type) 기본 자료형 - 컴파일러에서 기본적으로 제공해주는 자료형 - short, int, long, float, double, char 등 사용자 정의 자료형 - 객체 쟈료형 ..
01. JDK와 JRE, JVM * 이 글은 인프런 Java TPC 강의를 보며 정리한 글이다. OOP를 자세히 공부하기 위해 서치 하다가 찾게 된 강좌인데 내용이 상당히 좋음. 1. JDK (Java Development Kit) - java를 설치 한다는 것은 java JDK를 설치한다는 의미 - JDK는 개발하는데 필요한 라이브러리와 플랫폼이 포함되어 있다. - 즉, JDK를 설치하면 JavaSE, JavaEE, JavaME, Java Android 개발환경이 구축됨을 의미함 (compiler, API, JVM등) 2. JRE (Java Runtime Environment) - java 실행 환경 - java 프로그램을 실행하기 위해서는 JRE만 있으면 되지만 프로그램을 개발하기 위해서는 JDK가 반드시 필요함 3. JVM (Ja..
2. Set up Kibana Install Kibana on macOS with Homebrew - Elastic Homebrew repository가 tap 되어 있지 않다면 다음을 실행 brew tap elastic/tap - kibana install brew install elastic/tap/kibana-full - 설치완료 To have launchd start elastic/tap/kibana-full now and restart at login: brew services start elastic/tap/kibana-full Or if you dont want/need a backgroud service you can just run: kibana Directory layout for Homebrew installs -..
1. What is Kibana? Kibana는 데이터를 시작화하고 분석해주며 모든 Elastic Stack을 관리해준다. Kibana는 다음 세가지 기능을 제공하여 데이터를 실행가능하도록 해준다. (1) 오픈 소스 분석 및 시각화 플랫폼 (2) Elastic Stack을 관리해주는 UI로 보안 설정, 사용자 역할 할당, snapshot, 데이터 롤업 등 Kibana UI를 통해 편리하게 관리 할 수 있다. (3) Elastic 솔루션을 연결해주는 중앙 집중식 허브이다. (A centralized hub for Elastic’s solutions) Ingest data (데이터수집) Kibana는 Elasticsearch를 데이터 소스로 사용하도록 설계된다. 즉, Elasticsearch를 저장하고 처리하는 엔진이고 그 위에 Kibana..
2. Set up Elasticsearch Install Elasticsearch on macOS with Homebrew - Elastic Homebrew repository를 tap함 - Elastic package repository 추가 -> Homebrew는 기본적으로 github을 기반으로 함 brew tap elastic/tap #brew tap [유저명/패키지명] - Elasticsearch 기본 배포 install brew install elastic/tap/elasticsearch-full - 설치 완료 To have launch start elastic/tap/elasticsearch-full now and restart at login: brew services start elastic/tap/elasticsearch-ful..
1. Elastic Search Introduction * documentation을 참고함 (v7.10) Elasticsearch란? Elasticsearch는 분산형 검색 분석 엔진으로 Elastic Stack의 중심이다. Logstash와 Beat는 데이터를 수집, 집계 하며 Elasticserach에 저장하고, Kibana는 interactively하게 데이터를 탐색하고 시각화하며 stack을 모니터하게 해준다. 즉, Elasticsearch는 인덱싱, 검색, 분석 마법이 일어나는 곳이다 (Elasticsearch is where the indexing, search, and analysis magic happens.) Data in: documents and indices Elasticsearch는 분산 문서 저장소 이다. Elasticsearch는..
Leetcode-easy-13. Roman to Integer - i와 i+1을 비교해서 앞에 있는 수가 큰 수면 앞에 수를 더하고, 뒤에 있는 수 비교 class Solution: def romanToInt(self, s: str) -> int: romanDict = { "I" : 1, "V" : 5, "X" : 10, "L" : 50, "C" : 100, "D" : 500, "M" : 1000 } result = 0 idx = 0 while idx = romanDict[s[idx+1]]: result += romanDict[s[idx]] idx += 1 else: temp = romanDict[s[idx+1..