본문 바로가기
반응형

전체 글163

[대규모 시스템 설계 기초] 3장, 4장 으어 스터디 하다가 아파서 버티다가 마지막에 못듣고 나와버렸다............ ㅠㅠㅠ 일단 스터디한 부분까지 정리!설계 계산 해보기TPS는 Transactions Per Second에 줄임말이다. 초당 처리되는 트랜잭션 수를 의미한다. Read TPS와 Write TPS를 사용하여 유저 수와 기간에 따른 데이터 량을 계산 하는 방법을 알아보쟈~TPS 관련 글: https://docs.whatap.io/en/best-practice-guides/about-apm-dashboard ❓ 30일동안 얼만큼의 데이터가 쌓일까  ❓ READ TPS: 100WRITE TPS: 10유저: 1000명1초 동안의 총 트랜잭션 수총 트랜잭션 수는 유저 수에 TPS를 곱한다.Read 트랜잭션 수/초 = 100 * 1,.. 2025. 1. 8.
[HTTP] Stateless/Stateful 뭘 사용해야 할까? 프로젝트 전 알아야하는 개념들을 정리해보았다... 후... 개념은 뭐 정리할 수 있지만 잘 써먹을 수 있겠찌??서버와 클라이언트 간에 진행되는 통신 방식을 알아보자! Stateful서버가 각 클라이언트의 세션이나 상태 정보를 유지하는 것을 말한다. 서버는 클라이언트가 이전에 보낸 요청, 세션 정보 등을 기억하기 때문에 클라이언트가 다시 연결해도 맥락을 잃지 않는다.예시: 로그인한 상태에서 쇼핑몰 장바구니에 물건을 담거나, 게임 중 진행 상황을 저장하는 것이 가능하다.Stateful 원리세션 유지서버는 클라이언트의 상태를 추적하기 위해 메모리에 상태 정보를 저장한다.예: 로그인 정보, 사용 중인 데이터.클라이언트가 새로운 요청을 보내면, 서버는 이 상태 정보를 참조하여 적절히 응답한다.세션 ID 또는 연결.. 2025. 1. 7.
[대규모 시스템 설계 기초] 1장, 2장 스터디에 참여하게 되었다...! 어렵다...! 하지만 해야지 뭐 어케1장. 사용자 수에 따른 규모 확장성로드 밸런서(Load Balancer)1. 동작 원리 및 구현로드 밸런서는 여러 서버에 들어오는 네트워크 트래픽을 분산시켜 서버 과부하를 방지한다.요청 분배: 클라이언트 요청을 받아 백엔드 서버 중 하나로 전달한다.방식:라운드 로빈: 순서대로 서버에 요청을 분배.가중치 기반: 성능이 높은 서버에 더 많은 요청 할당.최소 연결: 현재 연결 수가 가장 적은 서버에 요청 전달.2. 장단점 사용 이유장점:시스템 가용성 및 확장성 향상.특정 서버 과부하 방지.장애 서버 자동 감지 및 제외.단점:초기 설정 및 유지보수 필요.로드 밸런서 자체가 장애 지점이 될 수 있음.사용 이유: 많은 사용자가 동시에 접속하는 서.. 2025. 1. 6.
2025년... 새해...가 밝았다...퇴사하고 벌써 3개월이 다되어간다... 대학원도 시작인데 공부할께 참 많구나..! 일을 많이 벌려놔서 몸이 고생하는중이다 ㅋㅋ아침에 일어나서 저녁까지 앉아있는데 좋은곳으로 이직 잘 하고싶다! 일단 다짐했던게 있으니까 흔들리지말고! 목표한거 쭉 나아가자!2025년에도 나는 해낼 수 있다! 2025. 1. 5.
[나혼자공부] 5주차 복습-2 오늘도 힘내자!오늘의 공부 내용내 답변은 혼자 계속 다듬어 가면서 고치고 고치고 고치다가 정리된 답변입니다... 처음부터 절때 저렇게 정리하지 않았습니다...! 세션을 사용할 때 서버 측에서 어떤 방식으로 클라이언트를 식별하나요?일반적으로 세션 ID는 쿠키에 저장됩니다. 클라이언트는 서버로 요청을 보낼 때 이 쿠키를 함께 전송하여 세션을 유지합니다. 세션을 언제 생성하고 관리하는지 설명해 주세요클라이언트가 서버에 처음 접속하면 서버는 새로운 세션을 생성하고 고유한 세션 ID를 발급합니다. 서버는 세션 정보를 메모리 또는 외부 저장소에 저장합니다.디스패처 서블릿이 무엇인가요?클라이언트 요청을 적절한 컨트롤러로 전달하고, 응답을 생성하여 반환하는 역할을 합니다. 클라이언트에서 받은 요청을 디스패처 서블릿이 .. 2025. 1. 4.
[나혼자공부] 5주차 복습-1 으ㅇ아아ㅏ아아ㅏ 공부할께 많다아ㅏ 오늘의 공부 내용내 답변은 혼자 계속 다듬어 가면서 고치고 고치고 고치다가 정리된 답변입니다... 처음부터 절때 저렇게 정리하지 않았습니다...! 서블릿은 웹 서버예요? WAS예요?서블릿(Servlet)을 실행하려면 서블릿 컨테이너같은 WAS가 필요하지만 웹서버나 WAS가 아닙니다. 자바 기반 웹 어플리케니션의 구현 기술이고 동적인 콘텐츠를 생성하기 위해 사용됩니다.웹 서버와 와스를 구분하는 이유에 대해 설명해 주시겠어요?웹 서버와 WAS는 역할과 책임이 다릅니다. 웹 서버는 주로 정적인 콘텐츠를 클라이언트에 제공하고 WAS는 동적인 콘텐츠를 생성하는 차이가 있습니다.로드 밸런싱을 위해 웹 서버를 사용하는 경우, 어떤 설정이 필요한가요?Nginx, HTTP Server등.. 2025. 1. 3.
[Spring] Filter, AOP, Interceptor 그리고 Middleware 실무에서 개발하면서 찾아봐야지~ 찾아봐야지~ 했던 filter, aop, interceptor 부분을 드디어 공부해본다! 차이점 미리보기특징FilterAOPInterceptorMiddleware적용 레벨HTTP 요청/응답메서드/클래스컨트롤러 전후요청/응답주요 사용 사례보안, 로깅트랜잭션, 로깅인증, 데이터 가공요청 처리프레임워크 종속성낮음높음(Spring 등)높음(Spring MVC)높음 (Spring Boot)설정 위치web.xml/Java ConfigBean 등록Handler 설정Spring Config코드 복잡도중간높음중간낮음요약Filter는 주로 HTTP 요청/응답을 다루며, 프레임워크에 종속되지 않아 표준적이다.AOP는 메서드 수준의 로직 분리에 적합하며, 코드 재사용성과 유지보수성이 뛰어나다... 2025. 1. 2.
[Algorithm] 시간복잡도 (amortized time complexity) 알고리즘을 좀 제대로 공부해보기 위해서 일요일이지만 공부 도저어언! 시간 복잡도 (amortized time complexity)시간 복잡도는 알고리즘이 실행되는 동안 걸리는 시간을 입력 크기 n에 따라 측정하는 방식이다. 간단하게 말하면, "데이터 크기가 커질수록 알고리즘이 얼마나 느려지는지"를 나타낸다.계산 과정기본 연산 찾기: 알고리즘에서 가장 자주 반복되는 핵심 연산(덧셈, 비교, 곱셈 등)을 찾는다.반복 횟수 세기: 이 기본 연산이 몇 번 실행되는지 n에 대해 식을 세운다.가장 큰 영향 찾기: 계산 결과에서 입력 n이 커질수록 지배적인 항(가장 빠르게 증가하는 항)만 고려한다.상수 제거: 상수는 무시한다. (예: 3n^2 + 5n + 10 -> O(n^2))대표적인 종류O(1): 상수 시간. 입.. 2024. 12. 31.
[나혼자공부] 4주차 복습-2 오늘도 힘내자!오늘의 공부 내용내 답변은 혼자 계속 다듬어 가면서 고치고 고치고 고치다가 정리된 답변입니다... 처음부터 절때 저렇게 정리하지 않았습니다...!직렬화 과정에서 serialVersionUID의 역할은 무엇인가요?내 답변: serialVersionUID는 클래스의 고유 ID로 직렬화 및 역직렬화 과정에서 사용됩니다. 자바는 클래스의 구조가 변경되었는지 확인하기 위해 직렬화된 객체의 serialVersionUID를 비교합니다. 동일하면 역직렬화 성공하고 다르면 InvalidClassException 예외가 발생됩니다.왜 Serializable을 구현해야 할까요?내 답변: 객체를 직렬화(Serialization)해서 바이트 스트림으로 변환할 수 있게 됩니다. 객체를 파일에 저장하거나 네트워크로 .. 2024. 12. 26.
반응형