분류 전체보기 224

Garbage Collector

Garbage Collector가비지 컬렉터는 JVM에서 자바 프로그램이 더 이상 사용하지 않는 객체를 자동으로 메모리에서 해제하여 메모리 누수를 방지하는 역할을 합니다.자바 프로그래머가 직접 메모리를 관리하지 않아도 되도록 해주어, 프로그램의 안정성과 효율성을 높여줍니다.Generational Garbage Collection (세대별 가비지 컬렉션)JVM은 힙 메모리를 여러 세대로 나눕니다.Young Generation짧은 생애 주기를 가진 객체가 할당됩니다.Young Generation에서의 GC는 Minor GC라고 불립니다.Old GenerationYoung Generation에서 살아남은 오래된 객체가 할당됩니다.Old Generation에서의 GC는 Major GC 또는 Full GC라고 불..

🟩/Java 2024.07.19

Java

Java객체 지향 프로그래밍 언어입니다.JVM(Java Virtual Machine)을 통해 다양한 운영 체제에서 동일하게 실행될 수 있습니다.객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍 패러다임 중 하나입니다.프로그램을 객체(Object)들의 집합으로 간주하여 개발하는 방법론입니다.프로그램을 더욱 모듈화 하고, 유지보수와 확장이 용이하게 만듭니다.주요 개념객체 (Object)데이터와 메서드를 하나로 묶은 프로그래밍 단위입니다.객체는 클래스의 인스턴스입니다.클래스 (Class)객체를 정의하기 위한 틀(template) 또는 청사진(blueprint)입니다.클래스는 속성(attribute)과 메서드(method)를 포함하며, 이를 통해 객체를 생성할 수 있..

🟩/Java 2024.07.19

동적 계획법 (Dynamic Programming, DP)

복잡한 문제를 더 작은 하위 문제로 나누어 해결한다. 각 하위 문제의 결과를 저장하여 동일한 계산을 반복하지 않는 최적화 기법이다. 기본 개념최적 부분 구조 (Optimal Substructure)문제의 최적 해결 방법이 그 하위 문제들의 최적 해결 방법으로 구성될 수 있는 성질이다.중복되는 부분 문제 (Overlapping Subproblems)동일한 하위 문제가 여러 번 반복해서 계산되는 경우이다. 구현 방식대부분의 DP 문제는 두 가지 방식으로 모두 풀 수 있다. 탑다운 방식 (메모이제이션, Memoization)재귀를 통해 문제를 해결하되, 하위 문제의 결과를 메모리에 저장하여 중복 계산을 피하는 방식이다. 장점문제를 재귀적으로 접근하여 자연스럽게 하위 문제로 나눌 수 있어 구현이 직관적이다. 필..

🟦/알고리즘 2024.06.15

도커(Docker)

소프트웨어를 컨테이너(Container)라는 가벼운 가상화 환경에서 실행할 수 있도록 도와주는 플랫폼이다. 애플리케이션과 그 의존성을 독립된 환경에서 실행할 수 있게 되어, 개발과 운영 환경 간의 일관성을 유지할 수 있다.서로 다른 환경에서 애플리케이션을 동일한 환경에서 실행할 수 있다는 점 컨테이너(Container)컨테이너는 애플리케이션과 그 의존성을 포함한 독립된 실행 환경이다.호스트 운영체제와 커널을 공유하면서도 격리된 환경을 제공하여 애플리케이션이 다른 애플리케이션과 충돌하지 않도록 한다.컨테이너는 가상 머신보다 가볍고 빠르게 실행된다. 이미지(Image)도커 이미지는 컨테이너를 실행하기 위한 읽기 전용 템플릿이다.애플리케이션과 그 의존성, 실행 환경 설정 등을 포함한다.이미지는 여러 계층(la..

🟩/Cloud 2024.06.14

VPC (Virtual Private Cloud)

클라우드 환경에서 격리된 네트워크를 제공하여 사용자가 자신의 네트워크 환경을 구축할 수 있게 한다. VPC 내에서는 여러 서브넷(subnet)을 정의하여 네트워크를 세분화할 수 있다.Public Subnet인터넷과의 직접적인 통신이 가능한 서브넷이다. 이 서브넷에 있는 리소스들은 인터넷 게이트웨이(Internet Gateway)를 통해 인터넷과 통신할 수 있다.보통 웹 서버나 Bastion Host와 같이 외부와의 직접적인 통신이 필요한 서비스들이 배치된다. Private Subnet인터넷과의 직접적인 통신이 불가능한 서브넷이다. 이 서브넷에 있는 리소스들은 NAT 게이트웨이(NAT Gateway)를 통해서만 인터넷과 통신할 수 있다.주로 데이터베이스 서버나 백엔드 서비스와 같이 외부와의 직접적인 통신이..

🟩/Cloud 2024.06.14