일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 구글애널리틱스
- 인텔리제이
- @Entity
- 워드프레스
- addallattributes()
- JPA
- linkedhastset
- db
- GA4
- ChatGPT
- SEO
- 플러그인
- HttpSession
- Thymeleaf
- firebase
- useEffect
- Polylang
- @Repository
- 데이터베이스
- post
- 리액트오류
- 구글알고리즘
- mergeattributes()
- GET
- set
- 구글
- Login
- router
- @Query
- @Controller
- Today
- Total
목록2025/02 (63)
개발천재

Optional은 Java에서 값이 있을 수도, 없을 수도 있는 경우를 처리하는 컨테이너이다. 예를 들어, 데이터를 찾을 때 값이 없을 수도 있는데(null), 그럴 때 Optional을 사용하면 null을 직접 다루는 대신, 값이 있는지 없는지를 명시적으로 확인할 수 있다. 이렇게 Optional을 사용하면 null로 인한 오류를 줄이고, 값이 없을 때도 안전하게 처리할 수 있어서 코드가 더 깔끔하고 오류를 예방할 수 있다. Optional 기본 개념Optional 객체는 값이 존재할 수도 있고, 존재하지 않을 수도 있다. Optional을 사용하면 null 값을 직접 체크하는 대신, Optional이 비어 있는지 (값이 없는 상태인지) 여부를 명확하게 다룰 수 있다. Optional을 사용 이유N..

Thymeleaf는 웹사이트의 HTML 페이지를 Java 코드에서 바꿔주는 도구 Thymeleaf 개념 이해Thymeleaf(타임리프)는 HTML 파일에서 동적으로 데이터를 넣어주는 템플릿 엔진이다. 쉽게 말해, HTML과 Java를 연결해주는 역할을 한다. Thymeleaf는 Java 기반 템플릿 엔진이기 때문에 주로 Java(Spring Boot)에서 사용된다. 하지만 Java에서만 쓸 수 있는 것은 아니고, HTML 템플릿 엔진으로서 독립적으로도 사용 가능하긴 하다. 하지만 Thymeleaf는 기본적으로 Java와 가장 잘 맞도록 설계된 템플릿 엔진이기 때문에, Python, Node.js 같은 다른 언어에서는 거의 사용되지 않고, 그 언어에 맞는 템플릿 엔진(예: Python은 Jinja2, N..

Enum : 상수(변하지 않는 고정 값)들의 집합 Enum 개념 정리enum(열거형)은 서로 연관된 여러 개의 상수 값을 그룹으로 묶어 관리하는 데이터타입을 말한다. 일반적으로 상수를 선언하기 위해 final static을 사용하는데 상수가 여러개인 경우 상수를 따로 관리하면 타입 안정성이 보장되지 않고, 가독성이 떨어진다.public static final int MONDAY = 1;public static final int TUESDAY = 2;public static final int WEDNESDAY = 3; final static보다 enum을 사용하게 되면 코드의 가독성과 안정성이 향상된다. 예를 들어, 요일(월일), 계절(봄겨울)처럼 변하지 않는 고정된 값들을 enum으로 정의하면 가독성..

Lombok 이해하기Lombok은 자바 코드에서 반복되는 메서드(Getter, Setter, 생성자 등)를 자동으로 생성해 주는 라이브러리다. 예를 들어, @Getter와 @Setter를 붙이면 getName()이나 setAge() 같은 메서드를 직접 작성하지 않아도 자동으로 만들어 준다. @NoArgsConstructor나 @AllArgsConstructor를 사용하면 기본 생성자나 모든 필드를 포함한 생성자도 자동 생성된다. 또한 @Builder를 활용하면 객체를 쉽게 만들 수 있다. 즉, Lombok을 사용하면 코드가 짧아지고 가독성이 좋아져서 유지보수가 훨씬 편해진다.[ Lombok 주요 장점 ]- 코드 가독성이 향상됨- 반복적인 코드 작성을 줄여서 생산성이 증가- 유지보수가 쉬워짐 Lombok..

인텔리제이 상단 메뉴에서 [Create Git Repository]를 클릭한다. Git에 올릴 프로젝트를 선택한다. gitignore.io에 접속하여 gitignore 파일을 만든다. gitignore.io에서 만든 소스코드를 프로젝트에 있는 .gitignore 파일에 붙여넣는다. 왼쪽에 위치한 commit 아이콘을 누르고 Unversioned Files에 체크한 뒤 커밋 메세지를 입렵한다. 그리고 [Commit] 버튼을 클릭한다. 상단에 main을 클릭하고 [Push]를 클릭한다. github에서 생성한 레파지토리의 https url을 입력하고 [OK]를 클릭한다. push할 파일이 생성되면 [Push Anyway] 버튼을 클릭한다. github에 접속하여 파일이 정상적으로 ..

[ 초기 설정 ]- controller Package 폴더 생성 후 GuguController 생성- templates에 gugu.html 생성 Controller에서 GetMapping 작업하기model.addAttribute("range", 9); → 1부터 9까지 반복할 수 있도록 range 값을 전달한다.반환값 "gugu" → gugu.html 템플릿을 렌더링한다.package com.example.testMvc.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;@Contr..

Annotation 기본 개념Java에서 어노테이션과 Spring Boot에서 사용하는 어노테이션은 기본 개념은 같지만, 사용되는 목적과 방식에서 차이가 있다.Java에서 어노테이션은 메타데이터(metadata)의 일종으로, 클래스, 메서드, 변수 등에 부가적인 정보를 제공하는 역할을 한다. 어노테이션 자체는 프로그램 로직에 영향을 주지 않지만, 런타임이나 컴파일 타임에 특정 처리를 수행할 수 있도록 도와주는 역할을 한다. Spring Boot의 어노테이션은 Java 어노테이션을 활용하여 빈 관리, 의존성 주입, 트랜잭션 관리 등 다양한 기능을 자동으로 처리한다. Spring Boot에서는 어노테이션을 통해 설정을 최소화하고 자동화를 구현하는 것이 큰 특징이다.Spring Boot 어노테이션은 주로 "컴..

Spring Boot란?Spring Boot는 자바(Java) 기반의 웹 애플리케이션을 쉽게 만들 수 있도록 도와주는 프레임워크다. 기존의 스프링(Spring) 프레임워크는 설정이 복잡하고 초기 설정에 시간이 많이 걸렸지만, 스프링 부트(Spring Boot)는 이를 자동화하여 최소한의 설정만으로 빠르게 애플리케이션을 개발할 수 있도록 해준다. 기본적으로 내장 웹 서버(예: Tomcat)를 포함하고 있어 별도의 설정 없이 실행할 수 있으며, 필요한 기능을 간단한 설정만으로 추가할 수 있어 초보자도 쉽게 사용할 수 있다. 즉, 스프링 부트는 개발자가 비즈니스 로직에 집중할 수 있도록 불필요한 설정을 줄여주는 편리한 도구이다. Spring Boot의 역사Spring Boot는 2014년 4월에 Pivo..

Spring Initializr란?Spring Initializr(스프링 이니셜라이저)는 Spring Boot 프로젝트를 쉽게 생성할 수 있도록 도와주는 도구이다. 웹 기반 UI와 REST API를 제공하며, 원하는 설정을 선택하면 자동으로 프로젝트를 생성해준다. Spring Initializr를 사용하는 이유Spring Boot 프로젝트를 처음 시작할 때는 Spring Initializr를 활용하는 것이 가장 쉽고 빠른 방법이다. 보통 Spring 프로젝트를 만들려면 디렉토리 구조를 만들고, 필요한 라이브러리를 설정하는 과정이 번거롭다. 하지만 Spring Initializr를 사용하면, 몇 번의 클릭만으로 필요한 설정이 완료된 프로젝트를 자동으로 생성해주므로 간단하게 프로젝트를 만들 수 있다...

중첩 라우팅 기본 개념리액트 라우터에서 중첩 라우팅 (Nested Routing)은 부모 컴포넌트 내에서 자식 컴포넌트를 렌더링하는 방식이다. 이를 통해 URL 경로에 따라 부모 컴포넌트와 자식 컴포넌트를 동시에 렌더링할 수 있다. 중첩 라우팅을 사용하면, 특정 경로가 일치할 때 부모 컴포넌트는 계속 렌더링되며, 자식 컴포넌트만 교체되는 형태로 UI를 구성할 수 있다.http://localhost:3000/about/memberhttp://localhost:3000/about/location 리액트 라우터의 중첩 라우팅은 주로 부모 컴포넌트에서 Outlet 컴포넌트를 사용하여 자식 컴포넌트가 렌더링될 자리(공간)를 마련한다. 자식 경로가 일치하면, 해당 경로에 맞는 자식 컴포넌트가 Outlet 위치에 ..