뭔가를 봤거나 했다면 올리는 카테고리

0. 이 글을 쓰는 이유 오늘 두 차례 티스토리 문제를 겪고 나서 과연 뭐가 문제인지 추측을 하는 과정이 재미있어 정리를 해보고자 한다. 1. 문제 상황 크롬 브라우저에서는 티스토리에 대한 특정 url에 대해 문제가 발생한 후 새로고침을 해도 계속해서 페이지에서 400에러를 리턴하는 상황 하지만 다른 브라우저에서는 정상적으로 동작하거나 크롬 자체를 재부팅할 시 정상 동작을 함 2. 문제 의심 400에러가 왜 발생하는가에 집중을 해보자. 모질라에서는 400에러에 대해 발생 이유를 이렇게 설명해주고 있다. 보통 요청을 보낼 때 사용자에 대한 인식을 어떻게 하는지 상상을 해보면 브라우저의 쿠키에 저장한 후 해당 쿠키를 기준으로 판별을 진행한다. 과연 이 쿠키에서 문제가 발생하면 어떻게 될까? 아마 정해진 형식..
우선 자바의 동작 과정을 다시 살펴보자 우선 소스코드가 컴파일을 통해 바이트코드로 변하고 이걸 jvm이 인터프리터를 통해 기계어(머신 코드)를 만들어서 사용한다. 이렇게 되면 아무튼 자바만 올라갈 수 있는 환경이면 다 돌아갈 수 있다.(WORA) 컴파일에서 바로 기계어를 만드는 c++, go, rust등에 비해 성능이 뒤쳐지게 된다. 컴파일 언어는 런타임 환경에서 준비된 기계어를 즉시 수행이 가능한데 코드 최적화도 진행해서 인터프리터 언어보단 빠르다. 문제는 빌드 환경이 c++ arch에 종속적임. 컴파일언어가 성능면에서 더 이득이라고 했는데 이 성능차이를 해결하기 위해 JVM에서는 JIT Compiler를 도입함. JIT Compiler는 바이트코드를 캐싱하고 있다가 런타임 환경에 맞춰 수행하고 반복된..
카카오 메시지는 일 평균 500k /tps 트래픽, 40M 의 평균 연결 세션 수, 6.5M /tps 의 최고 트래픽을 가지고 있다. 2011년 겁나 빠른 황소 프로젝트를 통해 패킷 경량화 및 통신 최적화, 푸시 시스템 구조 최적화, 백엔드 시스템 성능 개선을 함 11년 동안 잘 사용했음 client와 연결되는 곳은 c++로 하고 비즈니스 로직은 java로 했음 c++ 백엔드는 epoll기반 비동기 입출력, 쓰레드 별로 미리 할당한 메모리 버퍼 사용, 대당 500K이상 세션 관리 과연 이게 앞으로도 잘 돌아갈까? 커스텀은 진짜 하나 하나 다 성능을 끄집어냈지만 시간이 지날수록 유지보수가 힘들어진다. 양산은 어느정도 성능 저하는 있겠지만 유지보수가 짱좋음 현재 앞단에 있는 서버는 직접 개발한 코드로 인해 ..
https://if.kakao.com/2022/session/104 정리하고 보니 슬라이드랑 똑같네요. 그냥 슬라이드 보세요.. 1. 컨테이너 왜씀 서버 환경(OS독립)에 구애 받지 않고 여기에 애플리케이션이 구동에 필요한 모든걸 다 때려박고(올인원 패키지) 프로세스 주변 영향을 받지 않고 격리된 상태로 실행 가능. 그리고 해당 컨테이너가 구동하기 위한 자원을 할당하고 사용할 수 있도록 보장을 할 수 있다. 2. 컨테이너 사용 요건 리눅스 컨테이너는 리눅스 기술임. 근데 윈도우에서도 도커 쓰잖음? 그거는 도커가 백그라운드 프로세스로 리눅스 버츄얼 머신 돌려서 그럼. 런타임 컨테이너 관리 도구(도커 같은) 리눅스, 런타임은 필수이고 이 컨테이너들을 여러 개를 관리하기 위해 쿠버네티스 같은 자동화 도구를 사..
CORS(Cross Origin Resource Sharing) 백엔드와 프론트엔드의 Origin이 다를때 나타나는 상황 FastAPI에서 CORS를 허용하는 방법 CORSMiddleware를 사용한다. from fastapi.middleware.cors import CORSMiddleware . . . . origins = [ "http://localhost.tiangolo.com", "https://localhost.tiangolo.com", "http://localhost", "http://localhost:8080", ] app.add_middleware( CORSMiddleware, allow_origins=["*"], #allow_credentials=True, allow_methods=["*..
새 회사에서 새 기술을 접하면서 내가 안해본 분야를 하다 보니 모르는게 너무 많았다. 웹을 안해봤고 다른 언어도 많이 안해봤는데 이번에 새로 알게된 내용을 간단하게 정리해 보았다. Get/Post를 쉽게 구별하려면? 홈페이지를 눌렀을때 페이지가 보이면 Get 안보이고 에러가 나오면 Post 쿠키 규칙 쿠키를 처음 사용해봤는데 Key, Value에 규칙이 있음 Key : 알파벳과 숫자로만 이루어져 있어야 한다.(당연하게 $로 시작할 수 없으며, 콤마, 세미콜론, 공백 등의 문자를 포함 불가) Value : 공백, 괄호, 등호, 콤마, 콜론, 세미콜론을 포함할 수 없으며 이들 값을 포함하려면 인코딩이 필요. 그래서 모든 데이터를 웹뷰에서 가져가기 위해 Value를 utf-8로 인코딩해서 전달함 자바스크립트 ..
웨비나를 보며 빠르게 정리한거라 두서 및 오타, 부정확한 단어 사용 있음 주의! 웨비나 제목 : 어느날 갑자기 찾아온 Datadog, DevOps 변화의 시작 주제 : gs리테일에서는 datadog을 실무에서 어떻게 사용하나 (이거 보고 당근마켓 영상도 보면 좋을듯!) agenda 1. intro 2. gs 리테일 서비스 소개 3. gs 리테일 datadog 적용 배경 및 활용 범위 4. 트러블 슈팅을 위한 datadog 실 활용사례 소개 with gs retail 5. qna gs 리테일 서비스 소개 오프라인 쇼핑(gs25, gs the fresh, 랄라블라) 온라인 o2o, o4o (더 팝, 나만의 냉장고, 와인25...) 온라인 커머스, 홈쇼핑 (gs shop, gs fresh, marketfor,..
Berno
'뭔가를 봤거나 했다면 올리는 카테고리' 카테고리의 글 목록