Engineering/Backend

Engineering/Backend

[Java] static 멤버와 메서드의 활용 및 주의점

💡static 키워드란? Java에서 static 키워드는 클래스에서 공유되는 변수나 메서드를 정의할 때 사용하며, 메모리에 한번 할당되고 나면 프로그램이 종료될 때 해제된다. static 변수를 남발하면 메모리 관리에 문제를 일으킬 수 있으므로 신중하게 사용해야 한다. 과도한 static 멤버의 사용은 프로그램의 성능을 저하시키고, 메모리 누수의 원인이 될 수 있다. static 변수는 메모리에 고정적으로 할당되어 프로그램이 종료될 때 해제되는 변수이며, static 메서드는 객체 생성 없이 호출이 가능한 메서드라고 할 수 있다. 그리고 상태를 가지고 있지 않은 단순히 메서드만 가지고 있는 구조라고 볼 수 있는데, 이러한 이유로 인해 객체지향에 벗어난 개념이 되어 일부 좋지 않은 시선도 있는 편이다. ..

Engineering/Backend

[Java] VS Code를 활용한 자바 프로그램 디버깅

프로그래밍을 할 때 디버깅은 굉장히 중요하다. 자바 프로그래밍을 하다 보면 오류를 해결해야 할 때가 있는데, 이때 디버깅이라는 기술을 사용하면 오류를 쉽게 찾고 해결할 수 있다. 디버그와 디버깅에 대한 개념을 이해하고 VS Code를 사용하여 자바 프로그램을 디버깅하는 방법에 대해 알아보도록 하자. 💡디버깅 관련 개념 디버그와 디버깅 디버깅(debugging)은 프로그램이 예상대로 작동하지 않거나 오류가 발생했을 때 이를 해결하는 과정을 의미한다. 여기서 디버그(debug)는 버그(bug)를 찾아 잡는 것을 의미하며, 버그란 프로그램이 개발자의 의도와 다르게 동작하거나 예상치 못한 오류로 인해 실행이 중단되는 상황을 가리킨다. 디버깅을 이용하여 이러한 오류를 잡아낼 수 있다. 디버거 디버깅 도구 중 하나..

Engineering/Backend

[Spring] Spring MVC Framework: MVC 패턴의 구조, 동작 과정

Spring MVC Framework는 웹 개발에서 널리 사용되는 아키텍처 중 하나로, MVC(Model-View-Controller) 패턴을 기반으로 한다. 💡MVC 패턴의 구조Model정의: 애플리케이션의 데이터를 책임지며, 비즈니스 로직을 처리한다.역할: 사용자에게 표시되는 데이터를 가공하고 저장하며, 데이터의 변경이 일어날 경우 적절한 처리 방법을 구현한다.구현: Java 객체로 표현되며, 특정 도메인의 데이터를 담는 역할을 한다. View정의: 시각적인 UI를 담당하며, 사용자에게 정보를 표현한다.역할: Model에서 받은 데이터를 화면에 표시하고, 사용자의 입력을 Controller에 전달한다.구현: 주로 HTML, JSP, Thymeleaf 등의 템플릿 엔진을 사용하여 구현한다. Contr..

Engineering/Backend

[Spring] REST, REST API, RESTful API 정리⭐

💡RESTREST(REpresentational State Transfer)는 소프트웨어 아키텍처 스타일 중 하나로, 자원을 이름으로 구분하고 해당 자원의 상태(정보)를 주고받는 통신 방식을 나타낸다. State는 웹 애플리케이션의 상태를, Transfer는 해당 상태의 전송 방식을 의미한다.네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이며, HTTP 프로토콜을 기반으로 하여 웹의 장점을 최대한 활용할 수 있다는 장점이 있다.REST는 반드시 Spring에서만 사용되는 건 아니며, 다양한 플랫폼 및 언어에서 활용될 수 있다. 📌REST의 구성 요소자원 (Resource)자원은 소프트웨어가 관리하는 모든 것을 나타내며, 각 자원은 고유한 식별자(ID)를 가진다. 이 식별자는 서버..

Engineering/Backend

[Spring] 타임리프(Thymeleaf) 기본 문법, 기능 정리

타임리프는 서버 사이드 Java 템플릿 엔진으로, 주로 스프링 프레임워크와 함께 사용된다.이 템플릿 엔진은 HTML, XML, JavaScript, CSS를 렌더링 하는 데 사용되며, 특히 동적 웹 페이지의 개발에 용이하다.HTML 문법에 통합되어 있기 때문에 개발자와 디자이너 간의 협업을 쉽게 해 준다는 특징이 있다. [Spring Boot] Thymeleaf(타임리프) 표현식🌿Thymeleaf Thymeleaf는 View를 제작하여 화면을 출력하는 템플릿 엔진으로, 주로 웹 애플리케이션의 백엔드에서 서버 측 HTML 렌더링을 위해 사용된다. Thymeleaf는 JSP, EL, JSTL을 합쳐 놓은 느낌이다. 이isaac-christian.tistory.com타임리프 프로젝트 및 추가적인 내용은 위..

Engineering/Backend

[Spring Boot] Thymeleaf(타임리프) 표현식

🌿ThymeleafThymeleaf는 View를 제작하여 화면을 출력하는 템플릿 엔진으로, 주로 웹 애플리케이션의 백엔드에서 서버 측 HTML 렌더링을 위해 사용된다.Thymeleaf는 JSP, EL, JSTL을 합쳐 놓은 느낌이다. 이를 이용하면 JSP를 사용하지 않고 Thymeleaf를 사용하여 화면을 만들 수 있다.Thymeleaf 외에도 Freemarker, Mustache, Groovy 등을 사용할 수 있다. 프로젝트 설정 application.properties# 서버 포트server.port=8090# JSPspring.mvc.view.prefix=/WEB-INF/views/spring.mvc.view.suffix=.jsp# JDBC + MyBatisspring.datasource.driv..

Engineering/Backend

[Spring Boot] MVC 기반 MyBatis 적용

🌿MVC 기반 MyBatis 적용XML 방식인터페이스 방식 🌿XML 방식: 프로젝트 설정1. 의존성Spring Boot DevToolsLombokMyBatis FrameworkOracle Driver (ojdbc)Spring WebOracle Driver가 ojdbc이다. JDBC이기 때문에 Oracle Driver를 추가했고, MyBatis Framework도 추가해 주었다. 2. JSP 설정 jakarta.servlet jakarta.servlet-api org.glassfish.web jakarta.servlet.jsp.jstl jakarta.servlet.jsp.jstl jakarta.servlet.jsp.jstl-api org.apache.tomcat.embed tomcat-embed-jas..

Engineering/Backend

[Spring Boot] Spring Boot에서 JSP 사용하기

🌿JSP Project프로젝트 설정Spring Boot는 기본적으로 JSP를 지원하지 않으며, 템플릿 엔진을 사용하여 HTML 페이지를 생성한다.하지만 이번에는 JSP를 사용하여 화면을 구성하는 방법을 사용해 보도록 하자. Spring Boot 템플릿 엔진Thymeleaf (기본)MustacheFreemarkerVelocity기타 등등.. (JSP)Spring Boot는 템플릿 엔진으로 Thymeleaf를 Default로 사용한다. JSP 관련 의존성 추가pom.xml 4.0.0 org.springframework.boot spring-boot-starter-parent 3.2.0 com.test jsp 0.0.1-SNAPSHOT jsp Demo project for Spring Boot..

Isaac S. Lee
'Engineering/Backend' 카테고리의 글 목록 (2 Page)