[Spring] SpringMVC
·
DrillDown/Spring
📖 개요여태까지 API 서버 개발을 하게되면 항상 SpringMVC를 사용했습니다. 서블릿 기반으로 동작해서 요청이 들어오면 매핑되는 컨트롤러를 찾아서 해당하는 동작을 수행한 후 응답이 나간다는 것만 인지한 채로 사용했었는데요. 오늘 좀 더 깊이있게 살펴보고 동작방식에 대한 이해도를 높여보려고 합니다. 목차SpringMVC란?SpringMVC 구성 요소와 동작 흐름마치며 🧐 SpringMVC란?해당 모듈은 Spring 프레임워크에 포함되는 웹 프레임워크로서, 공식적인 이름은 “Spring Web MVC” 입니다. Servlet API 기반으로 동작하며 외부로부터 들어오는 요청마다 기본적으로 하나의 쓰레드가 맡아서 응답까지 책임지게 되는 동기/블로킹 방식으로 동작합니다. ✅ Servlet이란?Se..
[Spring] 톰캣 요청 쓰레드, 내가 조절해보자
·
DrillDown/Spring
📖 개요여태까지 API 서버를 개발하면서 스프링부트를 가장 많이 사용해왔습니다. 병목이 발생할만큼 많은 트래픽을 고려하지 않았기 때문에 API 요청을 처리하는 톰캣 쓰레드 수를 다뤄본 적이 없습니다. 그래서! 해당 부분을 학습하고 실제로 적용한 값이 예상대로 동작하는지 확인해보려고 합니다.목차는 다음과 같습니다.API 요청부터 톰캣 쓰레드가 실행하기까지톰캣 쓰레드 파라미터톰캣 쓰레드 조절 실습마치며 🛞 API 요청부터 톰캣 쓰레드가 실행하기까지Spring MVC로 프로젝트를 구성하면 요청을 처리하기 위해 서블릿을 사용합니다. 스프링부트로 작성했을 때 기본적으로 서블릿 컨테이너인 톰캣이 내장돼 있습니다. 바로 이 톰캣이 서블릿 컨테이너 역할을 하면서 요청 쓰레드를 생성하고 관리하는데요. 해당 쓰레..
[백준] 11659번 구간 합 구하기 4 - 자바 (Java)
·
백준 & 프로그래머스
https://www.acmicpc.net/problem/11659 💣 문제시간 제한1초 메모리 제한256MB 문제 상세수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 입력첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. 출력총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. 제한1 ≤ N ≤ 100,0001 ≤ M ≤ 100,0001 ≤ i ≤ j ≤ N 📑 풀이1,000보다 작거나 같은 자연수가 N개 주어집니다. 이 수들에 대한 M개의 구간합들을 구해야 합니다..
[MySQL] MySQL에 적용된 격리 수준 - InnoDB
·
DrillDown/MySQL
📖 개요잠금(Lock)은 동시성 제어를 위한 중요한 기능이고 트랜잭션(Transaction)은 작업의 원자성을 보장해주는 것이 주요 속성입니다. 여기서 격리 수준(Isolation Level)은 하나의 트랜잭션 내부 또는 여러 트랜잭션 간의 작업 내용을 어떻게 공유하고 차단할 것인지를 결정하는 레벨을 의미합니다.MySQL에서 사용하는 스토리지 엔진, InnoDB에서 격리 수준에 따라 트랜잭션이 어떻게 동작하는지 살펴보려고 합니다. 동작 방식을 살펴보기전에 격리 수준에 대한 이해가 부족하다면 아래 글을 참조하시면 도움이 될 수 있습니다. [Database] RDBMS의 격리 수준 (Isolation Level)📖 개요오늘은 여러 RDBMS에 적용되고 있는 격리 수준에 대해서 알아보려고 합니다. SQL ..
[Database] RDBMS의 격리 수준 (Isolation Level)
·
Computer Science/Database
📖 개요오늘은 여러 RDBMS에 적용되고 있는 격리 수준에 대해서 알아보려고 합니다. SQL 표준 격리 수준은 최근 표준까지 기본 원칙이 변하지 않은 것으로 판단되어, SQL-99 표준 비공식 문서를 기반으로 설명하고 있습니다.실제 널리 사용되고 있는 RDBMS(MySQL, PostgreSQL 등)은 격리 수준이 있지만 표준을 완전히 따르고 있지 않다는 것을 감안하고 읽어주시면 될 것 같습니다. 목차는 다음과 같습니다.격리 수준이란?격리 수준 살펴보기핵심 정리마치며 🤔 격리 수준이란?격리 수준은 여러 트랜잭션이 동시에 수행될 때 데이터의 일관성을 어떻게 유지할지 결정하는 규칙입니다.SQL 표준에서 공식적으로 4가지 격리 수준을 정의하고 있습니다.READ UNCOMMITTEDREAD COMMITTE..
[WebRTC] WebRTC 화상채팅 실습 (SpringBoot + React)
·
DrillDown/WebRTC
🎆 Preview 📖 개요반갑습니다.WebRTC 이론에 이어서 화상 채팅 실습을 해보려고 합니다. [WebRTC] WebRTC 찢어버리기 - 이론 정리📖 개요반갑습니다. WebRTC 관련 글이 저의 첫 포스팅이 되었네요. 이 내용을 작성하게 된 데는 나름의 계기가 있습니다. 부트캠프에서 팀 프로젝트를 진행하면서, 기능 요구사항을 만족시키기phellinus-linteus.tistory.com해당 글을 읽고 오신다면 실습 코드를 더 쉽게 이해할 수 있습니다. GitHub - BenchPress200/webrtc-tutorial: A WebRTC tutorial for learning peer-to-peer audio/video communication with custom signalA Web..
[WebRTC] WebRTC 찢어버리기 - 이론 정리
·
DrillDown/WebRTC
📖 개요반갑습니다. WebRTC 관련 글이 저의 첫 포스팅이 되었네요. 이 내용을 작성하게 된 데는 나름의 계기가 있습니다. 부트캠프에서 팀 프로젝트를 진행하면서, 기능 요구사항을 만족시키기 위해 WebRTC라는 기술을 처음 접하고 적용했었습니다. 구현 단계부터 많은 문제를 만났었고, 수많은 깃헙 레포지토리와 블로그 글을 참고했지만, 기초 이론에 대한 부족함을 느낀 채로 데드라인에 쫓겨 프로젝트를 어영부영 마무리 했었습니다. 개인적인 회고를 진행하면서 이런 생각이 들었습니다.“면접에서 WebRTC의 동작 방식이나 사용 이유를 물어본다면, 제대로 설명할 수 있을까?” “누군가 WebRTC를 처음 쓴다고 조언을 구해온다면, 명쾌하게 설명해줄 수 있을까?” 질문에 대한 제 대답은 “NO” 였습니다. 부족한 ..
소개
·
기타
반갑습니다 !백엔드 개발을 학습하고 있는 백수입니다걸어온 길경상대학교 반도체공학과입학 및 자퇴 2017-03 ~ 2022-02한양대학교 컴퓨터소프트웨어학부편입 및 졸업 2022-03 ~ 2024-08카카오 테크 부트캠프 제주 1기 (카카오 클라우드 스쿨 in JEJU)수료 2024-04 ~ 2024-10