일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정렬
- 이진탐색트리
- HDD
- MAP
- queue
- trunc(date)
- ssd
- 스레드
- heap
- web
- url
- trunc(sysdate)
- netstat
- trunc()
- 스케줄 삭제
- RAM
- desc
- maven
- cpu
- 프로세스 종료
- 오라클 버림 함수
- 오라클 trunc()
- Git
- HashMap
- 멀티스레드
- Servlet
- ArrayList
- git push
- stack
- null
- Today
- Total
목록기타 (13)
無테고리 인생살이
Load Factor란? 용량 대비 데이터가 어느정도 찼을 때 내부적으로 사이즈 확장을 필요로하는 자료구조에서 사용되는 개념이다. 언제 사이즈를 늘려야하는지, 즉, 몇 번째 데이터를 추가할 때, 사이즈를 늘려야 하는지를 결정하는 척도, 기준 default 로드팩터는 0.75f 이다. Load Factor를 어떤 용도로 사용할까? 사이즈가 가변적인 자료구조에 쓰이며 current capacity와 곱을 이뤄, 사이즈를 증가시켜야 하는 시기(=임계점)을 결정하는데 사용된다. 로드팩터가 존재하는 대표적인 자바 컬렉션 프레임워크 ArrayList HashMap Hashtable ConcurrentHashMap HashSet 등등.. 일반적으로 default load factor는 0.75이지만, ArrayLis..
boiler-plate code란? 최소한의 변경으로 여러 곳에서 재사용할 수 있는, 반복적이고 비슷한 형태를 띄는 코드를 말한다. 쉽게 말해서 반복되는 코드이다. Java로 예를 들자면, getter, setter 리스소 반환(해제)를 위한 finally에서의 close 메서드 보일러 플레이트를 제거하는 방법 Lombok @Getter, @Setter try-with-resource
알고리즘이란 시간복잡도와 공간복잡도 빅오표기법 시간복잡도 줄이는 법 알고리즘이란? : 어떤 목적을 달성하거나 결과물을 만들어내기 위해 거쳐야 하는 일련의 과정들 하나의 상황에서 다양한 알고리즘을 적용할 수 있다. 중요한 것은 '시간복잡도가 가장 낮은 알고리즘을 선택하는 것'이다. 시간 복잡도란? : 특정 알고리즘을 수행하는데 걸리는 시간 시간 복잡도는 실제 시간을 측정해서 표현하는 것인가? : 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 파일로 패킹됨) 여러 컴포넌트가 하나의 서비스에 강하게 결합되어 있으므로 속도가 빠르다. 비교적 적은 컴포넌트로 이루어진 소규모의 프로젝트..