• INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.

두 테이블의 교집합을 출력하고 싶을 때

  • OUTER JOIN(외부 조인)은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.

'면접준비' 카테고리의 다른 글

클라우드 서비스 모델  (0) 2024.08.07
"dl ml ai ann cnn rnn lstm".upper()  (1) 2024.08.06
MVC 모델  (0) 2024.08.05
Spring과 Spring Boot  (0) 2024.07.10
JPA와 Mybatis  (0) 2024.07.10

IaaS (Infrastructure as a Service): 기본 IT 인프라(서버, 스토리지, 네트워크 등)를 클라우드 환경에서 제공하며, 사용자는 이 자원을 가상화된 형태로 관리하고 운영할 수 있다.

예: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP)

 

PaaS (Platform as a Service): 애플리케이션 개발과 배포에 필요한 플랫폼을 클라우드에서 제공하며, 개발자는 인프라 관리 없이 애플리케이션의 개발과 운영에 집중할 수 있다.

예: Google App Engine, Heroku, Microsoft Azure App Service

 

SaaS (Software as a Service): 소프트웨어 애플리케이션을 클라우드에서 호스팅하고, 사용자는 인터넷을 통해 접근하여 사용할 수 있다.

예: Google Workspace, Microsoft 365, Salesforce

 

 

'면접준비' 카테고리의 다른 글

inner 조인, outter 조인 차이  (0) 2024.08.30
"dl ml ai ann cnn rnn lstm".upper()  (1) 2024.08.06
MVC 모델  (0) 2024.08.05
Spring과 Spring Boot  (0) 2024.07.10
JPA와 Mybatis  (0) 2024.07.10

DL (Deep Learning)

  • 딥러닝: 인공 신경망을 사용하여 데이터를 통해 복잡한 패턴을 학습하는 기술
    • 자율주행 자동차가 도로 상황을 분석하여 운전 결정을 내림

ML (Machine Learning)

  • 머신러닝: 컴퓨터가 데이터를 통해 학습하고 예측을 수행하는 기술
    • 스팸 이메일 필터링, 이메일을 스팸과 비스팸으로 자동 분류

AI (Artificial Intelligence)

  • 인공지능: 기계가 인간의 지능적인 행동을 모방하는 기술
    • 가상 비서(예: 애플의 시리, 아마존의 알렉사)와 자연어로 대화

ANN (Artificial Neural Network)

  • 인공 신경망: 인간의 뇌 구조를 모방한 컴퓨팅 시스템, 패턴 인식과 분류 작업에 사용
    • 손글씨 숫자 이미지를 인식하여 올바른 숫자로 분류

CNN (Convolutional Neural Network)

  • 합성곱 신경망: 이미지의 특징을 추출하는 데 사용, 이미지 처리에 강점
    • 고양이와 개의 이미지를 분류

RNN (Recurrent Neural Network)

  • 순환 신경망: 시퀀스 데이터를 처리, 입력 데이터의 순차적 정보를 기억
    • 문장의 다음 단어를 예측하여 문장 생성

LSTM (Long Short-Term Memory)

  • LSTM: RNN의 변형으로 장기 및 단기 메모리를 모두 효과적으로 처리, 자연어 처리에 주로 사용
    • 긴 문맥의 의미를 파악하여 텍스트 번역

'면접준비' 카테고리의 다른 글

inner 조인, outter 조인 차이  (0) 2024.08.30
클라우드 서비스 모델  (0) 2024.08.07
MVC 모델  (0) 2024.08.05
Spring과 Spring Boot  (0) 2024.07.10
JPA와 Mybatis  (0) 2024.07.10

모델(Model)

데이터와 비즈니스 로직을 처리합니다. 데이터의 상태를 저장하고 수정하며, 데이터와 관련된 작업을 수행합니다.

 

뷰(View)

사용자에게 데이터를 보여주는 부분입니다. 화면에 표시되는 내용을 담당하며, 모델로부터 데이터를 받아와서 출력합니다.

 

컨트롤러(Controller)

사용자 입력을 처리하고, 모델과 뷰 사이의 상호작용을 조정합니다. 사용자 요청을 받아 모델을 업데이트하고, 그 결과를 뷰에 전달합니다.

'면접준비' 카테고리의 다른 글

클라우드 서비스 모델  (0) 2024.08.07
"dl ml ai ann cnn rnn lstm".upper()  (1) 2024.08.06
Spring과 Spring Boot  (0) 2024.07.10
JPA와 Mybatis  (0) 2024.07.10
Maven과 Gradle  (0) 2024.07.10

Spring

자바 플랫폼을 위한 애플리케이션 프레임워크로, 애플리케이션의 구조를 설계하고, 의존성 관리 및 트랜잭션 처리를 지원한다.

  • 의존성 주입(Dependency Injection): 객체 간의 의존성을 자동으로 관리하여 코드의 결합도를 줄인다.
  • AOP(Aspect-Oriented Programming): 공통 기능을 모듈화하여 코드 중복을 줄이고 유지보수를 용이하게 한다.
  • 트랜잭션 관리: 데이터베이스 트랜잭션을 선언적으로 관리할 수 있다.
  • 웹 애플리케이션 개발: Spring MVC를 사용하여 RESTful 웹 서비스 및 웹 애플리케이션을 구축할 수 있다.
  • 보안: Spring Security를 통해 인증 및 권한 부여 기능을 제공한다.

Spring Boot

Spring 프레임워크를 기반으로 한 애플리케이션 개발 도구로, 빠르고 간편한 설정을 통해 독립 실행형 애플리케이션을 쉽게 만들 수 있도록 돕는다.

  • 자동 설정(Auto Configuration): 클래스패스와 설정을 자동으로 감지하여 적절한 설정을 적용한다.
  • 스타터 패키지(Starter Packages): 자주 사용하는 기능들을 쉽게 추가할 수 있도록 미리 정의된 패키지 세트를 제공한다.
  • 독립 실행형 애플리케이션: 내장 웹 서버를 포함하여 별도의 배포 서버 없이 독립적으로 실행할 수 있다.
  • 최소한의 설정: 기본적인 설정을 최소화하여 비즈니스 로직 개발에 집중할 수 있게 한다.
  • 운영 및 모니터링: Actuator를 통해 애플리케이션 상태 모니터링 및 운영 작업을 지원한다.

'면접준비' 카테고리의 다른 글

"dl ml ai ann cnn rnn lstm".upper()  (1) 2024.08.06
MVC 모델  (0) 2024.08.05
JPA와 Mybatis  (0) 2024.07.10
Maven과 Gradle  (0) 2024.07.10
@Controller, @RestController 차이  (0) 2024.06.10

JPA (Java Persistence API)

자바에서 객체와 관계형 데이터베이스 간의 매핑을 제공하는 표준 API로, 객체 지향적 접근을 통해 데이터베이스와 상호작용할 수 있게 해준다.

  • 객체-관계 매핑(ORM): 자바 객체를 데이터베이스 테이블과 매핑하여, 데이터베이스 작업을 객체 지향적으로 처리할 수 있다.
  • 엔티티(Entity): 데이터베이스의 테이블과 매핑되는 자바 클래스를 정의하며, 데이터베이스의 행을 객체로 표현한다.
  • 쿼리 언어: JPQL(Java Persistence Query Language)을 사용하여 데이터베이스 쿼리를 작성하며, 객체 지향적으로 쿼리를 정의할 수 있다.
  • 엔티티 관리: 영속성 컨텍스트를 통해 엔티티의 생명주기를 관리하며, 데이터베이스와의 동기화를 지원한다.
  • 자동 생성: 스키마 생성 및 데이터베이스와의 동기화가 자동으로 처리되며, 설정을 통해 데이터베이스와의 상호작용을 쉽게 한다.

MyBatis

자바 애플리케이션에서 SQL 쿼리와 매핑을 수동으로 관리할 수 있게 해주는 퍼시스턴스 프레임워크로, SQL의 직접적인 제어를 허용한다.

  • SQL 매핑: SQL 쿼리를 XML 파일이나 애너테이션을 통해 직접 작성하고, 매핑 규칙을 정의하여 데이터베이스와 상호작용한다.
  • 동적 쿼리: 동적 SQL을 사용하여 복잡한 쿼리를 작성하고, 조건에 따라 SQL을 동적으로 생성할 수 있다.
  • 객체 매핑: 결과를 자바 객체로 매핑하여, 데이터베이스 쿼리 결과를 애플리케이션 객체로 변환할 수 있다.
  • 트랜잭션 관리: 트랜잭션 관리를 지원하며, 코드에서 직접 트랜잭션을 제어할 수 있다.
  • 데이터베이스 독립성: 다양한 데이터베이스와 호환되며, 데이터베이스에 종속되지 않고 SQL을 직접 작성하여 유연한 제어가 가능하다.

'면접준비' 카테고리의 다른 글

MVC 모델  (0) 2024.08.05
Spring과 Spring Boot  (0) 2024.07.10
Maven과 Gradle  (0) 2024.07.10
@Controller, @RestController 차이  (0) 2024.06.10
HashSet 자료구조  (0) 2024.06.07

Maven

자바 기반의 프로젝트 관리 및 빌드 자동화 도구로, 프로젝트의 빌드, 의존성 관리, 문서화, 배포 등을 표준화하여 효율적으로 관리할 수 있게 해준다.

  • 의존성 관리: pom.xml 파일을 통해 외부 라이브러리 및 의존성을 정의하고 관리할 수 있다.
  • 빌드 생명주기: 명확한 빌드 생명주기(예: compile, test, package, install, deploy)를 제공하여, 각 단계의 작업을 자동으로 수행한다.
  • 플러그인: 다양한 플러그인을 통해 코드 분석, 테스트, 배포 등 다양한 작업을 지원한다.
  • 표준화: 프로젝트 구조와 설정을 표준화하여 일관된 개발 환경을 제공하며, 협업과 유지보수를 용이하게 한다.
  • 리포지토리: 중앙 리포지토리와 로컬 리포지토리를 통해 라이브러리와 플러그인을 관리한다.

Gradle

자바 기반의 현대적인 빌드 자동화 도구로, 선언적이며 유연한 DSL(Domain-Specific Language)을 사용하여 빌드 스크립트를 작성할 수 있게 해준다.

  • 유연한 빌드 스크립트: build.gradle 파일을 통해 Groovy 또는 Kotlin DSL을 사용하여 복잡한 빌드 로직을 간결하게 정의할 수 있다.
  • 의존성 관리: Maven과 Ivy 리포지토리에서 의존성을 가져올 수 있으며, 의존성 버전을 관리하고 충돌을 해결하는 기능을 제공한다.
  • 성능: 증분 빌드 및 병렬 빌드를 지원하여 빌드 성능을 최적화하며, 캐싱 기능으로 빌드 시간을 단축할 수 있다.
  • 플러그인: 다양한 플러그인을 통해 빌드, 테스트, 배포 등의 작업을 지원하며, 사용자 정의 플러그인을 쉽게 추가할 수 있다.
  • 다중 프로젝트 빌드: 여러 프로젝트를 동시에 관리하고 빌드할 수 있는 기능을 제공하여 대규모 프로젝트에 적합하다.

'면접준비' 카테고리의 다른 글

Spring과 Spring Boot  (0) 2024.07.10
JPA와 Mybatis  (0) 2024.07.10
@Controller, @RestController 차이  (0) 2024.06.10
HashSet 자료구조  (0) 2024.06.07
HashMap 자료구조  (0) 2024.06.07

 

'면접준비' 카테고리의 다른 글

JPA와 Mybatis  (0) 2024.07.10
Maven과 Gradle  (0) 2024.07.10
HashSet 자료구조  (0) 2024.06.07
HashMap 자료구조  (0) 2024.06.07
CF(Collaborative filtering)알고리즘  (0) 2024.05.14

+ Recent posts