뒤로가기

Common

검색파트의 반복 작업 자동화 과정

주기적으로 들어오는 반복적인 작업을 자동화한 사례를 소개합니다.

곽명환 2024.03.08.

다나와 Kotlin을 만나다!

다나와에서 Kotlin을 사용하기 시작한 이야기를 소개합니다.

장민규, 윤성현, 이주영 2024.02.13.

다나와의 상품 데이터 여정

다나와에서 상품 데이터를 수집하고 분류하는 여정을 소개합니다.

장민규 2023.08.30.

IntelliJ chatGPT Plugin Setting

IntelliJ에서 chatGPT를 연동해서 사용하는 방법을 알아봅니다

반윤성 2023.03.16.

!프론트엔드 개발자의 next.js 개발기

!프론트엔드 개발자의 next.js 개발기 입니다.

장민규, 이현우 2022.12.29.

is-deploy 트러블 슈팅 및 회고

is-deploy를 개발하고 테스트하면서 겪었던 이슈 및 트러블슈팅 회고록입니다

장민규 2022.12.22.

아파치 톰캣 로드밸런싱 상태에서 WAS 무중단 자동 배포하기

L4로 묶인 아파치 톰캣 로드밸런싱 환경 WAS 무중단 자동 배포하는 방법을 알아보겠습니다

장민규 2022.12.21.

IntelliJ와 WSL2로 Mecab-ko 개발환경 셋팅하기

Windows 개발 환경에서 신규 형태소 분석기 개발하기

반윤성 2022.12.19.

1G 메모리를 사용하여 1초만에 2TB 텍스트 파일을 검색하기

디스크 기반 정렬을 통해 대용량 텍스트 파일의 내용을 검색하여 API로 제공하는 방법

반윤성 2022.11.10.

Github Actions에 Self-hosted Runner 등록하기

Github Actions에 Self-hosted Runner를 등록하는 방법에 대해 알아보겠습니다

선요한 2022.08.24.

Fastlane을 이용한 앱 자동 배포

Fastlane을 이용한 앱 자동 배포에 대해 알아보겠습니다.

선요한 2022.08.23.

로켓챗 설치 및 버전 업그레이드 방법

로켓챗 설치 및 업그레이드 방법에 대해 설명합니다.

선지호 2022.03.18.

Grafana Novatec Service Dependency Graph Panel 사용법

그라파나 노바택 서비스 디펜던시 그래프 패널 사용법에 대해 알아볼 예정입니다.

장민규 2022.03.10.

그라파나 게이지의 Threshold 마커

그라파나에서 많이 사용하는 게이지의 Threshold 마커특성과 헷갈릴 경우 대처방법을 알아봅니다.

송상욱 2022.02.18.

프로젝트 CI/CD 개선

안녕하세요. 이번 포스팅은 개발부터 운영 배포까지에 개선점 찾아, 개선하는 방법에 대해 알아볼 예정입니다. 다나와에서는 사내 내부에서 형상관리 도구는 SVN, gitlab이 있고, 오픈소스는 외부 서비스인 github을 통해 관리하고 있습니다. 저희 팀은 gitlab, github 만 사용하기 때문에 해당 프로젝트에 코드검토, 서버 배포 절차에 알아보겠습니다. 그리고 다나와의 오픈소스 운영관리 플랫폼을 사용한다는 가정하에 작성합니다.

김준우 2021.12.31.

Github Actions 사용법

github actions를 사용하여 지속적인 빌드방법에 대해 알아보겠습니다. 다나와에서는 오픈소스로 dsearch 시리즈, service-management 등 범용적인 소프트웨어를 오픈소스로 공개하고 있습니다. 지금까지는 오픈소스를 CI/CD는 사내 Gitlab CI/CD를 통해 github의 소스를 다운받아 빌드 후 이미지를 사내 저장소에 저장하였습니다. 이번에 프로젝트 브랜치 전략, CI/CD 개선을 시작하며 오픈소스의 이미지도 github package로 오픈하기로 결정하였습니다. 이전 포스팅을 통해 package로 이미지 배포 방법에 대해 알아보았고, 이번에는 github actions를 통해 프로젝트 빌드, 이미지 빌드 후 package로 저장하는 방법에 대해 알아보도록 하겠습니다.

김준우 2021.12.28.

Github Package (Container-Registry) 사용법

github에서 Container, RubyGems, npm, Apache Maven, Gradle, NuGet package registry를 제공하고 있습니다. 저희는 Container Registry를 알아보도록 하겠습니다.

김준우 2021.12.27.

influxDB의 flux를 활용하여 기간별 통계 그래프 만들기(grafana)

검색 모니터링 시스템을 구축하여 사용중인 influxDB의 flux query를 사용하여 기간별 추이 그래프를 만들어 보았습니다.

최현복 2021.10.08.

node exporter를 활용한 서버 시스템 모니터링

노드 익스포터를 그라파나 대시보드 추가하여 서버 시스템 메트릭 모니터링을 추가하였습니다.

최현복 2021.10.06.

레디스 모니터링을 위한 대표적인 툴 2가지 알아보기

레디스 모니터링을 위한 대표적인 툴 2가지 알아보기

선지호 2021.09.02.

DANAWA CLOUD IDE 알아보기

독립된 가상 환경에서 개발할 수 있는 IDE를 제공합니다.

반윤성 2021.07.27.

Traefik과 Docker를 활용한 Reverse Proxy 구축

Traefik 기술을 적용하여 도커 컨테이너간의 Reverse Proxy 네트워크를 효율적으로 구축합니다.

반윤성 2021.07.14.

React X Cypress 테스트 기초 셋팅 및 가이드

리액트로 개발된 프로젝트의 테스트 단계에서 유용하게 사용할 수 있는 테스트 프레임워크인 Cypress의 기초적인 사용 방법에 대해 알아봅니다.

반윤성 2021.07.14.

큐 라우터 (Q router) : Q to Q

서비스간 영향도를 줄이기 위해서 중간에 Q 를 이용하여 데이터를 주고 받는 경우가 있습니다. Q의 데이터를 읽어서 처리하는 프로그램이 기존에도 있었지만, 노후화된 프로그램이라서 새롭게 변경하였습니다.

최현복 2021.06.25.

projector 활용한 엘라스틱서치 플러그인 개발환경 사례

이번에 포스팅 내용은 지난 3월에 출시된 Jetbrains의 Projector IDE를 이용하여 엘라스틱서치 플러그인 개발환경 구성한 사례를 소개합니다. 엘라스틱서치의 플러그인을 개발하거나, 디버깅할땐 엘라스틱서치를 IDE에서 실행이 필수적입니다. 엘라스틱서치를 IDE로 실행에 있어서 환경적인 요소에 따라 실행이 안되는 경우가 있습니다. 엘라스틱서치를 실행을 하기 위해선 JVM 옵션, 설정파일등 구성해야 하기때문에 다양한 변수가 발생할 수 있습니다. 각자의 로컬 환경에 맞게 구성해야되기 때문에 처음구성하는 개발자는 러닝 커브가 높아지게 됩니다. 이러한 러닝 커브를 줄이기 위해 저희는 Projector + Container 조합으로 개발환경을 이미지화하여 개발서버, 로컬환경에서 제한없이 이미지기반으로 개발환경을 구성해보았습니다.

김준우 2021.06.21.

캐시 TTL 산정

검색 로그에서 검색 uri 별 hit-time 분석 및 집계 후 캐시 TTL 지수를 산정하기

김윤기 2021.04.14.

검색 모니터링 시스템 구축

검색을 운영하면서 필요한 정보를 한번에 모니터링 하기 위한 시스템을 구축하였습니다."

최현복 2021.04.09.

그라파나에서 텔레그램으로 알람받기

그라파나에 구성한 대시보드 패널에 알람 규칙을 추가하여 텔레그램으로 알람 받기"

최현복 2021.01.26.

제안검색 조사

다나와는 현재 제안검색을 고려하고 있습니다. 오타로 인해 0건의 결과를 보여주지 않고, 사용자 의도를 파악하여 결과를 보여줌으로써 편의성을 높이기 위함입니다. 구글, 네이버에서는 어떻게 제안검색을 제공하는지와 제안검색 API 종류를 알아보도록 하겠습니다.

김준우 2020.09.09.

Scouter Server Plugin를 통한 Xlog 수집

Scouter Server Plugin으로 Scouter Server의 Xlog 정보를 수집하고 구글 시트로 작성하기

하선호 2020.04.27.

dnsmasq와 K8S 적용 사례

이번에 포스팅 내용은 k8s에서 생성된 컨테이너의 호스트파일을 다룰때 불편함과 깃랩의 CI/CD 사용시 POD의 호스트 정보를 변경할때 이슈가 있어 해결 사례를 공유합니다.

김준우 2020.04.14.

2020년 1/3분기 (1~4월) 웹 브라우저 이슈

2020년은 구글 크롬을 필두로 개인정보 보호관련 업데이트가 많이 일어날 것으로 예상됩니다. 영향력있는 소프트웨어가 정책을 제시하면 타 소프트웨어들이 표준처럼 따르는 관례가 있는데요. 이를 근거로 구글의 행보가 표준안 이 될 가능성이 높습니다. 많은 관심이 필요해 보입니다

김명운 2020.04.01.

그라파나를 통한 모니터링 대시보드 구성

프로메테우스가 수집한 노드 익스포터의 매트릭 정보와 PROMQL을 통해 그라파나 대시보드 구성하기"

하선호 2020.03.17.

도커 컴포즈를 이용한 프로메테우스 설치

도커 컴포즈로 프로메테우스 및 UI 대시보드인 그라파나 설치

하선호 2020.03.16.

크롬 원격 데스크톱 사용하기

사무실이 아닌 외부에서 업무를 해야할 상황이 발생할 때 크롬 원격 데스크톱을 이용하여 원격지에서 연결할 수 있습니다.

하선호 2020.02.19.

2020년 Vue.js UI 컴포넌트 라이브러리 종류

프론트 개발의 비용을 줄여줄 수 있는 UI 컴포넌트 라이브러리, Vue.js에는 어떤게 있을까요?

최순현 2020.02.15.

Apache Tomcat 쿠키 프로세서

톰캣 버전 증가에 따른 기술 표준이 변화된 내용과 그에 따른 쿠키 오류가 발생했던 원인을 알아보겠습니다.

안성일 2020.02.11.

SVN을 Git으로 마이그레이션

프로젝트를 진행할 때 각자 업무를 나눠서 맡은 부분을 개발하게 됩니다. 각자 개발한 코드 혹은 문서를 하나의 관리 도구에서 통합적으로 버전별로 관리하게 되는 것을 형상관리(Configuration Management) 혹은 버전관리(Version Management)라고 부릅니다. 형상관리 방식에는 크게 중앙집중식과 분산관리식으로 나뉘는데 대표적으로 사용되는 도구가 중앙집중관리식에는 Subversion (이하 SVN) 그리고 분산관리식은 GIT을 사용합니다.

김준우 2020.02.07.