좋아하는 일 그리고 잘하는 일, 그 사이 어딘가
close
프로필 배경
프로필 로고

좋아하는 일 그리고 잘하는 일, 그 사이 어딘가

  • 분류 전체보기 (58)
    • Java (8)
      • Java (6)
      • Testing (1)
    • 리팩토링 (26)
    • Redis (1)
    • C# (11)
    • Unity (3)
      • Unity (3)
    • DB (1)
      • MySQL (1)
    • Data structure (2)
    • 일상 (6)
    • 만화 (0)
  • 홈
  • 일상
  • 방명록
[JAVA] 싱글 코어에서도 락이 필요할까?

[JAVA] 싱글 코어에서도 락이 필요할까?

맨 처음 멀티스레드를 학습했을 때 들었던 의문이 있습니다. "싱글 코어 CPU는 한 번에 하나의 명령만 실행하는데, 왜 락이 필요하지?" 병렬 실행이 배제된다면 충돌도 없을 테니까요. 결론부터 말하면 실제로 문제가 생기는 포인트는 "병렬로 실행되느냐"가 아닌 "작업이 중간에 중단될 수 있느냐" 입니다. 이 글에서 예시는 자바 기준으로 설명하겠지만 자바에만 한정된 내용은 아닙니다. 스레드가 번갈아 실행되고, 그 과정에서 공유 자원의 정합성이 깨지는 문제는 언어 레벨보다 더 로우 레벨의 현상입니다. 후에 소개될 자바의 synchronized, AtomicInteger, volatile을 예로 들었을 뿐, 유사한 해결법은 다른 언어에서도 존재합니다. count++는 한 번의 동작이 아니다.질문을 조금 바꿔보면..

  • format_list_bulleted Java/Java
  • · 2026. 5. 2.
  • textsms
[Java] 코드 흐름을 조립하고 실패를 복구하는 방법

[Java] 코드 흐름을 조립하고 실패를 복구하는 방법

코드를 작성하다 보면 핵심 로직 앞뒤에 붙는 것들이 코드를 지저분하게 만드는 경우가 있습니다. 처음에는 값을 한 번 가공해서 반환하면 끝나는 코드였는데, 시간이 지나면서 파싱이 붙고, 검증이 붙고, 암복호화가 붙고, 로깅이 붙고, 실패 시 복구 처리까지 붙는 경우가 발생하죠. 그때마다 "이 정도는 여기서 그냥 처리해도 되겠지" 하고 조금씩 덧붙이다 보면, 어느 순간에는 핵심 로직보다 부가적인 코드가 더 많은 상태가 됩니다. 이럴 때마다 드는 생각이 있습니다. 꼭 본문 안에서 다 처리해야 하나? 전처리와 후처리 그리고 실패 복구 같은 흐름을 조립할 수 있으면 코드 가독성이 향상되지 않을까? G마켓 기술 블로그의 Middleware 패턴과 코드 수준에서의 활용, try-catch 지옥 벗어나기에서 좋은 방향..

  • format_list_bulleted Java/Java
  • · 2026. 4. 24.
  • textsms
[2024.08.11] 혼자 떠난 일본 여행 (2)

[2024.08.11] 혼자 떠난 일본 여행 (2)

2024.07.24 수요일아침 일찍 달려간 금각사사찰 전체가 빤짝빤짝 빛난다.금빛 전각을 제외하고 크게 볼 게 없었던 금각사에서 내려와 대나무숲으로 가기 위해 버스를 기다리던 중 비가 내리기 시작비가 내린 이후 온도가 내려가면서 교토 여행이 (너무 * 100) 즐겁기 시작 비 오는 풍경이 너무 좋아서 지하철에서 내리니 비가 그쳤다 대나무숲 입장 대나무인 척 대나무가 바람에 흔들리는 소리, 새가 지저귀는 소리.는 사진으로 못 담지만 대충 좋았다는 의미 여행에서 제일 좋았던 가츠라강한 30분 정도 강을 바라보며 앉아있었다.크게 무슨 생각을 하진 않았고 평온한 느낌에 교토에 오길 잘 했다는 생각이 들었다. 강원도 살 때 이런 느낌의 강에서 가족들과 종종 낚시를 하곤 했다.또다시 가족과 고향 생각에 울컥했던 새..

  • format_list_bulleted 일상
  • · 2024. 8. 11.
  • textsms
[2024.08.05] 상반기 일상 & 혼자 떠난 일본 여행 (1)

[2024.08.05] 상반기 일상 & 혼자 떠난 일본 여행 (1)

2024.01.09 화요일강릉 버드나무 브루어리겨울 굴은 항상 옳다 2024.04.09 화요일인천 랜더스 필드 존맛 크림 새우 째정80세까지 계속 야구해줘... 2024.04.16 화요일회사 근처 볼링장비 정기적 볼링 동호회 모임첫 모임에 비하면 장족의 발전 2024.05.31 금요일고척 스카이돔 선발 오원석 매우 호투했던 걸로 기억  2024.07.23 화요일대망의 일본 여행교토 2박 3일, 오사카 2박 3일 간사이 국제공항에서 교토로 넘어가기 위해 탄 JR 하루카 바보처럼 왕복 티켓의 출발일을 두 개 다 여행 출발일로 발권했다;다행히 교토역 안내 센터에서 날짜를 바꿀 수 있었다.영어 가능한 직원분들이 계셔서 천만다행 기차에서 마신 녹차오타니 날씨가 정말 좋았던 교토날씨가 너무 좋은 나머지 체감 온도 ..

  • format_list_bulleted 일상
  • · 2024. 8. 5.
  • textsms
[Redis] Sorted Set : 기본 명령어

[Redis] Sorted Set : 기본 명령어

Sorted SetRedis의 Sorted Set은 말 그대로 정렬된 집합을 표현하는 자료구조로, 각 요소는 고유한 멤버와 스코어 한 쌍으로 이루어진다. 스코어는 멤버의 순서를 결정하는 데 사용된다. Sorted Set의 대표적인 기능으로 멤버의 추가, 삭제, 검색을 제공하며, 스코어를 기반으로 한 업데이트, 조회 또한 제공한다.  Sorted Set의 특성은 다음과 같다 :1. 고유한 멤버 : 멤버는 고유한 값으로 구성된다. 2. 정렬된 상태로 저장 : 스코어에 따라 정렬되어 저장된다. 3. 빠른 조회 : 내부적으로 skip list로 구현되어 있어 조회 시 O(log(N))의 시간 복잡도를 갖는다.4. 유연한 조회 : 스코어 기준으로도 멤버를 조회 가능하다. Sorted Set의 이..

  • format_list_bulleted Redis
  • · 2024. 4. 24.
  • textsms
[2024.01.01] 해피 뉴 이어~~!

[2024.01.01] 해피 뉴 이어~~!

2024.01.01 월요일 잘 가 2023, 2024도 행복한 일만 가득하길!

  • format_list_bulleted 일상
  • · 2024. 1. 1.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 10
  • navigate_next
전체 카테고리
  • 분류 전체보기 (58)
    • Java (8)
      • Java (6)
      • Testing (1)
    • 리팩토링 (26)
    • Redis (1)
    • C# (11)
    • Unity (3)
      • Unity (3)
    • DB (1)
      • MySQL (1)
    • Data structure (2)
    • 일상 (6)
    • 만화 (0)
인기 글
최근 글
최근 댓글
태그
  • #알고
  • #알고리즘
  • #카카오 기출
  • #프로그래머스
  • #C#
  • #코딩테스트
  • #SQL
  • #C++
  • #코딩
  • #BFS
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바