post-thumbnail

로드밸런서의 개념

로드 밸런서는 다중서버 환경에서 서버에 가해지는 부하를 분산시켜주는 장치 혹은 기술을 통칭한다. 클라이언트와 서버풀 사이에 위치하며, 한대의 서버로 부하가 집중되지 않도록 트래픽을 관리해 각각의 서버가 최적의 퍼포먼스를 보일 수 있도록 한다.로드밸런싱을 하는 방법은 여

2024년 1월 9일
·
0개의 댓글
·

생성자에 매개변수가 많다면 빌더를 고려하라.

Builder 빌더패턴은 객체의 생성과정과 표현방법을 분리하여, 다양한 구성의 인스턴스를 만드는 생성 패턴이다. 생성자에 들어갈 변수를 각각 메소드로 받고, 마지막에 통합 빌드하여 객체를 생성한다. 빌더패턴의 탄생 배경 1) 점층적 생성자 패턴 점층적 생성자 패턴은

2023년 11월 18일
·
0개의 댓글
·
post-thumbnail

[프로그래머스] 콜라 문제

콜라문제는 빈병을 주고 새병을 받아 또 빈병을 만들고, 그 빈병으로 새병을 받고 또 빈병을 만들고 ... 같은 매커니즘을 반복하는 알고리즘이었다. 그래서 재귀함수를 사용해 문제를 풀어보았다.

2023년 11월 6일
·
0개의 댓글
·
post-thumbnail

탐색 알고리즘 BFS

너비우선탐색이라고도 불린다. 그래프를 깊게보다는 가까운 노드부터 넓게 탐색하는 알고리즘이다.BFS의 탐색 순서는 다음과 같다. 탐색 시작 노드를 큐에 삽입하고 방문처리를 한다.큐에서 노드를 꺼내 해당 노드의 인접노드 중에서 방문하지 않은 노드를 모두 큐에 삽입하고 방문

2023년 11월 5일
·
0개의 댓글
·
post-thumbnail

탐색 알고리즘 DFS

DFS(Depth-First Search) 깊이우선탐색이라고도 불린다. 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다.

2023년 11월 5일
·
0개의 댓글
·

[Lombok] 생성자와 관련된 어노테이션

Lombok에서 제공하는 생성자 어노테이션은 3가지가 있다.아무 인자가 없는 생성자를 생성해준다.꼭 필요한 변수만 인자로 받아 생성자를 구현한다. 꼭 필요한 변수를 결정짓는 것은 final 혹은 @NotNull 어노테이션이다. 이렇게 필수적으로 정의되어야하는 변수를 인

2023년 10월 30일
·
0개의 댓글
·

웹서비스와 WEB WAS 개념 2/2

Tomcat의 3가지 구성요소 1) Coyote 코요테는 웹서버의 역할을 한다. 클라이언트로부터 들어온 http 요청을 처리하며, 톰캣에 TCP를 통한 프로토콜을 생성하고 관리한다. 2) Catalina 카탈리나는 톰캣의 가장 코어 요소인 서블릿 컨테이너이다. 자바

2023년 10월 30일
·
0개의 댓글
·

JPA 프로젝트 생성

토이프로젝트를 해야지 해야지 계속 미루다가... 회사 SI를 하면서 운동도 다니고 취미댄스도 하다보니, 토이프로젝트는 거들떠 볼 여유도 없이 회피하고만 있었다. 하지만 이제는 더이상 물러날수 없어서 하나하나씩 공부하며 프로젝트에 적용해보는 식으로 진행하려한다. 개

2023년 10월 30일
·
0개의 댓글
·

토큰기반 인증방식과 JWT

HTTP의 비상태성(Stateless) HTTP는 비상태성이라는 특성을 가진다. 서버는 클라이언트의 상태를 저장하지 않으며, 따라서 이전 요청과 다음요청의 맥락이 이어지지 않는다. HTTP는 이전에 발생한 통신을 기억하지 못하기 때문에, 이전에 클라이언트가 인증과정을

2023년 10월 15일
·
0개의 댓글
·

의존성 주입(Dependency Injection)

의존성 주입(Dependency Injection)이란 클래스간 의존성을 클래스 외부에서 주입하는 것을 의미한다. 객체지향 프로그래밍에서 클래스간 의존성이 있다는 것은, 클래스간의 의존관계가 존재함을 의미한다. 이는 한 클래스가 바뀔때 다른 클래스가 영향을 받는다는

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

프로세스간 통신

IPC (Interprocess Communication) 독립적인 프로세스는 프로세스끼리 자원을 공유할 필요가 없기 때문에, CPU스케줄링을 잘해주면 프로세스간에 영향을 미치지 않는다. 하지만 프로세스간 협력이 필요한 경우엔 자원을 공유해야한다. IPC란 프로세스들

2023년 9월 20일
·
0개의 댓글
·
post-thumbnail

AOP란

관점지향 프로그래밍관점을 기준으로 다양한 기능을 분리하여 보는 프로그래밍이다. 여기서 관점이란, 공통 관심사(모듈) 정도로 스스로 해석했다.웹 어플리케이션은 핵심 비즈니스 로직과 그 애플리케이션 전체를 관통하는 부가 기능 로직이 있다. (예를 들어 로깅, 보안, 트랜젝

2023년 9월 18일
·
0개의 댓글
·
post-thumbnail

그리디(Greedy) 알고리즘

그리디 알고리즘 (탐욕법) 그리디는 이름에서 알 수 있듯, 단순하고 탐욕적으로 문제를 해결하는 방법이다. 이때 탐욕적이라는 말은 '현재 상황에서 지금 당장 좋은것만 고르는 방법'을 의미한다. 그리디 알고리즘에서 현재의 선택은 미래를 고려하지 않는다. 거스름돈 그리디의

2023년 8월 15일
·
1개의 댓글
·

웹서비스와 WEB WAS 개념1/2

스프링부트에는 내장 톰캣이 설정되어있다. 그런데 회사 프로젝트의 pom.xml에는 embedded tomcat을 사용하지 않고 외부 tomcat을 사용하도록 설정해두었다. 왜 이렇게 설정해두었는지 궁금해서 톰캣에 대하여, 웹서버에 대하여 좀더 다루어보고자 한다. 웹

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

application.yml .properties 차이

스프링부트를 공부하다보면 application.yml 혹은 application.properties 파일을 보게된다. 둘다 서버정보나 profile 등을 설정할 수 있는 외부설정파일이지만, 어떤 경우에 yml을 쓰고 properties를 쓰는지 궁금해서 공부해보고자 한

2023년 8월 7일
·
0개의 댓글
·
post-thumbnail

Gradle과 Maven

회사에서 스프링부트를 사용하는 si를 두번이나 진행했지만, gradle과 maven의 정확한 차이점을 알고있지 못했다.스스로 토이프로젝트를 생성하려다 gradle을 선택해야할지, maven을 선택해야할지 몰라서 끄적여보는 공부일지.maven과 gradle은 빌드과정에서

2023년 8월 4일
·
2개의 댓글
·

스프링부트 환경설정 - @SpringBootApplication

스프링부트는 main 메소드가 선언된 클래스를 기준으로 실행된다.@SpringBootApplication 어노테이션은 스프링부트의 가장 기본적인 설정을 선언해준다.해당 어노테이션을 상세히 보면, 아래와 같은 어노테이션들이 다시 선언되어 있다.이 중에서 눈여겨볼 설정은

2023년 7월 8일
·
0개의 댓글
·

스프링부트 환경설정 - Pom.xml

스프링은 라이브러리간의 의존성 관리와 버전충돌을 방지하기 위해 spring-boot-starter와 spring-boot-starter-parent를 제공한다.위 두가지는 스프링부트를 사용하면서 자주 사용하게 되는 라이브러리간의 의존성, 버전 조합을 각각 테스트하여 공

2023년 7월 8일
·
0개의 댓글
·

스프링부트

스프링 부트 제품 수준의 어플리케이션을 쉽게 만들 수 있도록 도와주는 도구. 톰캣과 스프링 설정에 대한 컨벤션을 제공. 스프링부트's Goal 더 빠르고 폭넓은 사용성 제공 사용자가 골치아프게 환경설정하지 않도록 컨벤션으로 정해져 있는 설정을 제공 또한 쉽고 빠르게

2023년 7월 8일
·
0개의 댓글
·
post-thumbnail

자바스크립트 런타임

런타임이란? 프로그래밍 언어가 구동되는 환경을 의미한다. 자바스크립트 런타임 자바스크립트가 구동되는 환경. 자바스크립트 런타임의 종류 웹브라우저 프로그램(크롬, 파이어폭스, 익스플로러 등) Node.js V8엔진이란? 오픈소스 자바스크립트 엔진 중 하나. 자바스

2023년 6월 4일
·
0개의 댓글
·