반응형

이 블로그는 수포자 디자이너에서 개발자로 성장해가는 저의 개발 스토리입니다.

[개발 환경] iTerm2로 터미널 커스텀하기

이번 포스팅에선 Mac에서 사용하는 터미널을 꾸며보도록 하겠습니다. 사실 오래전에 작성한 글이지만, 꾸준하게 조회수가 있는 포스팅이라 좀 더 상세한 내용과 최근에 추가한 커스텀 항목을 추가해서 다시 업로드하였습니다. 😊 ⚠️해당 포스팅은 다양한 기술 블로그의 iTerm2의 커스텀 글을 토대로 저의 입맛에 맞게 소스들을 선택하여 작성되었습니다. 포스팅 최하단에 참고한 블로그의 링크를 첨부하였으니 상세한 내용은..

개발 환경 2021.02.07 17

수포자 디자이너에서 카카오 서버 개발자가 되기까지 - 카카오 엔터프라이즈 합격후기

그제 오후 두 달 간의 길고 긴 채용 프로세스를 끝으로 카카오 엔터프라이즈에 (지난 12월에 분사한 카카오 AI계열사) AI 검색 플랫폼 지식 그래프 서버 개발자로 상시 채용 전형에 최종 합격 오퍼를 받았다. 사실 이 글을 쓰는 지금도 실감이 잘 나지 않지만, 그간의 회고 겸 이 글을 읽는 사람들의 방향성에 조금이라도 도움이 되길 바라는 마음에 오랜만에 ‘나의 이야기’를 담은 글을 적어보려 한다. 채용 과정 지원 먼저..

Retrospect 2020.06.15 67

[Spring] Spring MVC: Controller에서 parameter를 받아오는 방법

Spring Controller에서 데이터를 받아오는 방법에 대해서 살펴보겠습니다. httpServletRequest.getParameter() @RequestMapping("/test") public String test(HttpServletRequest req) { String userId = req.getParameter("userId"); return "test"; } getParameter()는 String 값을 반환합니다. httpServletRequest.getAttribute() @RequestMapping("/test") public String test(HttpServletRequest req) { String userId = r..

[Spring] Spring MVC: Controller return 타입

이번 포스팅에서는 spring controller의 리턴 타입에 대해서 살펴보도록 하겠습니다. 처음 스프링 부트를 배우기 시작했을 때 @RestController 애노테이션을 사용했기 때문에 줄곧 json 타입으로 return을 해왔는데, 우연히 외주 프로젝트를 하며 다른 리턴 타입들을 알게 되었고, @RestController가 어떤 애노테이션인지와 MVC에 대한 이해를 좀 키울 수 있었습니다. String Spring + View template을 사용할 때 흔히 사용하는..

[Spring] Reactive programing: WebFlux, WebClient

이전 포스팅에서 비동기 처리를 하게 될 경우 non blocking 하게 servlet thread를 사용하는 방법에 대해서 살펴보았습니다. 하지만 여전히 문제가 남아있는 부분이 존재합니다. 바로 비동기 처리를 하는 worker thread입니다. worker thread가 만약 또 다른 서비스의 API를 호출하게 된다면 servlet thread는 반환되었지만 worker thread는 api 응답이 올 때까지 blocking 되어 대기상태가 되어야 합니다. Spring 4.0에선 이러..

[Spring] 비동기 처리시 blocking 되는 servlet thread 관리

Tomcat에서의 IO는 HttpServletRequest와 HttpServletResponse를 사용하고 있고, 이 둘은 InputStream과 OutputStream을 구현하고 있습니다. 즉 IO가 이루어질 때마다 blocking이 발생한다는 뜻입니다. tomcat에서 NIO connector가 구현된 이후부터 connection을 nonblocking하게 맺고 있지만, 결국엔 servlet을 실행하는 순간 servlet thread가 필요로 하기 때문에 근본적인 문제의 해결책이 되지 않습니다. 서버에서 일어나는..

[Kubernetes] CRD(Custom Resource Definition)와 Custom Controller 사용하기

이번 포스팅엔 Kubernetes에 Custom Resource를 사용하는 방법에 대해서 살펴보도록 하겠습니다. Custom resource를 정의하고 사용하기 위해선 기반 지식이 조금 필요한데요. 이전의 포스팅에서 조금씩 언급한 부분이지만 시간이 지나고 나니 저의 설명이 너무 부실....^^한 포스팅이 많은 것 같아서 관련된 부분들을 조금씩 다시 언급하며 포스팅을 진행하도록 하겠습니다. Custom Resource를 사용하기 위해서 알아야 하는 가장..

Kubernetes 2021.04.08 0

[Error Log] Elasticsearch: ERROR: [1] bootstrap checks failed[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

Elasticsearch 5.0 이후부터 config 내 network.hosk가 loopback이 아닌 경우 bootstrape 체크 시 아래와 같은 에러가 발생하며 elasticsearch가 정상적으로 뜨지 않는 문제가 발생합니다. ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 원인 Elasticsearch는 mmapfs라는 디렉토리를 사용하여 색인하는데, 이때 os가 제공하는 mmap..

Error Log 2021.02.18 0

[Prometheus] Exporter 배포하기 (node-exporter, kube-state-metrics, actuator)

전 포스팅에서 봤듯이 prometheus는 exporter를 배포하지 않더라도 이미 많은 metric을 수집하고 있다는 것을 알 수 있었습니다. 특히 kubernetes 안에 배포된 container와 기본적인 node에 관한 metric도 수집되는 것을 알 수 있는데, 이는 kubernetes가 자체적으로 cluster 내의 모든 노드에 metric을 수집하는 cAdvisor라는 모니터링 에이전트를 배포하기 때문입니다. cAdvisor만으로도 많은 data를 얻을 수 있지만, 이번 포..

Prometheus 2021.02.12 0

[Prometheus] kubernetes 환경에 prometheus 구축하기

명절에 짬을 내서 최근 공부하고 직접 구축해보았던 prometheus 포스팅을 작성해보려고 합니다. 이번 포스팅에선 Prometheus에 대한 간략한 소개와 Kubernetes 환경에서 모니터링 시스템을 구축하는 방법으로 진행해보려고 합니다. 사실 prometheus는 많은 회사에서 사용하고 있고 kubernetes의 사실상 표준 모니터링 시스템으로 사용되고 있습니다. 그럼에도 불구하고, 한국어로 된 자료가 많이 없고, 번역된 책 조차도 yes24..

Prometheus 2021.02.12 0
반응형