2025/03 5

소프트웨어 개발 방법론 (Waterfall, Agile)

소프트웨어 개발 방법론이란?소프트웨어 개발 방법론은 소프트웨어를 체계적으로 개발하기 위한 절차와 원칙을 정리한 프레임워크다. 이는 개발 일정 관리, 요구사항 정의, 설계, 구현, 테스트, 유지보수 등을 어떻게 진행할 것인지 정하는 방식이다.과거에는 문서 중심의 전통적인 방법론(예: Waterfall)이 주로 사용되었지만, 현대에는 유연한 방법론(예: Agile, Scrum, Kanban)이 더 많이 사용된다.전통적인 방법론: Waterfall 모델Waterfall 모델이란?Waterfall(폭포수) 모델은 단계별로 순차적으로 진행하는 소프트웨어 개발 방법론이다. 각 단계를 완료한 후에 다음 단계로 진행하며, 이전 단계로 돌아가는 것이 어렵다.Waterfall 개발 단계요구사항 분석(Requirements..

카테고리 없음 2025.03.13

Sync & Async과 Blocking I/O & Non Blocking I/O

I/O 종류네트워크 (socket)filepipe (프로세스 간)device (키보드와 같은 장치 등등)SyncSynchronous : 동기모든 요청과 응답이 일련의 순서를 따른다.작업의 완료 여부를 호출한 측에서 직접 확인하고, 작업이 끝난 후에 다음 작업을 수행함.AsyncAsynchronous : 비동기작업을 요청한 후 즉시 다음 작업을 수행할 수 있으며, 작업이 완료되면 별도의 콜백 함수나 이벤트를 통해 결과를 확인함.비동기 코드 예제import asyncioasync def async_order1(): print("task1 주문을 처리 중... ") await asyncio.sleep(2) # 2초 대기 (하지만 CPU는 다른 작업 수행 가능) return "아메리카노"asy..

CS/Operating System 2025.03.05

[Level 2 | Python] 이모티콘 할인행사 (2023 KAKAO BLIND RECRUITMENT)

https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제카카오톡에서 이모티콘 할인 행사를 한다. 목표는 다음과 같다.1. 이모티콘 플러스 서비스 가입자를 최대한 늘리기2. 이모티콘 판매액을 최대한 늘리기 (이모티컨 플러스 서비스 가입자가 같다면) 여기서 중요한 점은 이모티콘 할인행사의 할인율은 이모티콘마다 다를 수 있고, 10%, 20%, 30%, 40% 중에 하나이다. 풀이 과정처음에 딱 보고 완전탐색으로 풀 수 있나 시간복잡도를 계산해보았다. 시간복잡도사용자 수 최대 100명, 이모티컨 개수..

[Boj | Gold 3 | Python] 치즈

https://www.acmicpc.net/problem/2638문제치즈가 외부 공기와 두 칸 이상 접촉하면 1시간 뒤 녹는다. 치즈가 다 녹을 때까지 몇 시간 걸리나? 풀이과정치즈 = 1 , 빈 공간 = 0일단 치즈로 외곽 안에 0인 애들을 조심해야 한다. 무작정 전체 완전탐색으로 BFS 돌렸다가는 안에 0도 같이 카운트에서 녹이면 안 될 것도 녹여버릴 수 있다.외곽은 -1로 만들어주고, 완전 탐색으로 "외곽"이 두 개 이상 닿는 것을 카운트 해서 -1로 만들어 주면 된다. 그리고 위에 그림3과 같이 치즈 외곽에 막혔다 뚫린 경우를 위해 BFS 탐색을 통해 외곽과 0이 닿으면 0을 -1로 바꿔준다. find_melt_cheese의 flag는 1이 없을 때 True를 return 하고 치즈가 남아 있으면..

[Level 2 | Python] 지게차와 크레인 (2025 프로그래머스 코드챌린지)

https://school.programmers.co.kr/learn/courses/30/lessons/388353 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제https://jinsang-2.tistory.com/129https://www.acmicpc.net/problem/2638백준 치즈 문제와 비슷하다.  물류창고에 알파벳 컨테이너가 있는데, 지게차 같은 경우에는 "A"와 같은 형태이며 외곽에 있는 것들만 꺼낼 수 있다. 외곽부터 껍질 깎기 느낌으로 생각하면 된다. 크레인 같은경우에는 요청된 모든 종류의 컨테이너를 꺼낸다. 첫번째 세번째는 지게차로 'A' 꺼내기, 두번째 예시는 크레인으로 ..