전체 글 222

Git 커밋과 로그, 그리고 실용적인 팁

Git 기초: 문서 탐색, 커밋 관리, .gitignore 설정Git 문서 탐색Git 명령어와 옵션이 궁금할 때는 공식 문서를 참고하는 것이 가장 정확합니다.공식 문서: git-scm.com → Documentation 메뉴Reference Manual: 모든 Git 명령어와 옵션을 정리한 섹션Pro Git: Git 사용법을 단계별로 설명하는 책필요한 정보만 찾아서 익히는 것이 효율적입니다.커밋을 원자적으로 유지하기원자적 커밋은 하나의 커밋이 단일 작업이나 기능만 포함하도록 하는 원칙입니다.장점문제 해결 용이: 특정 커밋만 롤백 가능코드 리뷰 효율성 증가: 변경 사항이 명확함역사 관리가 깔끔해짐: 변경 흐름이 명확함예:✅ "Rename Gatsby to Catsby" ✅ "Create mood boar..

Git 기초 개념과 필수 명령어 정리

Git 기초 정리1. Git 리포지토리란?Git 리포지토리(repository)는 프로젝트의 변경 이력을 저장하고 관리하는 공간입니다. 각 리포지토리는 독립적으로 존재하며, 프로젝트별로 별도의 리포지토리를 생성해야 합니다.Git을 설치한 후에는 원하는 디렉토리를 리포지토리로 설정해야 합니다. 이를 통해 해당 디렉토리 내의 모든 변경 사항을 Git이 추적할 수 있습니다.2. Git 저장소 초기화와 상태 확인git init - 저장소 초기화현재 디렉토리를 Git 저장소로 변환합니다. 한 프로젝트당 한 번만 실행하면 됩니다.git initgit status - 저장소 상태 확인현재 저장소의 상태를 확인하는 명령어입니다. 변경된 파일, 추적되지 않은 파일, 커밋 대기 상태의 파일 등을 보여줍니다.git stat..

기본 터미널 명령어 정리

필수 터미널 명령어 정리1. 디렉토리 탐색 명령어: ls, pwd, cd, open, startls (list) - 파일 및 폴더 목록 출력현재 디렉토리 안의 파일과 폴더를 나열합니다.ls특정 디렉토리의 내용을 확인하려면 아래와 같이 입력하세요.ls pwd (print working directory) - 현재 디렉토리 확인현재 작업 중인 디렉토리의 경로를 출력합니다.pwdcd (change directory) - 디렉토리 이동디렉토리를 변경하는 명령어입니다.cd 상위 디렉토리로 이동하려면 아래 명령어를 입력하세요.cd ..open - Mac에서 Finder 열기Mac에서 현재 디렉토리를 Finder에서 엽니다.open .start - Windows에서 파일 탐색기 열기Windows에서 현재 디렉토리를 ..

Construction of Minimal DFA Examples

1. 문제의 개요이 문제는 짝수 개의 1을 포함하는 문자열을 인식하는 DFA(Deterministic Finite Automaton, 결정적 유한 자동자)를 구성하는 과정에 대한 설명이다. 주어진 언어를 분석하여 규칙을 찾고, 이를 수학적으로 모델링한 후, DFA를 통해 인식 가능한 형태로 변환하는 것이 목표이다.2. 언어의 패턴 분석주어진 언어는 짝수 개의 1을 포함하는 모든 문자열을 포함한다.이를 분석하기 위해 몇 가지 예제 문자열을 살펴보면 다음과 같다.문자열길이포함 여부ε (빈 문자열)0✔ (짝수 개)11✘ (홀수 개)112✔ (짝수 개)1113✘ (홀수 개)11114✔ (짝수 개)1013✘ (홀수 개)11004✔ (짝수 개)이 패턴을 통해 1의 개수가 짝수일 때만 수락하는 DFA를 설계할 수 있..

Construct Minimal DFA

결정적 유한 자동자(DFA)의 정의DFA는 5개의 요소(Q, Σ, δ, q₀, F)로 구성된 수학적 시스템이다:Q (상태 집합): 자동자가 가질 수 있는 모든 상태.Σ (입력 알파벳): 허용되는 입력 기호 집합.δ (전이 함수): 현재 상태와 입력 기호에 따라 다음 상태를 결정.q₀ (초기 상태): 시작 상태.F (수락 상태): 입력을 수락하는 상태 집합.DFA의 동작 원리초기 상태(q₀)에서 시작하여, 입력 문자열의 각 기호를 δ에 따라 처리하면서 상태를 전이.모든 입력을 처리한 후, 최종 상태가 F에 포함되면 문자열을 수락.전이 함수의 특징DFA에서 모든 상태(Q)와 모든 입력 심볼(Σ)에 대해 정확히 하나의 전이가 정의되어야 함.이는 DFA가 결정적임을 보장하며, 모든 입력에 대해 정확히 한 경로만..

TOC Fundamentals, Regular Languages

알파벳알파벳(Σ): 문자열을 구성하는 기본 기호 집합으로, 항상 유한하고 비어 있지 않아야 함.예시: 영어 알파벳(52개), 이진 숫자(0, 1) 등.형식 언어: 알파벳에서 생성되는 문자열의 집합으로, 규칙(문법)에 따라 정의됨.ASCII 코드: 컴퓨터가 문자를 처리하기 위해 사용하는 숫자 코드 체계.의의: 형식 언어와 알파벳은 계산 이론에서 언어와 오토마타를 다룰 때 기본적으로 사용됨.문자열문자열(String): 알파벳(기호 집합)에서 기호들을 순서대로 배열한 것.예: 알파벳 {0, 1} → 문자열 0, 01, 1010 등.문자열의 길이: 문자열에 포함된 기호의 개수.예: 011의 길이 = 3, 빈 문자열(ε)의 길이 = 0.빈 문자열(ε):기호가 전혀 포함되지 않은 문자열.빈 문자열은 **ε(엡실론)..