Kimsora✨
article thumbnail
320x100
반응형
블로그 그만쓰고 취업하고 싶다.........

⭐️cs

 

 

 

📌git flow에 대해서 간략하게 설명해주세요

  • Git을 사용해서 개발 작업을 진행하는 프로세스로 복잡한 프로젝트에서 개발자들이 효율적으로 협업하고 배포를 관리할 수 있도록 설계되었습니다
  •  master 브랜치는 제품 배포 버전을 관리하는 브랜치로 안정적이고 배포 가능한 코드만을 포함해야합니다
  •  develop 브랜치는 , 그다음 버전을 준비하는 브랜치로 기능 개발이나 버그 수정등의 작업은 모두  develop브랜치에서 진행합니다
  • Feature 브랜치는 새 기능을 개발하는 브랜치로 develop을 베이스 브랜치로 가지며, 완료되면 develop에 머지하고 릴리즈(소스코드의 결과물을 공유)를 준비합니다
  • Release 브랜치는 다음배포를 위해 기능에 문제가 없는지 품질체크(QA) 용도의 브랜치입니다 Develop 브랜치에서 Release 브랜치를 분기하여 배포 준비 작업을 수행합니다
  • Hotfix 브랜치는 배포가 되고 나서(master에 배포 코드가 합쳐진 후) 버그 발생 시 긴급 수정하는 브랜치입니다 Master 브랜치에서 분기하여 수정 작업을 수행하고, 수정이 완료되면 Master 브랜치와 Develop 브랜치에 Merge 합니다

Git Flow에서의 작업 흐름

  1. Develop 브랜치에서 Feature 브랜치를 생성하여 새로운 기능을 개발합니다
  2. Feature 브랜치에서 개발이 완료되면 Develop 브랜치에 Merge 합니다
  3. Develop 브랜치에서 Release 브랜치를 생성하여 새로운 배포 버전을 준비합니다
  4. QA 과정에서 버그가 발생하면 Release 브랜치에서 수정한 후 커밋합니다
  5. QA가 종료되면 Release 브랜치를 Master와 Develop 브랜치에 Merge 합니다
  6. Master 브랜치에서 버전을 태깅하고, 배포합니다.

태깅(Tagging)은 Master 브랜치에서 특정 시점에서 버전을 명시하는 것
 "v1.0"과 같은 형식으로 태그를 생성할 수 있는데 이를 통해 배포된 소스 코드의 버전 관리를 용이하게 할 수 있다

 

📌유니코드란 무엇인가요?

  • 전 세계의 모든 문자와 기호를 컴퓨터에서 일관되게 표현하고 처리하기 위한 국제표준 인코딩 방식입니다
  •  숫자와 글자, 즉 키와 값이 1:1로 매핑된 형태의 코드이다
 
 
 

📌캐시란 무엇인가요? 캐시의 일반적인 작동원리를 설명해주세요.

  • 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소로 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공합니다
  • 작동 원리는 데이터를 가져올 때 먼저 캐시에서 데이터를 찾습니다
  • 캐시에 데이터가 있으면 이를 사용하고 없으면 원본데이터를 가져와 캐시에 저장합니다
  • 이후 같은 데이터를 요청할때 캐시에서 데이터를 가져오므로 원본 데이터에 접근할 필요가 없어 처리속도가 빨라집니다
  • 일반적으로 빠른 접근 속도를 위해 메모리나 디스크에 저장됩니다

🧩캐시의 장점

  • 애플리케이션 성능 개선
  • 데이터베이스 비용 절감
  • 백엔드 부하 감소
  • 예측 가능한 성능
  • 데이터베이스 핫스팟 제거
  • 읽기 처리량 증가(읽기 처리량: IOPS; Input/output operations per second. HDD, SSD 등의 컴퓨터 저장 장치의 성능 측정 단위)

🧩웹서비스에서 캐시가 적용되는 예제

  • 웹 페이지의 HTML, CSS, JavaScript 파일 등을 캐시에 저장하여 같은 페이지를 다시 열었을 때 더 빠르게 로드할 수 있습니다
    =>사용자 경험 향샹
  • 웹서비스에서 API를 사용할 때, API 결과를 캐시에 저장하여 다시 요청할 때 빠르게 결과를 얻을 수 있습니다
    =>API 요청 횟수 줄어듬
  • 사용자가 클릭하기 전에 미리 다음 페이지를 캐시에 저장하여 빠르게 로드할 수 있다

 

 

 

📌컴파일러와 인터프린터의 차이가 무엇인지 설명해 주세요

  • 컴파일러는 작성된 소스 코드 전체를 컴파일하여 기계어로 변환하는 도구입니다
  • 줄 단위로 번역하는 인터프리터에 비해 번역 시간은 오래걸리는 편이지만 한번 번역을 하면 실행 파일이 생성이 되어 다음에 실행을 할때 기존에 생성되었던 실행 파일을 실행하므로 실행시간이 빠른편입니다
  • 인터프리터는 소스코드를 바로 실행하는 도구로 소스 코드를 한줄씩 읽어서 즉시 실행합니다 이때문에 실행시간이 느리지만 실행 중에 오류를 바로 확인할 수 있어 디버깅이 쉽습니다

 

 

 

📌가비지 컬렉션은 무엇이며, 가비지 컬렉션 기능을 가진 언어는 무엇인가요?

  • 프로그램에서 동적으로 할당된 메모리 중에서 사용하지 않는 영역을 자동으로 탐지하고, 그 영역을 해제하여 다시 사용 가능한 메모리로 만드는 기능입니다
  • 사용되지 않는 메모리를 해제하는 과정을 가비지 컬렉션이라고 합니다
  • Java, C#, Python, Ruby, JavaScript 등이 있습니다
  • 이러한 언어들은 모두 가비지 컬렉션을 자동으로 처리하기 때문에 개발자가 명시적으로 메모리를 할당하거나 해제하지 않아도 됩니다.
  • 하지만 메모리 해제를 자동으로 처리하기 때문에 메모리 해제 시점을 개발자가 제어할 수 없다는 단점이 있습니다

 

 

 

📌RAM 메모리 주소는 왜 16진법로 표현할까요?

 
  • 2진수나 10진수보다 16진수가 주소값을 짧게 표현할 수 있기 때문입니다
  • 16진법은 컴퓨터 시스템에서 많이 사용되는 숫자 체계 중 하나이기 때문에, 이를 사용하여 주소를 표현하면 컴퓨터 시스템 전반에 걸쳐 일관성을 유지할 수 있습니다.
 
 

 

 

 
 
 
 
 
 
 

 

728x90
반응형
profile

Kimsora✨

@sorarar

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그

WH