[week01/03.14] TIL

CHO WanGi·2025년 3월 14일

KRAFTON JUNGLE 8th

목록 보기
2/89

하루 한 줄 요약

첫 발걸음, 참 무겁다.

오늘 공부한 내용

  • Git 기초
  • CSAPP 1.1 ~ 1.4 (컴퓨터 시스템 개괄)
  • 백준 문제 풀이(파이썬 입출력, 배열, 조건문, 반복문)
  • C언어의 배열과 문자열

새로 배우게 된 내용

Git 기초

  • HEAD
    미니 프로젝트 하면서 Git이 꼬였을 때, git log를 볼때 HEAD가 뭐냐는 팀원의 질문에
    머리...? 라고 답변했었는데 오늘 공부를 통해 현재 Checkout 된 커밋임을 알 수 있었다.

  • pull
    원격의 작업을 내 Local에 가져오는 작업으로, fetch + Merge로 구성되어있음을 알았다.
    그냥 당겨오는 것 뿐만 아니라(fetch), 내 Local의 작업과 합쳐지는 것(Merge) 까지 통틀어서 Pull 임을 배웠다.

  • git rebase new base
    미니 프로젝트 진행하면서 rebase가 뭐하는 것이냐는 질문에 제대로 답변하지 못했다.

    https://ho8487.tistory.com/90
    https://velog.io/@gygy/Gitrebase

위 링크와 제공받은 자료를 통해서 새로운 base가 될 브랜치의 최신 커밋 위로
합치고자 하는 작업(커밋)들이 재배치 되는 것이라는 큰 그림은 알 수 있었다.
다만, 여전히 부족한 부분이 있기에 내일 또 살펴볼 예정

CSAPP 1.1 ~ 1.4

팀 미팅 시간에 비트와 Context를 다루는 부분을 공유할때,
사진을 메모장으로 열면 이상한 숫자들이 나왔는데,
이것이 Context가 맞지 않을때 비트를 잘못 해석하는 경우임을 뒤늦게 알게 된 것 같다
팀원분의 말에 바로 이해가 완료.

백준 문제 풀이

  • 3자리 수에서 각 자리별 숫자를 어떻게 뽑았는가?(2588)
    - 문자열로 형변환 후 음수 idx 사용
    -map 함수 활용
  • 3자리 수를 Slicing 말고 어떻게 뒤집을까?(2908)
    - Slicing [::-1]
    - list.reverse()
  • 아스키 코드를 출력하는 메서드 ord() (11654)

C언어에서의 배열과 문자열

char str[7] = "hi dev" // 마지막 널문자(\0)까지 총 7 칸!
char str[] = "hi dev" // 명시하지 않으면 자동으로 크기 결정
  • NULL vs NUL vs 0 vs '\0'
    - 4가지 다 의미는 동일, 그러나 용도가 다 다름
    • 포인터 초기화 할 때 사용하는 NULL
    • ASCII에서 문자 '\0'을 의미하는 NUL
    • 정수 0
    • 문자열 끝을 나타내는 문자인 '\0'
  • 숫자 0과 문자 0이 다른 이유
    - ASCII 로 찍어보면 숫자 0은 0이고 문자 0 은 48, 즉 다른 비트값을 가짐
  • 널 문자는 왜 필요할까?
    - 메모리 상에서 문자열은 이진 데이터로 저장되는데, 문자열의 시작과 끝을 구분하기 위해서 필요하다.

공부하면서 어려웠던 점

  • 시간이 흐를 수록 떨어지는 집중력
  • 오랜만에 읽는 텍스트라 눈에 잘 들어오지 않았음

어떻게 해결했나?

  • 다른 환경을 만들어 Refresh 하고자 노력함
  • 2회독 진행, 1회독때 보이지 않았던 것들에 집중
profile
제 Velog에 오신 모든 분들이 작더라도 인사이트를 얻어가셨으면 좋겠습니다 :)

0개의 댓글