배민스토어의 WebFlux를 적용한 도입기 우아콘2023을 보고 정리한 글입니다. https://youtu.be/pRpryoQphXQ?si=AYE3DWfrvrAETkG6Spring WebFlux 는 웹 애플리케이션에 반응형 프로그래밍을 제공한다. Reactiv
시간복잡도 대표 표현식 위일수록 빠르다.빠른 순서 ↑상수 시간 $O(1)$로그시간 $O(log N)$직선형 시간 $O(N)$2차 시간 $O(n^2)$지수 시간 $O(C^n)$느린 순서 ↓ArrayList는 동적 배열을 기반, 연속적인 데이터의 리스트데이터는 연속적으로
DB를 선택을 할때에는 어떤 프로젝트를 진행하는지, 요구사항에 맞춰 선택하고는 한다. 이때, 프로젝트를 진행할때 대표적으로 사용되는 MySQL과 PostgreSQL의 차이를 알아보자. SQL 언어를 인터페이스로 사용하여 데이터를 읽고 편집 가능데이터 백업, 복제, 엑세
자바 8에서 도입됨함수(메서드)를 하나의 식으로 표현하는 방법익명함수 (anonymous function)람다식으로 표현하면 메서드의 이름과 반환값을 생략할 수 있고, 이를 변수에 넣어 자바 코드가 매우 간결해진다.메서드람다식메서드의 이름과 반환타입을 제거하고, “→”
Collection데이터를 수집하기 위한 집합집계된 데이터를 저장, 검색, 조작, 전달하는 데 사용Collection Framework데이터를 수집하여 저장하기 위해 사용할 수 있도록 정의해 놓은 클래스들을 표준화한 설계데이터 그룹을 다루고 표현하기 위한 단일화 된 구
책 소개 [ 이펙티브 자바 3/E ] https://www.yes24.com/Product/Goods/65551284
책 소개 이펙티브 자바 3/E https://www.yes24.com/Product/Goods/65551284(1)의 문장은 실행될 때마다 String 인스턴스를 새로 만든다. → 쓸모 없는 행위문장이 반복문이나 빈번히 호출되는 메서드 안에 있다면 쓸데없는
이펙티브 자바 3/E https://www.yes24.com/Product/Goods/655512842장에서는 다음을 알아본다.객체를 만들어야 할때와 만들지 말아야 할때를 구분하는 법올바른 객체 생성 방법과 불필요한 생성을 피하는 방법객체가 제때 파괴됨을
이펙티브 자바 3/E https://www.yes24.com/Product/Goods/655512841장 들어가기2장 객체 생성과 파괴아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라아이템 2. 생성자에 매개변수가 많다면 빌더를 고려하라아이템 3. p
개념 : 다양한 변수 간의 수학적 (혹은 확률적) 관계를 표현한 것예시SNS 상에서 사용자수, 사용자당 광고수익 → 차후 몇년 간의 연간 수익요리책에서 먹는 사람의 수, 배고픈 정도 → 재료의 양미국 경기지표, 미국 주식 지표 → 한국 주가 지수정의 : 데이터를 통해
자바는 객체 지향 프로그래밍 언어이다. 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 추상화, 캡슐화, 상속, 다형성 이 적용된 언어이다.이러한 객체 지향적 프로그램을 설계를 하면, 각각의 클래스, 메소드들이 각자 독립적인 역할을 가지기 때문에 코드 변경을
Garbage Collection이 JVM에서 어떻게 작동하는지, 서로 다른 가비지 컬렉터들의 특징과 성능 차이에 대해 알아보자 JVM is a program that looks like a machine to the programs written to execute
Java21 은 Virtual Thread에서 carrier thread의 pinning 이슈를 유발해 성능을 저하시키는 synchronized 사용을 지양하고 ReentrantLock 으로 사용을 권장함https://docs.oracle.com/en/java
2023.09.19 JDK 21 LTS2023.10.04 Gradle 8.4 2023.11.17 Spring 6.12023.11.23 Spring boot 3.22023.12.07 Jetbrain Intellij 프로세스(Process) :메모리에 올라와 실행되고 있는
이전까지는 왜 굳이 service를 interface와 impl로 분리하는지 몰랐고, 그냥 팀원이 하니까 무지성으로 따라했고, 혼자 프로젝트를 할때에는 하나의 인터페이스와 하나의 구현클래스 만 쓰기때문에 무의미하다 생각하여 분리하지 않았다. 인터페이스와 구현체 클래스를
로그인 및 로그아웃은 웹 애플리케이션에서 핵심적인 기능으로, 사용자의 인증(Authentication)과 권한 관리를 담당한다. 이를 구현하기 위해서는 사용자의 신원을 확인하고 권한을 부여하는 인증(Authentication)과 사용자가 요청한 자원에 대한 접근 권한을
JDBC(Java Database Connectivity)JDBC는 자바 프로그램에서 데이터베이스에 접속하고 SQL 쿼리를 실행하기 위한 자바 API. JDBC는 데이터베이스 종류에 상관없이 표준화된 방식으로 자바 애플리케이션이 데이터베이스와 상호 작용할 수 있도록 한
JPA(Java Persistence API)는 자바 진영의 ORM 기술에 대한 API 표준 명세이다. 객체와 데이터베이스간의 관계를 편리하게 이어준다. Spring Data JPA는 스프링에서 제공하는 데이터 액세스 기술 중 하나로, 객체 관계 매핑(Object-Re
Blocking : 자신의 작업을 진행하다가 다른 주체의 작업이 시작되면 다른 작업이 끝날 때까지 기다렸다가 자신의 작업을 시작하는 것Non-Blocking : 다른 주체의 작업에 관련 없이 자신의 작업을 하는 것 작업 도중에도 다른 작업을 수행할 수 있으므로 제어권
소켓은 통신의 극점(EndPoint)를 의미하며, 컴퓨터 네트워크 상에서 서버와 클라이언트 간의 양방향 통신을 가능하게 하는 추상화된 인터페이스입니다. 소켓은 프로세스 간의 통신을 담당하며, 각 프로세스는 소켓을 통해 데이터를 주고받을 수 있습니다. 소켓은 IP 주소와