개발은 재밌어야 한다
반응형
article thumbnail
MSA(마이크로 서비스 아키텍처)란?
아키텍쳐 2022. 1. 22. 02:10

오늘은 https://github.com/skarbgud/SpringInAction5/issues/4에서 스터디 주제로 나온 MSA에 대해 알아보고자 합니다. 2022/1/15 스터디 주제 · Issue #4 · skarbgud/SpringInAction5 MSA(마이크로 서비스 아키텍처)란? MSA에서 통신 방법? github.com MSA 정말 많이 들어봤었습니다. 채용공고에도 정말 정말 많이 나오는 그이름 MSA... MSA가 Micro Service Architecture의 약자라는 것은 쉽게 알 수 있습니다. 말로써는 마이크로 서비스 아키텍쳐로 작은 서비스의 단위로 나누어 구성하는 아키텍쳐의 방식입니다. 우선 MSA를 논하기 전에 모놀리식 아키텍처에 대한 이해를 할 필요가 있습니다. 보통 MSA..

article thumbnail
슬로우 쿼리(Slow Query) 조회 쿼리(Oracle, MS-SQL, Mysql, postgreSQL)
RDBMS 2022. 1. 18. 12:10

슬로우쿼리Slow Query(슬로우쿼리)Slow Query(슬로우쿼리)는 지정한 시간보도 실행하는데 오래걸리는 쿼리에 대한 log를 것입니다특정 작업이 오래 걸린다면 로그를 통해 원인을 파악할 수 있겠습니다.또한 대량이 데이터를 조회하거나 잘못된 인덱스 사용으로 인한 장시간 MySQL 프로세스가 물리는 현상이 발생 할 경우 어떤 쿼리문에 이런 현상을 발생 하였느냐에 대해서 분석시 Slow Query를 사용하면 부하가 증가되는 쿼리를 찾을 수 있을꺼라고 생각됩니다.출처 : https://itstudyblog.tistory.com/384slow query 란 ? DBMS 가 client로부터 요청받은 query를 수행할때 일정시간 이상 수행되지 못한 query즉 길어야 1~2초 걸리는 db 쿼리가 예상보다 ..

article thumbnail
버추얼박스(VirtualBox) 설치 및 구동 (CentOS 8 버전)
Network 2022. 1. 16. 16:29

1. 가상 머신(VM) 환경 구축하기VM에는 버추얼박스(VirtualBox)와 VMware Workstation의 방식이 있는데 제가 사용하는 방법은 오라클(Oracle)의 버추얼박스를 통해서 리눅스 환경을 구축 하겠습니다.https://www.virtualbox.org/ Oracle VM VirtualBoxWelcome to VirtualBox.org! VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise cu..

article thumbnail
[JAVA 자바] 메소드 체이닝이란?
JAVA 2022. 1. 11. 18:04

지난번 포스팅으로 빌더 패턴에 대해서 알아보았습니다.https://dreamcoding.tistory.com/56 [디자인 패턴] 빌더 패턴(Builder Pattern)스프링 인 액션 5판 스터디를 진행하던 중에 스프링 시큐리티에서 빌더 패턴이 사용되는 부분을 보고 빌더 패턴에 대한 포스팅을 해보겠습니다. 빌더 패턴은 소프트 웨어 디자인 패턴 중에 하나dreamcoding.tistory.com  빌더 패턴도 어찌보면 메소드 체이닝 방식을 사용한 하나의 디자인 패턴인데요.그 원리 속에 작용하느 메소드 체이닝에 대해서 한번 다시 생각해보면서 한번 어떻게 빌더 패턴이 작용할 수 있는가를 생각해보겠습니다.메소드 체이닝이란?말그대로 메소드를 고리마냥 줄줄이 엵어서 메소드를 계속해서 사용할 수 있게끔 하는 방법인..

article thumbnail
[오라클 ORACLE] ASH란?
RDBMS 2022. 1. 11. 16:18

ASH(Active Session History)Ratio(비율) 기반 분석방법론과 대기이벤트 기반 분석방법론의 한계점은 문제가 있다고 진단했을때 그 원인을 찾아 실제 문제를 해결하는 데까지 많은 시간이 걸리는 데 있다고 합니다. V$SESSION을 이용하여 실시간 세션에 대한 모니터링을 하고 있는데 이는 해당 시점에서의 걸리는 쿼리만을 볼 수 있다는 점입니다. 이를 끊임없이 EXCUTE(실행) 시키며 모니터링에는 한계가 있음 그래서 오라클 10g에서 부터 생겨난 기능이 ASH(Active Session History)기능입니다. ASH에서는 뷰의 명세를 보고 많은 정보를 찾을 수 있는 session의 활동 정보, SQL 수행빈도등을 통하여 문제점을 접근 할 수 있습니다.==================..

article thumbnail
spring-boot-starter-data-rest가 어떻게 Rest API 주소를 자동 생성해주는가?
Spring/Spring 2022. 1. 9. 00:54

스프링 부트에서 REST URL을 자동으로 생성해주는 spring-boot-starter-data-rest가 어떻게 주소를 자동으로 생성해서 Rest URL을 생성해주는가에 대해서 알아보겠습니다. 우선 공식 문서 스프링 데이터의 공식문서를 참조해서 보겠습니다. https://docs.spring.io/spring-data/rest/docs/current/reference/html/ Spring Data REST Reference Guide Spring Data REST presents a default view of the domain model you export. However, sometimes, you may need to alter the view of that model for various ..

article thumbnail
[디자인 패턴] 빌더 패턴(Builder Pattern)

스프링 인 액션 5판 스터디를 진행하던 중에 스프링 시큐리티에서 빌더 패턴이 사용되는 부분을 보고 빌더 패턴에 대한 포스팅을 해보겠습니다. 빌더 패턴은 소프트 웨어 디자인 패턴 중에 하나로 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴이다. 2 단어 요약 생성자 오버로딩 (위키백과- 빌더 패턴) 일단 무슨 소린지 잘 와닿지 않는다. 객체를 생성하는 방법이 여러 가지 있는데, 일반적으로 사용되는 방법은 1.생성자에 인자를 넣어 인스턴스를 생성하는 방법이나 2.setter를 이용하는 자바빈 패턴을 많이 사용합니다. 3. 빌더 패턴은 이런 패턴들에서의 단점을 좀 더 개선한 방법으로 사용되는 방법입니다.  예시로 피자라는 객체가 있다고 가정해..

article thumbnail
2년차 주니어 개발자로서의 2021년 회고록
null채우기 2021. 12. 24. 18:35

어느덧 2021년이 지나 2022년을 앞두고 있습니다. 2020년 6월에 입사하여 솔수션 회사에 재직하면서 지금 까지 6개의 프로젝트를 진행하였고 6번째 프로젝트의 마무리를 하고 있습니다. 올해는 3월까지는 번아웃이 와버려서... 1,2,3월은 통째로 쉬었습니다...그리고는 다시 이겨내서 꾸준히 매일매일 어제보다는 더 나은 개발자가 되자!라는 처음 가졌을 때의 신념을 유지하며 계속해서 공부를 하고 있습니다.입사 전과 후를 비교했을 때에 비해 실력은 확연하게 다르다는 것을 느낄 수 있었습니다.Vue.js와 스프링, MySQL, Elasticsearch 등등 많은 기술들을 실무에 접하면서 다양한 경험들을 할 수 있었습니다.하지만 요즘은 개발자보다는 도메인 전문가가 되는 게 아닌가 하는 생각이 듭니다. 그러면..

article thumbnail
스프링 (Spring Vue) 게시판 만들기 #14. 글 삭제 구현 (마지막)
Spring/게시판 만들기 2021. 12. 13. 23:57

CRUD의 마지막인 D(Delete) 삭제를 구현해 보도록 하겠습니다. 글 상세보기에서 수정 옆에 삭제 버튼을 넣어서 해당 게시글을 삭제하도록 구현을 해보겠습니다. 삭제 버튼과 해당 버튼 클릭 시 메서드를 구현 BoardDetail에 구현해줍니다. 75번째 라인을 보면 reload 메소드를 사용해 목록을 리로드 하는 메소드도 사용해 주도록 합니다. 글 번호 : {{ boardDetail.bno }} 제목 : {{ boardDetail.title }} 등록일 : {{ boardDetail.regDate }} 내용 : {{ boardDetail.content }} 작성자 : {{ boardDetail.writer }} 수정 삭제 Controller와 Service 코드도 작성해 주도록 합니다. package..

article thumbnail
스프링 (Spring Vue) 게시판 만들기 #13. 글 수정 구현
Spring/게시판 만들기 2021. 12. 13. 23:20

안녕하세요 이번에는 글 수정을 구현해보도록 하겠습니다. 글 수정은 글 상세보기에서 버튼을 누르면 수정하는 폼을 보여주도록 하는 방식으로 구현해보겠습니다. 기존에 구현되어 있는 글 상세보기입니다. 우선 기존의 글 상세보기를 컴포넌트화 하는 작업을 해주도록 하겠습니다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 import axios from 'axios'; import moment from 'moment'; import BoardDetail from './BoardDetail';..

article thumbnail
Port란?
Network 2021. 11. 30. 22:33

PORT란 영어 뜻으로는 항구라는 뜻입니다. 한대의 클라이언트 PC에서 여러 개의 IP를 연결하려면 어떡해야 할까요? IP 만으로만 구분하기에는 IP는 해당 PC의 고유의 값입니다. 그렇다면 같은 IP에서 목적에 따라 분류하기 위해서는 어떤 방법으로 구분해야 할까요? TCP/IP에서는 출발지의 PORT와 목적지의 PORT가 있습니다. 그래서 TCP/IP의 패킷 정보는 아래와 같이 구성되어 있다고 생각하면 됩니다. 출발지의 IP정보와 해당 IP의 PORT번호 목적지의 IP정보와 해당 IP의 PORT번호 기타 다른 전송 데이터들로 구성되어 있습니다. 따라서 PORT를 정의를 해보면 같은 IP 내에서 프로세스를 구분하는 수단입니다. 비유를 들자면 IP를 아파트 한개의 동이면 PORT는 호수와 같다라고 생각하면..

article thumbnail
스프링 (Spring Vue) 게시판 만들기 #12. 글 상세보기 구현
Spring/게시판 만들기 2021. 11. 29. 21:36

이번 포스팅에서는 글 목록에서 글 상세보기를 즉 CRUD에서 R에 해당하는 Read를 구현해보도록 하겠습니다. 현재 상태는 이렇게 되어 있는데 테이블을 클릭하면 팝업을 띄워 글에 대해 상세한 내용을 보여주는식으로 간단하게 구현을 해보도록 하겠습니다. 일단 Element-ui에서 테이블을 행(row)을 클릭할때 emit으로 row-click을 보내고 해당 파라미터에는 row,column,event에 대한 정보를 파라미터에 담아서 보내줍니다. 일단 저 row-click을 코드를 통해서 확인해 보겠습니다. rowCilick으로 정의된 데이터의 정보를 한번 확인해보기위해 row데이터를 콘솔로 확인해보겠습니다. row의 데이터와 column의 데이터, 해당 event에 대한 값을 확인해 볼 수 있습니다. 테이블에..

반응형