객체 관계 매핑을 의미자바 객체(클래스)와 RDB(Relational Database)의 테이블을 자동으로 매핑하는 방법Hibernate(하이버네이트)spring-boot-starter-data-jpa로 패키지를 사용하면 Hibernate 프레임워크를 활용Eclipse
ORM을 이용하면 쿼리문 작성이 아닌 코드(메서드)로 데이터를 조작할 수 있음ORM을 사용하면서 데이터베이스 쿼리를 객체지향적으로 조작할 수 있음재사용 및 유지보수가 편리데이터베이스에 대한 종속성이 줄어듦ORM만으로 온전한 서비스를 구현하기에는 한계애플리케이션의 객체
String vs StringBuilder vs StringBuffer 문자열을 다루는 대표적인 클래스 > String > StringBuilder > StringBuffer 참고 Songwonseok/CS-Study 깃허브 tech-interview-for-
객체지향 프로그래밍(OOP: Object-Oriented Programming) 각 기능을 재사용 가능한 개별 객체로 구성해 프로그래밍하는 것 > > 참고 책 : 스프링 부트 핵심 가이드 Songwonseok/CS-Study 깃허브 tech-interview-f
참고책 : 스프링 부트 핵심 가이드tech-interview-for-developer 깃허브
참고HTTP와 HTTPS 차이점 (현업에 적용하는 CS 5탄)
Binary : 하나를 두개로 쪼개는 것을 뜻함검색 관련된 작업 수행(Search Algorithm)선형 검색의 발전된 방법배열이 순서대로 정렬되어 있는 상태라면 O(logN)의 시간 복잡도로 문제 해결 가능| 이진 탐색 동작방식배열의 중간값을 찾아서 내가 찾
객체지향의 5원칙 SOLID > Single Responsibility Principle(단일 책임 원칙) > Open-Closed Principles(개방 폐쇄 원칙) > Liskov's Substitution Principle(리스코프 치환 원칙) > Int
자바 기반의 애플리케이션 프레임워크로 엔터프라이즈급 애플리케이션을 개발하기 위한 다양한 기능 제공자바에서 가장 많이 사용하는 프레임워크우리나라의 경우 '전자정부 표준 프레임워크'의 기반 기술로 채택되어 공공기관 웹 서비스를 개발할 때 사용| 스프링 핵심 가치애플리케이션
쿠키 : 사용자의 브라우저에 저장세션 : 사용자의 정보를 서버에 저장캐시 : 가져오는데 비용이 드는 데이터를 한 번 가져온 뒤에는 임시로 저장사용자 정보가 기록된 텍스트 파일사용자의 브라우저에 저장통신할 때(http) header에 포함되어 전송http 통신중에 쿠키
REST(REpresentational State Transfer)URL에는 동사를 사용하지 않는다.참고개발자 기술 면접 - 7. 웹\_개발자 장고REST API가 뭔가요?\_얄팍한 코딩사전5분만에 제대로 설계하는 ⭐️ REST API\_노마드 코더
웹 서버 : 정적 파일 요청을 처리하는 서버 WAS : 동적 파일 요청을 처리하는 서버
데이터베이스에서 여러 작업을 하나의 단위로 묶어서 처리할 수 있도록 하는 것여러 SQL문들을 단일 작업으로 묶어서 나눠질 수 없게 만든 것tansaction의 SQL문들 중에 일부만 성공해서 DB에 반영되는 일은 일어나지 않음데이터베이스의 무결성과 일관성을 위해서 트랜
RDBMS : 2차원 테이블 형태로 표현한 데이터베이스를 생성하고 저장, 관리하는 시스템NoSQL : RDBMS와 달리 고정된 스키마가 없고 테이블 간의 관계를 설정하지 않아 좀 더 자유롭게 데이터를 관리할 수 있음관계형 데이터베이스 관리 시스템모든 데이터를 2차원 테
응용 계층(Application Layer)표현 계층(Presentation Layer)세션 계층(Session Layer)전송 계층(Transport Layer)네트워크 계층(Network Layer)데이터 링크 계층(DataLink Layer)물리 계층(Physic
TCP : 연결형 서비스로 3-way handshaking 과정을 통해 연결을 설정하기 때문에 높은 신뢰성을 보장하지만, UDP보다 속도가 느리다는 단점이 있음 UDP : 비연결형 서비스로 클라이언트와 서버간의 연결이 보장되지 않아서 신뢰성이 떨어지는 단
3-way handshake : 클라이언트가 서버에게 SYN 패킷을 보내고, 서버가 이에 대한 응답으로 SYN-ACK 패킷을 보내며, 클라이언트가 이에 대한 확인 응답으로 ACK 패킷을 보내는 과정4-way handshake : 양쪽 모두가 FIN 패킷을 보내고, 상대
IP : 인터넷 망을 통해 패킷을 전달하는 프로토콜비신뢰성 : 패킷의 완전한 전달을 보장하지 않는 것비연결성 : 패킷의 보내는 길을 정하지 않는 것인터넷에서 데이터 전달하는 프로토콜IP 패킷에 IP 주소 값을 넣어주는데 이를 통해 출발지와 목적지의 설정이 가능비신뢰성패
자바 프로그램을 실행하기 위한 가상 머신컴파일된 바이트 코드를 기계가 이해할 수 있는 기계어로 변환스택 기반의 가상 머신메서드 호출, 지역 변수 및 임시 데이터의 저장 등을 처리메모리 관리와 GC를 수행개발자들은 자바를 실행할 컴퓨터 및 기기에 JVM 프로그램만 설치해
Class Loader : 소스코드에서 컴파일한 '자바 바이트코드'인 .class 파일을 JVM 메모리 영역(Runtime Data Area)에 적재Runtime Data Area(JVM 메모리 영역) : 자바애플리케이션을 실행할 때 사용되는 데이터들을 적재하는 영역E
용어 정리Garbage Collection : 사용하지 않는 메모리 공간의 메모리를 해제하는 행위, 쓰레기를 청소하는 행위Garbage Collector : Garbage Collection을 수행하는 주체, root space로 부터 참조되고 있지 않는 객체들을 가비
용어 정리GC(Garbage Collector)자바의 메모리 관리 방법 중 하나JVM에서 메모리를 관리해주는 모듈Heap 메모리를 재활용하기 위해서 더 이상 참조되지 않는 객체들을 메모리에서 제거하는 모듈Serial GC, Parallel GC, Parallel-Old
추상클래스 : 추상클래스는 하나 이상의 추상메서드를 포함하고 상속을 받아서 기능을 확장하는 목적이 있습니다.인터페이스 : 인터페이스 안에 선언된 메서드는 모두 추상메서드이고 함수의 구현을 강제해서 구현한 객체들이 같은 동작을 하는 것을 보장하는 목적이 있습니다.new
SQL 형식의 쿼리를 Type-Safe 하게 생성할 수 있도록 하는 DSL을 제공하는 라이브러리문자열이 아닌 코드로 쿼리를 작성할 수 있도록 도와줍니다.용어 정리 DSL(Domain-Specific-Languages)특정 도메인에서 발생하는 문제를 효과적으로 해결하기
오버로딩 : 같은 이름이지만 다른 입력값을 가지도록 구현할 수 있는 기술입니다. 인수의 개수, 인수의 타입, 인수의 순서가 다른 여러 개의 메서드를 구현할 수 있습니다. 반환 타입은 포함 되지 않습니다.오버라이딩 : 상위 클래스를 상속(추상클래스) 받거나 또는 구현하는