profile
제니벨로그
post-thumbnail

[LearnsMate] 프로젝트 리팩토링 - 쿠폰 대량 발급시 발생하는 속도 저하 현상 개선

최종 프로젝트였던 LearnsMate 프로젝트의 기능 중 캠페인 등록 과정에서 문제가 있다는 것을 발견했다. 약 5,000개의 쿠폰을 발급하는데 무려 4.8초나 걸림🙃쿠폰 발급이 이렇게 느리면 다음과 같은 문제점이 발생할 수 있다.쿠폰은 사용자에게 동시에 발급되어야

2025년 4월 10일
·
0개의 댓글
·
post-thumbnail

[백준 숨바꼭질3] BFS, 0-1 BFS, 다익스트라 비교

백준13549 - 숨바꼭질3 https://www.acmicpc.net/problem/13549수빈이는 현재 점 N (0 ≤ N ≤ 100,000) 에 있고, 동생은 점 K (0 ≤ K ≤ 100,000) 에 있다.수빈이는걷기: X → X-1, X → X+1

2025년 4월 7일
·
0개의 댓글
·

파이썬으로 구현하는 조합과 순열 총정리

알고리즘 문제를 풀다 보면 "조합", "순열", 그리고 "중복 처리"를 요구하는 경우가 자주 나온다.이 글에서는 파이썬을 사용해서 조합과 순열의 다양한 경우(총 8가지)를 모두 정리해보았다.순서가 있고 중복이 안됨 -> 1, 2, 3중에 2개씩 선택하는 경우 12, 1

2025년 4월 4일
·
0개의 댓글
·

무선 LAN #1. 반이중화 통신, CSMA/CA, 와이파이

무선랜은 IEEE802.11 표준규격을 따름. 반이중화 통신을 사용양쪽 장치는 서로 통신할 수 있지만 동시에는 할 수 없음 한번에 한 방향만 통신CSMA/CA: 반이중화 통신 중 하나장치에서 데이터를 보내기 전에 사전에 가능한 충돌 방지를 하는 방식CSMA/CA로 프레

2025년 3월 5일
·
0개의 댓글
·

유선 LAN #1. 전이중화 통신, CSMA/CD, 케이블

전이중화(full duplex) 통신은 양쪽 장치가 동시에 송수신할 수 있는 방식을 말한다.동축케이블, 광케이블 등을 기반으로 만들어진 유선LAN을 이루는 이더넷은 IEEE802.3 프로토콜을 기반으로 전이중화 통신을 쓴다.충전기 생각하면됨. 충전기 보통 USB C타입

2025년 3월 5일
·
0개의 댓글
·

네트워크를 이루는 장치 #1. 애플리케이션, 전송, 인터넷, 데이터링크, 물리 계층

로드밸런서라고도 함. 서버의 부하를 분산하는 기기.강점: 서버 이중화, 보안IP, Port 뿐만이 아니라 url, 헤더, 쿠키 등을 기반으로 트래픽을 분산한다.헬스체크를 통해 장애가 발생한 서버를 확인하고 해당 서버로 트래픽을 보내지 못하게 하는 역할을 한다.로드밸런서

2025년 3월 5일
·
0개의 댓글
·

네트워크를 이루는 장치의 이해

네트워크 기기는 계층별로 나눌 수 있다.상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가하다.L7 스위치는 L4 스위치가 하는 기능을 할 수 있음 -> 위 계층은 아래 계층이 하는 일을 할 수 있다.

2025년 3월 5일
·
0개의 댓글
·

HTTP 메서드 #1. GET과 POST / PUT과 PATCH

url을 기반으로 하기때문에 길이제한(2000자미만)이 있다.성공시 HTTP 상태코드 200을 반환한다.캐싱이 가능하다.url을 기반으로 요청하기 때문에 해당 요청의 파라미터가 브라우저 기록에 남는다.url을 기반으로 요청하기 때문에 요청할 때 ASCII문자열만을 보낼

2025년 3월 5일
·
0개의 댓글
·

HTTP 상태코드(status code)

서버가 요청을 잘 받았으며 해당 프로세스를 계속 이어가며 처리하는 것을 의미한다.100: 계속함을 의미서버가 요청을 잘 받았고 이를 기반으로 클라이언트에게 성공적으로 데이터를 보낸 것을 의미한다.200 OK: 요청이 성공적으로 되었음을 의미201 Created: 요청

2025년 3월 5일
·
0개의 댓글
·

로그인 #2. 토큰기반인증방식(access토큰, refresh토큰)

토큰기반은 유저의 상태를 토큰에 담아놓고 서버들은 stateless하게 가자라는 이론이 담긴 기법임이 토큰에다가 유저의 상태값을 다 넣음이걸 기반으로 유저가 유효한지아닌지를 확인어떻게 구현하냐면MSA기반으로 설명장바구니, 결제 서버가 있다토큰을 관리하는 서버도 한대 존

2025년 3월 5일
·
0개의 댓글
·

로그인 #1. 세션기반인증방식

네이버에서 로그인하고 로그인한 상태로 새로고침 -> 유지가된다어떻게 구현할까?로그인을 유지하는건 두가지 방식이 대표적이다.세션기반인증방식과 토큰기반인증방식HTTP의 특징중 하나는 상태가 없음(stateless)하다라는 것즉 HTTP 요청을 통해 데이터를 주고받을 때 요

2025년 3월 5일
·
0개의 댓글
·

웹브라우저의 캐시 #4. 로컬스토리지, 세션스토리지, 쿠키의 공통점과 차이점

브라우저에 캐싱을 함으로써 서버에 대한 요청을 줄여 서버부하를 방지할 수 있다.세 개 모두 어떤 브라우저의 데이터 조각임이걸 기반으로 뭘 할수있냐서버에다가 요청을 한다 치자요청해야할 정보를 이미 쿠키 등에 캐싱을 해두었기때문에 요청할 필요가 없으니 서버부하가 감소한다는

2025년 3월 5일
·
0개의 댓글
·

웹브라우저의 캐시 #3. 쿠키(Cookie)

브라우저의 작은 데이터 조각.쿠키는 보통 어떻게 설정되냐 사용자가 서버에 요청사용자가 서버 페이지 내놔하면 서버는 set-cookie라는 응답헤더에 설정한 쿠키를 보낸다.다음부터 이 사용자가 쓰고있는 브라우저는 해당 쿠키값을 가지고 있게 됨그 다음 서버에다가 요청을 할

2025년 3월 5일
·
0개의 댓글
·

웹브라우저의 캐시 #2. 세션스토리지

웹브라우저의 캐시 - 세션스토리지

2025년 3월 5일
·
0개의 댓글
·

웹브라우저의 캐시 #1. 로컬 스토리지

브라우저마다 저장되는 데이터. 같은 오리진끼리 로컬스토리지를 공유함(오리진에 종속됨)크롬 브라우저 로컬스토리지에다가 큰돌 천재라고 저장 했다 -> 익스플로러에서 못봄로컬스토리지는 key, value 형태특징하나의 키에 오로지 하나의 값만 저장됨데이터는 사용자가 브라우저

2025년 3월 5일
·
0개의 댓글
·

[cs 스터디] 2-5. HTTP - HTTP헤더

우리가 http 요청할때 그냥 하는게 아님헤더랑 바디로 구분된 녀석을 보냄받을때도 헤더랑 바디헤더가 무엇인가html, xml, json 등 본문 -> http bodygeneral, response/request headers에 담기는게 header헤더는 콜론으로 구분

2025년 2월 26일
·
0개의 댓글
·

[cs 스터디] 2-1. 네트워크의 기초 - 유니캐스트, 멀티캐스트, 브로드캐스트

유니캐스트란 1:1 통신을 말함. 대표적으로 HTTP통신이 있음 -> 내가 네이버 드가면?(정확히는 HTTPS) HTTP 요청한거임 이게 1ㄷ1 유니캐스트가장 일반적인 전송 형태멀티캐스트란 1:N 통신을 말함. N이지만 모든 노드들에게 데이터를 전달하지는 않고 특정 그

2025년 2월 26일
·
0개의 댓글
·
post-thumbnail

[cs 스터디] 5-3. 비선형 자료 구조

비선형 자료구조: 일렬로 나열하지 않고 자료 순서나 관계가 복잡한 구조예 - 트리, 그래프정점과 간선으로 이루어진 자료구조어떠한 곳에서 어떠한 곳으로 무언가를 통해서 간다.어떠한 곳: 정점(vertex)무언가: 간선(edge)단방향 간선, 양방향 간선이 있음정점으로 나

2025년 1월 17일
·
0개의 댓글
·

[cs 스터디] 5-2. 선형 자료 구조

선형 자료 구조 : 요소가 일렬로 나열되어 있는 자료 구조 연결 리스트 연결 리스트는 데이터를 감싼 노드를 포인터로연결해서 공간적인 효율성을 극대화 시킨 자료구조이다. >싱글 연결 리스트, 이중 연결 리스트, 원형 이중 연결 리스트 싱글 연결 리스트: next 포

2025년 1월 17일
·
0개의 댓글
·
post-thumbnail

[cs 스터디] 5-1. 복잡도

시간 복잡도: 입력 크기에 대해 어떠한 알고리즘이 실행되는 데 걸리는 시간주요 로직의 반복 횟수를 중점으로 측정된다.위 코드의 시간 복잡도를 빅오 표기법으로 나타내면 $O(n^2)$이 된다.\-> '가장 영향을 많이 끼치는' 항의 상수 인자를 빼고 나머지 항을 없앰효율

2025년 1월 15일
·
0개의 댓글
·