분류 전체보기
-
java volatile개발 2026. 1. 8. 15:21
아래와 같은 클래스가 있다고 해보자. public static class SharedClass { private int x = 0; private int y = 0; public void increment() { x++; y++; } public void checkForDataRace() { if (y > x) { System.out.println("y > x - Data Race is detected"); } }} x에 대한 증가가 y에 대한 증가보다 먼저 작성되었기 때문에 이론상으로 x>=y 인 상황만 발행해야하고 checkForDataRace 에서 if 문에 걸릴 일은 없다. 그런데 멀티 쓰레..
-
logi options+ 무한로딩 ㅡㅡ카테고리 없음 2026. 1. 7. 14:34
오늘 아침에 로지텍 마우스로 커스텀 설정해둔 버튼이 동작하지 않아서 logi options+ 를 실행해보니 동글뱅이가 멈출생각을 하지 않았다 뭔가 잘못된 것 같아서 삭제하고 재실행해봐도 동일하고 chat GPT 가 시키는걸 했는데도 그대로였다. 레딧에 들어가보니 나와 같은 장애를 겪고 있는 사람들이 올린 댓글이 다수 있었다. 사람들 추측으론 동시에 많은 사람들이 안되는로 보아 백엔드쪽이 맛이 간것 같고 맥 시스템 날짜를 변경하면 된다는 글을 보니까 인증서 문제로 보인다. 매해 1월마다 많은 서비스들이 인증서 교체작업을 하는데 logi options+ 앱도 마찬가지인듯 클리앙에도 뜬걸로 보아 한국 사용자들도 같은 문제를 겪고 있는듯 그런데 하드웨어 기기를 인터넷이 되는 환경에서만 사용할 수 있다는게 말이..
-
Python GIL개발 2025. 12. 28. 17:53
CPython파이선 스크립트 엔진중에 가장 메인. 공식 배포판에서도 이걸 쓴다. C 언어로 작성되었고 공식 배포판이다가장 완벽하고 모든 최신 기능을 제공한다커뮤니티가 가장 크고 풍부한 문서를 제공한다터미널에서 python 명령어를 실행하면 CPython 엔진으로 파이선 파일을 실행하게 된다GIL글로벌 인터프리터 락 (Global Interpreter Lock). 쓰레드간에 동시성을 제어하기 위해 사용되는 메커니즘. GIL 은 동시에 하나의 쓰레드만 바이트코드를 실행할 수 있도록 허용하며 메모리 관리와 객체 모델의 일관성을 보장한다 왜 파이썬은 하나의 스레드만 바이트 코드를 실행하게 했는지 궁금할 수 있는데 자세히 들어가면 복잡하니 C 언어 생태계에서 단일스레드 성능을 높이기 위함이였다 정도로 짧게 이해하..
-
넷플릭스가 클릭하우스를 최적화시킨 방법개발/데이터베이스 2025. 11. 18. 19:38
How Netflix optimized its petabyte-scale logging system with ClickHouse“To make our logging system work, we had to make a lot of choices. The key is how you simplify things in order to do the least amount of work.” Daniel Muino, Software Engineerclickhouse.com클릭하우스 공식 블로그를 번역 + 개인적인 의견을 첨가한 포스팅 모든 종류의 로깅 시스템을 압도한다고 말하는데 얼마나 대단하면 이런 말을 할 수 있는 것인가 ㅎㅎ 넷플릭스는 자부심이 대단한듯 Safe to say, this is a scale t..
-
Clickhouse Materialized views개발/데이터베이스 2025. 11. 7. 22:41
테이블에 데이터가 추가될 때마다 특정한 쿼리를 실행하고 결과를 target 테이블에 전송하는 테이블이다. 데이터가 추가될수록 결과가 타겟 테이블에 전송되고 중간 result 는 업데이트되고 병합된다. 병합된 결과는 기존 데이터에 대한 쿼리와 동등하다. target 테이블에 미리 계산된 결과를 전달하고 싶을때 사용하는 테이블이라고 보면됨. 아래 up_down_votes_per_day_mv 테이블은 up_down_votes_per_day 테이블에 일별 데이터를 모아서 전송해주는 역할을 하는 materialized 테이블이다CREATE MATERIALIZED VIEW up_down_votes_per_day_mv TO up_down_votes_per_day ASSELECT toStartOfDay(Creation..
-
Clickhouse Projections개발/데이터베이스 2025. 11. 7. 20:39
Projections Projections | ClickHouse DocsPage describing what projections are, how they can be used to improve query performance, and how they differ from materialized views.clickhouse.com Projection 은 클릭하우스에서 속도를 올리기 위한 기술중 하나다. 실질적으로 Projection 은 기존 테이블에 숨겨진 추가 테이블이라고 볼 수 있다. projection 은 기존 테이블과 행의 순서도 다르고 primary index 도 다르다. 데이터가 들어올 때마다 자동으로 그리고 점진적으로 aggregate values 들을 구해준다 Practically,..
-
Clickhouse Skip Index개발/데이터베이스 2025. 11. 7. 20:33
Understanding ClickHouse Data Skipping Indexes | ClickHouse DocsSkip indexes enable ClickHouse to skip reading significant chunks of data that are guaranteed to have no matching values.clickhouse.com 전통적인 방식에서는 B-tree 구조로 데이터베이스가 행을 log(n) 시간에 찾을 수 있게 했다. 하지만 클릭하우스의 경우 개별 row 가 존재하는게 아니기 때문에 작동하지 않는다. 대신 클릭하우스에선 skip 인덱스라는 걸 사용해서 불필요한 데이터 chunk 를 읽지 않아도 되는 방식을 제공한다. 각 구조마다 Skip 인덱스 표시가 되어 있어서 청크..
-
Clickhouse JSON 칼럼개발/데이터베이스 2025. 10. 27. 17:12
How we built a new powerful JSON data type for ClickHouseWe’re excited to introduce our new and significantly enhanced JSON data type, purpose-built to deliver high-performance handling of JSON data. Our core engineer, Pavel Kruglov, dives into how we built this feature on top of ClickHouse's columnar storage.clickhouse.com공식 블로그 글을 읽고 공부했던 내용을 정리했다Variant Variant 칼럼이란게 있다. 기존 구조에서는 칼럼에는 하나의 데이터..