\
[기술면접 준비] 내가 보려고 만드는 기술 면접 리스트 - 컴퓨터 구조
·
CS
안녕하세요!이번 포스트는 요새 면접 다니면서 부족하다고 느끼는CS 위주 기술 면접에 대해 작성해보려고 합니다! 내가 보려고 만드는 기술 면접 리스트문제 리스트CPU와 메모리는 각각 어떤 역할을 하나?프로그램은 어떻게 실행되는가?메모리 계층 구조를 간단히 설명해보세요.캐시 메모리는 왜 필요한가?지역성(Locality)이란?스택(Stack)과 힙(Heap)의 차이는?콜 스택(Call Stack)이란?스택 오버플로우가 발생하는 시점과 이유메모리 누수는 왜 성능 문제로 이어지나요?멀티코어 CPU가 프론트엔드에 주는 이점은?컨텍스트 스위칭이란?무거운 연산이 UI를 멈추게하는 이유Web Worker는 왜 필요한가요? 들어가기 전,컴퓨터 구조라는 과목은, 말 그대로 컴퓨터의 구조와 관련된 학문으로 내가 공부하고 있..
[개념] HTTP 메소드 정리
·
CS
HTTP란HTTP(HyperText Transfer Protocol)란 HTML과 같은 하이퍼미디어 문서를 전송하기 위한 애플리케이션 계층의 프로토콜이며, 전통적인 Client - Server 모델을 따르는무상태 프로토콜로 서버가 두 요청 간에 어떠한 데이터(상태)도 유지하지 않습니다.   어려운 말인 것 같지만 이해하고 나면 별거 아닌 말입니다. 하나씩 살펴보면, HTTP는 글자에서 알 수 있듯, 하이퍼미디어 문서를 전송하기 위한 프로토콜입니다.여기서 하이퍼미디어 문서란, 우리가 흔히 사용하는 하이퍼링크와 사진, 영상 등을 문서에 담을 수 있는 문서를 말합니다. 우리가 흔하게 사용하는 유튜브라던가, 쇼핑몰 사이트를 대표적인 예로 들 수 있습니다. 애플리케이션 계층이란, 네트워크의 OSI 7계층 중 7계..
[Git] Git Flow 브랜치 전략?
·
CS/Git
Git은 형상관리 도구 중 하나이며, Branch를 활용하여 파일의 변경사항을 기록 및 관리할 수 있습니다 그 중 오늘은 Git Flow 브랜치 전략에 대해 포스트하려 합니다.  Git-FlowGit-flow에는 5가지 종류의 브랜치가 존재합니다. 항상 유지되는 메인 브랜치들(master, develop)과 일정 기간 동안만 유지되는 보조 브랜치들(feature, release, hotfix)이 있습니다. master : 제품으로 출시될 수 있는 브랜치develop : 다음 출시 버전을 개발하는 브랜치feature : 기능을 개발하는 브랜치release : 이번 출시 버전을 준비하는 브랜치hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치 위 그림의 흐름을 살펴보면,처음에는 master와 de..
[Git] 다양한 Branch 병합 방법(git merge, git rebase, git merge --squash)
·
CS/Git
Git이란?Git은 형상관리 툴 중 하나로, 파일을 작성하는데 있어, 변화하는 과정을 관리해주는 도구입니다.GitHub는 파일 관리에 있어 로컬에 있는 파일을 공유할 수 있도록 원격(remote) 저장소(repository)를 제공하는 장소이며, Branch와 커밋을 통해 파일의 변화 과정을 저장해둘 수 있습니다.Branch?가지(branch)라는 뜻으로, 하나의 파일을 관리할 때 변화하는 과정에서 서로 다른 방향으로 나아가면 이를 관리할 때 각각의 Branch로 관리할 수 있습니다자세한 사항은 여기를 통해 알아보고, 우리는 이 브랜치의 병합 방법에 대해 알아보겠습니다. 서로 다른 파일을 하나의 파일로 만드려면 어떻게 하지?  Branch는 파일의 변경사항(커밋)으로 이루어진 하나의 가지입니다. 현재 가..