전체 글348 [10분 테코톡 정리] Gradle 알아보기 Gradle이란? 거의 모든 유형의 소프트웨어를 빌드할 수 있을 만큼 유연한 빌드 자동화 도구를 말한다. 사실 위의 설명은 크게 와닿지 않을 수 있다. 쉽게 생각해보자면 우리가 작성한 소스 코드를 실행시켜달라고 하면 컴퓨터는 이해하지 못하게 된다. 따라서 소스 코드를 컴파일하고 의존성을 추가해주면서 실행 가능한 파일로 변환해주어야 하는데, 이것을 "빌드"라고 한다. 즉, 빌드 도구는 코드를 실행 가능한 파일로 만들어주는 과정(빌드) 및 라이브러리 관리, 테스팅 등을 '자동화'하여 수행하는 것을 포함한다. 빌드 도구의 필요성 빌드 도구를 사용하지 않을 때는 다음과 같은 문제점이 있다. 반복적인 작업을 수작업으로 진행해야 하므로 비효율적이다. 라이브러리를 직접 다운로드 및 버전 업데이트를 해야한다. 프로젝트.. 2023. 6. 9. [10분 테코톡 정리] DTO vs VO차이 스프링을 공부를 하면서 엔티티를 직접 조회하지 말고 DTO 형태로 조회를 해라! 라고 배웠던 것이 기억이 난다. 그러다가 값 자체를 의미하는 VO가 있다는 것을 알게 되었고 이 둘의 차이를 정확하게 알아보고자 정리를 해보고자 한다. DTO와 VO의 혼용 원인 이 둘의 차이에 대해 구글링을 해보고, 개발자 커뮤니티를 찾아보았지만 혼용되어 쓰는 경우가 많다는 것을 알 수 있었다. 그 원인으로는 해당 책의 초판 내용에서는 데이터 전달용 객체를 VO로 정의하였고, 이후 출판한 책에서는 TO로 재정의 했기 때문이라고 많은 사람들이 추측한다고 한다. 현재 데이터 전달용 객체는 DTO라고 한다. 결론부터 보자면 둘의 의미는 다음과 같다. DTO = 데이터 전달용 VO = 값 표현용 DTO란? Data Transfe.. 2023. 6. 8. Message Queue(MQ), 메세지 큐란? 작년 정보처리기사 자격증 취득을 위해 공부를 하며 Message Queue에 대해 공부를 한 적이 있었다. 이론에 대해서만 공부를 했었기 때문에 왜 쓰이는 지, 어떻게 사용되는지에 대해 깊게 알지는 못했다고 생각한다. 최근 많은 기업들이 Message Queue를 기반으로 한 기술들을 많이 사용하고 있다. 분명, 많이 쓰이는 것에는 이유가 있을 것이다! 그래서 Message Queue에 대해 한번 정리를 해보고자 한다. Message Queue(MQ) 메시지 큐(Message Queue)는 프로세스 또는 프로그램 간에 데이터를 교환할 때 사용하는 통신 방법 중에 하나로, 메시지 지향 미들웨어(Message Oriented Middleware:MOM)를 구현한 시스템을 의미한다. 그렇다면, 메시지 지향 미.. 2023. 4. 10. [10분 테코톡 정리] 웹 서버와 WAS의 차이 https://www.youtube.com/watch?v=NyhbNtOq0Bc 희봉님의 영상을 참고하였습니다. 웹 서버 웹 서버가 무엇인지 알아보기 전에 의미를 나누어서 생각해보자. Web은 인터넷을 기반으로 정보를 공유하고 검색할 수 있게 하는 서비스를 말한다. Web에는 URL(주소), HTTP(통신 규칙), HTML(내용) 이 3가지 요소로 이루어져 있다. 그렇다면, Server는 일반적으로 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템을 말한다. Web + Server(웹 서버)는 인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 컴퓨터라고 볼 수 있다. 그럼 이 웹 서버의 단점은 무엇일까? 바로 응답하는 데이터가 웹에서 처리할 수 있는 html, css, 이미지 등 정.. 2023. 4. 4. 동시성 문제를 해결하는 다양한 방법 (feat. 자바, DB Lock, Redis의 분산락) 동시성 문제란? 이번 뱅킹서버를 구축하는 프로젝트를 진행하면서 동시성 문제를 마주하였다. 서버 개발자에게는 동시성 문제는 매우 중요하기 때문에 이번에 해결방법에 대해 알아보고자 정리를 하게 되었다. 동시성 문제란 공유자원에 대해 동시에 여러 개의 프로세스가 접근하여 생기는 경쟁 상황(race condition)을 말한다. 조금 더 쉽게 설명하자면 동일한 하나의 데이터에 두 개 이상의 스레드, 혹은 세션에서 가변 데이터를 동시에 제어할 때 나타나는 문제로, 하나의 세션이 데이터를 수정 중일 때, 다른 세션에서 수정 전의 데이터를 조회해 로직을 처리함으로써 데이터의 정합성이 깨지는 문제를 말한다. 간단한 재고 시스템 로직을 살펴보겠다. Entitiy, Service, Repository는 다음과 같다. @E.. 2023. 2. 14. 이전 1 2 3 4 5 ··· 70 다음