2025.02.10 (월)

윤혜진·2025년 2월 10일

📍오늘의 학습 키워드

  • C# 체크리스트
    • 클래스와 객체
  • 팀 프로젝트 작업 진행

📍학습 내용

  • 클래스와 객체
    • 클래스를 만들기 위한 기본 구조:
      키워드 이름
      {
      		 영역 설정 (~ 까지가 이 class에 대한 내용이다.)
      } 
      
      class name
      {
      		Console.WriteLine("저는 클래스 name 입니다.");
      }
    • 클래스는 하나의 새로운 타입을 만든 것이라고 할 수 있음
  • 접근 제한자
    • public: 모든 클래스에서 접근 가능
    • private: 내부 클래서에서만 사용 가능. 다른 클래스에서 접근 X
    • protected: 상속 관계에서 접근 가능
    • internal: 동일한 어셈블리(같은 프로젝트)에서 접근 가능
  • 어셈블리(Assembly)란?
    • 어셈블리(Assembly)는 .exe.dll로 컴파일된 결과물로, 프로그램 실행 및 배포 단위를 말한다.
    • 하나의 프로젝트는 하나의 어셈블리를 생성하고, 이 어셈블리 안에서만 internal 접근이 허용된다.
    • 솔루션 내에 여러 프로젝트가 있을 경우 각 프로젝트마다 별도의 어셈블리가 생성됨.
    • 즉, internal 키워드는 프로젝트(어셈블리) 내에서만 유효하고, 다른 프로젝트에서는 접근할 수 없음!

📍겪은 어려움

  • 깃허브 커밋 충돌 문제

    • 오늘 팀 프로젝트 코드 작성을 하던 중, Utill.cs 파일이 충돌 나서 다른 팀원 분이 충돌이 나는 부분을 정리하고 그 부분을 커밋해 주셨는데, 내가 그 Utill을 가져오려니 그 과정에서 또 충돌이 일어났다.
    • 그래서 내 쪽에 있던 Utill을 삭제하고 그분의 Utill을 가져오려고 했는데… 내가 Utill을 삭제한 내역이 그분의 브런치에 갱신되어 버리는 대형 사고가 일어났다…
    • 이런 비극이 일어난 이유: 나는 다른 브런치에서 무언가를 받아오려면 상대의 브런치에 들어가서 받아야 하는 줄 알았는데, 사실은 그 반대로 해야 했던 것.
    • 해결 방법: 내가 패치한 부분을 리버트를 사용해 없던 일로 만들었다.
    • 또 다른 문제: 내가 브런치를 옮기면서 내 진행 상황을 가지고 이동하지 않아서 지금까지 작업한 것들이 날아가는 일이 발생했다… (이 부분은 어떻게 복구할 방법이 없어 그냥 다시 작업해 주었다.)

📍회고 및 반성

  • 코드 작업도 작업이지만 깃허브로 서로의 코드를 합치는 작업이 정말 만만치 않다는 걸 느꼈다…
  • 기능을 구현하고 커밋하는 것도 중요한 일이지만, 오늘과 같은 실수로 어이없게 내가 작업한 것을 잃어버리지 않도록 자주 커밋해 주어야겠다는 생각이 들었다.
  • 왜냐하면 잘못 푸시한 건 되돌릴 수 있지만 커밋하지 못하고 날린 코드는 돌이킬 수 없으니까…….

1개의 댓글

comment-user-thumbnail
2025년 4월 10일

백업은 이중삼중으로 해도 부족한게 없죠.....
그래도 돈이 관련된건 아니니까 긍정적 사고?를 가져보기.

답글 달기