목록스프링 (5)
잡동사니
안녕하세요. yeTi입니다. ChatGPT의 활용법 (feat. 정보수집 방식의 전환) 에서 ChatGPT의 쓰임새를 인식하고 ChatGPT를 활용하여 궁금증을 해소한 예시를 공유하고자 합니다. 더하여 Microsoft에서 개발한 Bing AI와 비교하여 답변의 차이를 확인하고자 합니다. 문답 프로그래밍 언어의 동적 바인딩 개념에 대해 알아? 예, AI 언어 모델로서 프로그래밍 언어의 동적 바인딩 개념에 대해 잘 알고 있습니다. 동적 바인딩은 런타임에 실행할 메서드나 함수의 결정을 프로그램의 실제 런타임까지 연기하는 객체 지향 프로그래밍에서 사용되는 기법입니다. 이는 컴파일 타임에 실행할 메서드나 함수가 결정되는 정적 바인딩과 대조적입니다. 동적 바인딩에서는 실행할 메서드에 대한 결정이 객체를 참조하는 ..
안녕하세요. yeTi입니다. 오늘은 백기선님의 스프링 강좌중 하나인 예제로 배우는 스프링 입문 의 완주 후기를 공유하려고 합니다. 강의 수강 계기 백기선님의 유튜브 동영상을 보다가 스프링을 제대로 공부했는지 5분안에 확인하는 방법 을 봤는데요. 문제가 이거였습니다. 외부 라이브러리를 사용하는 코드가 포함된 함수를 테스트하려면 어떻게 해야하는가? 단, Mock framework을 사용하지 않는다. 그래서 전 외부 라이브러리를 상속받은 mock 클래스를 구현하여 테스트 코드에 활용하는 것을 생각했습니다. (@SpyBean @MockBean 의도적으로 사용하지 않기 - 기억보단 기록을 참고) 하지만 백기선님의 해결책은 스프링에서 제공하는 IoC와 PSA를 활용해서 다음과 같이 제시합니다. 외부 클래스를 랩핑할..
안녕하세요. yeTi입니다. 오늘은 Spring Framework에 대해 알아보겠습니다. Spring Framework Overview에 따르면 스프링은 자바 엔터프라이즈 어플리케이션을 가장 쉽게 만들 수 있도록 해준다고 합니다. 즉, 많은 사용자와 많은 데이터, 많은 비즈니스 로직을 처리하는 기업용 어플리케이션을 개발함에 있어서 보다 쉽게 개발할 수 있도록 제공해다는 것입니다. 이를 위해서 스프링 프레임워크는 Core Technologies, Testing, Data Access, Web frameworks(Web on Servlet, Web on Reactive), Integration, Language Support를 제공합니다. 스프링 프레임워크하면 가장 많이들 언급하는 의존성 주입이나 AOP 등..
인프런의 스프링 프레임워크 핵심 기술 - 백기선을 수강하면서 내용을 정리하고 간단한 후기를 남깁니다. 스프링 프레임워크에 대한 전체적인 개념을 알고 싶으시면 Spring Framework 개념 이해하기를 확인해보세요. IoC 컨테이너와 빈 IoC란 Inversion of Control의 약어로 의존 관계 주입(Dependency Injection) 이라고도 하며 어떤 객체를 사용할 때 직접 만들어서 사용하는 것이 아니라 주입받아 사용하는 것을 말한다. 직접 사용의 예 BookRepository repository = new BookRepository(); BookService service = new BookService(repository); IoC의 예 @Autowired BookRepository ..
이번 하이마트 G-CRM 서비스(Spring기반)를 개발하면서 가장 아쉬운 부분이 유지보수의 용이성입니다. 그 동안 개발을 하면서 느낀거지만 DB중심의 서비스 구조를 가져다면 개발이 직관적이라 편해서 초기 구축의 생산성이 높아지는 장점이 있는 반면 실제 서비스단의 설계는 고려되지 않아 서비스의 규모가 커지거나 유지보수시 생산성이 떨어지는 단점이 있습니다. 물론 서비스단의 설계를 하면 되지만 프로젝트의 비용과 시간과 스스로의 능력 부족으로 설계하여 수행하기가 버겁다는것을 느낍니다. 이번에 문득 유지보수가 용이한 웹 어플리케이션의 설계는 어떤식으로 하면 좋을지에 대해 생각하면서 공통코드를 관리방법에 대해 정리한 부분을 남깁니다. 유지보수가 용이한 웹 어플이케이션의 가장 중요한 항목은 종속성의 제거라고 ..