전체 글(67)
-
[백준 JAVA] 31809 : malware 박멸하기
[백준 31809] malware 박멸하기 : https://www.acmicpc.net/problem/31809문제 조건시간을 신경쓸 필요가 없어보인다. 하루에 박멸 이후 감염이 차례로 진행된다고 이해할 수 있다. 따라서 자신에게 진입 간선이 존재한다면 박멸 이후 감염이 이뤄지므로 아무런 일도 일어나지 않는다. 위에서 말했던 것에 대한 예시를 확인할 수 있다. 진입 간선이 존재한다면, 박멸 이후 감염된다.주기(P)와 C의 크기가 다른 것이 처음 문제를 읽을 때 조금 헷갈렸다. 문제 해결 방법 문제의 핵심은 현재 박멸이 진행되는 컴퓨터(노드)에 진입하는 간선(즉, 외부에서 감염될 가능성)이 있다면, 해당 컴퓨터는 다시 감염될 수 있어 즉시 처리할 수 없다는 점이다.따라서 진입 간선이 없는 노드를 우선적..
2025.02.09 -
[백준 JAVA] 4196 : 도미노
[백준 4196] 도미노 : https://www.acmicpc.net/problem/4196문제 조건 도미노가 한쪽 방향으로만 넘어지기에 단방향 간선으로 표현되지만, 실제로는 우리가 원하는 방향(왼쪽 또는 오른쪽)으로 도미노를 밀어 넘어뜨릴 수 있다. 즉, 한 도미노가 넘어진 방향에 따라 연쇄 반응을 일으키는 관계가 결정되는데, 이때 도미노를 그래프로 나타내면 간선이 기본적으로 한 방향(진출 간선)만 표시된다. 하지만 만약 어떤 도미노가 한쪽 방향에서는 연쇄 반응을 일으키지 못한다면, 그 도미노의 반대쪽(진입 간선) 방향으로도 연쇄 반응을 고려할 수 있어야 한다. 그래서 DFS를 진행할 때, 상황에 따라 진출 간선과 진입 간선을 서로 뒤바꿔서 탐색할 수 있다는 뜻이다. 이는 단순히 양방향 그래프가 되는..
2025.02.08 -
JVM - WORA
플랫폼 독립성 소프트웨어는 발전할수록 더 많은 환경에서 실행할 수 있는 유연성을 필요로 한다. 그러나 과거에는 운영체제(OS)나 하드웨어(CPU)에 따라 실행 방식이 달라지는 문제가 있었다. 이를 해결하기 위해 JVM(Java Virtual Machine)이 등장했다. JVM이 무엇이며, 어떻게 자바 코드가 플랫폼 독립성을 가질 수 있는지 이해하기 위해, 먼저 기존의 실행 방식이 가졌던 한계를 살펴보자. 어셈블리어특정 하드웨어에 종속된 실행 방식 +------------------+ | x86 CPU (Intel) | +------------------+ | +----------------------..
2025.01.28 -
동시성과 병렬성
이미지 출처: https://brightdata.com/blog/web-data/concurrency-vs-parallelism 개념 동시성 (Concurrency)여러 작업을 논리적으로 동시에 실행하는 것처럼 보이게 설계·관리스케줄링, 컨텍스트 스위칭, 비동기 처리 등을 통해 동작일반적으로는 "동시성 = 논리적으로 동시에 실행"을 의미물리적 코어가 여러 개여도, 동시성 자체는 논리적인 실행 순서 관리에 초점이 맞춰짐 병렬성 (Parallelism)여러 코어(또는 머신)를 물리적으로 활용해, 동시에 작업을 수행함으로써 성능(처리량, 응답속도 등)을 향상 시키는 것한 작업을 여러 부분으로 나누어 동시에 처리하거나, 여러 작업을 배분해 처리하여 전체 처리 시간을 단축일반적으로는 "병렬성 = 물리적으로 ..
2025.01.10 -
DB Replication (MySQL - Binary Log)
이미지 출처: https://www.researchgate.net/figure/MySQL-master-slave-database-replication-process_fig2_4317609 목적 고가용성(High Availability), 데이터 안정성(Data Reliability)읽기 부하 분산: 읽기 요청을 복제 서버로 분산(CQRS)하여 원본 서버의 부하 감소.백업 및 장애 복구: 데이터를 안전하게 저장하고, 원본 서버 장애 시 복제 서버를 통해 복구. 구성 요소 원본 서버(Source / Master)데이터 변경 작업(INSERT, UPDATE, DELETE)을 처리하며, Binary Log를 생성, 읽기(Read)가 포함될 수 있음. 복제 서버(Replica / Slave)원본 서버의 Bin..
2025.01.07 -
2024
[데브코스 백엔드 1기] 회고반 년간의 데브코스를 마쳤다데브코스를 시작할 때, 나는 내가 경험해보지 못한 것이 나의 부족함이라고 정의했고, 그것을 채우는 것을 목표로 삼았다. 그러나 내가 이해했다고 여겼던 것들을mak-ing.tistory.com 우아콘 2024, 다녀왔습니다!기억에 남는 키워드 기획이 완벽하지 않더라도 서비스를 이해할 수 있어야 한다. 현업에서 중요한 능력인 것 같다.기획이 완벽하면 우리는 대체 가능한 인력이 된다. KPT 회고. 회고라는mak-ing.tistory.com [우테코 7기 프리코스 최종] 회고, 합격우테코 프리코스를 시작하며 다짐했다. "모든 것을 받아들일 수 있는 백지가 되자" 이미 익숙한 지식과 기술을 새롭게 배우는 자세로 임하고 싶었다. 그렇기에 프..
2025.01.02