목록전체 글 (90)
Post-IT
서비스의 성능을 측정할 때 데이터를 보고 어떻게 판단해야 할까?우리가 알고리즘을 공부하면 시간복잡도의 개념을 공부하게 되는데, 보통의 알고리즘 문제를 풀 때, 우리는는 최악의 시간 복잡도를 고려한다. 어떤 데이터가 들어와도 1초 내지 2초 안에 답을 도출해야하기 때문에 worst case를 고려하게 되는데, 서비스의 성능을 측정하는 관점에서는 어떻게 생각해야 할까? 퍼센타일이란?퍼센타일이란 무엇일까??퍼센타일은 데이털르 작은 값부터 큰 값까지 정렬했을 때, 전체에서 특정 % 지점에 해당하는 값을 의미한다. 지연시간에 대한 데이터가 주어졌을 때, 각각의 정의는 다음과 같다.p50 : 절반의 요청이 이 시간 이하에 완료됨 → 중간값p90 : 90%의 요청이 이 시간 이하에 완료됨 → 상위 10%는 더 느리게..
어떠한 서비스를 만들 때, 정말 많은 데이터를 사용한다. 변동성이 있는 자산에 대한 데이터를 사용하려고 하는데, 데이터를 사용할 때 API와 DB를 활용하는 방식에 대해 생각을 해봤다. 두 방식의 차이점은 무엇이고, 각각의 장단점은 무엇일까? API 호출 방식과 DB 활용을 각각 비교 / 정리해보자 1. API 호출필요한 순간마다 외부 데이터 제공자에 직접 요청해서 응답을 즉시 사용 아마 API 호출로 사용하는 데이터는 가공 없이 최신 데이터를 즉각적으로 사용할 때 유리할 것 같다. 데이터 파이프라인 없이 프론트에서 그대로 가져다 쓸 수 있을 경우에는 되게 유리해 보인다. 하지만, 제공 플랫폼이 불안정하거나, 느리면 서비스 제공에 장애가 생길 수 있다. 또한 내가 만들 서비스에서는 주가 데이터를 받아오는..
컴파일러는 프로그래밍 언어로 작성된 소스 코드를 Machine이 이해할 수 있는 Machine Language(기계어)로 번역해주는 프로그램입니다.컴파일러의 주요 목적은 사람이 이해하기 쉬운 High level language를 CPU가 이해할 수 있는 Low level language로 바꾸는 것입니다.📌 컴파일러의 전체 적인 흐름Source Code (.c, .java 등) ↓[1] Lexical Analysis (어휘 분석) ↓[2] Syntax Analysis (구문 분석, Parsing) ↓[3] Semantic Analysis (의미 분석) ↓[4] Intermediate Code Generation (중간 코드 생성) ↓[5] Optimizati..
스프링 부트 개발을 하다보면 주기적으로 함수를 호출해야될 경우에 @Scheduled 어노테이션을 붙여서 일정시간마다 호출해주는 기능이 필요할 때가 있다. 하지만 분명 1분마다 db의 상태를 업데이트 해야하는 함수가 있어서 추가했는데 함수안에 실행여부 로그를 넣고 돌려보니 어떻게 해도 함수가 실행이 안되서 하루종일 헤맷다. 찾아보니 SpringApplication에서 @EnableScheduling으로 스케줄링을 켜줘야 하는거였다.
Postman으로 API 테스트를 하던 도중에 서버 로그를 좀 보고 싶었는데 아무리 테스트를 해도 서버 로그가 나오질 않아서 테스트가 안된다.로그가 나오지 않는다면 Spring Securtiy에서 요청을 차단하고 있을 가능성이 높다고 한다. application.properties에서 로그를 활성화 시켜줘야 한다.파일 위치 : src/main/resources/apllication.propertieslogging.level.org.springframework.security=DEBUG

스프링 JWT 로그인을 구현하는데 오류한줄없이 코딩하고 빌드를 눌렀는데..!! 빌드가 안된다별거 아니다 그냥 getUserName() getPassword()가 없다고 한다..😂 근데 거의 모든 get함수들이 안되는거 같은 느낌이 들었다.그래서 내가 @Getter 어노테이션을 빼먹은 줄 알았다. 근데 Line 6에 뻔히 있다.. 이유가 뭔지 열심히 찾아보니 lombok 의존성을 추가하는거 말고도 Annotation Processor가 필요한 것이였다. 코드 작성시에는 에러가 없는데 컴파일 타임에 내가 작성한 @Getter 어노테이션이 일을 안하고 있던것이였다!!!이 어노테이션이 놀지 않고 자기 할일을 하게 해주는 것이 바로 Annotation Processor! Lombok 의존성을 추가할 때는 반드시..

리액트 개발환경을 세팅하다가 1시간 넘게 해결을 못한 문제가 있다..Tailwind 패키지를 설치하고npx tailwindcss init -p 설정파일을 생성하려고 하는데 자꾸 tailwindcss가 없다고 한다..zsh: command not found: tailwindcss분명 설치되어있는데.. 혹시나 npm이 깨졌나 캐시도 삭제해보고 재설치도 해봤는데 무슨 짓을 해도 안된다..!!! 😡 결국 구글링 해보니 그냥 Tailwind CLI가 없어서 그런거였다! $ npm install @tailwindcss/cli 바로 CLI를 설치하니 정상적으로 설정파일이 생성되었다!