정말 오랜만이네요. 요즘 정말 치열하게 회사생활을 하고 있습니다. 수많은 테스트 케이스 작업부터 UML 작업까지 나날이 지쳐가던 중, 오랜만에 개발업무를 진행했고 정말 재밌게 회사생활 중 입니다! 잡담은 여기까지 할게요. 다름이 아니라 요즘들어서 알고리즘과 관련된 공부를 다시 시작하고 있습니다. 물론 하나도 풀지 못했어요. 그래서 정말 기초로 돌아가서 시작하려 합니다. 여러분들도 Hello World 출력하던 때가 기억나시나요? 처음 사용할때는 정말 간단하게 컴퓨터에 Hello Wolrd가 출력된다는 사실 만으로도 신기했던것 같습니다. 일반적으로 저희가 Hello Wolrd를 출력하고 싶을 때는 아래와 같은 코드를 씁니다. public class Test { public static void main(S..
최근 외근이 잦아서, 포스팅을 할 여유가 없었네요... 저번 작업에 이어서, 여러가지 문제점이 파악돼서 조금 제대로 정리도 할겸 다시 정규식을 작성하려합니다. 저번에 사용된 정규식은 아래와 같습니다. String addReg1 = "(([가-힣]|\\d)+(동))+(([가-힣]|\\d)+(호))" + "|([가-힣]+(아파트))" + "|([가-힣])+(구)+([가-힣])+(동)"; 위와 같이 작성한 정규식에서 대표적으로 문제가 발생한 부분은 일단 공백을 인식 못했습니다. 거기에 더불어서 제대로 된 처리가 안되어있어서 인식 정확도가 많이 떨어졌습니다. 저대로 프로젝트에 적용했다면, 거의 100% 확률로 컴플레인이 들어올거 같았습니다. 그래서 정규식을 수정하게 됐는데 일단 결과물은 아래와 같습니다. Str..
프로젝트를 진행 중 주소지를 마스킹해야되는 상황이 생겼습니다. 물론 DB에 주소지 컬럼만 있었다면, 금방 끝날 작업이었지만, 문서전체를 탐색 후 주소지로 확인이 된다면, 마스킹처리를 해야해서 조금 폼이 들어갔습니다. 최초의 정규식은 아래와 같습니다. String addReg= "(" + "(([가-힣]+(d|)+(구|동))+([가-힣]+(d|)+(동|로|길|호)))" + "|([가-힣]+(아파트|빌라|빌딩))"+ "|(\\d)+(호)"+ ")"; 하지만 먼저 OR처리를 많이 하다보니 마스킹처리를 하지 않을 문장들도 마스킹처리가 되었고, 마스킹 처리를 ***동 ***호 형태로 작업할 예정이기에, 원하는 형태의 출력도 쉽지 않았습니다. 그래서 아래와 같이 세분화를 통한 작업을 진행했습니다. 정규식은 아래와 ..
이번 시간에는 Docker를 활용해서 Container 화를 진행한 E-commerce Application을 마지막으로 테스트하려합니다. 테스트 자체는 기존에 진행했던 방식과 동일하게 진행됩니다. 다만 제대로 Container화가 이루어져서 Docker환경에서도 제대로 테스트가 되는지를 확인하려 합니다. #회원 등록 #로그인 #주문 등록 #health_check #회원정보 #상품정보 및 상품 갯수 변환 확인 모두 잘 실행 되나요? 그렇다면 따봉입니다. 정말로 마치며... 길고도 길었던 MSA 어플리케이션 개발이 끝났습니다. 어떻게 보면, Front도 하나도 없고 단순 회원가입 주문등록 주문확인 정도인 시스템인데도, 정말 실제 구동 하듯이 디테일한 부분까지 구현을 하느라 오래걸렸던 것 같습니다. 미루고 ..
이번 시간에는 3가지 서비스를 한번에 배포하려합니다. 중복되는 내용이니 빠르게 코드만 첨부합니다. #UserService #Dockerfile FROM openjdk:17-ea-11-jdk-slim VOLUME /tmp COPY target/userservice-1.0.jar UserService.jar ENTRYPOINT ["java","-jar","UserService.jar"] #WebSecurity IP 변경 protected void configure(HttpSecurity http) throws Exception { http.csrf().disable(); //http.authorizeRequests().antMatchers("/users/**").permitAll(); http.authori..
기존에 Prometheus와 Grafana를 통한 모니터링을 구현했어야했는데, 당시 설치이슈가 있어서 잠깐 미뤄두고 있었습니다. 그래서 조금 두서 없긴 하지만 먼저 Container화를 진행한 후 추후에 관련된 내용을 업로드하겠습니다. 먼저 작업하기에 앞서서 아무 위치에 prometheus.yml 파일을 생성합니다. 아래와 같이 입력해주세요. #prometheus.yml - job_name: 'prometheus' static_config: - targets: ['prometheus:9090'] - job_name: 'user-service' scrape_interval: 15s metrics_path: '/user-service/actuator/prometheus' static_config: - tar..
cmd에서 아래의 커맨드를 입력해줍니다. docker run -d -p 9411:9411 --network ecommerce-network --name zipkin openzipkin/zipkin 정상적으로 실행 시 아래와 같이 출력됩니다. 다음으로는 제대로 network에 할당됐는지 확인합니다. 아래의 명령어로 log를 확인해봅니다. docker logs zipkin 기존에 알고있던 Logo와 함께 실행됐다면 성공입니다. Port 포워딩이 적용되어있으니 그냥 Localhost를 통해서 9411포트로 접속해줍니다. 아래와 같은 화면이 출력 된다면, 끝입니다. 감사합니다
mysql -h127.0.0.1 -uroot -p 이번 시간에는 기존에 작성되어진 MariaDB안에 값을 복사해서, Container화를 시키려합니다. 다시 작성할 수도 있지만, 이미 작성되어있는 DB를 굳이 두번 작성하는일은 비효율적이기에 DockerFile을 활용해 DB의 내용을 그대로 끌어와 Maria DB를 활성화 시킬 예정입니다. 가장 처음으로는 폴더를 하나 생성합니다. 해당 폴더에는 Docker File과 복사 폴더가 들어갈 공간입니다. mkdir my_mariadb cd my_mariadb 먼저 MariaDB설치폴더에서 Data 라는 폴더를 복사해서 새로운 폴더안에 집어넣습니다. mkdir mysql_data cd mysql_data xcopy D:\mariadb-10.6.7-winx64\d..
가장 먼저 MessageQueing 시스템 중 하나인 Rabbit MQ를 설치하려합니다. 기존에 설치한 Rabbit MQ는 Windows환경에 설치되어 있기 때문에 Docker 전용으로 설치파일을 받으려합니다. 아래의 URL로 접속해주세요 Downloading and Installing RabbitMQ — RabbitMQ Downloading and Installing RabbitMQ The latest release of RabbitMQ is 3.10.0. See change log for release notes. See RabbitMQ support timeline to find out what release series are supported. Experimenting with RabbitMQ ..
- Total
- Today
- Yesterday
- docker
- MariaDB
- producer
- 루틴기록
- ACTUATOR
- JWT
- Logstash to ElasticSearch
- zipkin
- Kafka Connect
- consumer
- prometheus
- Spring + ELK
- 미래의나에게동기부여
- Logstash 활용
- elasticSearch
- config
- 운동일기
- github
- kafka
- springcloud
- 오늘저녁 삼겹살
- Feign
- rabbitmq
- Gateway
- 빅-오
- LoadBalancer
- MSA
- git
- 운동
- UserService
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |