[Spring || SpringBoot] Controller와 RestController 란?
·
Java/Spring || SpringBoot
서론Spring이나 Spring Boot를 사용해 웹 앱 혹은 API를 개발할 때 @Controller와 @RestController라는 두 가지 주요 어노테이션을 사용한다.하지만 이 둘은 용도가 다르고 동작 방식에도 차이가 있다. 해당 포스팅에서 두 가지의 차이점을 비교해 보자. @Controller란?기본 개념@Controller는 주로 HTML 페이지를 반환하는 용도로 사용한다.Spring MVC 패턴에서 View를 반환할 때 사용한다.메서드의 반환값은 ViewResolver에 의해 해석된다.MVC 패턴이 어떤 건지 정확히 모른다면 아래 MVC 패턴에 대해 정리한 포스팅을 보고 오자.2024.11.02 - [Backend/Spring || SpringBoot] - [Spring || SpringBo..
[Kotlin/코틀린] @Parcelize / Parcelable을 사용한 직렬화와 역직렬화
·
Kotlin
안드로이드 개발에서 데이터 객체를 인텐트나 번들로 전달할 때, 데이터 객체를 직렬화 해야하는 경우가 많다. 스프링과 같은 프레임워크에서도 데이터 객체를 사용할 때 직렬화하는 경우가 많다.어쨋든, 코틀린에서는 @Parcelize를 사용하면 효율적으로 데이터를 직렬화와 역직렬화를 할 수 있다. Parcelable이란?Parcelable은 안드로이드에서 객체를 직렬화하는 데 사용되는 인터페이스이다.객체의 데이터를 Parcel이라는 형식으로 변환하여 다른 컴포넌트 간에 전달할 수 있도록 한다. 안드로이드에서는 기본적으로 제공하는 Serializable과 달리 Parcelable은 보다 빠르고 효율적으로 데이터를 직렬화할 수 있다. 그래서, 왜 사용하는데?성능이 뛰어나며, 메모리 효율성 측면에서도 최적화되어 있어..
[Java/자바] 출력 성능 개선하기: System.out.println() 대신 BufferedWriter
·
Backend/Java
Java로 코딩을 할 때, 특히 많은 양의 데이터를 출력해야 하는 상황에서 System.out.println()을 사용하는 것은 실행 시간에 큰 영향을 미칠 수 있다.이를 해결하기 위해 BufferedWriter를 사용하여 성능을 크게 향상시킬 수 있었습니다. 이번에는 System.out.println()을 BufferedWriter로 대체하는 과정과 그 효과에 대해 자세히 설명드리겠습니다. System.out.println()아래 코드는 System.out.println()을 사용하여 RGB 값의 모든 조합을 출력하는 구조이다. for 문을 세 번 중첩하여 모든 경우의 수를 계산하고, 각 경우에 System.out.println()으로 출력했습니다. 코드의 실행 시간은 무려 3995ms나 소요되었다.i..
[Kotlin/코틀린] String과 Int 변환 - String to Int, Int to String 변환 방법
·
Kotlin
숫자 데이터와 문자열 데이터를 서로 변환해서 사용하는 경우가 많이 있다.String to Int와 Int to String에 대해서 기록하려고 한다. String to Int 방법 1: toInt() 사용하기toInt() 함수를 사용해 문자열을 정수로 변환할 수 있다. toInt() 함수는 변환할 수 없는 문자열을 만났을 때 예외를 발생시키는데, 예외 처리를 고려해야 한다.val numberString = "123"val number: Int = numberString.toInt()println(number) // 출력: 123 동작 원리: toInt() 함수는 문자열을 정수로 변환, 변환할 수 없는 경우 예외를 발생예외 발생: 변환할 수 없는 문자열을 toInt()로 변환하려고 하면 NumberFor..
[Kotlin/코틀린] MVVM 패턴이란? - MVVM 패턴과 Counter 앱
·
Kotlin
안드로이드 앱 개발에서 널리 사용되는 아키텍처 패턴 중 하나인 MVVM에 대해서 기록하려고 한다.요즘 안드로이드 개발을 취미로 시작하여 기록을 위해 작성한다. 혹여나 틀린 정보가 있다면 댓글로 남겨주신다면 반영하겠습니다 감사합니다. 서론MVVM 패턴이란?MVVM (Model-View-ViewModel) 패턴은 앱의 UI와 비즈니스 로직을 분리하여 보다 깔끔한 구조와 유지보수성을 제공하는 아키텍처 패턴이다. MVVM은 크게 세 가지 컴포넌트로 구성된다.Model: 데이터와 비즈니스 로직을 관리하는 컴포넌트View: 사용자에게 보이는 UIViewModel: Model과 View 사이의 중간 역할을 하며, 데이터를 가공하여 View에 전달하고 사용자 인터렉션을 처리MVVM은 데이터를 UI에 쉽게 바인딩하고, ..
[Spring || SpringBoot] MVC 패턴이란? 스프링 MVC와 Counter 앱 예제
·
Java/Spring || SpringBoot
스프링 프레임워크를 경험하면 한 번씩은 들어본 MVC 패턴에 대해서 기록하려고 한다.MVC 패턴은 애플리케이션의 유지보수성과 확장성을 높이기 위해 UI와 비즈니스 로직을 분리하는 아키텍처 패턴이다.Counter 앱을 예제로 어떻게 구현이 되는지 작성하려고 한다. 서론MVC 패턴이란?MVC (Model-View-Controller) 패턴은 애플리케이션을 Model, View, Controller 세 가지 구성 요소로 나누어 각 컴포넌트가 독립적으로 동작하도록 구조화한 아키텍처 패턴이다.Model: 데이터와 비즈니스 로직을 관리하는 부분View: 사용자에게 보여지는 UIController: Model과 View를 중개하며, 사용자의 요청을 처리하고 응답을 생성스프링 MVC 패턴을 사용하면 비즈니스 로직과 U..