아만다's 일상

고정 헤더 영역

글 제목

메뉴 레이어

아만다's 일상

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (280)
    • 새소식 (26)
      • 인공지능 (3)
      • IT과학 (1)
    • 아만다's 강좌 (15)
      • 파이썬 응용.활용 강좌 (3)
      • 파이썬 YouTube 뮤직 플레이어 개발강좌 (8)
      • 쿠키스트림 (4)
    • 자바스크립트 (8)
      • React (0)
      • vue.js (3)
      • Javascript (5)
    • 파이썬 (10)
      • Django (0)
      • FastAPI (0)
      • 머신러닝 (0)
      • Snippets (5)
    • 자바(JAVA) (0)
      • 스프링부트 (0)
    • AI.인공지능 (2)
      • 빅데이터 (0)
      • RNN (0)
      • LLM (0)
      • Pytorch (0)
    • 소프트웨어공학 (8)
    • 클라우드 & CICD (0)
      • Docker (0)
      • Kubernetes (0)
      • AWS (0)
      • Azure (0)
    • IT응용&시스템 (12)
      • Mac OS (6)
      • Windows (2)
      • Linux (0)
      • IOS (0)
      • Android (0)
    • 멘토링 (23)
    • 리뷰 (13)
    • 이슈.잡담 (111)
    • 알뜰구매정보 (42)

검색 레이어

아만다's 일상

검색 영역

컨텐츠 검색

소프트웨어공학

  • MSA는 정말 훌륭한 아키텍처인가?

    2025.02.22 by amanda.hyon

  • Discord가 웹소켓 트래픽을 40% 감소시킨 방법

    2024.09.29 by amanda.hyon

  • `git reset`의 사용법

    2024.09.25 by amanda.hyon

  • Spring MVC 아키텍처 개요

    2024.09.19 by amanda.hyon

  • 구조패턴중, Proxy 패턴에 대하여..

    2024.09.17 by amanda.hyon

  • 구조패턴 중, 어댑터(Adapter)패턴에 대하여...

    2024.07.14 by amanda.hyon

  • 생성 패턴 중 '싱글톤' 패턴에 대하여..

    2024.07.14 by amanda.hyon

  • 생성패턴 중, 빌드패턴에 대하여..

    2024.07.14 by amanda.hyon

MSA는 정말 훌륭한 아키텍처인가?

1. MSA 개요MSA(Microservices Architecture, 마이크로서비스 아키텍처)는 최근 IT 산업에서 널리 사용되는 아키텍처 패턴 중 하나입니다. 단일 애플리케이션을 작은 서비스 단위로 분리하여 독립적으로 개발, 배포 및 운영할 수 있는 구조를 의미합니다. 넷플릭스, 아마존, 우버와 같은 대규모 서비스들이 이를 도입하면서 인기를 끌게 되었습니다. 하지만 MSA가 무조건 좋은 선택일까요? 모든 기업과 서비스에 적합한 구조일까요? 이번 글에서는 MSA의 장점과 단점을 분석하고, 실제 운영에서 나타나는 주요 문제점과 해결책을 논의하겠습니다. 2. MSA의 장점MSA는 여러 가지 강력한 장점을 제공합니다.1) 확장성(Scalability)개별 서비스 단위로 확장할 수 있어 특정 기능에 대한 트..

소프트웨어공학 2025. 2. 22. 10:38

Discord가 웹소켓 트래픽을 40% 감소시킨 방법

https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent 클라이언트가 Discord에 연결하면 "게이트웨이"라고 하는 서비스를 통해 무슨 일이 일어나고 있는지에 대한 실시간 업데이트를 받음2017년 말부터 클라이언트의 게이트웨이 연결은 zlib를 사용하여 압축되어 메시지의 크기가 2배에서 10배까지 작아졌음Zstandard(zstd)는 zlib보다 압축률이 높고 압축 시간이 짧으며, 사전 기능을 지원해 대역폭을 추가로 줄일 수 있음2019년 zstd 테스트 결과는 그다지 긍정적이지 않았으나, 다시 시도해볼 가치가 있다고 판단함Zstd 스트리밍Zlib은 스트리밍 압축을 사용한 반면, zstd는 그렇지 않았음작은 페이로드에서 z..

소프트웨어공학 2024. 9. 29. 02:28

`git reset`의 사용법

해당 문서를 정확하기 위해서는 Git의 상태 변화와 스테이지 영역에 대한 이해가 필요하니, 관련된 참고자료를 먼저 확인해주시면 좋겠습니다.1. 기본 개념git reset은 특정 커밋으로 돌아가거나, 스테이징된변경 사항을 초기화하는데 사용하는 명령어 입니다. 즉 현재 상태에서 선택한 이전 커밋 상태로 변경사항을 되돌리는 것입니다.Git을 사용하다 보면 다음과 같은 이유 등으로 HEAD의 위치를 옮겨서 과거 커밋 상태로 되돌리거나 작업 내용을 수정하고 싶을 때가 있습니다.최근 커밋 메시지를 수정하고 싶거나,테스트 되지 않은 코드를 실수로 커밋한 경우.테스트 및 실험적인 변경 작업을 취소하고 싶을 때.브랜치 내에서 과거 버전으로 되돌릴 때. (checkout은 특정 커밋으로 임시로 이동하는 것이 기 때문에 조..

소프트웨어공학 2024. 9. 25. 21:09

Spring MVC 아키텍처 개요

Spring MVC는 애플리케이션을 효율적으로 관리하고 유지보수하기 위해 "Controller-Service-Repository"라는 세 가지 주요 계층으로 나눕니다. 이 아키텍처는 각 계층이 특정 역할을 수행하도록 설계되어 있으며, 각 계층 간의 관계는 명확하게 정의되어 있습니다.MVC아키텍처 핵심 요소1. Controller (컨트롤러)사용자 요청(예: HTTP 요청)을 처리하고, 그 요청에 적합한 서비스 호출, 데이터 변환, 그리고 응답을 생성하는 역할을 합니다.CommentController와 같은 클래스는 웹 요청을 처리합니다.예를 들어, 사용자가 댓글을 달 때(POST 요청), 해당 요청을 처리하는 책임을 갖습니다.컨트롤러는 주로 사용자의 입력을 받고, 데이터를 처리하며, 서비스를 호출하여 필..

소프트웨어공학 2024. 9. 19. 02:35

구조패턴중, Proxy 패턴에 대하여..

구조 패턴은 프로그램 내 자료 구조나 인터페이스 구조 등 프로그램 구조를 설계하는데 사용되는 패턴으로,,클래스나 객체를 조합하여 더 큰 구조를 만들수 있게 해줍니다. 구조패턴중, Proxy 패턴은 다른 객체에 대한 접근을 제어하는 디자인 패턴입니다. 프록시는 원래 객체에 대한 대리자 역할을 하며, 원래 객체와 동일한 인터페이스를 제공하지만, 그 접근을 제한하거나 추가 작업을 수행할 수 있습니다. 이 패턴은 실제 객체에 대한 직접적인 접근을 제어하거나 성능 향상, 보안, 로깅 등의 부가 기능을 추가하고자 할 때 사용됩니다. 언제 Proxy 패턴을 사용할까?원래 객체의 자원 비용이 클 때(리소스가 무거운 객체): 예를 들어, 원격 서버에 있는 객체나 대용량 데이터베이스에서 데이터를 가져오는 객체에 바로 접근..

소프트웨어공학 2024. 9. 17. 00:13

구조패턴 중, 어댑터(Adapter)패턴에 대하여...

구조 패턴은 프로그램 내 자료 구조나 인터페이스 구조 등 프로그램 구조를 설계하는데 사용되는 패턴으로,,클래스나 객체를 조합하여 더 큰 구조를 만들수 있게 해줍니다. 구조패턴중, 어댑터(Adaptor) 패턴은 구조 디자인 패턴 중 하나로, 기존 클래스의 인터페이스를 클라이언트가 기대하는 다른 인터페이스로 변환합니다. 이 패턴은 호환되지 않는 인터페이스를 가진 클래스들이 함께 동작할 수 있도록 돕기 위해 사용됩니다. 어댑터 패턴을 통해 기존 클래스를 수정하지 않고도 다른 인터페이스와 호환되도록 만들 수 있습니다. 이 패턴은 특히 레거시 코드와 새로운 코드 간의 통합이나 서로 다른 서드파티 라이브러리와의 통합을 쉽게 할 수 있게 합니다. 자바에서는.. 인터페이스를 사용하여 어댑터 패턴을 명확하게 구현합니다...

소프트웨어공학 2024. 7. 14. 18:26

생성 패턴 중 '싱글톤' 패턴에 대하여..

싱글톤 패턴(Singleton Pattern)은 생성 패턴 중 하나로, 특정 클래스의 인스턴스가 하나만 생성되고, 어디서든지 그 인스턴스에 접근할 수 있도록 하는 패턴입니다. 주로 애플리케이션에서 전역적인 접근이 필요한 객체에 사용됩니다. 싱글톤 패턴은 인스턴스를 하나만 유지하여 자원 낭비를 방지하고, 여러 클래스가 동일한 자원에 접근할 때 일관성을 유지할 수 있습니다. 자바에서는..Spring Boot에서 싱글톤 패턴은 주로 @Service나 @Component 애노테이션을 통해 구현됩니다. 하지만 기본적인 싱글톤 패턴의 예제를 직접 구현해보겠습니다. 자바에서는 싱글톤 패턴을 구현할 때 정적 변수와 정적 메서드를 사용합니다. 멀티스레드 환경에서도 안전하게 싱글톤 인스턴스를 생성하기 위해 synchron..

소프트웨어공학 2024. 7. 14. 18:09

생성패턴 중, 빌드패턴에 대하여..

빌더 패턴(Builder Pattern)은 객체 생성 디자인 패턴 중 하나로, 복잡한 객체의 생성을 단계별로 처리하여 생성 과정에서의 다양한 옵션을 지원하는 방법을 제공합니다. 이 패턴은 특히 객체의 생성자가 복잡하고 인자가 많을 때 유용합니다. 생성자의 인자가 많을 경우, 가독성 및 유지보수성을 높여주는 효과가 있습니다. 나는 최근 파이썬을 주력으로 사용하고 있기 때문에 자바와 파이썬을 비교하여 설명하고자 합니다.자바와 파이썬 모두 빌더 패턴을 통해 객체 생성 시의 복잡성을 줄이고 가독성을 높일 수 있습니다. 자바에서는 빌더 패턴이 일반적으로 사용되며, 파이썬에서는 선택적으로 사용될 수 있습니다. 다음은 자바에서는 빌더 패턴을 사용하여 복잡한 객체를 생성할 때 메서드 체이닝을 통해 가독성을 높이고, 객..

소프트웨어공학 2024. 7. 14. 17:51

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
아만다's 일상 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바