본문 바로가기

프로그래밍지식8

[면접] 프론트엔드 개발자 기술 면접 문제 정리2 HTML5HTML (HyperText Markup Language)은 웹페이지를 기술하기 위한 마크업 언어이다. 조금 더 자세히 말하면 웹페이지의 내용(content)과 구조(structure)을 담당하는 언어로써 HTML 태그를 통해 정보를 구조화하는 것이다.시맨틱 태그시맨틱(Semantic) 태그는 의미가 있는 태그란 뜻입니다. HTML 태그를 통해 웹 문서를 작성할 때 좀 더 의미 있는 태그를 사용함으로써 정확하게 정보를 전달하고 웹 문서의 구조를 쉽게 파악할 수 있도록 합니다.CDN이란? html 파일에서 참조하는 css, javascript 파일이나 다른 리소스 파일을 웹사이트 서버가 아닌 다른 공유 공간에 두고 여러 웹사이트가 참조할 수 있게 하는 서비스를 의미한다. 웹사이트 구축 시, 별도 .. 2022. 1. 24.
[면접] 프론트엔드 개발자 기술 면접 문제 정리1 호이스팅(hoisting)이란? 자바스크립트에서 선언된 변수, 함수들 모두 끌어올려 유효 범위 내의 최상단에 선언하는 것을 말함 함수 호이스팅이 발생하는 원인 : 자바스크립트 변수 생성과 초기화(선언과 할당)가 분리되어 진행되기 때문 클라이언트 사이드 렌더링과 서버 사이드 렌더링 서버 사이드 렌더링 : 서버에 HTML 파일을 저장해 두었다가, 요청이 발생할 때 모든 파일을 브라우저에 전달하는 방식 클라이언트 사이드 또는 유니버셜 앱 HTML을 서버를 통해 렌더링 클라이언트 사이드 렌더링 : 서버에서 HTML 파일을 처리하지 않고, 브라우저의 자바스크립트를 사용해 렌더링 하는 것을 의미 주로 DOM을 사용하여 브라우저에서 렌더링 JS를 body 맨 밑에 둬야 하는 이유는 무엇인가요? 자바스크립트 코드를 b.. 2021. 11. 30.
[프로그래밍 기초] 프레임워크와 라이브러리의 차이점 프레임워크(Framework) 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경 프레임워크의 단어의 정의는 뼈대나 기반구조를 뜻하며, 프로그래밍에서 프레임워크는 구조적으로 고정된 부분을 재사용할 수 있도록 하고, 특정 기능을 추가적인 사용자 작성 코드에 의해 선택적으로 구현 가능하도록 하는 포괄적인 추상 구조입니다. 그리고 이를 지원하는 소프트웨어 플랫폼을 말합니다. 즉, 개발에 필수적이고 표준적인 부분에 해당하는 설계와 구현을 재사용 가능하도록, 일련의 협업화된 형태의 클래스들로 제공하는 반제품 소프트웨어 모듈이라고 볼 수 있습니다. 소프트웨어 프레임워크는 지원 프로그램, 컴파일러 , 코드 라이브러리, 도구 세트, api 등과 같이 프.. 2021. 1. 21.
[데이터베이스] 클러스터 인덱스와 넌클러스터 인덱스/ 개념 총정리 오늘은 인덱스의 종류인 클러스터 인덱스, 넌 클러스터 인덱스에 대해 정리해보겠습니다. 일단 인덱스란 데이터를 빠르게 검색할 수 있게 해주는 객체입니다. 컬럼을 정렬한 후에 데이터를 빠르게 찾을 수 있도록 도와주는 역할을 합니다. 책으로 비유하자면 색인을 의미합니다. 인덱스를 생성하면 무조건 데이터를 빠르게 검색할 수 있을까요? 대답은 노! 그건 아닙니다. 인덱스를 무작정 생성한다고 좋은 방법은 아닙니다. 인덱스를 생성하면 인덱스를 위한 디스크 공간이 필요하고, 인덱스를 가진 테이블에 DML 작업을 할 경우 더 많은 비용과 시간이 필요합니다. 때문에 인덱스를 생성 시 해당 테이블의 요도를 정확하게 파악한 후에 상황에 맞게 적절한 칼럼으로 Clustered Index와 Non Clustered Index를 .. 2020. 12. 30.
[데이터베이스] MSSQL과 오라클의 차이점 정리 오늘 동기 두 명이 면접을 보러 갔는데 면접 질문 중 하나가 MSSQL과 ORACLE의 차이였습니다. 오늘은 MSSQL과 ORACLE의 차이에 대해 정리해보려고 합니다. 일반적으로 우리가 쉽게 접할 수 있는 데이터 베이스는 MSSQL, Oracle, MySQL 등이 있습니다. 실무적으로 접근했을 경우 대기업 또는 큰 프로젝트인 경우 오라클을 선호하고, 돈이 적거나 중소기업들은 대체로 MySQL을 선호합니다. 간혹 서버를 윈도우로 두는 회사는 MSSQL을 사용합니다. 이중 대용량 데이터베이스로 적합한 것은 MSSQL과 Oracle입니다. 물론 대용량 데이터베이스는 이외에도 DB2와 싸이베이스가 있지만 쉽게 접할 수 없다는 단점이 있습니다. MSSQL과 Oracle의 차이 데이터베이스의 생성 Oracle: .. 2020. 12. 22.
[데이터베이스] 트랜잭션이란? 트랜잭션 총정리 (Transaction) 트랜잭션(Transaction) 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미 트랜잭션의 상태 활동(Active) : 트랜잭션이 실행 중인 상태 실패(Failed) :트랜잭션 실행에 오류가 발생하여 중단된 상태 철회(Aborted) : 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태 부분 완료(Partially Committed) :트랜잭션의 마지막 연산까지 실행했지만, Commit 연산이 실행되기 직전의 상태 완료(Committed) :트랜잭션이 성공적으로 종료되어 Commit 연산을 실행한 후의 상태 트랜잭션의 특징 1. 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 .. 2020. 10. 22.
[컴퓨터 기초] 메모리 구조 / 스택(Stack), 힙(Heap), 데이터(Data)영역 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공한다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같다. 코드(Code) 영역 데이터(Data) 영역 스택(Stack) 영역 힙(Heap) 영역 다음 그림은 운영체제가 제공하는 메모리 공간을 표현하고 있습니다. 1. 코드(Code) 영역 메모리의 코드(Code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고도 부른다. Hex파일이나 BIN 파일 메모리이다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 되며 컴파일 타임에 결정되고 중간에 코드를 바꿀 수 없게 Read-Only로 지정되어 있다. 2. 데이터(Data) 영역 메모리의 데이터(Data) 영역은 프로그램의 전역 변수(g.. 2020. 10. 8.
[HTML] 웹 표준이란? 정의 및 용어 정리 웹 표준(Web Standard)란 요약해서 '웹에서 사용되는 표준 기술이나 규칙'을 의미함 보통 인터넷을 이용할 경우 같은 웹페이지라면 어느 브라우저를 사용하는지 여부와는 상관없이 그 웹페이지가 똑같이 보이고 정상적으로 기능들이 작동해야합니다. 웹 표준은 브라우저 종류(크롬, 익스플로어, 사파리, 파이어폭스 등) 및 버전에 따라 발생하는 기능 차이에 대하여 호환이 가능하도록 제시된 표준으로써, 다른 기종, 플랫폼에 따라 다르게 구현되는 기술을 동일하게 구현하고, 어느 한쪽에 최적화되어 치우치지 않도록 공통 요소를 이용하여 웹페이지를 제작하는 기법을 의미합니다. W3C의 권고안에 따라 웹페이지를 만들 때 사용하는 HTML, CSS, Javascript 등에 대한 규정을 담고 있습니다. 지금은 거의 사라졌.. 2020. 3. 11.