Spring 버전별 특징
2022. 8. 19. 16:37
Computer Science/Web programming
회사 멘토님이 Spring 버전별 차이를 알고 있는지, 그동안 어떤 버전을 써왔는지 물어보셨다. 생각 해보니 나는 어떤 버전의 Spring, Spring Boot를 쓰고 있고 버전별 차이점이 무엇인지에 대해 전혀 알지 못하고 있었다. 그래서 공부도 할겸 정리해보았다.Spring 2.xXML 네임스페이스와 AspectJ를 지원한다Spring 3.x 프레임워크 코드베이스 전반에 걸쳐 강력한 Java 5+ 기반과 Java 기반 @Configuration모델과 같은 기능을 도입한다 Bean을 XML 형태로 관리할 수 있다 RestTemplate을 지원한다 JavaConfig 프로젝트의 몇몇 핵심 기능을 스프링 프레임워크에 추가했다 이 말은 다음 어노테이션을 이제 어노테이션을 이용해 DI 를 지원한다는 것이다 @..
코틀린(kotlin) 간단 정리
2022. 8. 12. 21:51
Computer Science
코틀린이란? Java와 같은 JVM에서 동작하는 오픈소스 프로그래밍 언어. Java와 유사하지만 더 간결한 문법과 다양한 기능이 있다. 코틀린의 시작 intelliJ, pycharm 등 IDE 툴을 만든 jetbrains사에서 2011년 개발한 언어이다. 2017년 구글에서 안드로이드 공식 언어로 채택하면서 코틀린이 개발 분야에서 크게 주목 받았고 2019년 Kotlin First를 언급하며 앞으로 코틀린을 최우선으로 사용하겠다고 언급하며 Java를 대체할 공식 언어로 급부상하게 되었다. 또한, Java뿐만 아니라 Javascript(kotlinJS), jquery에 대한 지원도 하고 있어 향후 발전 가능성이 매우 높은 언어라고 주목받고 있다. 코틀린의 목적 Java를 완전히 대체할 수 있는 언어가 되는..
[CS] MSA 구조 정리
2022. 8. 4. 09:41
Computer Science/Web programming
싸피 프로젝트 때 MSA 구조를 적용해 개발해 봤지만, 그 개념만 대충 알고 있어서 다시 한번 정확히 MSA가 어떤 것인지 알아보고자 강의를 보고 정리해봤다. 강의는 네이버 클라우드 플랫폼의 [Talk&Talk] 누구나 쉽게 이해할수 있는 마이크로서비스 아키텍처(MSA) #1편을 참고했다. https://www.youtube.com/watch?v=8d4h7K_Fq-0 MSA가 무엇인지 설명하기 위해서는 모놀리식 아키텍쳐를 아는 것이 중요하다. 모놀리식 아키텍쳐란 어플리케이션을 개발할 때 (여기서 어플리케이션은 하나의 시스템) 하나의 어플리케이션 안에 모든 서비스의 비지니스 로직이 들어가있는 구조이다. MSA는 모놀리식의 반대 구조인데, 예를 들어 쇼핑몰을 개발한다고 생각해보자. 쇼핑몰에는 사용자 관리, ..
[Web] TDD 방법론
2022. 5. 24. 15:46
Computer Science/Web programming
스타트업의 구인공고나 개발 블로그를 보면 TDD라는 단어를 쉽게 접할 수 있다. TDD는 무엇일까? TDD란? Test Driven Development로 '테스트 주도 개발'이라고 한다. 반복적인 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현하는 방법론이다. TDD의 개발 주기 일반적인 개발 방식 TDD 요구사항 분석 > 설계 > 코드 개발 > 테스트 > 배포 요구사항 분석 > 설계 > 테스트 코드 작성 > 코드 개발 > 리팩토링 TDD의 개발 주기 1. 테스트 실패 구체적인 하나의 요구사항을 검증하는 하나의 테스트를 추가한다. 추가된 테스트가 실패하는지 확인한다. 실패하는 것을 확인할 수 있어야 테스트 코드가 동작함을 ..