1. CDATA란 무엇인가? [ XML 구조 ] 일반적으로 XML은 가장 위에 선언문(XML DeclDeclaration)이 존재하고 그 하위에 XML 문서의 요소들이 존재한다. 요소들은 시작 태그인 으로 끝 태그인 시작하여 으로 닫히게 되어있다. 다음과 같은 문서는 XML의 구조로 되어있는 XML 문서이다. 제목 문서의 제목은 웹 브라우저의 제목 표시줄에 표시된다. [ CDATA란? ] 그런데 만약에 위의 XML 문서에 내용이 추가되어 다음과 같이 수정되었다고 하자. 제목 문서의 제목은 웹 브라우저의 제목 표시줄에 표시된다. 강조 내용을 굵은 글씨로 강조하기 위해서는 ... 태그를 사용해야 한다. 대신 을 사용할 수 있다. 우리는 위의 내용에서 또는 태그가 XML의 구조를 위한 것이 아님을 알 수 있다..
아래의 내용은 이 글의 내용을 번역, 의역 및 정리한 것입니다. 1. 세마포어(Semaphore)와 뮤텍스(Mutex) 세마포어와 뮤텍스는 모두 동기화를 이용되는 도구이지만 차이가 있다. 자세한 내용은 아래와 같다. [ Mutex(뮤텍스) ] 뮤텍스는 자원에 대한 접근을 동기화하기 위해 사용되는 상호배제 기술이다. 이것은 프로그램이 시작될 때 고유한 이름으로 생성된다. 뮤텍스는 Locking 메커니즘으로 오직 하나의 쓰레드만이 동일한 시점에 뮤텍스를 얻어 임계 영역(Critical Section)에 들어올 수 있다. 그리고 오직 이 쓰레드만이 임계 영역에서 나갈 때 뮤텍스를 해제할 수 있다. wait (mutex); ….. Critical Section ….. signal (mutex); 위의 수도코드는..
1. 해시테이블(HashTable)이란? [ HashTable(해시테이블)이란? ] 해시 테이블은 (Key, Value)로 데이터를 저장하는 자료구조 중 하나로 빠르게 데이터를 검색할 수 있는 자료구조이다. 해시 테이블이 빠른 검색속도를 제공하는 이유는 내부적으로 배열(버킷)을 사용하여 데이터를 저장하기 때문이다. 해시 테이블은 각각의 Key값에 해시함수를 적용해 배열의 고유한 index를 생성하고, 이 index를 활용해 값을 저장하거나 검색하게 된다. 여기서 실제 값이 저장되는 장소를 버킷 또는 슬롯이라고 한다. 예를 들어 우리가 (Key, Value)가 ("John Smith", "521-1234")인 데이터를 크기가 16인 해시 테이블에 저장한다고 하자. 그러면 먼저 index = hash_fun..
1. 기술 외 공통 면접 질문 [ 자기소개 및 지원동기 ] [ 주요 기술스택 및 역할 ] [ 자기소개서 기반의 프로젝트 질문 ] 어떤 역할을 담당하였는가? 서버는 어떻게 구성하였는가? 어떤 언어와 프레임워크, 라이브러리? 몇명의 사용자, 어느 정도의 트래픽 해당 기술 스택을 사용한 이유 구조에 대한 설명 및 설계 관련 내용 어떠한 알고리즘, 자료구조 혹은 디자인패턴을 사용하였는가? 개선점은 무엇이였나? 어떻게 프로젝트를 관리했고(스케줄, 소통 등) 어떻게 기여했는가?(문서화, 구조 설계, 개발 등) 자신의 프로젝트에서 다양한 상황을 가정해보자. (이런 경우 혹은 저런 경우엔 어떻게 하실 건가요? 같은 질문을 자주 함) [ 프로젝트에 있어서 가장 중요한 것은 무엇이라 생각하나요? ] [ 테스트 코드의 장점..
8. 백엔드(Spring 위주) [ WAS와 WS의 차이 ] WAS(Web Application Server) 비지니스 로직을 넣을 수 있음 Tomcat, PHP, ASP, .Net 등 WS(Web Server) 비지니스 로직을 넣을 수 없음 Nginx, Apache 등 [ 많은 트래픽이 발생한 경우 대처하는 방법 ] 스케일 업(Scale Up): 서버에 CPU나 RAM 등을 추가하여 서버의 하드웨어 스펙을 향상시키는 방법이다. 스케일 아웃(Scale Out): 서버를 여러 대 추가하여 시스템을 증가시키는 방법이다. [ CORS 란? ] CORS(Cross-Origin-Resource-Sharing)란 도메인이 다른 2개의 사이트가 데이터를 주고 받을 때 발생하는 문제입니다. 예를 들어 mangkyu.c..