1. 영속성 컨텍스트 엔티티를 영구 저장하는 환경이라는 뜻으로, 애플리케이션이 데이터베이스에서 꺼내온 객체를 보관하는 역할을 한다. 영속성 컨텍스트는 엔티티 매니저(Entity Manager)를 통해 엔티티를 조회하거나 저장할때 엔티티를 보관하고 관리한다. 1-1.
자바에서 데이터베이스로 쿼리문을 전송할 때, 사용할 수 있는 인터페이스 2가지가 존재한다. Statement와 PreparedStatement이다. SQL 실행 단계는 다음과 같이 이루어진다. 1) 쿼리 문장 분석 (Parsing) 2) 컴파일 (Compile) 3)
개발자들이 제일 싫어하는 문서작업.. 하지만 프로젝트에는 수많은 api 가 있기 때문에 누군가는,,, 정리/관리를 해줘야 한다.🤦♀️그래서 Swagger 를 추천받아 쓰기로 했다!Swagger는 API 문서화를 쉽게 자동화 할 수 있도록 도와주고, 페이지에서 파라미
ConcurrentHashMap 요놈은 또 뭔지 차근차근 알아보자. Hashtable, HashMap Hashtable 클래스 Hashtable 클래스은 HashMap과 비슷한 Collection이지만, Thread-safe 한 특징이 있다. Thread-saf
프로세스 & 쓰레드 프로세스란, 간단히 말해서 실행 중인 프로그램이다. 프로그램을 실행하면 OS로부터 실행에 필요한 자원을 할당받아 프로세스가 된다. 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있으며 프로세스의 자원
라이브러리(Library)와 프레임워크(Framework)는 소프트웨어 개발에서 자주 사용되는 용어이다. 둘 다 우리의 개발인생을 윤택하게 하기위해 사용되지만, 이 둘에는 중요한 차이점이 있다. 컨트롤의 대상 제일 중요한 차이는 누가 누구를 컨트롤 하는가? 이다.
오늘 포스트는 제곧내, 자료구조와 알고리즘이 도대체 왜 중요한가에 대해 다룬다. 이 게시물에는 초짜 개발자의 생각을 기반으로 쓴 것이니 참고 바람. 자료구조란? 자, 일단 자료구조라는 것은 뭘까? 위키의 정의에 따르면, 자료구조란 효율적인 접근 및 수정을 가능케
JDK1.5 에서 처음 도입된 제네릭스는 JKD1.8부터 도입된 람다식만큼 큰 변화였다. 이번 포스트는 제네릭의 정의와 개념정도만 살펴보려고 한다. 제네릭이란? 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능이다. 객체의
상속보다 조합을 권장한다는 얘기가 있다.일단 우리가 상속을 쓰는 이유는 다음과 같다.코드의 재사용을 통해서 중복을 줄인다.확장성이 증가한다.클래스간의 계층적관계를 구성함으로써 다형성을 구현할 수 있다.개발 시간이 단축 된다.하지만 상속을 사용하면 생기는 문제점들이 있다
이 포스트에서는 Map은 Collection 이라고 할 수 있을까? 에 대한 답을 찾기 위한 디벨롭의 과정을 다룬다.컬렉션 프레임워크는 <span style="background-color: 컬렉션(Collection) - 다수의 데이터 (데이터 그룹)프레임워크(
흔히 객체지향 프로그래밍을 얘기할때 꼭 빼먹지 않는 단어가 있다.바로 SOLID 원칙.solid랑 객체지향이라니 이 무슨 재밋는 모순이냐고 🤷♀️암튼 📌 SOLID 원칙이란, 객체지향 프로그래밍의 5가지 설계 원칙을 말한다.밑에 이놈들의 앞글자를 따서 만들어졌다.
Stack 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 LIFO(Last In First Out)구조로 되어 있다. 삭제나 삽입시 맨 위에 데이터를 삽입하거나 삭제하기 때문에 시간복잡도는 늘 O(1) 의 시간복잡도를 가진다. 하지만 특정 데이터를 찾을 때는
List 저번에 배열에 관련한 글을 올렸었다. 배열은 크기가 고정되어있기 때문에 한계가 있는 자료형이다. 근데 난 천재가 아니라서 프로그래밍 중에 배열의 크기를 예측해서 생성할 수 없다. 이 문제를 타파하기 위해 List가 만들어졌다. List 는 메모리가 허용하는
데이터를 모아서 관리할 수 있는 클래스를 컬렉션이라고 한다. 컬렉션은 그 타입에 따라 내부에 데이터를 저장하는 구조와 처리하는 방법이 다르다. 내부에서 처리하는 방법에 따라 데이터의 탐색이 빠른 경우가 있고, 추가/제거가 빠른 경우가 있다. 사용하는 컬렉션의 특성을 잘
Java 에서 문자열을 다루를 대표적인 클래스로 String , StringBuffer, StringBuilder 가 있다. String String 클래스에는 문자열을 저장하기 위해서 문자형 배열 변수(char[]) value를 인스턴스 변수로 정의한다. Str
배열은 인덱스를 이용해서 자료형이 같은 여러개의 데이터를 한번에 관리하는 것이다.\*\*① 배열은 <span style="background-color:int 배열은 int 값만 저장 가능하고, String 배열은 문자열만 저장한다. 또한 선언과 동시에 저장할 수
메모리에 저장되는 방식에 따라 기본형 변수, 참조 변수로 나뉜다.프로그래밍 언어에서 미리 만들어 둔 타입(가장 많이 쓰이는 데이터 타입을 쉽게 사용하기 위함)변수에 할당된 메모리에 직접 값이 저장된다.비교적 단순 데이터예) int, double, boolean, cha
CPU/코어에서 실행중이던 프로세스/스레드가 다른 프로세스/스레드로 교체되는 것이다.기본적으로 1개의 프로세스는 1개의 스레드를 가진다. 왜냐면 스레드가 CPU/코어에서 실행되는 기본 단위이기 때문이다.프로세스가 다른 프로세스로 교체 된다는 것은, 프로세스 안에 실행되