전체 글

신승환의 기술 블로그
결혼관련

공방301에서 웨딩밴드를 맞춘 후기 ✨

예비신부와 함께한 특별한 하루결혼 준비를 하다 보면 설레는 순간이 참 많은데,그중에서도 오늘은 특별했던 웨딩밴드 맞추기 이야기를 기록해보려 해요. 저희는 서울에 있는 공방301이라는 곳에서 반지를 맞췄답니다.결론부터 말하자면, 진짜 만족도 100%! 너무 좋은 시간이었어요. 서울 종로, 감성 가득한 거리 속 공방301 공방301은 서울 종로구 동순라길 108, GONGBANG.301 건물에 위치해 있어요.익선동, 종묘 근처라 데이트 코스로도 딱 좋은 위치고,감성 있는 거리를 걷다 보면 자연스럽게 도착할 수 있는 그런 곳이에요.건물 외관도 세련되고 깔끔해서 금방 찾을 수 있었어요.반지 맞추러 갔다가 산책도 하고, 예쁜 카페 들러서 좋은 하루 보내기 딱 좋았답니다.  첫인상부터 좋은 곳 😊 공방301은 예..

결혼관련

로브마이 미니스트로 후기

"로브바이 미니스트로"에서 결혼식과 스튜디오 촬영을 위한 대여 예복을 피팅해봤습니다. 우선, 원단의 질감이 고급스럽고 핏이 깔끔해서 착용감이 상당히 만족스러웠어요. 다양한 스타일의 예복이 준비되어 있어 취향에 맞게 선택할 수 있었고, 직원분들이 친절하게 응대해 주셔서 피팅 과정도 매우 편안했습니다. 특히, 체형에 맞는 핏과 스타일을 추천해 주시는 세심한 조언 덕분에 나에게 가장 잘 어울리는 예복을 쉽게 찾을 수 있었어요. 전체적인 분위기도 고급스럽고 깔끔하게 관리되어 있어 방문하는 내내 기분이 좋았습니다.  예복을 고민하는 예비 신랑이라면 한 번쯤 방문해보는 걸 추천하고 싶어요!

Elasticsearch

[Elasticsearch] GC Log 분석

GC 로그 분석 Elasticsearch 는 현재 CMS GC 방식으로 운영하고 있다. 운영하면서 발생되는 GC 로그는 크게 Minor GC / Major GC 로 나뉜다.    Minor GC Log[2024-12-26T01:33:11.134+0000][7860][gc] GC(116956) Pause Young (Allocation Failure) 10695M->9167M(16006M) 16.598ms[2024-12-26T01:33:11.150+0000][7860][gc] GC(116957) Pause Young (GCLocker Initiated GC) 9169M->9168M(16006M) 15.689ms  1. Timestamp & GC 정보 - [7860]  해당 부분은 JVM 프로세스 ID 이다..

운영체제

[운영체제] 모니터: 고급 동기화 메커니즘

모니터의 개념모니터는 세마포어의 단점을 해결하고자 고안된 고급 동기화 메커니즘이다. 모니터는 프로그래밍 언어 수준에서 지원되며, 고수준의 추상화를 제공하여 프로그래머가 저수준의 동기화 작업에 직접 관여할 필요가 없도록 한다. 이로 인해 코드의 복잡성을 줄이고, 오류 가능성을 감소시킬 수 있다.    모니터의 작동 원리모니터는 내부적으로 한 번에 하나의 프로세스만이 모니터에 정의된 연산을 실행할 수 있도록 제한한다. 모든 공유 변수는 모니터 내에 캡슐화되어 있으며, 이 변수들에 대한 접근은 모니터가 제공하는 절차(함수)를 통해서만 가능하다. 모니터는 자동으로 임계 구역에 대한 진입과 퇴출을 관리한다.    Java에서의 모니터 사용Java에서는 synchronized 키워드를 사용하여 메소드나 코드 블록을..

운영체제

[운영체제] 세마포어(Semaphore)

세마포어(Semaphore)의 기본 개념 세마포어는 다중 프로세스 환경에서 공유 자원에 대한 접근을 제어하기 위해 사용되는 변수다. 이는 상호 배제(Mutual Exclusion, 뮤텍스)를 보장하여 여러 프로세스가 동시에 공유 자원을 사용할 때 발생할 수 있는 경쟁 상태(Race Condition)를 방지한다.   직관적인 예시 - 프린터실과 열쇠회사에서 여러 직원이 공유 프린터를 사용한다고 가정해 보자. 프린터는 한 번에 한 사람만 사용할 수 있는 제한된 자원이다. 만약 프린터가 제한된 자원이 아니라고 하면, 여러 직원들이 한 번에 프린터를 사용하여 예상하지 못한 결과를 출력할 수 있다. 그러므로 아래와 같이 프린터를 사용하려면 프린터 방에 들어가서 한 명씩 프린터를 사용하도록 해야 한다.  여기서 ..

운영체제

[운영체제] 공유자원과 임계구역

공유자원과 임계구역 이란? 프로세스 간 통신(IPC)이 발생할 때, 여러 프로세스가 공동으로 사용하는 변수나 파일 등을 공유자원이라고 한다. 이러한 자원은 프로세스들이 데이터를 읽고 쓰는 데 사용되며, 자원의 접근 순서에 따라 연산 결과가 달라질 수 있다. 공유자원을 접근하는 코드 영역 중에서 여러 프로세스에 의해 동시에 실행되면 안 되는 부분을 임계 구역이라고 한다. 임계 구역의 관리가 제대로 이루어지지 않을 경우, 경쟁 조건(Race Condition) 이 발생하여 데이터의 일관성과 정확성이 훼손될 수 있다.   동기화 문제의 이해와 예시 공유자원을 다룰 때, 특히 멀티프로세싱 환경에서는  프로세스들이 어떤 순서로 실행될지 예측하기 어려운 경우가 많다. 이는 운영체제의 컨텍스트 스위칭이 프로세스들 사..

운영체제

[운영체제] 프로세스 간 통신(IPC, Inter-Process Communication)

프로세스 간 통신(IPC) 이란?프로세스는 운영체제의 기본 실행 단위로, 일반적으로 독립적으로 실행된다. 그러나 때때로 프로세스들은 데이터를 주고받으며 상호 작용할 필요가 있다. 이러한 상호 작용을 가능하게 하는 기술을  프로세스 간 통신(IPC, Inter-Process Communication)이라고 한다. 프로세스 간 통신은 대표적으로 3가지의 종류가 존재한다.  프로세스 간 통신 종류 1.  같은 시스템 내의 프로세스 간 통신 1-1) 파일 기반 통신여러 프로세스가 동일한 파일에 접근하여 데이터를 읽고 쓰는 방식으로 통신한다. 이 방법은 상대적으로 구현이 간단하지만, 동시성 관리가 필요할 때 복잡해질 수 있다. 1-2) 파이프 통신파이프는 데이터가 일방향으로 흐르는 통신 채널로, 주로 부모 프로세..

운영체제

[운영체제] MLFQ (Multi-Level Feedback Queue) 스케줄링 알고리즘

MLFQ (Multi-Level Feedback Queue) 스케줄링 이란? MLFQ (Multi-Level Feedback Queue) 스케줄링은 현대 운영 체제에서 널리 사용되는  고급 CPU 스케줄링 방법 중 하나이다. 이 방법은 여러 우선순위를 가진 큐를 사용하고, 프로세스의 행동에 따라 동적으로 우선순위를 조정하여 CPU와 I/O 자원의 효율적 사용을 극대화합니다.  MLFQ의 기본 원리타임 슬라이스와 우선순위MLFQ는 각기 다른 타임 슬라이스를 가진 여러 개의 큐를 사용한다. 우선순위가 높은 큐에 있는 프로세스는 짧은 타임 슬라이스를 받고, 우선순위가 낮은 큐에 있는 프로세스는 긴 타임 슬라이스를 받는다. 피드백프로세스가 할당된 타임 슬라이스 내에 작업을 마치면 (주로 I/O 요청으로 인해) ..

운영체제

[운영체제] Round Robin (RR) 스케줄링 알고리즘

Round Robin (RR) 스케줄링 알고리즘 이란? Round Robin (RR) 스케줄링은 타임 슬라이스 또는 타임 퀀텀이라고 불리는  고정된 시간 단위 동안 모든 준비 상태의 프로세스에  CPU 시간을 순차적으로 할당하는 방법이다. 이 방법은 각 프로세스가 공평하게 CPU 시간을 받도록 설계되었다.   RR 스케줄링의 기본 원리타임 슬라이스 설정각 프로세스는 타임 슬라이스만큼 CPU 시간을 받는다. 타임 슬라이스는 보통 몇 밀리초에서 몇 초 사이다.  순환 큐 사용준비 상태의 프로세스는 순환 큐에 들어가 타임 슬라이스가 지나면 큐의 뒤로 이동한다.  콘텍스트 스위칭타임 슬라이스가 끝나면 현재 프로세스는 작업을 중단하고 다음 프로세스로 전환한다. 이때 콘텍스트 스위칭이 발생한다.    RR 스케줄링..

운영체제

[운영체제] SJF (Shortest Job First) 스케줄링 알고리즘

SJF (Shortest Job First) 스케줄링 알고리즘 이란? SJF(Shortest Job First), 또는 최소 작업 우선 스케줄링은  프로세스의 실행 시간(Burst Time)이 가장 짧은 작업을 먼저 실행하는 알고리즘이다.  이 스케줄링 전략은 평균 대기 시간을 최소화하는 데 효과적이라는 이론적 배경을 가지고 있다.   SJF의 장점1) 효율성SJF는 Burst Time이 짧은 작업을 우선적으로 처리함으로써 전체적인 작업 완료 시간을 단축시킨다.  이로 인해 시스템의 처리량이 증가하고 평균 대기 시간이 감소하는 효과가 있다.  SJF의 단점1) Burst Time 예측의 어려움프로세스의 실행 시간을 미리 정확히 예측하는 것은 매우 어렵다.  사용자 상호작용이나 외부 이벤트에 따라 프로세스..

ssh9308
신승환의 기술 블로그