본문 바로가기

전체 글61

2025년 정보처리기사 2회 합격 후기 및 문제 분석 작년에 한국에 들어 온 후, 많은 사람들을 통해 개발자는 정보처리기사가 없으면 시체라는 말을 많이 접하기도 했지만 반대로 어떤 사람은 정보처리가 필수는 아니라고 듣기도 했습니다. 실력이나 커리어가 충분하다면 기사 자격증은 의미가 없으니까 그렇게 생각 할 것입니다. 그러나 현실적으로 생각해봤을때는 주니어 개발자나 연차가 비교적 적은분들은 뭐가 하나라도 더 있으면 좋은게 맞다고 봅니다. 왜냐하면 채용 공고에 정보처리자격증을 우대로 넣거나 필수로 넣는 회사가 많이 보였기 때문인데요. 그런 생각으로 정보처리기사를 따야겠다고 결심을 하게 되었고 아래처럼 일정이 잡혔습니다.4월에 필기 원서접수 5월에 필기 시험 6월에 필기 합격 통보, 실기 원서접수 7월에 실기 시험9월 12일에 실기 합격발표(합격). 자격증 하나.. 2025. 10. 18.
2PC(Two Phase Commit)와 2PL(Two Phase Locking) 차이점 해당 책의 7장, Transaction에 대해 읽으면서 2PC(Two Phase Commit)와 2PL(Two Phase Locking)에 대한 용어를 접했지만 확 와닿지 않아서 다시 정리해 올려봅니다. 이름은 비슷해 보여도 DB 시스템에서 각기 다른 문제를 해결하기 위해 존재하는 프로토콜입니다. Two-Phase Locking (2PL): 병렬 제어 목표: DB의 Serializability를 충족하기 위해 사용활용: 병렬 Transaction에서 동시성 Read-Write으로 인해 데이터 불일치 방지설명: 다수의 db transaction 이 병렬적으로 실행되어도 최종 결과물은 순차적으로 실행 된 것 처럼 항상 같아야 합니다. 결국 병렬이 아닌것과 같습니다. 단일 DB 서버 환경에서 2PL은 이름과 .. 2025. 10. 7.
[PyCharm] 소스 루트(Source Root) 설정 하나가 만든 아찔한 버그 예시 코드 URL: https://github.com/MarcoBackman/EngineRefactorExample IDE의 편리한 기능이 때로는 예기치 못한 버그의 원인이 되기도 합니다. 오늘은 PyCharm(다른 IDE에서도 동일하게 발생할 수 있습니다)에서 복수의 소스 루트(Source Root)를 잘못 설정했을 때 마주쳤던, 디버깅하기 까다로운 테스트 실패 경험을 공유하고자 합니다.소스 루트, 왜 설정할까요?소스 루트를 설정하는 주된 이유는 파이썬 인터프리터에게 우리 프로젝트의 모듈을 어디서부터 찾아야 할지 알려주기 위함입니다. 이를 통해 아래와 같이 from my_package.my_module import my_function 같은 절대 경로 임포트를 IDE가 올바르게 인식하고, 코드 어.. 2025. 10. 7.
Pythonic Code 란? 파이서닉 코드 알아보기 개발자라면 클린 전반적으로 지켜지는 클린코드 규약을 따라야 하는데요. 파이선 개발에 있어서 기본적인 규칙을 따라야 한다는 클린코드의 관점을 파이썬스러움(Pythonic Code)이라고 표현을 합니다. 이런 파이선 특유의 명칭이 생긴 이유는 다른 언어와 차별화 된 파이선만의 기능을 최대한 활용해서 깨끗한 코드를 만들 수 있기 때문인데요. 이제부터 각각의 파이썬스러운 코드 규칙에 대해 설명하도록 하겠습니다. 1. join, split을 활용해 파이서닉 스러운 string, list 만들기 파이써닉하지 못한 join: 문장 끝에 필요없는 스페이스가 추가되는 단점, 선언 변수가 생기고 줄이 길어진다# Non-Pythonicwords = ['python', 'is', 'fun']sentence = ''for w.. 2025. 9. 21.
Directed Acyclic Graph (DAG) 응용 및 활용 분야 이전 플로그 포스팅(https://marcobackman.tistory.com/34)에서 모든 노드들을 시작과 끝을 순서로 선형 정렬을 하는 Topological Sort에 응용되 DAG 관련한 알고리즘을 다루었었는데요. Topological Sort란? Kahn's Algorithm으로 DAG 정렬 쉽게 이해하기🧠 DAG란?DAG(Directed Acyclic Graph)는 사이클이 존재하지 않는 방향 그래프입니다. 이 구조는 이벤트 간의 선후 관계를 파악해야 하는 문제에서 매우 유용하게 사용됩니다.예를 들어, 과목 수강 순서marcobackman.tistory.com 오늘은 해당 알고리즘으로 조금더 현실적으로 적용되는 사례와 예시를 보여드리고자 합니다. 우선 DAG의 정의부터 다시 복기를 하자면 .. 2025. 9. 15.
이산 사건 시스템 명세 DEVS(Discrete Event System Specification) 알고리즘 DEVS는 복잡한 시스템을 모델링하고 시뮬레이션하기 위한 강력하고 체계적인 프레임워크를 일컫는데, 의 가장 큰 특징은 계층적이고 모듈화(hierarchical and modular) 된 접근 방식으로 대규모 시스템의 개발 및 검증에 용이합니다. 핵심 구성 요소Atomic Model - 시스템의 가장 기본적인 단위, 더 이상 나눌 수 없는 최소 단위의 동작을 정의상태 집합입력 사건 집합출력 사건 집합내부 상태 변환 함수외부 상태 변환 함수동시 상태 변환 함수출력 함수시간 진행 함수Coupled Model - 여러 개의 아토믹 모델 또는 다른 커플드 모델들을 연결하여 더 큰 시스템을 구성하는 역할구성 요소 집합 (D)외부 입력 연결 (EIC)내부 연결 (IC)외부 출력 연결 (EOC)DEVS 작동원리초기화:.. 2025. 9. 9.