본문 바로가기

DB 면접 대비 1. 데이터베이스의 구성요소는? - 데이터 베이스의 구성요소에는 3가지가 있다. 1. 개체(Entity) 2. 속성(Attribute) 3. 관계(relationship) - 개체 : DB에서 표현하고자하는 유, 무형의 객체 -> 저장, 관리되어야하는 데이터의 집합 :: 테이블 - 속성 : 개체의 특성이나 상태 :: 컬럼(column) - 관계 : 개체와 개체 또는 개체와 속성간의 관계 2. RDBMS는 무엇인가? - 관계형 데이터베이스로써, 데이터가 논리적인 값에의한 관계를 가진 것을 말한다. - 데이터 검색을 위해 관계형 연산을 지원하는 SQL명령어를 사용한다. 2.1 NoSQL은 무엇인가? - NoSQL은 데이터 검색과 삽입의 속도 향상에 특화된 목적을 위해 비관계형 데이터 저장소에 데이터를 저장하..
VPN(Virtual Private Network) - 인터넷 네트워크와 암호화 기술을 이용하여 사설 가설망을 구축하는 시스템을 말한다. - 기업이나 군대같은 단체에서 사용하는 인트라넷이 대표적 => 인터넷 회선을 암호화된 규격을 통해 개인 전용선같이 끌어씀 VPN 동작 원리 - VPN은 라우터를 이용해 구축할 수 있다.(요즘은 공유기로 구축 가능) - 해당 라우터에 연결되어있는 모든 컴퓨터는 하나의 네트워크(가상 사설망)에 속하게 된다. - 이 하나의 네트워크, 즉 LAN에 연결되어 있는 모든 장치들은 사설 IP를 할당받게 되고, 네트워크 내 각 장치들 간의 통신은 사설 IP를 통해 이루어진다. - 라우터가 인터넷에 연결되어 있는 경우, 라우터는 공용 IP를 할당받아 인터넷과 통신하게 된다. -> LAN 내의 컴퓨터들은 라우터를 통해 공인 IP로 인터넷..
디자인 패턴 GoF 패턴 1. 생성(Creational) 패턴 - Factory - Singleton - Prototype 2. 구조(Structural) 패턴 - Adapter 3. 행위(Behavioral) 패턴 - Observer - Strategy - Templete Strategy 패턴 - 행위를 클래스로 캡슐화해 동적으로 행위를 바꿀수 있게 해주는 패턴 - 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화 되어있음 => 즉, 전략을 쉽게 바꿀 수 있도록 해줌 - Strategy : 외부에서 해당 알고리즘을 동일한 방식으로 호출할 수 있도록 명시하는 인터페이스 역할 - ConcreteStrategy : 실제 문제 해결을 위한 알고리즘을 구현한 클래스 - Context : Strategy 패턴을 이용하는..
Java - Serialize(직렬화) Serialization - 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 Byte 형태로 데이터를 변환하는 기술 - 역직렬화 : 바이트로 변환된 데이터를 다시 객체 형태로 변환하는 기술 - JVM 메모리의 힙 또는 스택에 상주하는 객체 데이터를 바이트 형태로 변환하는 기술을 말한다. - 직렬화 조건 : primitive 타입과 java.io.Serializable 인터페이스를 상속받은 객체는 직렬화할 수 있다. - 직렬화 방법 : ObjectOutputStream 객체를 이용하여 객체를 write한다. Member member = new Member("김배민", "deliverykim@baemin.com", 25); byte[] serializedMembe..
기술 면접 대비 Java JVM구조에 대해 설명하시오. - JVM : 자바 가상 머신으로 자바 바이트 코드를 실행할 수 있는 주체 => 자바 코드를 컴파일하여 얻은 바이트 코드를 운영체제가 실행할 수 있는 기계어로 바꿔주는 역할 - 4가지 구성(Class Loader, Execution Engine, Garbage Collector, Runtime Data Area) - Class Loader : 자바 파일을 컴파일해서 얻은 클래스파일(.class)들을 Runtime Data Area에 적재하는 역할 - Execution Engine : 메모리에 적재된 클래스 파일을 기계어로 번역해 명령어 단위로 실행하는 역할 - Garbage Collector : 힙 메모리 영역에 적재된 객체들 중 참조되지 않은 객체들을 탐색 후 제..
면접 대비 Q. framework와 Library의 차이점은? - 프레임워크는 application 개발시 코드, DB 연동 같은 기능들을 위해 구조를 제공해주는 클래스와 인터페이스의 집합 - 라이브러리는 특정 기능에 대한 도구, 함수들을 모은 집합(코드의 집합) - 프레임워크는 flow에 대한 권한을 자체적으로 가지고 있다는 것이 큰 차이점!(제어의 역전, IoC) => 일반적인 프로젝트에서 main함수를 생성하고, 그 안에서 개발자가 프로그램의 flow를 정하지만, 프레임워크를 사용하면 개발자는 코드를 프레임워크의 구조에 맞게 넣는 작업을 해야한다. 즉, 실행의 흐름을 프레임워크가 가지고 있다. Q. $(document).ready() 와 $(window).onload()의 차이점은? - $(document)...
URI와 URL의 차이점 - URI(Uniform Resource Identifier) : 통합 자원 식별자 : 인터넷에 있는 자원을 나타내는 유일한 주소 (인터넷 상에 있는 자원을 식별하기 위한 문자열) -> 인터넷 프로토콜에 붙어다님 - URL(Uniform Resource Locator) : 인터넷에 있는 자원의 위치 URI안에 URL이 포함된다.
Persistence Framework 더보기 ORM : Object-Relation Mapping JPA : Java Persistent API JPA - 자바 ORM 기술에 대한 API 표준 명세 : ORM을 사용하기 위한 인터페이스를 모아둔 것 -> Hibernate, EclipseLink 같은 ORM 프레임워크를 사용한다. 기본 JDBC - 직접 DB Connection 생성, Statement 생성 및 쿼리 수행, 결과값(ResultSet) 처리를 구현해야함 MyBatis - 반복적인 DB Connection, SQL 재사용성의 미비를 해결 - 그러나 dao의 반복작업이 발생하고, SQL query가 XML로 작성되기 때문에 빌드과정에서 오류가 일어나지 않는다. => 유지보수 과정에서 오류 발생시 해당 SQL query와 관련된 da..