개발자로 일하고 계시거나 개발을 배우고 계시는 분들이라면, DB를 다룰일이 굉장히 많습니다. 현업에서는 SQL Server를 많이 사용합니다. MSSQL이라고도 불리는 DB중 하나 입니다. 비용도 다른 DB에 비해 상대적으로 저렴하고, 배우기 쉬운 Sql이기도 해서 빠르게 업무를 진행해야하는 현업에서는 대부분 Mssql을 사용합니다. 아마 DB작업에서 실수를 안해보신분은 없을거라 생각이 듭니다. 저 같은 경우에도, 입사 후 얼마 안된 시절 실수로 DB 테이블 하나를 통채로 날려먹은 생각이 납니다. 물론 금방 복구가 가능한 테이블이기도 하고, 신입이기도 해서 크게 혼나지 않고 넘어갔지만, 만약 메인 테이블을 날려먹었다면, 혼나는 건 둘째치고 복구 작업에만 몰두해야 했을거에요. 그래서 그때 당시 사수분이 저..
최근 외근이 잦아서, 포스팅을 할 여유가 없었네요... 저번 작업에 이어서, 여러가지 문제점이 파악돼서 조금 제대로 정리도 할겸 다시 정규식을 작성하려합니다. 저번에 사용된 정규식은 아래와 같습니다. String addReg1 = "(([가-힣]|\\d)+(동))+(([가-힣]|\\d)+(호))" + "|([가-힣]+(아파트))" + "|([가-힣])+(구)+([가-힣])+(동)"; 위와 같이 작성한 정규식에서 대표적으로 문제가 발생한 부분은 일단 공백을 인식 못했습니다. 거기에 더불어서 제대로 된 처리가 안되어있어서 인식 정확도가 많이 떨어졌습니다. 저대로 프로젝트에 적용했다면, 거의 100% 확률로 컴플레인이 들어올거 같았습니다. 그래서 정규식을 수정하게 됐는데 일단 결과물은 아래와 같습니다. Str..
프로젝트를 진행 중 주소지를 마스킹해야되는 상황이 생겼습니다. 물론 DB에 주소지 컬럼만 있었다면, 금방 끝날 작업이었지만, 문서전체를 탐색 후 주소지로 확인이 된다면, 마스킹처리를 해야해서 조금 폼이 들어갔습니다. 최초의 정규식은 아래와 같습니다. String addReg= "(" + "(([가-힣]+(d|)+(구|동))+([가-힣]+(d|)+(동|로|길|호)))" + "|([가-힣]+(아파트|빌라|빌딩))"+ "|(\\d)+(호)"+ ")"; 하지만 먼저 OR처리를 많이 하다보니 마스킹처리를 하지 않을 문장들도 마스킹처리가 되었고, 마스킹 처리를 ***동 ***호 형태로 작업할 예정이기에, 원하는 형태의 출력도 쉽지 않았습니다. 그래서 아래와 같이 세분화를 통한 작업을 진행했습니다. 정규식은 아래와 ..
먼저 실제 프로젝트 제작에 앞서서 Logstash에 대해서 미리 사용법을 알아두려 합니다. Logstash를 간단하게 설명하면, 요청이 들어오면 처리 후 출력하거나 다른 곳 ( ex: ElasticSearch , DB 등 ) 으로 보낼 수 있습니다. Logstash 를 비롯한 ELK 스택이 각광받는 이유는 일단 Logstash가 데이터의 종류와 상관없이 모든 데이터를 모을 수 있는 구조로 되어 있기 때문입니다. 여러곳에서 분산된 데이터를 Logstash에서 중앙관리를 할 수 있습니다. 어디서 많이 본 듯한 개념이죠? Kafka와 비슷하지만 조금 다른 Logstash에 대해서 알아보려 합니다. ELK 답게 웬만한 언어는 다 지원이 되지만, 저는 Spring Boot 환경에서 테스트 해보려 합니다. #Pom..
* 해당 포스트는 저번 시간에 진행한 ELK 설치 후 실행 이후 기준으로 작성했습니다. 이번 시간에는 ElasticSearch에 기본 활용법에 대해서 알아보려 합니다. 저는 기존에 받아둔 docker-compose 파일을 통해서 ELK 스택을 실행시켜 테스트 해보려합니다. 만약 ElasticSearch가 설치 되어 있지 않다면, 이번 시간에는 어떤방식이든(가상머신, 데스크톱 등) 에서 ElasticSearch를 설치하시면 됩니다. 저는 CentOS 환경에서 실행 후 진행했습니다. - 확인 사항 - Docker 실행 확인 ( Down 시 systemctl start docker) docker logs [elasticsearch container id] 로 정상 실행 중인지 체크 ElasticSearch 인..
먼저 설치에 앞서 yum 이라는 설치 보조 툴이 있습니다. CentOS에서 거의 모든 설치는 yum이 담당합니다. 먼저 아래의 Command로 Yum을 업데이트 해주세요 yum update -y -y 옵션이 없다면 설치해야하는 항목 중 주요 항목은 y를 입력해야 넘어갑니다. 귀찮으니 -y옵션으로 전부 받도록 할게요. 다음으로는 vim을 설치해주려합니다. vi의 상위버젼? 이라고 보면 편할 것 같습니다. yum install vim -y 그리고 git 을 설치해줍니다. Dokcer-compose 파일이 Git에 올라가 있어 Pull하기 위한 용도입니다. yum install git -y 아래의 커맨드를 순서대로 실행 해 Docker를 설치해줍니다. sudo yum install yum-utils devic..
안녕하세요 😉 이제 부터는 ELK Stack을 활용한 프로젝트를 한번 제작해보려해요. 근데 그전에 ELK를 설치할 환경을 구성해야합니다. 아무래도 여기서부터는 Linux 환경으로 진행하는게 맞다 생각해요. ELK Stack을 이용하시는 분들은 Linux환경에서 많이 작성하시고, 그만큼 참고자료도 많으니까요! ELK를 먼저 간단하게 소개하고 갈게요. #ELK(ElasticSearch LogStash Kibana) 란? elk는 줄임말이에요 ElasticSearch와 LogStash 그리고 Kibana로 이루어져 있습니다. 그럼 하나씩 정말 간단하게! 설명할게요. #ElasticSearch Nosql이에요 Nosql이란 말그대로 스키마 규칙이나 컬럼을 추가할 필요없이 데이터를 들어오는 대로 저장할 수 있는 ..
프로젝트를 실행시킬 때 같은 프로젝트라도 서로 다른 환경설정을 통해서 다른 역할을 부여하고싶을 때 Multi Profiles를 활용 합니다. 사용 방법은 간단합니다. 물론 대부분의 개발툴에서는 프로필변경을 통한 실행을 지원하겠지만, cmd 환경이 훨씬 간편할것이라고 생각합니다. MVN 커맨드가 활성화 돼있다는 가정하에 진행합니다. #Multi Profiles 아래 보시면 커맨드에 -Dspring-boot.run.arguments를 통해서 실행 프로필을 바꿀 수 있습니다. --spring.profiles.active= [실행 시킬 프로필 명] 으로 말이죠! mvn spring-boot:run -Dspring-boot.run.arguments==--spring.profiles.active=dev mvn sp..
이번 시간에는 Docker를 활용해서 Container 화를 진행한 E-commerce Application을 마지막으로 테스트하려합니다. 테스트 자체는 기존에 진행했던 방식과 동일하게 진행됩니다. 다만 제대로 Container화가 이루어져서 Docker환경에서도 제대로 테스트가 되는지를 확인하려 합니다. #회원 등록 #로그인 #주문 등록 #health_check #회원정보 #상품정보 및 상품 갯수 변환 확인 모두 잘 실행 되나요? 그렇다면 따봉입니다. 정말로 마치며... 길고도 길었던 MSA 어플리케이션 개발이 끝났습니다. 어떻게 보면, Front도 하나도 없고 단순 회원가입 주문등록 주문확인 정도인 시스템인데도, 정말 실제 구동 하듯이 디테일한 부분까지 구현을 하느라 오래걸렸던 것 같습니다. 미루고 ..
- Total
- Today
- Yesterday
- Logstash 활용
- 빅-오
- zipkin
- MariaDB
- 루틴기록
- 미래의나에게동기부여
- Logstash to ElasticSearch
- UserService
- rabbitmq
- Kafka Connect
- config
- springcloud
- LoadBalancer
- JWT
- producer
- kafka
- prometheus
- elasticSearch
- MSA
- git
- 운동
- Feign
- consumer
- docker
- 운동일기
- Spring + ELK
- github
- 오늘저녁 삼겹살
- ACTUATOR
- Gateway
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |