분류 전체보기

개요Dayner 에는 매달 정기 휴무일을 비롯한 연중 휴일, 급한 일정으로 인한 운영시간 변경등을 등록할수 있는 기능을 가지고 있다. 최초의 디자인인 경우에는 대부분 매주 월요일에 있는 정기 휴무만 표시를 하고 있었기에 영업시간변경/휴일 을 표시하는 type, date, description 이 존재하고 있었다. 이를 ~/yyyyMM 형식으로 표현된 엔드포인트를 이용해 api 요청을 하면 영업일정(id,type, date, description) 로 된 db에 between 첫일~ 말일 쿼리를 이용해 제공을 해주고 있었다.  문제는 디자인이 바뀌면서 프론트 단에서 우측 사진의 24~25일에 그려져있는 연속된 일정의 컴포넌트를 만들기 위해 프론트에서 과도한 자원 사용이 이루어지는 것 같다는 의견이 제시되면..
· CS
개요면접 스터디 진행중 cors 에러 발생 시나리오에 대해 간단히 정리해둔것을 가져와봤다. CORS의 개념Same-Origin Policy를 기반으로한 브라우저의 보안정책이다.브라우저는 같은 출처에서만 API 요청을 허용하기에 따라서, 다른 도메인, 프로토콜 또는 포트를 가진 서버로부터 자원을 요청할 경우 CORS 에러가 발생할 수 있다. 예외로 부모-자식 관계의 부모-서브 도메인에서는 발생하지 않는다. (어떻게 보면 당연한..) [프론트] api 요청 프록시 설정백엔드 서버가 EC2나 다른 클라우드 환경에 있고 해당 서버로 요청을 보낼 때, localhost에서 3000번 포트를 사용하여 서비스하는 경우 출처가 다르므로 CORS 오류가 발생할 수 있다.React 등 대부분의 프레임워크에서 패키징 관련 ..
· React
개요리액트로 작성된 프론트 코드의 CI/CD 를 하다가 오류가 발생했고 디버깅을 하다가 원인을 알아내서 간단히 작성해보려고 한다.     원인 분석; 왜 Vite 나 Webpack 에서 발생하는가?  웹팩(Webpack)이나 Vite 는 모듈 번들러로 자바스크립트 파일들을 하나로 묶어 애플리케이션에서 사용할 수 있게 모듈이나 파일 경로를 해석하는데 이때 올바르지 않은 경로가 참조되면 Module not found 오류가 발생한다. 보통 상대 경로(../../components/Button)가 잘못 작성되었거나, 프로젝트 구조 변경 시 경로 수정이 누락된 경우에 발생한다. 또한, 웹팩이나 Vite가 특정 확장자를 찾지 못했을 때도 이 오류가 발생할 수 있다. 결국, 이 오류의 발생 주체는 모듈 번들러에서 ..
· Amazon/EC2
개요 및 프로젝트 특징(조건)작년 이맘때에 샀던 도메인의 만료로 인해 갱신도 했으니 가운영 반년, 실제 운영 1년이 넘어가는 시점이다.    약 22회의 기능 추가/수정 으로 인한 Deploy, 와 30번 이상의 hotfix, 그리고 두번의 대규모 리팩터링을 거친 나름 내가 진행해본 프로젝트 중에서 가장 공을 많이 들이고 여러 기술도 적용시켜보며 지속적으로 신경쓴 프로젝트라고 할수 있을것같다. 특징으로는 1. 최소 비용이 목표라 aws 의 프리티어 ec2를 사용중2. 특성상 카페 이용 시간대만 사용자가 몰리고, 트래픽이 증가되는 시간대가 정해져있다. 따라서 AutoScale 을 도입.3. 테스트 상으로 5명의 유저가 분당 150 내외의 GET 요청까지는 무리없이 커버한다. 스프링을 통해 서버를 구축해놓았..
· Java
개요자바를 공부하다보면 가비지 컬렉터(GC)에 대해 자주 접하게 된다. 대부분 GC과정이 메모리 관리를 위해 사용된 객체를 해제하고 메모리 관리를 최적화 하기 위해서 여러 세대로 나누어 자주 접근하거나 다른 객체들에 의해 참조되는 객체들은 오래된 세대로 이동하여, 신세대에 비해 해제 빈도를 낮추는 전략을 사용한다. 정도로만 이해하고 있을 수 있는데,  요즘 'JVM 밑바닥까지 파헤치기' 라는 책을 읽으며 GC의 작동 원리는 이보다 훨씬 더 복잡하고 여러 과정을 거쳐서 발전해왔음을 확인할 수 있었다.   따라서 이번 포스팅에서는 용어와 알고리즘을 정리한후에 클래식 가비지 컬렉터의 특성과 종류를 시작으로 ZGC나 쉐넌 도어같은 최신 가비지 컬렉션 기술까지 특성 위주로 설명을 해보려고 한다. 용어 - Stop..
· Java
개요자바가 제공하는 메모리 관리는 할당과 해제를 하여 관리해야하는 다른 언어들과는 달리 개발자의 편의성 측면에서 많은 이점을 가져온다. 하지만 그 이면으로 내가 직접 관리를 하지 않기 때문에 GC 과정에 이상이 생길시에 원인을 분석하여 해결해야된다는 점이 있는데 이는 자바가상머신의 메모리에 대해서 알아보면 원인 분석 및 이해가 빨라질수 있다.따라서 이를 구조를 설명하고 구조별로 일어날만한 오류들을 정리를 해보려한다.(고봉밥으로다가) 들어가기에 앞서서 JVM 을 크게 나눠보자면 위에도 언급했던 힙 메모리를 관리하는 가비지 컬렉터, 자바 클래스를 메모리 영역(어디인지는 아래에 나올것이다.) 에 로드해주는 클래스 로더 시스템, JVM의 바이트 코드를 실행하는 실행 엔진으로 기능적 요소가 존재하고 이번에 설명할..
nstgic3
'분류 전체보기' 카테고리의 글 목록 (5 Page)