본문 바로가기

분류 전체보기191

MySQL 타임존 다루기 데이터베이스에 시각 (날짜) 관련 데이터를 저장하려다 보면 타임존에 대해 고민하게 된다. 국내 한정으로 서비스한다면 크게 고려하지 않는 부분이나, 글로벌 서비스를 고민한다면 필히 타임존을 고려하여 날짜데이터를 다루게 된다. 이번에는 MySQL 데이터베이스를 기준으로 날짜 데이터와 타임존을 어떻게 다룰 수 있는지 알아본다.  목차 MySQL의 날짜와 시간 DATETIME과 TIMESTAMP 다루어보기 MySQL의 날짜와 시간  MySQL의 날짜 타입 DATETIME, TIME : 컬럼 자체에 타임존 정보 없음. 클라이언트가 입력한 값 그 자체를 저장, 반환 TIMESTAMP : UTC로 저장되어 클라이언트에게 반환할 때는 타임존 변환을 거쳐 반환  MySQL이 관리하는 타임존 정보는 아래와 같다. syst.. 2025. 1. 20.
코루틴 스코프에서 스레드 블로킹 해보기 Replace this "Thread.sleep()" call with "delay()".  suspend 함수에서 스레드 블로킹 함수를 호출하면 Replace this "Thread.sleep()" call with "delay()". 과 같은 경고 메시지가 출력된다.  코루틴은 suspend라는 개념을 지원해서 스레드를 블로킹하지 않고 스레드가 다른 코루틴을 실행할 수 있도록 하여 전체 처리량 (throughput)을 높일 수 있다. 따라서 suspend 블록에서 스레드를 블로킹하는 행위나 메서드 호출은 지양하는 것이 좋다. 코루틴 스코프에서 스레드를 블로킹했을 때 동작을 육안으로 확인해 보고자 코드를 작성해 봤다.singleThreadContext : 싱글 스레드 코루틴 context로 제한. 멀티.. 2024. 12. 26.
20241208 국회의사당 윤석열 탄핵 집회 2024. 12. 8.
코루틴 Thread confinement 기법 스레드의 동시 상태변경 문제는 코루틴에서도 동일하게 접할 수 있다.상태공유를 코루틴 간에 무분별하게 하면, thread-safe 하지 못한 코드가 작성될 수 있다.따라서 아래처럼 임계영역은 하나의 스레드 컨텍스트로 제한할 수 있다. 이를 Thread confinement이라 한다.Completed 100000 actions in 474 ms  임계영역에 진입할 때마다 싱글 스레드 컨텍스트로 전환시키는 위와 같은 방법을 fine-grained 방식이라 한다. 다음에 소개할 coarse-grained 방식보다 상대적으로 느리다. Completed 100000 actions in 9 ms  위 방식은 coarse-grained 방식이라 한다. 애초에 임계영역에 진입하기 전에 임계영역을 호출하는 함수 자체를 싱.. 2024. 10. 28.
호주 본다이비치 아이스버그 https://maps.app.goo.gl/8g6K8RzJ2RixX2dY8 본다이비치 · 오스트레일리아 2026 뉴사우스웨일스 주 본다이비치★★★★★ · 해변www.google.com https://maps.app.goo.gl/cWzU5NF3bxaCaJRSA 본다이 아이스버그스 스위밍 CLUB · 1 Notts Ave, Bondi Beach NSW 2026 오스트레일리아★★★★☆ · 수영 동호회www.google.com 2024. 10. 13.
호주에서 만난 자동차들 2024. 10. 3.