반응형
반응형
이번 게시물에서는 프로젝트 세팅부터 간단하게 타임리프로 게시판 리스트를 보여주는 것까지 진행하려고 한다. 프로젝트 스펙JDK 17Spring Boot 3.4.1GradleDatabase데이터베이스는 스스로 편한 것을 사용하면 된다. 필자는 Oracle로 진행하려고 한다.IDE: IntelliJIDE 또한 자신에게 맞는 것을 사용하면 된다.이후, 필요한 Dependency는 중간중간에 코드를 추가하는 방식으로 하겠다. 프로젝트 세팅프로젝트는 보통 IDE 내에서 생성하는 방법이 있고, https://start.spring.io/ Spring Initializr에서 Zip 형식으로 프로젝트를 다운로드할 수 있다.어디서 프로젝트를 받든 동일하기에 편한 방법으로 하자. 아래는 IDE 기준으로 설명하겠다. 경로: ..
서론Spring이나 Spring Boot를 사용해 웹 앱 혹은 API를 개발할 때 @Controller와 @RestController라는 두 가지 주요 어노테이션을 사용한다.하지만 이 둘은 용도가 다르고 동작 방식에도 차이가 있다. 해당 포스팅에서 두 가지의 차이점을 비교해 보자. @Controller란?기본 개념@Controller는 주로 HTML 페이지를 반환하는 용도로 사용한다.Spring MVC 패턴에서 View를 반환할 때 사용한다.메서드의 반환값은 ViewResolver에 의해 해석된다.MVC 패턴이 어떤 건지 정확히 모른다면 아래 MVC 패턴에 대해 정리한 포스팅을 보고 오자.2024.11.02 - [Backend/Spring || SpringBoot] - [Spring || SpringBo..
안녕하세요!오늘부터 스프링부트 (SpringBoot) + 타임리프 (Thymeleaf) 를 활용한 게시판 프로젝트를 만들고 기록하려고 한다. 프로젝트 소개이번 프로젝트의 목표는 기본적인 CRUD 기능을 갖춘 게시판을 구축하는 것에서 점차 보안 기능을 개발하고, 마지막으로 다양한 기능을 적용하여 완성도 높은 웹 앱을 만들어가는 것이다. 게시판 프로젝트를 통해 스프링부트의 수박 겉핥기를 할 수 있게 할 것이다.왜? 스프링부트, 타임리프, 테일윈드 일까?스프링부트: 자바 생태계에서 유명한 프레임워크이며, 빠르고 간편하게 웹 개발이 가능하다.사실은 자바 백엔드 개발자라서 스프링부트를 택한 것이다.타임리프: 서버 사이드 템플릿 엔진으로, HTML과 자연스러운 통합으로 동적인 웹 페이지를 생성할 수 있다. 프로젝트..
안드로이드 개발에서 데이터 객체를 인텐트나 번들로 전달할 때, 데이터 객체를 직렬화 해야하는 경우가 많다. 스프링과 같은 프레임워크에서도 데이터 객체를 사용할 때 직렬화하는 경우가 많다.어쨋든, 코틀린에서는 @Parcelize를 사용하면 효율적으로 데이터를 직렬화와 역직렬화를 할 수 있다. Parcelable이란?Parcelable은 안드로이드에서 객체를 직렬화하는 데 사용되는 인터페이스이다.객체의 데이터를 Parcel이라는 형식으로 변환하여 다른 컴포넌트 간에 전달할 수 있도록 한다. 안드로이드에서는 기본적으로 제공하는 Serializable과 달리 Parcelable은 보다 빠르고 효율적으로 데이터를 직렬화할 수 있다. 그래서, 왜 사용하는데?성능이 뛰어나며, 메모리 효율성 측면에서도 최적화되어 있어..
Java로 코딩을 할 때, 특히 많은 양의 데이터를 출력해야 하는 상황에서 System.out.println()을 사용하는 것은 실행 시간에 큰 영향을 미칠 수 있다.이를 해결하기 위해 BufferedWriter를 사용하여 성능을 크게 향상시킬 수 있었습니다. 이번에는 System.out.println()을 BufferedWriter로 대체하는 과정과 그 효과에 대해 자세히 설명드리겠습니다. System.out.println()아래 코드는 System.out.println()을 사용하여 RGB 값의 모든 조합을 출력하는 구조이다. for 문을 세 번 중첩하여 모든 경우의 수를 계산하고, 각 경우에 System.out.println()으로 출력했습니다. 코드의 실행 시간은 무려 3995ms나 소요되었다.i..
숫자 데이터와 문자열 데이터를 서로 변환해서 사용하는 경우가 많이 있다.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..