profile
Data Engineer

[JAVA] 가비지 컬렉션(Garbage Collection)

가비지 컬렉션(Garbage Collection)은 자바의 메모리 관리 방법 중의 하나로 JVM의 Heap 영역에서 사용되지 않고 있는 객체를 식별하고 해당 객체들에 할당된 메모리를 해제하는 프로세스입니다. 일반적으로 C와 같은 프로그래밍 언어에서는 개발자가 객체의 메

2023년 3월 28일
·
0개의 댓글
·

프로세스(Process)

프로세스란 컴퓨터에서 운영체제로부터 할당받은 시스템 자원을 이용하여 실행중인 프로그램의 인스턴스 의미한다. 프로세스는 크게 Code, Data, Heap, Stack 네가지 영역으로 구성되어 있다.Code 영역: 프로그램 소스가 기계어로 컴파일되어 저장되는 부분이다.D

2023년 2월 20일
·
0개의 댓글
·

Spring IoC 와 DI, 그리고 Bean

일반적인 프로그래밍의 경우 개발자가 직접 객체를 생성하고 다른 클래스와 연결 및 사용하는 등 프로그램의 흐름을 개발자가 주도하였습니다. 하지만 Spring 등과 같은 Framework의 경우 객체의 생명주기관리 및 의존성 관리를 프레임워크가 도맡아 해주게 되는데 이를

2023년 2월 13일
·
0개의 댓글
·
post-thumbnail

[Algorithm] 정렬(Sorting)

선택 정렬 (Selection Sort)버블 정렬 (Bubble Sort)삽입 정렬 (Insertion Sort)퀵 정렬 (Quick Sort)합병 정렬 (Merge Sort)힙 정렬 (Heap Sort)정의0번째 인덱스부터 마지막 인덱스까지 순회하면서 가장 작은 값을

2023년 1월 1일
·
0개의 댓글
·

백엔드 신입 면접 대비 - Spring

우선 제어의 역전(Inversion of Control)이란 모든 객체에 대한 제어권을 개발자가 아닌 프레임워크가 가지는 것을 의미합니다. 스프링에서는 IoC 컨테이너가 제어권을 가지고 객체의 생명주기 관리와 의존성 주입(DI)을 수행합니다.DI(의존성 주입)이란 각

2022년 12월 26일
·
0개의 댓글
·

백엔드 신입 면접 대비 - Programming

💡 Compile Language와 Interpreter Languange를 비교하세요. 💡 대칭키와 공개키 암호화 방식에 대해 설명해주세요. 💡 OSI 7계층에 대해 설명해주세요 💡 OSI 7계층에 대해 설명해주세요

2022년 12월 26일
·
0개의 댓글
·

백엔드 신입 면접 대비 - Data Structure

💡 OSI 7계층에 대해 설명해주세요.

2022년 12월 26일
·
0개의 댓글
·

백엔드 신입 면접 대비 - Algorithm

💡 Sort의 종류에 대해 설명해주세요. 💡 최단 거리 알고리즘에 대해 설명해주세요.

2022년 12월 26일
·
0개의 댓글
·

백엔드 신입 면접 대비 - Database

💡 트랜잭션의 원칙(ACID)에 대해 설명해주세요. 💡 트랜잭션의 격리 수준에 대해 설명해주세요. 💡 RDB와 NoSQL의 차이에 대해 설명해주세요. 💡 Index에 대해서 설명해주세요. 💡 Join의 종류에 대해 설명해주세요. 💡 OSI 7계층에

2022년 12월 26일
·
0개의 댓글
·

백엔드 신입 면접 대비 - Operation System

💡 Process와 Thread에 대해 설명해주세요. 💡 Multi-Process 방식과 Multi-Thread 방식을 비교해주세요. 💡 Multi-Thread의 동시성과 병렬성을 설명해주세요. 💡 Multi-Thread 환경의 주의사항을 설명해주세요.

2022년 12월 26일
·
0개의 댓글
·

백엔드 신입 면접 대비 - Network

💡 OSI 7계층에 대해 설명해주세요. 💡 TCP와 UDP의 차이를 설명해주세요. 💡 3-way handshake와 4-way handshake에 대해 설명해주세요. 💡 쿠키(cookie)와 세션(session)의 차이를 설명해주세요. 💡 세션 기반 인

2022년 12월 26일
·
0개의 댓글
·

AOP(Aspect Oriented Programming)

AOP는 관점 지향 프로그래밍으로, 로직을 핵심적인 관점과 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하는 것을 의미합니다.이 때, 핵심적인 관점의 경우 핵심 Business Logic이 되고 부가적인 기능의 경우 DB 연동, 로깅, I/O 등이 있

2022년 12월 26일
·
0개의 댓글
·

백엔드 신입 면접 대비 - Programming

양방향 암호화 방식에는 대칭키 방식과 비대칭키 방식으로 나눌 수 있습니다.대칭키 방식은 암호화와 복호화에 같은 암호키를 사용하는 방식입니다.공개키 암호화 방식에 비해 속도가 빠르지만, 키를 교환해야한다는 단점이 있습니다. 이때, 중간에 누군가 암호키를 가로채면 정보가

2022년 12월 26일
·
0개의 댓글
·
post-thumbnail

[OS] Mutex vs Semaphore

스레드 안전(Thread Safety)은 멀티 스레드 프로그램이에서 일반적으로 어떤 공유 자원에 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제가 없음을 의미합니다.Thread Safe를 지키기위한 방법은 네 가지로 이루어져 있습니다.Mutual Ex

2022년 12월 26일
·
0개의 댓글
·
post-thumbnail

[Java] 가비지 컬렉션(Garbage Collection, GC)

Garbage Collection은 JVM에서 제공하는 메모리 관리 기법 중 하나로 시스템에서 동적으로 할당됐던 메모리 영역 중에서 필요없어진 메모리 영역을 회수하여 관리해주는 기법입니다.개발자 입장에서 메모리 관리 및 메모리 누수 문제에서 대해 집중적으로 관리하지 않

2022년 12월 26일
·
0개의 댓글
·
post-thumbnail

[Java] Java와 JVM(Java Virtual Machine)

캡슐화, 상속, 다형성이 잘 적용된 순수 객체지향 프로그래밍 언어이다.기본 자료형을 제외한 모든 요소들이 객체로 표현된다.장점JVM(Java Virtual Machine) 위에서 동작하기 때문에 운영체제에 독립적이다.Garbage Collector(GC)를 통한 자동

2022년 12월 24일
·
0개의 댓글
·

[Spring] ORM과 JPA

객체지향 프로그래밍 언어를 활용한 어플리케이션에서는 객체를 통해 엔티티간의 관계를 나타내는 반면 데이터베이스는 FK, 즉 다른 엔티티의 PK만을 활용해 관계를 나타낸다. 이 때, 어플리케이션과 DB사이에서 불일치가 발생하게 되는데 이를 해소하고자 해당 데이터베이스 데이

2022년 12월 23일
·
0개의 댓글
·
post-thumbnail

[Spring] Spring MVC의 요청 처리과정

Dispatcher Servlet: 클라이언트의 요청을 전달받아 요청에 맞는 응답을 생성Handler Mapping: 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지 결정Handler Adapter: 위에서 결정한 Handler(Controller)를 호출Handl

2022년 12월 23일
·
0개의 댓글
·

[Database] 조인(Join)의 수행 원리

1. NL(Nested Loops) 조인 조인 수행 절차 하나의 테이블을 기준으로 Full-Scan 하면서 각 row를 추출할 때마다 순차적으로 상대 테이블의 연관된 모든 row들을 조인에 의해 추출한다. 튜닝 포인트 조인 횟수의 최소화를 위한 조인 순서의 최적화

2022년 11월 28일
·
0개의 댓글
·

[Big Data] 하둡(Hadoop)

하둡은 고가용성 분산형 객체 지향적 플랫폼(High Availability Distributed Object Oriented Platform)의 약자로 오픈소스, Java 기반의 빅데이터 어플리케이션용 데이터 처리와 스토리지를 관리하는 빅데이터 분산 플랫폼이다. 컴퓨터

2022년 11월 13일
·
0개의 댓글
·