💡 영상 쉽게 설명하는 29CM Architecture Manifesto 세미나 내용 빠른 성장, 그러나… 지금까지 잘해왔다는 것이 이후에도 잘할 것이라는 것을 보장하는 것은 아니다. 지금까지의 결과는 과거 시점과 과거 실행에 따른 결과일 뿐이고, 우리가 앞으로 어떻게 행동하고 어떻게 실행 했을때 좋은 결과를 낼 수 있는 가를 보장하는 것이 아니다. 이제는 고객의 기대치, 다양한 요구사항, 늘어나는 트래픽에 맞는 새로운 구조가 필요하다. 특정 시점에서는 다음 단계의 성장을 지원하기 위해 매우 근본적인 것들을 해야 한다. 기존 트래픽, 성능 30%, 60% 향상 시키는건 기존 설계에서 가능하다. 그러나 트래픽이 몇배로 되는걸 버티기 위해서 개발방식, 구조등을 바꿔야 한다. 3주년의 잠 못 이루는 밤 더 빠..
분류 전체보기
💡 원본글 Five API Performance Optimization Tricks that Every Java Developer Must Know Five API Performance Optimization Tricks that Every Java Developer Must Know Why is your API response so slow? Maybe you need to solve these problems. medium.com 왜 당신의 API 응답이 느린가요? 이런 문제를 해결해야 할 필요가 있을수 있습니다. 백엔드 개발자로서, 프론트엔드 웹에 데이터를 제공하기 위한 HTTP REST API이든, 내부에서 사용을 위한 RPC API이든 우리는 항상 다양한 API들을 작성하고 있습니다. 이 API..
서론 Java의 학습을 위해, 미션 학습을 진행하고 있습니다. 첫번째 미션으로는 “숫자야구게임”을 진행해보려고 합니다. Step1을 종료하고, Step2로 넘어갈 예정입니다. Step1의 글을 작성하고 정리하면서 아쉬웠던 부분들을 Step2에서 같이 리팩토링을 진행해볼 예정입니다. 가장 중요한건 확장가능한 설계와 도메인 모델 정의, 테스트 코드 작성을 통한 안정적인 애플리케이션 구현을 가지고 해당 미션을 진행해보려고 합니다. 의도적으로 꼼꼼한 테스트 코드와 원시값 포장을 진행하였습니다. 해당 부분은 참고해주시면 좋을거 같습니다. 미션 요구사항 숫자야구게임이란? 1부터 9까지 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임입니다. 컴퓨터와 싸우는 게임으로 컴퓨터가 뽑은 랜덤의 숫자를 뽑을수 있도록 합니..
서론 이제 실제 콘솔 애플리케이션이 동작하도록 실제 View와 Controller의 결합을 해보도록 하겠습니다. View 실제 사용자가 값을 입력하고, 로직이 실행된 뒤의 결과를 출력하기 위한 계층으로 우리는 콘솔 애플리케이션이니 입력은 Scanner 를 통해 받고, 출력은 System.out.println 을 통해 합니다. import java.util.Arrays; import java.util.List; import java.util.Scanner; public class InputView { private static final Scanner scanner = new Scanner(System.in); private static final String INPUT_DELIMITER = ""; pri..
서론 지금까지 우리는 요구사항 분석과 테크스펙 작성을 통해 전체적인 흐름을 살펴보았으며, 도메인, VO, 일급컬렉션 등을 작성하여 객체지향설계에서 가장 중요한 객체를 직접 구현해보았습니다. 그 과정에서 우리는 테스트 코드를 추가하여 안정적으로 우리가 설계한 대로 동작하는지, 또한 요구사항 정책에 따라 정상적으로 동작하는지를 확인하보았습니다. 이제는 실제 숫자 야구게임이 동작하게 되는 큰 흐름을 살펴볼 예정입니다. Factory 메모리적인 성능을 위해 Factory를 만들어서 1~9까지의 Number를 재사용할 수 있게 하는게 좋다. Factory내에는 캐싱할 값들의 Collections이 있습니다. 해당 List에는 1~9까지의 Number 객체 9개가 있습니다. 이후에 내부의 값이 변경되지 않도록 불변..
💡 원본글: https://dev.to/devshefali/21-html-tips-you-must-know-about-55j7 21 HTML Tips You Must Know About In this post, I’ll share 21 HTML Tips with code snippets that can boost your coding skills. Let’s... dev.to 이 게시물에서는 코딩 기술을 향상시킬 수 있는 코드 조각과 함께 21가지 HTML 팁을 공유하겠습니다. 그럼 바로 뛰어들어가 볼까요.🚀 연락처 링크 만들기 HTML을 사용하여 클릭이 가능한 이메일, 전화 통화 및 SMS 링크를 만들수 있습니다. Send Email Call Us Send SMS 접을(Collapse)수 있는 콘텐츠 ..
원본글: https://dzone.com/articles/memory-hogging-enumvalues-method Memory-Hogging Enum.values() Method - DZone In this article, we'll discuss why the Java enum method has a tendency to hog memory, negatively impacting performance, and methods for preventing this. dzone.com Java Enum도 주의해야 할 점이 있습니다. 메모리를 잡아먹는 상황과 이를 막는 방법에 대해 이야기 해보겠습니다. 저는 Java Enum의 팬입니다.J2SE 5에서 Enum 도입되기까지 기다림이 있었지만, 출시되었을 때 C..
서론 이전 장에서는 숫자야구게임의 정책문서를 작성하며, 테크스펙을 작성해 개발시 문제가 될 영역들을 체크해봤다. 이번 장에서는 도메인을 실제 구현해볼 예정이다. Number BaseBall Game에서 사용할 숫자를 Value Object로 정의내린 클래스입니다. 일단 Validate가 필요합니다. 이전 장에서 정책 문서에서 보면 실제 숫자는 1~9의 값만 가능합니다. 실제 그 숫자가 아닌 다른 값이 들어온다면 예외가 발생하여 버그를 방지하는 코드를 작성하였습니다. 또한 Value Object이기 때문에 실제 value가 같으면 해당 객체는 같은것으로 보는것도 중요합니다. 해당 게임에선 주소값이 같은게 같은 Number가 아니라 실제 숫자가 같은지를 보고 판단합니다. 그러기 때문에 eqauls & has..
서론 Java의 학습을 위해, 미션 학습을 진행하고 있습니다. 첫번째 미션으로는 “숫자야구게임”을 진행해보려고 합니다. Step1부터 점진적으로 확장해 나가는것이 목표입니다. 가장 중요한건 확장가능한 설계와 도메인 모델 정의, 테스트 코드 작성을 통한 안정적인 애플리케이션 구현을 가지고 해당 미션을 진행해보려고 합니다. 의도적으로 꼼꼼한 테스트 코드와 원시값 포장을 진행하였습니다. 해당 부분은 참고해주시면 좋을거 같습니다. 미션 요구사항 숫자야구게임이란? 1부터 9까지 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임입니다. 컴퓨터와 싸우는 게임으로 컴퓨터가 뽑은 랜덤의 숫자를 뽑을수 있도록 합니다. 상세 스펙 명령어 1을 입력하면 게임을 시작합니다. 9를 입력하면 애플리케이션을 종료합니다. 게임을 시..
서론 이번에 Java를 다시 학습을 목표로 미션을 만들어서 진행중에 있습니다. 그 첫번째 미션은 “숫자야구게임”을 현재 구현중에 있는데, 여기서 핵심적인 개념 중에 1~9까지의 숫자중에 중복되지 않는 3개의 숫자를 랜덤으로 뽑는 기능에 대해서 고민하던 중에 두가지 방법을 찾아 두가지 방법에 대해서 이야기를 해보려고 합니다. Collections.shuffle을 사용해서 subList로 3개의 값을 추출 Collections.shuffle() 은 리스트의 모든 요소를 랜덤으로 섞는 작업을 하는 메서드입니다. public static void shuffle(List list) { Random rnd = r; if (rnd == null) r = rnd = new Random(); // harmless rac..