전체 글 222

Non-Deterministic PushDown Automata (NFA)

요약 및 정리: 비결정적 유한 자동자(NFA, Non-deterministic Finite Automaton)1. NFA의 개념NFA(비결정적 유한 자동자)는 DFA(결정적 유한 자동자)와 유사하지만 각 입력 기호에 대해 여러 개의 가능한 상태 전이가 존재할 수 있음.특정 입력에서 0개 이상의 상태로 전이할 수 있음. (즉, 특정 입력에 대해 전이가 없을 수도 있고, 하나 이상의 상태로 이동할 수도 있음)2. NFA의 정의NFA는 5개의 요소(Q, Σ, δ, q₀, F) 로 정의됨:Q (상태 집합): 자동자가 가질 수 있는 모든 상태.Σ (입력 알파벳): 허용되는 입력 기호 집합.δ (전이 함수): 현재 상태와 입력 기호에 따라 다음 상태를 결정 (0개 이상의 상태로 전이 가능).q₀ (초기 상태): 시..

Git diff 사용법: 변경 사항 비교와 추적

Git Diff: 변경 사항 비교와 활용1. git diff 개요git diff는 변경된 내용을 비교하는 명령어입니다.수정된 파일에서 어떤 부분이 추가되거나 삭제되었는지를 한눈에 확인할 수 있습니다.git diff스테이징되지 않은 변경사항을 비교-는 삭제된 줄, +는 추가된 줄 표시2. git diff 실행 결과 읽기diff --git a/colors.txt b/colors.txt@@ -3,4 +3,5 @@- purple+ indigo+ violetdiff --git a/file b/file → 비교하는 파일 정보@@ -3,4 +3,5 @@ → 이전(3번째 줄부터 4줄) vs 수정된 내용(3번째 줄부터 5줄)- purple → 삭제된 내용+ indigo, + violet → 추가된 내용3. 스테이징되지 ..

Git 브랜치 병합과 충돌, 해결

Git 브랜치 병합(Merging) 정리1. 브랜치 병합(Merging) 개요브랜치는 독립적으로 작업할 수 있지만, 최종적으로 메인 브랜치(main 또는 master) 에 병합해야 합니다.병합을 수행하는 기본적인 방법은 git merge 명령어를 사용하는 것입니다.git switch master # master 브랜치로 이동git merge bugfix # bugfix 브랜치를 master에 병합병합은 크게 빨리 감기 병합(Fast-Forward Merge) 과 병합 커밋(Merge Commit) 두 가지 방식으로 이루어집니다.2. 빨리 감기 병합(Fast-Forward Merge)📌 특징master 브랜치에서 추가된 커밋이 없을 때 발생새로운 병합 커밋 없이, master의 포인터를 bugfix..

부울 대수 기본 법칙과 간소화

부울대수 연산과 간소화부울대수의 기본 개념과 주요 연산 법칙을 정리하고, 흡수 법칙과 합동 정리를 중심으로 설명한다. 또한, 이를 연습할 수 있는 복습문제를 포함한다.1. 부울대수 기본 개념부울대수: 변수 값이 0(거짓) 또는 1(참)인 논리 체계기본 연산자:AND (∧): 두 항이 1일 때 1OR (∨): 하나라도 1이면 1NOT (¬): 입력값 반전XOR (⊕): 1의 개수가 홀수이면 12. 부울대수 연산 법칙항등 법칙A ∧1 =A, A ∧1 =A영(Null) 법칙A ∨1 =1, A ∧0 =0보수 법칙A ∨¬A =1, A ∧¬A =0멱등 법칙A ∨ A = A, A ∧ A = A교환 법칙A ∨ B = B ∨A, A ∧ B = B ∧ A결합 법칙A ∨ B ∨ C = A ∨ B ∨ CA ∧ B ∧ C = ..

프로그래밍 2025.02.04

Git 브랜치 개념과 활용

1. 브랜치란?브랜치는 독립적인 작업 환경을 제공하여 여러 변경 사항을 동시에 진행할 수 있도록 합니다.주요 특징각 브랜치는 독립적으로 커밋을 저장변경 사항이 다른 브랜치에 영향을 주지 않음필요할 때 병합(Merge)하여 통합 가능브랜치를 사용하면 기능 개발, 버그 수정, 실험적 변경을 안전하게 관리할 수 있습니다.2. 마스터 브랜치(Master Branch)Git을 초기화하면 자동으로 생성되는 기본 브랜치입니다.$ git init$ git status# On branch master특징Git에서 특별한 기능은 없지만, 공식적인 코드 기준점으로 사용됨최신 Git에서는 main이 기본 브랜치로 설정되는 경우가 많음마스터 브랜치는 필요에 따라 변경하거나 삭제할 수 있습니다.3. HEAD란?HEAD는 현재 작..