분류 전체보기 (50) 썸네일형 리스트형 도망치고 싶을 때 읽는 책 도망치고 싶을 때 읽는 책: 내 느낀 점 정리 전체적 흐름 파악하기일의 전체적 흐름을 파악한 뒤, 내가 할 수 있는 일과 할 수 없는 일을 명확히 구분하는 것이 중요합니다. 모든 일을 혼자서 다 하려고 하지 말고, 자신의 역할에 집중하여 효율적으로 문제를 해결해 나가야 합니다.작은 단위로 나누기일을 작게 나누어서 생각해보는 것이 좋습니다. 큰 문제를 한 번에 해결하려고 하기보다는, 하나씩 해결해 나가는 방법이 더 효과적입니다. 이렇게 하면 스트레스를 줄이고, 성취감을 느끼며 진행할 수 있습니다.책임의 한계 이해하기내가 맡은 일 이상의 책임을 떠맡으려 하지 말고, 스트레스를 줄이는 것이 중요합니다. 또한 남의 일에 지나치게 간섭하려고 하지 말고, 도움을 요청했을 때만 그 부분에 대해 도와주는 것이 좋습니다.. Apache와 Nginx 배경MSA 프로젝트를 간단하게 해보면서 gateway쪽을 담당하게 되었는데, 이 부분이 nginx와 매우 유사하다는 생각이 들었습니다. 평소에도 nginx에 대해 궁금했던 부분이 많았는데 다음에 도입을 고려해보기 전 이번 기회에 nginx의 역사에 대해 조금 알아볼까 합니다.내용Nginx와 Apache: 웹 서버의 진화와 비교안녕하세요! 오늘은 Nginx와 Apache 서버에 대해 깊이 있게 알아보겠습니다. 두 웹 서버는 각각의 장단점과 특징을 가지고 있으며, 서로 다른 상황에서 최적의 선택이 될 수 있습니다. 이 글에서는 두 서버의 역사적 배경, 구조, 장단점, 그리고 어떤 상황에서 각각을 선택해야 하는지에 대해 상세히 설명하겠습니다. Apache서버는 최초의 web 서버 NCSA HTTPd를 대체하기.. 코딩테스트 알고리즘 - BFS, DFS 그래프 탐색어떤 것들이 연속해서 이어질 때 모두 확인하는 방법Graph : Vertex(어떤것. 노드) + Edge(이어지는 것. 연결선)BFS너비 우선 탐색 : 자기 자식 우선 탐색시작점에 연결된 vertex찾기 -> 찾은 vertex를 queue에 저장DFS깊이 우선 탐색 : 자식의 자식을 우선 탐색 깊이 우선 탐색 : 자식의 자식을 우선 탐색연결된 vertex 찾기 -> 찾은 vertex를 stack에 저장시간복잡도알고리즘이 얼마나 오래 걸리는지Big-OBFS : O(V+E)사용 자료구조BFS검색할 그래프방문 여부 확인(재방문 금지 목적)Queue : BFS 실행 코딩테스트란? 코딩테스트시간 안에 주어진 문제를 푸는 시험적절한 알고리즘을 선택해서 문제 해결각 알고리즘의 이해개념 이해기본 문제, 코드 따라해보기안보고 작성할 정도로 외우기다른 문제 풀어보기(각 10문제씩 정도)실전 노출한문제에 30분 넘지 않게 풀이매일 알고리즘별로 돌아가면서 풀기풀이 방법이 아예 떠오르지도 않을 경우 구글링으로 풀이 검색오답노트 작성어떤 알고리즘을 선택했는지는 중요하지 않다. 선택한 이유, 풀이 방법과의 연결 과정을 설명하자.필수 알고리즘BFSDFS백트래킹시뮬레이션이진탐색GreedyDPMST다익스트라플로이드코딩테스트 풀이 방법풀기전 최대한 구체적 계획 작성다음 세가지 주석으로 써보고 문제 풀이아이디어 : 문제를 어떻게 풀것인지, 어떤 알고리즘을 사용할 것인지시간복잡도 : 내가 설계한 방법이 오래.. docker compose에서 health check를 활용한 spring boot app 띄우기 배경개발을 조금씩 해나가면서 docker의 소중함에 대해 정말 많이 느끼고 있습니다.. 이번 프로젝트 MSA 환경에서도 docker container를 통해 각 서버를 순서대로 띄우려고 했는데 잘 안됐단 말이죠. 구글링과 gpt를 통해 health check를 사용하면 된다는 것을 알아서 적용을 해보았지만 정상적으로 health 체크가 되지 않는지 자꾸 다음 서버가 제대로 띄워지지 않았습니다.. 튜터님이 actuator를 통해 health 체크를 하면 되지 않을까?라고 살짝 언급을 주셔서 그 부분에 이어서 내용을 시작해 보도록 하겠습니다. 내용먼저 actuator를 활용하기 위해 spring boot의 eureka 서버에 gradle 설정을 해야합니다. spring boot 버전은 3.4.0, jdk는 .. spring에서 cache 활용 시 key 값 설정 주의점 문제 정의spring boot와 redis를 활용해 cache 저장소를 구현하려고 할 때 발생했던 문제입니다. @Cacheable(cacheNames = "itemCache", key = "args[0]") public ItemDto readOne(Long id) { log.info("Read One: {}", id); return itemRepository.findById(id) .map(ItemDto::fromEntity) .orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND)); } @Cachea.. gateway에서의 FeignClient 사용 문제 정의gateway는 기본적으로 reactive방식인 비동기 형식으로 진행되기 때문에 동기형식인 FeignClient를 사용하는데 몇가지 추가 설정이 필요합니다. gateway가 아닌 다른 서버에서 FeignClient사용을 할 때는 이런 설정들이 필요없긴 한데 말이죠.. 한번 설정들을 살펴보겠습니다. 해결 과정build.gradle 파일을 따로 설명하지는 않겠습니다.먼저 main class입니다. 당연히 feignclient 사용 설정을 해주어야겠죠? @SpringBootApplication@EnableFeignClientspublic class GatewayApplication { gateway에서는 FeignClient로 등록된 객체를 불러올 때 순환 참조 문제가 발생합니다. 저는 gateway.. gateway에서 exchange를 사용하여 값을 전달할 때 주의점 문제 정의gateway에서 exchange통해 값을 넘겨줄 때 문제가 되는 부분이 있었습니다. 이번 프로젝트에서 제가 설계한 gateway에서는 토큰의 유효성을 검증하는 부분이 있었는데요, 예를 들어서 아래처럼 넘겨주게 되면 변환된 exchange 값이 사용되지 못합니다.private ServerWebExchange validateToken(String token, ServerWebExchange exchange) { try { SecretKey key = getSigningKey(); Jws claimsJws = Jwts.parser() .verifyWith(key) .build()... 이전 1 2 3 4 5 ··· 7 다음 목록 더보기