분류 전체보기

    [네이버 부스트캠프] 네이버 부스트캠프 웹・모바일 8기 챌린지 2주차 회고

    내용에 문제가 있는 경우 삭제 또는 수정하겠습니다. 네이버 부스트캠프 챌린지 2주차가 끝났다. 이번주는 저번주와 다르게 시간이 빠르게 흘러갔다. 이제는 부스트캠프 챌린지에 적응하고 있는 것 같다. ✨ 좋았던 점 (잘한 점) 이번주는 저번주와 다른 방향으로 미션을 수행했다. 저번주는 미션에 대한 압박감 때문에 과제 제출에 집중하고 과제를 완성하는 것에 급했다. 하지만, 이번주는 저번주와 다르게 "학습과 설계"에 초점을 맞췄다. 과제를 진행하기 앞서 어떤 개념이 필요하고 내가 모르는 부분이 무엇인지 스스로 판단한 뒤 개념을 먼저 학습했다. 개념을 학습하며 새롭게 알게된 점이나 미션 수행에 필요할 것으로 판단되는 개념들은 README에 함께 정리해두고 나중에 학습정리에도 작성했다. 개념을 학습하고 난 뒤 문제..

    [네이버 부스트캠프] 네이버 부스트캠프 웹・모바일 8기 챌린지 1주차 회고

    내용에 문제가 있는 경우 삭제 또는 수정 하겠습니다. 이번에 네이버 부스트캠프 웹・모바일 8기에 합격해서 열심히 부스트캠프 챌린지에 참여 중이다. 이번주가 어떻게 지나갔는지도 모를 만큼 바쁘고 정신 없는 일주일이 되었다. (5일 동안 하루도 빠짐없이 모니터만 14시간 씩 보게 되었고 인공눈물을 엄청 넣게 되었다...) 🤷‍♂️ 네이버 부스트캠프 부스트캠프 챌린지에서는 매일 미션을 수행하고 다음날 피어세션을 통해 서로의 미션 수행을 점검한다. 나는 1주차에서 피어세션을 어떻게 하면 잘 할 수 있을까 라는 생각으로 임하게 되었다. 내가 부스트캠프에 합격하고 세운 나만의 원칙은 "다음날에 지장이 없도록"이었다. 아무리 아쉬워도 새벽까지 한다면 다음날 반드시 지장이 있기 때문에, 더 좋은 피드백을 할 수 없기 ..

    [CS: 운영체제] 컴파일러

    컴퓨터는 const a = 10;을 읽을 수 없다. 컴퓨터는 0과 1밖에 이해하지 못하기 때문이다. 나는 0과 1로만 작성된 코드를 읽을 수 없다. 나는 컴퓨터가 아니기 때문이다. 따라서, 둘을 연결하는 중간다리 역할이 필요하며, 이것이 컴파일러의 역할이다. 저급언어와 고급언어 컴퓨터는 0과 1밖에 이해하지 못한다. 기계는 일반적으로 저급 언어를 사용하며 0과 1로 구성된 기계어도 저급 언어 중 하나다. 인간이 0과 1로만 프로그래밍 하는것은 불가능에 가깝다. 이를 해결하기 위해 조금이라도 개선한 언어가 "어셈블리어"이다. 하지만, 어셈블리어도 우리가 이해하기에는 여전히 어렵다. 따라서, 이러한 단점을 보완하기 위해 인간의 가독성을 우선으로 여긴 언어들이 등장했으며 이를 고급 언어라 부른다. 고급 언어의..

    [CS: 운영체제] 프로세스 메모리 구조

    "프로그램을 실행"한다는 것의 의미는 무엇일까? 프로그램의 컴파일 프로세스는 프로그램으로부터 인스턴스화 된 것을 의미한다. 프로그램은 컴파일러가 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 기계어로 번역되어 실행할 수 있는 파일이 되는 것을 의미한다. (쉽게 생각해서 프로그램은 실행 파일을 의미하고, 그 실행 파일을 실행하면 프로세스가 시작된다고 생각하면 된다) 프로그램의 컴파일 과정은 아래의 그림과 같다 전처리: 소스 코드의 주석을 제거하고 헤더 파일을 병합 컴파일러: 오류 처리, 코드 최적화 작업을 하며 소스 코드를 어셈블리어로 변환 어셈블러: 어셈블리어를 목적 코드로 변환시킨다. 확장자는 운영체제마다 다른데 리눅스에서는 .o이다. 링커: 프로그램 내에 있는 라이브러리 함수 또는 다른 파일들과 목적 ..