전체 글 353

Stack & Queue / Array & LinkedList

Stack & Queue Stack 책을 쌓는 것처럼 쌓아 올린 형태의 자료구조 즉, 후입선출(LIFO, Last In First Out) 방식의 자료구조 시간 순서에 따라 데이터를 쌓아올리는 자료구조 가장 마지막에 삽입된 데이터가 가장 먼저 삭제되는 특징 Queue 사전적 의미로는 “줄을 서서 기다린다.” 라는 의미 먼저 들어온게 먼저나가는 자료구조 선입선출(FIFO, First In First Out) 데이터 삽입, 삭제가 다른 방향에서 이루어짐 삭제 연산만 수행되는 곳은 프론트(front) 디큐(dnQueue)라고 부름 삽입 연산만 수행되는 곳은 리어(rear) 인큐(enQueue)라고 부름 가장 먼저 삽입된 데이터가 가장 먼저 삭제되는 특징 Array & Linked List Array 연속된 메..

Web Server 와 WAS

웹 서버 (Web Server)란? 말 그대로 작성된 html 페이지 등을 네트워크망에 종속되지 않고, 웹 서비스를 할 수 있도록 하는 어플리케이션 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 어떤 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공 (HTML 문서, CSS, 이미지, 파일 등 즉시 응답이 가능한 컨텐츠) 웹 서버 (소프트웨어) : 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지에서 흔히 찾아볼수 있는 자료 콘텐츠에 따라 HTTP에 반응하는 컴퓨터 프로그램 웹 서버 (하드웨어) : 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터 Apache, NginX 등이 존재 웹 어플리케이션 서버 (Web Application Server)란? 웹 ..

23.05.15 - 운동일지

가슴 벤치 프레스 - 6set : 60-12, 70-11, 70-11, 80-6, 80-6, 60-12 팔굽혀펴기 - 4set : 20, 15, 15, 15 인클라인 벤치프레스 - 4set : 40-12, 50-6, 50-9, 60-3 체스트 프레스 - 3set : 25-12, 32-11, 40-8 삼두 라잉 트라이셉스 익스텐션 - 4set : 15-12, 15-11, 20-6, 20-7 원암 라잉 트라이셉스 익스텐션 - 2set : 6-10, 6-10 케이블 프레스 다운 - 6set : 25-10, 30-10, 35-8, 35-8, 35-10, 40-6 원암 케이블 프레스 다운 - 4set : 15-8, 15-8, 10-10, 10-10

TCP와 UDP

TCP와 UDP는 데이터를 보내기 위한 프로토콜이다. TCP 특징 연결 지향 방식 3-way handshaking 과정을 통해 연결을 설정, 4-way handshaking 을 통해 해제 3-way handshaking : 목적지와 수신지를 확실히 하여 정확한 전송을 보장하기 위한 세션 수립 과정 흐름 제어 및 혼잡 제어 높은 신뢰성 보장 UDP보다 속도가 느림 전이중 (Full-Duplex), 점대점 (Point to Point) 방식 TCP 서버 특징 서버 소켓은 연결만을 담당 연결과정에서 반환된 클라이언트 소켓은 데이터의 송수신에 사용 서버와 클라이언트는 1대1로 연결 스트림 전송으로 전송 데이터의 크기가 무제한 패킷에 대한 응답을 해야하기 때문에 성능이 낮음 (시간 지연, CPU 소모) 패킷 : ..

트랜잭션

트랜잭션이란? - DB에서 데이터의 무결성과 일관성을 보장하기 위한 최소 작업 단위 - 일련의 작업을 하나의 논리적인 작업 단위로 묶어서 처리 특징 원자성(Atomicity) : 트랜잭션 내에서 수행되는 모든 작업은 전체 성공 또는 전체 실패해야 한다. 즉, 트랜잭션이 실행되는 동안 어떤 이유로든 작업이 중단될 경우, 이전 상태로 롤백된다. 일관성(Consistency) : 트랜잭션이 수행되기 전과 후의 DB 상태가 일관성을 유지해야 한다. 즉, 트랜잭션이 수행되기 전에 정의된 제약 조건이나 규칙이 트랜잭션 수행 후에도 만족되어야 한다. 격리성(Isolation) : 트랜잭션 수행 중에는 다른 트랜잭션에 의해 영향을 받지 않도록 격리되어야 한다. 이를 통해, 다른 트랜잭션이 동시에 실행되는 경우 발생할 ..

23.05.12 - 운동일지

어깨 밀리터리 프레스 6set : 20-12, 30-12, 40-12, 40-12, 50-6, 50-6 덤벨 밀리터리 프레스 4set : 20-8, 20-8, 20-8, 25-4 리어델트 4set : 40-12, 40-12, 46-12, 46-10 리어델트 아이솔레이트 4set : 22-12, 22-12, 26-12, 26-12 사이드 레터럴 레이즈 6set : 5-15, 5-15, 5-15, 7-12, 7-12, 7-12 삼두 케이블 프레스 다운 3set : 25-12, 25-12, 25-12 케이블 오버헤드 익스텐션 4set : 25-12, 25-12, 25-10, 25-10 원암 덤벨 오버헤드 익스텐션 3set : 6-12, 6-12, 6-12

@SpringBootTest vs @WebMvcTest

Junit 테스트 시 @SpringBootTest와 @WebMvcTest를 대표적으로 사용 두가지의 차이점을 알아보자! @SpringBootTest 프로젝트의 내부에 있는 모든 스프링 빈을 등록 => 속도가 느리고, 통합 테스트를 할 때 많이 사용 수많은 스프링 빈을 등록하여 테스트에 필요한 의존성을 주입 @WebMvcTest MVC 부분 슬라이드 테스트로, 보통 컨트롤러 하나만 테스트를 하고자 할 때 사용 WebMvcTest()의 프로퍼티로 테스트를 원하는 컨트롤러의 클래스를 넣어주어야 함 Ex) @WebMvcTest(ExampleController.class) @WebMvcTest 어노테이션 사용 시에 가끔 NoSuchBeanDefinitionException 오류가 발생 원인 : @WebMvcTes..

카테고리 없음 2023.05.12

Rest Client [Spring]

Rest Client란? Spring에서 제공하는 HTTP 통신에 사용할 수 있는 템플릿 HTTP 통신을 할 수 있는 Rest한 Client Spring boot에서 쉽게 사용할 수 있도록 자동설정을 제공 ※주의 : RestTemplate / WebClient 는 자체를 빈으로 등록 X => RestTemplateBuilder / WebClient.Builder 를 빈으로 등록 O 1. RestTemplate Blocking I/O 기반의 Synchronous API RestRunner에서 특정 API를 호출한 뒤, Blocking 되므로 해당 메서드가 끝나기 전까지 다음 라인이 실행되지 않음 RestTemplateAutoConfiguration 프로젝트에 spring-web 모듈이 있다면 RestTem..

Spring Container

Spring Container란? - 자바 객체의 생명 주기를 관리하고, 생성된 자바 객체들에 추가적인 기능을 제공하는 역할 - 여기서 자바 객체는 스프링에서 Bean(빈)이라고 명칭 - 개발자가 new연산자, 인터페이스 호출, 팩토리 호출 방식으로 객체를 생성하고 소멸시킬 수 있는데, 이를 스프링 컨테이너가 대신해줌. 즉, 제어 흐름을 외부에서 관리하는 것 - 객체간의 의존관계를 스프링 컨테이너가 런타임 과정에서 알아서 만들어 줌 - 흔히 Application Context를 스프링 컨테이너 라고 말함 - 파라미터로 넘어온 설정 클래스 정보 (Config에 @Bean 등등)를 Spring Bean에 등록 Spring Container 종류 1. BeanFactory 스프링 컨테이너의 최상위 인터페이스 ..

728x90