Flood Fill 알고리즘Flood Fill 알고리즘은 다차원 배열에서 특정 영역을 탐색하고 색을 채우기 위해 사용되는 알고리즘이다.이 알고리즘은 주어진 시작점에서 인접한 같은 색의 영역을 탐색하며 색을 채운다.탐색 과정에서 DFS나 BFS를 사용하여 인접 영역을 방문한다.주로 픽셀 기반의 이미지 처리나 그래프 탐색 문제를 해결하는 데 활용된다.시간복잡도: 배열의 행 수가 n, 열 수가 m 일때, O(n * m)Flood Fill 알고리즘 구현먼저 시작 위치와 목표 색을 입력받고, 시작 위치의 기존 색을 확인한다.만약 시작 위치의 색과 목표 색이 동일하다면, 동작을 종료한다.시작 위치와 목표 색과 다르다면 목표 색으로 변경하고 상하좌우 인접한 영역을 탐색한다.인접 영역의 색이 기존 색과 동일할 때, 해..

1. Heroku 계정 생성Heroku 웹사이트에 접속해 무료 계정을 생성한다. Cloud Application Platform | HerokuHeroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.www.heroku.com웹사이트에 들어가면 "Sign Up" 버튼을 클릭하여 계정 생성 페이지로 이동한다.아래 페이지에서 이름, 이메일, 역할, 국가, 주 언어를 입력하고 "CREATE YOUR ACCOUNT"를 클릭한다.입력한 이메일로 계정 확인 메일이 전송되고, 메일을 통해 접속한 사이트에서 비밀번호를 설정하면 계정 생성이 완료된다.계..
docker-compose down 명령어는 실행중인 모든 컨테이너를 중지하고 삭제한다. 이러한 과정에서 데이터 손실이 발생할 수 있는데, 이를 방지하는 두 가지 방법을 소개하려고 한다.1. docker-compose stop 이용docker-compose stop 명령어는 컨테이너를 일시정지하는 것과 같다.이 명령어는 컨테이너를 삭제하지 않고 중지 상태로 유지하므로 언제든지 다시 시작할 수 있다.또한 서비스를 정상적으로 종료하고 데이터를 저장하는 과정을 거치기에 데이터 손실이 발생하지 않는다.2. docker-compose.yml 파일에 볼륨 지정 설정docker-compose.yml 파일에서 MySQL 데이터베이스나 기타 데이터를 저장할 서비스에 볼륨을 설정하면 데이터 손실을 막을 수 있다.아래와 같..
프로젝트 개발을 완료하고 더 이상 필요하지 않은 경우, 프로젝트를 종료하고 PowerShell을 통해 프로젝트를 삭제할 수 있다. 1. IDE 종료먼저, 작업을 마친 후 IDE에서 프로젝트를 종료한다.PyCharm인 경우 File > Close Project를 선택하여 종료한다. 2. PowerShell 실행Windows 검색창에 "PowerShell"을 입력하고, 관리자 권한으로 PowerShell을 실행한다. 3. 프로젝트 디렉토리로 이동삭제할 프로젝트가 위치한 디렉토리로 이동한다.cd C:\Users\4. 프로젝트 폴더 삭제Remove-Item -Recurse -Force .\-Recurse는 하위 디렉토리와 파일을 포함하여 삭제한다.-Force는 사용자의 확인 없이 삭제를 진행한다.
개발을 하다 보면 .gitignore파일에 추가했지만 이미 Git에 푸시된 파일을 삭제해야 할 때가 있다.이럴 때 해당 파일(example.log)을 GitHub Repository에서 제거하는 방법은 다음과 같다.1. 파일 삭제먼저, Git에서 example.log 파일을 삭제해야 한다.이때 --cached 옵션을 사용하면 워킹 디렉터리에서는 삭제되지 않고, Git의 스테이징 영역에서만 없어진다.git rm --cached example.log2. .gitignore 파일 업데이트이제 example.log 파일이 .gitignore에 포함되어 있는지 확인하고 없다면 추가한다.파일을 열어 직접 example.log를 추가하거나bash에서 echo "example.log" >> .gitignore를 사용할..
브랜치와 커밋 메시지에서 사용할 수 있는 다양한 prefix가 있다.각 prefix는 특정한 변경 유형을 나타내고, 팀이나 프로젝트에 따라 다를 수 있다.일반적으로 많이 사용되는 prefix는 다음과 같다.1. Branch prefix브랜치는 주로 작업의 유형을 나타내는 이름으로 구성된다.프리픽스형식설명예시Featurefeature/새로운 기능 개발feature/user-authenticationBugfixbugfix/버그 수정bugfix/fix-login-errorHotfixhotfix/긴급 버그 수정hotfix/urgent-security-fixReleaserelease/배포 준비 완료release/v1.0.0Chorechore/잡무나 유지보수 작업chore/update-dependenciesDocs..
브랜치(branch)Git에서 브랜치는 프로젝트 관리를 체계적으로 돕는 핵심 기능이다.브랜치는 독립된 작업 공간을 제공하여 새로운 기능 개발, 버그 수정 등 여러 작업을 동시에 진행할 수 있게 한다. 다시 말해, 브랜치를 사용하면 기본(main) 코드에 영향을 주지 않고 개발하거나 테스트할 수 있다.기본 브랜치 관리 Workflow브랜치 생성main 브랜치에서 새로운 기능 또는 작업을 시작하려면, 새 브랜치를 생성하여 독립적으로 작업한다.새로운 기능을 추가할 때는 feature/기능이름 형식으로 브랜치를 생성한다.git checkout -b feature/기능이름작업 후 커밋(Commit)작업 후 변경 사항을 저장할 때 커밋한다.git add .git commit -m "#1: 새 기능 추가"브랜치 병합..