일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- stream
- equals
- redis
- hashcode
- static
- jwt
- Test
- MSA
- KEVISS
- 필드 주입
- java
- DDL
- 바이너리 카운팅
- 생성자 주입
- 열 속성
- select_type
- lambda
- Spring
- jpa
- StringBuilder
- SQL
- 인덱스
- 테스트 코드
- 조합
- cache
- 재정의
- AOP
- VUE
- DI
- docker
- Today
- Total
목록전체 카테고리 (196)
백엔드 개발자 블로그
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/rmCgf/btsGI51mBRt/KXbSfYZIrFDJ6LlHeZh9AK/img.png)
Stack Overflow가 발생하는 상황을 살펴보고 해결방법을 알아봅시다. Stack Overflow란 무엇인가? 스택 오버 플로우는 지정한 스택 메모리 사이즈보다 더 많은 스택 메모리를 사용하게 되어 에러가 발생하는 상황을 말합니다. 버퍼 오버 플로우와 차이 버퍼 오버 플로우는 데이터를 저장할 메모리 위치가 유효한지를 검사하지 않고 데이터를 저장하다보니 데이터가 저장될 수 있는 가용 메모리 공간을 벗어 나는 경우를 말합니다. 그렇다면 스택 메모리에는 어떤 데이터들이 저장될까? 스택 메모리는 보통 원시 타입이나 힙 메모리에 저장되는 데이터의 메모리 주소를 저장합니다. 메소드 영역 내에서 생성된 스택 메모리 데이터는 메소드 종료시 메모리가 해제됩니다. 스택 영역은 LIFO의 구조를 갖고 변수에 새로운 데..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dCpzk4/btsGIVwBGbv/eeTBfsfUgylK4hm7nIPyb0/img.png)
JDK 버전을 선택하면서 경험했던 내용들을 공유하고자 합니다. 보통 버전 선택 기준은 LTS(유지보수 기간), 성능 및 유틸성, 호환성, 비용, 개발 속도를 고려합니다. 유지보수 기간을 살펴보자 https://access.redhat.com/articles/1299013 서포트 기간이 4년이나 길게 남아 있는 JDK 17이 가장 안정적입니다. 성능 및 유틸성을 살펴보자 Java 11 람다 파라미터에서 var를 사용할 수 있게 되었습니다. 내부적으로 JVM은 모듈을 활용하여 클래스 로딩을 보다 효율적으로 할 수 있습니다. Java Flight Recorder(JFR) 및 Java Mission Control(JMC)는 Java 8에서는 유료지만, Java 11에서는 오픈소스로 제공합니다. JFR 및 JMC..
String, StringBuffer, StringBuilder 차이를 알아보자 String String 인스턴스는 String Constant Pool 영역에 저장됩니다. Java 8 이전 : Permgen 영역에 할당되어 Method area(상수형 데이터 저장되는 곳)에 위치합니다. Java 8 이후 : Permgen 영역이 제거되고 Metaspace 영역으로 변경되면서 Heap 영역으로 이동하여 GC가 관리될 수 있도록 개선되었습니다. new String()과 리터러("")의 차이 new String()은 Heap 메모리 영역에 저장된다. ""는 Heap안에 있는 String Constant Pool 영역에 저장된다. String 클래스의 구현 코드를 살펴보자 String 인스턴스는 immutab..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bBWsDE/btsGvprJMWe/xO65tt7LYcP3vI1CAcVaF1/img.png)
키-값 저장소란? 비관계형 데이터베이스입니다. 키는 고유 식별자여야 하고, 값은 어떤 데이터가 오던지 상관 없습니다. ex) 아마존 다이나모, memcached, Redis 문제 이해 및 설계 범위 확정 시스템 요구사항 예시입니다. 키-값 쌍의 크기는 10KB 이하이다. 큰 데이터를 저장할 수 있어야 한다. 높은 가용성을 제공해야 한다. → 장애가 발생하여도 빨리 응답해야 한다. 높은 규모 확장성을 제공해야 한다. → 트래픽 양에 따라 자동적으로 서버의 증설/삭제가 이루어져야 한다. 데이터 일관성 수준은 조정이 가능해야 한다. 응답 지연시간이 짧아야 한다. 단일 서버 키-값 저장소 가장 쉬운 설계 방법이며 빠른 속도를 보장합니다. 하지만 메모리 부족으로 모든 데이터를 메모리안에 두는 것이 불가능할 수도 ..