favicon

Jayden { do: smite }

240312(화)

🌱 성장일지 9.0

행복한 이기주의자(웨인 다이어)의 내용에 자극받아 시작하는 소박한 성장기록

  • 살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?
  • 성장하고 있는 것이 살아 있는 것이다.
  • 생명의 유일한 증거는 성장이다!

🧩 (10.0) 매일 공부한 것, 새롭게 알게 된 것, 간단하게라도 작성하고 싶은 것을 주관적인 생각과 함께 편하게 작성하자! 그리고 그 중에서 괜찮은 내용을 잡동사니에서 자세히 다루자!

🔨 개발관련

C 프로그래밍

프로그래밍 언어란

  • 사람과 컴파일러가 이해할 수 있도록 약속된 형태의 언어
  • 사람 - 컴파일러 - 컴퓨터
    • 사람: 인간의 언어, C언어 사용 가능
    • 컴파일러: C언어, 기계어 사용 가능
    • 컴퓨터: 기계어, 전기 신호 사용 가능

C언어는 컴파일러와 소통하기 위한 언어

컴파일러란

  • 프로그래밍 언어로 작성된 소스코드를 기계어로 번역해주는 프로그램

C언어는 UNIX 운영체제 구현을 위해 만들어진 언어이다.

컴퓨터 기종 간 호환성을 가지면서(다양한 컴퓨터에서 사용 가능하면서) 하드웨어를 직접 제어할 수 있는 언어가 필요했다고 한다.

C언어 특징

  • 프로그램 이식성이 높다.
  • 간단한 문법 표현으로 함축적인 프로그래밍이 가능하다.
  • 저급언어의 특성을 가진 언어이다.

C 프로그램 작성 단계

  1. 코딩 단계: 주어진 문제에 대한 설계를 바탕으로 소스코드를 작성하여 소스파일을 생성한다.
  • 소스파일은 확장자가 .c인 파일이다.
  • 요즘의 컴파일러는 c, c++을 모두 지원한다. 그래서 확장자로 어떤 언어인지 구분한다.
  1. 컴파일 단계: 소스파일을 컴파일러를 통해 기계어로 번역하여 목적파일을 생성한다.
  • 목적파일은 확장자가 .obj인 파일이다.
  • 목적파일은 기계어(0과 1)로 된 파일이다.
  • 목적파일은 실행파일이 아니다.
  1. 링크(링킹) 단계: 여러 목적파일들과 라이브러리 파일을 링커를 통해 하나의 실행파일로 만든다.
  • 실행파일은 확장자가 .exe인 파일이다.
  • 실행파일은 기계어로 된 파일이다.
  • 실행파일은 컴퓨터에서 실행할 수 있는 파일이다.

Git

Git의 Tag

  • 특정 커밋에 대한 참조를 만들어주는 것
  • 커밋에 대한 참조를 만들고 이후 커밋에 따라 참조가 옮겨가지 않는다.
  • .git/refs/tags 디렉토리에 저장된다.
# 태그 생성 git tag <tagname> # 태그 삭제 git tag -d <tagname>

커밋에 대한 참조(이름)을 만들어 두면, 나중에 해당 커밋으로 돌아가기 쉽다.(특히나 이전 커밋으로 reset 쳤다가, 다시 돌아가고 싶을 때 유용하다.)

Git의 Branch

  • 마찬가지로 특정 커밋에 대한 참조를 만들어주는 것
  • 커밋에 대한 참조를 만들고 이후 커밋에 따라 참조가 옮겨간다.
  • .git/refs/heads 디렉토리에 저장된다.
  • 특정 커밋에서 여러 브랜치를 생성할 수 있다.
    • .git/HEAD 파일에 HEAD가 가리키는 브랜치가 저장된다.(refs: refs/heads/main)
# 브랜치 생성 git branch <branchname> # 브랜치 생성하면서 HEAD를 해당 브랜치로 이동 git switch -c <branchname> # 브랜치 삭제 git branch -d <branchname>

하나 기억할 점! Git DB에서는 CRUD 중 U와 D가 없다. 그냥 C와 R만 있다. 즉, 언제든 다시 복구할 수 있다는 뜻이다.

🥳 감정관련

방통대 강의와 교재가 생각보다 괜찮다. 빠듯하게 들어야되겠지만, 그래도 재미있게 들을 수 있을 것 같다. 매번 배울수록 모르는 게 참 많다는 걸 느낀다. 배우는 행위는 매일 조금씩 꾸준히지만, 성장은 계단식이라는 것을 기억하자.

📚 참고자료

Copyright 2023. all rights reserved by Jayden