Develop 33

[Thymeleaf]몇번째 배열인지 모를때 마지막 데이터 가져오기

처음에 [0]번째 요소를 참고하기 위해서 item.houseorganImages[0]을 사용했지만,마지막 이미지를 불러오기 위해서는 size()를 사용해야한다는 것을 알았다. 이미지가 게시글마다 들어가는 갯수가 달라서 정확한 몇번째인지 알 수 없는 상태에서는 이미지 배열 size()에서 -1을 해주어서 지정이 가능하다.  >> item.houseorganImages[item.houseorganImages.size() - 1] 표현식을 사용하여 item.houseorganImages 리스트의 마지막 요소를 참조

[Thymeleaf]th:each 속성을 사용할 때 사용하는 status 객체

hymeleaf에서 th:each 속성을 사용할 때, 두 번째 변수로 status 객체를 정의하면 반복 상태에 대한 유용한 정보들을 제공한다. 이 객체는 루프의 현재 상태를 나타내며 여러 속성을 통해 다음과 같은 정보에 접근할 수 있다. 💻 Status 객체  index : 현재 반복의 0 기반 인덱스.count : 현재 반복의 1 기반 인덱스.size : 반복 중인 컬렉션의 전체 크기.current : 현재 반복 중인 요소.even : 현재 인덱스가 짝수인지 여부를 나타내는 Boolean 값.odd : 현재 인덱스가 홀수인지 여부를 나타내는 Boolean 값.first : 현재 요소가 첫 번째인지 여부를 나타내는 Boolean 값.last : 현재 요소가 마지막인지 여부를 나타내는 Boolean 값...

@RequestBody와 @ModelAttribute

@RequestBody와 @ModelAttribute는 Spring MVC에서 요청 데이터를 컨트롤러 메서드의 파라미터로 바인딩하는 두 가지 주요 방법이다. 둘 다 요청 데이터를 처리하지만, 사용하는 방식과 목적이 다르다.💻 @RequestBody용도: HTTP 요청의 본문(body)을 직접 객체로 변환. 주로 JSON, XML 등의 형식으로 요청 본문이 전송될 때 사용돤다.사용 예:클라이언트가 JSON 형태의 데이터를 서버로 전송할 때RESTful API에서 JSON/XML과 같은 데이터를 처리할 때예제:@PostMapping(value = "/words/popup/jquery") public String operate(@RequestBody ConditionDto conditionDto, Model..

Develop/Spring 2024.08.01

JDBC(Java Database Connectivity)란 무엇인가?

💻JDBC란?JDBC(Java Database Connectivity)는 Java기반 애플리케이션의 데이터를 데이터베이스에 저장 및 업데이트 하거나, 데이터베이스에 저장된 데이터를 Java에서 사용할 수 있도록 하는 자바 API이다.쉽게 말하자면 Java언어와 DB를 연결해주는 통로같은것이라고 보면 된다. JDBC를 사용하면 Java 코드로 데이터베이스에 연결하고, 데이터를 가져오거나 저장할 수 있다. 💻JDBC의 동작 흐름JAVA 애플리케이션 --> JDBC API --> JDBC 드라이버 --> 데이터베이스

Develop/Java 2024.07.29

[html]<a>태그로 간단하게 엑셀 다운로드 구현하기

생각보다 엑셀 다운로드를 구현하는 방법은 굉장히 쉬운데, html의 태그 안에서 경로만 설정해서 다운로드 구현이 가능하다. 💻 기본구문   이 a태그를 사용하여 다운로드를 구현하는 전제는 리소스에 이미 존재하는 파일을 다운로드 할 때 쓰는 방식이다. 💻 사용 예시엑셀다운로드이렇게 간단히 a태그를 걸고, download 옵션을 주면 가능하다. 엑셀다운로드이렇게 download 속성에 이름을 지정해주면 해당이름으로 다운로드 받을 수 있다.

Ajax와 동기와 비동기의 차이

여러 프로젝트를 하면서 기획자랑 소통할때, 비동기와 동기에 대한 개념을 모르는 경우를 보면서 나 또한 아는것을 제대로 설명하고 소통하기 위해 개념 및 차이에 대해 제대로 정리해보고 싶어졌다. 💻 Ajax란?*AJAX (Asynchronous JavaScript and XML)는 웹 페이지가 서버와 비동기적으로 소통할 수 있게 해주는 기술이다. 이 방식은 웹 페이지를 전체적으로 새로고침하지 않고도 데이터를 주고받을 수 있게 하여 사용자 경험을 향상시킨다. 특히, 실시간 데이터 업데이트가 필요한 경우 유용하게 사용된다. 💻 Ajax의 작동방식AJAX는 클라이언트 측에서 XMLHttpRequest 객체나 Fetch API를 사용하여 서버에 요청을 보내고, 서버에서 데이터를 받아와 페이지의 일부만 갱신하는 ..

Develop/JavaScript 2024.07.26

JSON이란 무엇일까

html에서 값과 데이터를 매칭시키기 위해서 JSON을 자주 사용하곤 했었는데, JSON이란 무엇이고 정확히 어떤 방식으로 사용되는지, 요즘도 사용하는 추세인지 궁금해서 이 글을 쓰게 되었다.   💻 JSON이란?JSON은 JavaScript Object Notation의 약자로, 데이터 객체를 표현하는 표준 포맷이다.가볍고 읽기 쉬우며, JavaScript와 자연스럽게 통합되는 것이 장점인데, 특히 웹 애플리케이션에서 서버와 클라이언트 간의 데이터 전송에 많이 사용된다.  💻 JSON의 사용현황여전히 매우 널리 사용되는 데이터 교환 포맷이고, 서버와 클라이언트 간 데이터 전송, RESTful API, 설정 파일 등 다양한 용도로 활용되고 있다.최근 들어 다른 포맷들이 주목받고 있기는 하지만, JSO..

Develop/JavaScript 2024.07.25

.jpb 파일이란 무엇일까

깃에 프로젝트를 만들며 '.jpb' 기본 셋팅을 하면서 알게된 .jpb 파일은파일은 일반적으로 JetBrains IntelliJ IDEA와 같은 JetBrains 제품에서 사용하는 프로젝트 설정 파일이다. '.jpb'파일의 예시 >> 현재 이 파일의 내용으로 볼때, 이 파일은 특정 플러그인에 대한 설정을 저장하는 역할을 한다. JpaPluginProjectSettings : JPA (Java Persistence API) 플러그인의 프로젝트 설정을 나타냄 lastSelectedLanguage : 이 옵션은 마지막으로 선택된 프로그래밍 언어를 나타냄 > 이 경우, 값은 "Java"로 설정되어 있어, 마지막으로 사용된 언어가 Java였음을 의미한다.  따라서, 이 .jpb 파일은 프로젝트에서 JPA 플러그인..

Develop/JPA 2024.07.24

Page를 List로 Controller에서 간단히 바꾸기

Page pageList = bannerListService.operate(pageable, modelMapper.map(paramDto, BannerCondition.class)).map(banner -> modelMapper.map(banner, BannerDto.class));model.addAttribute("banner", pageList);model.addAttribute("bannerTopList", pageList.getContent()); 이렇게 .getContent를 하면 리스트형식으로 바뀜그러면 html에서 list.size()사용 가능하고 [0] 이렇게 원하는 순서의 배열을 가져올 수 있음

Develop/Java 2024.07.22

enums 사용할 경우에 굳이 each 돌리지 않고 해당 값의 desc 간단하게 불러오기

DB에 있는 해당 데이터와 Enums의 값이 일치할 경우에 해당 Enums의 desc 값을 text로 불러오고자 할 때 간단한 코드로 Thymeleaf를 사용하여 완성시켜 보았다.   이렇게 Enums를 each로 루프 돌려서 하나씩 확인해보는 방법도 있지만   이렇게 .ValueOf를 사용하여 데이터와 값을 비교해서 해당 Enums의 desc를 불러와서 간단하게 텍스트로 지정 가능하다.

Develop/Java 2024.07.22