일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다형성
- 잉여현금흐름
- 주린이
- 접근제어자
- 금리인상
- 무디스
- S&P500
- 제태크
- 주식
- StringBuffer
- object
- 그리디 알고리즘
- mco
- 알고리즘
- 인플레이션
- 자바
- 객체지향
- etf
- FCF
- 프로그래머스
- 기업분석
- 오버라이딩
- javascript
- 현금흐름표
- 백준
- 배당성장
- XLF
- 미국주식
- Java
- 금리인하
- Today
- Total
목록전체 글 (228)
오늘의하루
최근 MySQL을 공부하면서 선착순 쿠폰 발급을 효율적으로 처리하는 로직을 고민해보았습니다.이 글에서는 MySQL 8.0의 고급 기능을 활용하여 동시성 제어와 쿠폰 발급 로직을 구현하는 방법을 정리해 보겠습니다.MySQL 8.0 고급 기능MySQL에서 SELECT ~ FOR UPDATE를 사용하면 다른 트랜잭션에서 읽기나 쓰기를 시도할 경우 해당 행이 잠금이 해제될 때까지 대기하게 되는데 MySQL 8.0에서는 이를 보완하고 동시성을 효율적으로 처리하기 위해 다음과 같은 기능이 추가되었습니다.1. NO WAIT해당 기능은 잠금된 행을 만나면 대기하지 않고 즉시 예외(Lock wait timeout exceeded)를 던집니다.2. SKIP LOCKED해당 기능은 잠금되지 않은 행만을 대상으로 작업을 수행..
Go 언어에서 값 타입은 복사할 때 깊은 복사가 이루어지며 참조 타입은 얕은 복사가 이루어집니다.1. 값 타입 (Value Type)값 타입은 변수에 할당될 때 값 자체가 복사(깊은 복사)됩니다.Go에서 기본적으로 제공하는 값 타입으로는 int, float, struct 등이 있습니다.package mainimport "fmt"type Jang struct { X, Y int}func (j *Jang) Jangto(i int) { j.X = j.X * i j.Y = j.Y * i}func JangTest() { originV := Jang{1, 2} copyV := originV // 깊은 복사 copyV.Jangto(2) fmt.Println("origin..
공부를 하다 보면 "Java의 컨텍스트 스위칭 비용이 비싸다"라는 말을 자주 듣곤 하는데 이번 글에서는 왜 Java의 컨텍스트 스위칭 비용이 비싼지 정리해보았습니다.JAVA의 Thread 구조Java에서는 java.lang.Thread를 통해 스레드를 생성하게 되는데 이 과정에서 JVM은 플랫폼 스레드를 만들고 이를 OS 스레드와 연결되고 이 OS 스레드는 다시 커널 스레드와 연결됩니다. 즉, Java에서는 스레드가 JVM 플랫폼 스레드 → OS 스레드 → 커널 스레드의 1:1:1 관계로 동작합니다.- JVM 스레드 : 크기가 작음- OS 스레드 : JVM 스레드에 비해 훨씬 큼Context Switching컨텍스트 스위칭은 실행 중인 스레드를 변경할 때 현재 스레드의 상태(레지스터, 스택 포인터, 메모..