일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- interprter
- 서버 이중화
- desc
- cpu
- address family
- maven
- 자바 프로그램 실행과정
- HDD
- git push
- url
- heap
- null
- ssd
- 이진탐색트리
- web
- queue
- MAP
- Servlet
- RAM
- JIT 컴파일러
- ArrayList
- 정렬
- Git
- 스레드
- master db
- Nginx 실행 에러
- stack
- HashMap
- slave db
- 멀티스레드
- Today
- Total
목록기타 (11)
Having
알고리즘이란 시간복잡도와 공간복잡도 빅오표기법 시간복잡도 줄이는 법 알고리즘이란? : 어떤 목적을 달성하거나 결과물을 만들어내기 위해 거쳐야 하는 일련의 과정들 하나의 상황에서 다양한 알고리즘을 적용할 수 있다. 중요한 것은 '시간복잡도가 가장 낮은 알고리즘을 선택하는 것'이다. 시간 복잡도란? : 특정 알고리즘을 수행하는데 걸리는 시간 시간 복잡도는 실제 시간을 측정해서 표현하는 것인가? : NO 동일한 알고리즘이라도 컴퓨터 하드웨어나 프로그래밍 언어에 따라 실행시간이 크게 달라질 수 있기 때문에, 실제시간을 측정해서 시간복잡도를 나타내는 것은 객관적 지표가 될 수 없다. 그렇기에, 알고리즘에 사용되는 연산을 수치화해서 시간복잡도를 나타낸다. 공간 복잡도란? : 알고리즘 수행에 사용되는 메모리 양 시간..
Memory Leak이란? 컴퓨터 프로그램이 필요하지 않은 메모리를 계속 점유하고 있는 현상 (=메모리 낭비) 할당된 메모리를 사용한 후, 반환하지 않는 것이 누적되면 메모리가 낭비되고 성능에 문제를 일으킨다. ex) 클래스에 고정된 정적 멤버, 즉, static 이 붙은 변수와 메서드는 Method Area(=Static Area, Class Area)에 저장되고 이 영역엔 GC가 발생하지 않아, 프로그램 시작부터 종료 전까지 Method Area의 메모리는 할당된 상태를 유지한다. static 키워드를 무분별하게 사용하면, 메모리릭이 발생하고 성능저하
Monolithic Architecture vs MicroService Architecture MSA 이란? = MicroService Architecture 각 컴포넌트 별로 서비스를 작게 나눈 형태 즉, 하나의 큰 애플리케이션을 다수의 작은 애플리케이션으로 모듈화한 형태 MSA 도입 전 주로 사용했던 아키텍처는? Monolithic Architecture (모놀리식 아키텍처) 사전적 의미로는 단일체의, 한 덩어리로 뭉친 특징 전체 애플리케이션이 하나로 통합되어 있으므로, 빌드/테스트/배포가 하나의 애플리케이션에서 수행된다. (웹 개발로 예를 들자면, 하나의 WAR 파일로 패킹됨) 여러 컴포넌트가 하나의 서비스에 강하게 결합되어 있으므로 속도가 빠르다. 비교적 적은 컴포넌트로 이루어진 소규모의 프로젝트..
트러블 슈팅이란? 시스템에 문제가 발생했을 때, 원인을 찾아서 해결하는 것. 중요한 것은 단순히 원인을 찾는 것이 아닌, 논리적이고 체계적으로, 단순하게 가능성이 높은 것부터 제거해가며 찾는 것. '트러블 슛' 이라고도 한다. 문제 해결! 트러블 슈팅이 왜 필요한가? 단순하고 가능성이 높은 것부터 트러블을 해결해가면서, 초기에 트러블을 잡기 위해 필요하다. 쉽게 해결할 수 있는 문제를 맥락없이 해결하려하면, 초기 대응에 실패하면서 다운타임이 길어질 수 있다. 신속하게 서비스 장애를 복구함으로써, 위험을 최소화하기 위한 것