본문 바로가기

전체 글

(139)
면접 대비 정리2 JDK / JVM / JRE JDK(Java Development Kit) JDK는 자바 개발키트(Java Development Kit)의 약자로 개발자들이 자바로 개발하는 데 사용되는 SDK 키트 SDK(Software Development Kit) : 하드웨어 플랫폼, 운영체제 또는 프로그래밍 언어 제작사가 제공하는 툴 자바를 개발 시 필요한 라이브러리들과 javac, javadoc 등의 개발 도구들을 포함되어 있고, 개발을 하려면 자바 프로그램을 실행도 시켜줘야 하기 때문에 JRE도 포함되어 있음 JRE(Java Runtime Environment) JVM과 자바 프로그램을 실행(동작)시킬 때 필요한 라이브러리 API를 함께 묶어서 배포되는 패키지 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리..
면접 대비 정리 JAVA Java는 객체지향 프로그래밍 언어 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다. 캡슐화: 객체 지향 프로그래밍에서 데이터와 메서드를 하나로 묶어 외부에서 직접 접근하지 못하게 보호하는 개념. 상속: 이미 존재하는 클래스의 특성을 다른 클래스가 재사용하고 확장할 수 있는 객체 지향 프로그래밍의 특징. 다형성: 동일한 이름의 메서드나 연산자가 다른 클래스나 객체에 대해 다양하게 동작할 수 있는 개념으로, 오버로딩과 오버라이딩을 포함한다. 장점 JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적이다. GabageCollector를 통한 자동적인 메모리 관리가 가능하다. 단점 JVM 위에서 동작하기 때문에 실행..
[데이터베이스] 3단계 데이터베이스 구조 - 외부/개념/내부 스키마 스키마 데이터베이스 구조와 제약조건에 관한 전반적인 명세를 기술한 것 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작시 데이터 값들이 갖는 제약 조건 등 3단계 데이터베이스 구조 데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터베이스를 관점에 따라 세 단계로 나눈 것 미국 표준 기관인 ANSI/SPARC에서 제안 외부, 개념, 내부 스키마 세 단계로 나누어져 있으며, 내부 단계에서 외부 단계로 갈수록 추상화 레벨이 높아짐 추상화 레벨이 높아진다는 것은 데이터베이스가 실제 어떻게 돌아가는지에 대해 관심이 없다는 것과 비슷 외부 스키마(External Schema) 사용자나 응용 프로그래머가 개인의 입장에서 필요한 데이터베이스의 논리적 구조를 정의 전..
데이터베이스 모델링 데이터베이스 모델링 데이터베이스 설계 과정에서 데이터를 구조화하고 조직화 하는 과정을 의미 복잡한 현실세계의 데이터를 단순화 시켜 데이터베이스로 표현하기 위한 작업 데이터베이스 시스템에서 데이터를 저장, 관리 및 검색하기 위한 체계를 만드는 중요한 단계 중 하나 종류로는 개념적 모델링, 논리적 모델링, 물리적 모델링이 있음 개념적 모델링 요구사항을 수집하고 분석한 결과를 토대로 전체적인 뼈대를 만드는 과정 개체-관계 다이어그램(ERD, Entity-Relationship Diagram)을 사용하여 개체(Entity)와 개체간의 관계를 시각화함 논리적 모델링 개념적 모델을 바탕으로 데이터베이스의 구조와 테이블을 설계 테이블, 열, 관계 및 제약조건을 정의하고 데이터베이스 관리 시스템에 맞게 데이터 형식과 ..
JDK, Spring Boot 정리 JDK(Java Development Kit) 자바 애플리케이션을 개발하기 위한 환경을 지원하며, JRE(자바 실행 환경)와 컴파일러나 jar등 개발에 유용한 도구들을 포함하고 있다. 자바 프로그램을 개발하기 위해서는 JDK를 사용해야 한다. Open JDK / Oracle JDK OpenJDK(Open Java Development Kit) 무료로 사용 가능한 오픈 소스 Java 구현체로 개발 목적이나 비상업적 목적으로 사용하는 경우 적합 라이센스 및 지원 오픈 소스 프로젝트로서 오픈 소스 라이센스를 사용 무료로 사용하고 상업적으로 활용 가능하며, Oracle JDK와 달리 유료 지원 없이도 커뮤니티 지원을 받을 수 있다. 업데이트 정책 여러 제공업체 및 커뮤니티 멤버들이 협력하여 개발하므로 업데잍트 ..
TDD, DDD TDD(Test Driven Development) - 테스트 주도 개발 소스코드를 작성하기 전에 테이스트 케이스를 먼저 작성하고 테스트로 검증된 코드를 가지고 실제 코드를 작성하는 개발 방법론 개념 요구되는 기능에 대한 자동화된 테스트 케이스를 작성 해당 테스트 케이스를 통과하는 가장 짧고 가독성이 좋고 유지보수성이 뛰어난 코드 작성 상황에 맞게 리팩토링 TDD 사이클 Red(실패) : 실패하는 테스트 코드를 먼저 작성 Green(성공) : 테스트 코드를 성공시키기 위한 실제 코드를 작성 Refactor(리팩토링) : 실제 코드와 테스트 코드 리팩토링 수행 장점 좋은 코드 작성에 유리 테스트 코드 작성 -> 기능 구현 코드 작성 -> 리팩토링의 단계를 반복하기 때문에 시스템에서 발생할 수 있는 오류들을..
클라우드 클라우드 컴퓨팅 인터넷 기반의 컴퓨팅으로 인터넷 상의 가상화된 서버에 프로그램을 두고 필요할때마다 불러와 사용하는 서비스 물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 엑세스 할 수 있다. 장점 서버를 직접 구매할 때 고려해야 할 전력, 위치, 확장 성을 고민하지 않아도 된다. 데이터 센터 어딘가에 이미 준비되어 있는 서버를 사용하며, 서버 세팅 등을 신경쓰지 않고 서비스 운영에만 집중 가능하다. 서비스 제공 형태 퍼블릭 클라우드(Public Cloud, 공공 클라우드, 개방형 클라우드) 특정 기업이나 사용자들 위한 서비스가 아닌 인터넷에 접속 가능한 모든 사용자를 위한 클라우드 서비스 모델 클..
저장 프로시저(Stored Procedure) 저장 프로시저(Stored Procedure) DB 내부에 저장된 일련의 SQL 명령문들을 하나의 함수처럼 실행하기 위한 쿼리의 집합 즉, DB에 대한 작업을 정리한 절차를 RDBMS에 저장한 쿼리의 집합으로 영구저장모듈이라고도 불린다. SQL Server에서 제공되는 프로그래밍 기능, 여러 쿼리를 하나의 함수로 묶은 쿼리문의 집합 어떠한 동작을 일괄 처리하기 위한 용도로 사용 자주 사용되는 일반적인 쿼리를 모듈화시켜서 필요할 때마다 호출 테이블처럼 각 데이터베이스 내부에 저장 일반 쿼리문 vs 저장 프로시저 일반 쿼리문 작동 단계 일반적인 쿼리문을 처음 실행하면 위의 프로세스로 동작을 한다. 예시로 아래의 쿼리문을 실행한다고 가정해보자 SELECT name FROM userTbl; 구문 분석단계 : 구..