| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 |
- SQL
- 명령어
- Python
- DBMS
- 개발
- PostgreSQL
- 네트워크
- pandas
- 개발자
- 독서
- 리눅스
- mysql
- react
- oracle
- MariaDB
- git
- docker
- AI
- IntelliJ
- 자바
- spring
- Javascript
- Linux
- 책
- mssql
- 후기
- 오블완
- 티스토리챌린지
- 책추천
- java
- Today
- Total
목록spring (13)
hanker
프로젝트를 실행했는데, view 화면은 잘 불러와지지만 정적파일(js, css, image) 파일들이 404 Error가 뜰 때 조치하는 방법에 대해서 알아보자. 디렉터리 구조 예시src/└── main/ └── webapp/ ├── css/ │ └── style.css ← 정적 리소스 (브라우저 접근 가능) ├── js/ │ └── script.js ├── images/ │ └── logo.png └── WEB-INF/ ├── views/ │ └── home.jsp └── web.xml css, js, images 폴더는..
이 오류는 참조 무결성 제약 조건 위반으로 발생한다.간단히 말해서,부모 테이블의 레코드를 삭제하려고 할 때 해당 레코드를 참조하는 자식 테이블의 레코드가 존재할 경우 발생하는 오류다. 예시 -- 부서 테이블 (부모)CREATE TABLE DEPARTMENT ( DEPT_ID NUMBER PRIMARY KEY, DEPT_NAME VARCHAR2(100));-- 사원 테이블 (자식)CREATE TABLE EMPLOYEE ( EMP_ID NUMBER PRIMARY KEY, EMP_NAME VARCHAR2(100), DEPT_ID NUMBER, CONSTRAINT FK_EMP_DEPT FOREIGN KEY (DEPT_ID) REFERENCES DEPARTMENT(DEPT_ID))..
이 에러는 빈 리소스 경로나 잘못된 경로로 요청이 들어와서 발생하는 문제이다. 해결 방법 Spring Boot의 정적 리소스 핸들러 설정에서 잘못된 경로 요청을 안전하게 처리하기 위해 아래 코드를 추가하자.@Configurationpublic class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 기본 리소스 핸들러들... // 마지막에 잘못된 경로 처리용 핸들러 추가 registry.addResourceHandler("/**") ..
HttpSession은 Java Servlet API에서 웹 애플리케이션이 클라이언트(웹 브라우저)와 서버 간의 상태 정보를 유지할 수 있도록 해주는 인터페이스이다.웹은 기본적으로 stateless 이기 때문에, 로그인 상태나 사용자의 고유 데이터를 유지하기 위해 HttpSession을 사용한다. 주로 웹 사용자의 세션관리나, 상태 정보 저장, 로그인 및 인증 상태 유지 등 클라이언트의 정보를 관리하는 역할을 한다. 이번 글에서는 HttpSession 인터페이스에 대해서 알아보고 사용할 수 있는 기능들에 대해서 알아보자 1. HttpSession 항목설명패키지javax.servlet.http타입인터페이스 (Interface)역할클라이언트와 연결된 세션 객체 표현, 사용자별 데이터 저장 및 상태 유지 기본..
Gradle에서 JAR/WAR 파일을 멀티 아카이브 형식으로 생성할 때, 보통 아래 두 가지를 만들어준다.project-name.warproject-name-plain.war 일반적으로 war파일이 생성되는 건 알겠는데, plain.war는 뭘까 plain.war Spring Boot는 기본적으로 내장 Tomcat을 포함한 실행 가능한 JAR 또는 WAR 파일을 만들 수 있다. Gradle에서 생성된 project-name.war는 내장 Tomcat이 포함된 실행 가능한 WAR 파일이므로 java -jar project-name.war 명령으로 바로 실행할 수 있다. 하지만 -plain war로는 실행이 불가능하다.-plain.war는 실행에 필요한 의존 라이브러리나 부트스트랩 설정이 포함되지 ..
Spring AOP를 사용하여 웹 서비스에서 이벤트가 발생할 때 DB에 기록하는 로직을 만들어보자. 1. 설정 우선 AOP를 사용하기 위해 의존성을 추가해줘야 한다.pom.xml org.springframework.boot spring-boot-starter-aop application.propertiesspring.aop.auto=truespring.aop.proxy-target-class=true spring.aop.autotrue: @EnableAspectJAutoProxy를 자동으로 활성화false: AOP 자동 설정 비활성화, 수동으로 설정해야 함기본값: true (Spring Boot에서는 보통 생략 가능)spring.aop..
https://hanke-r.tistory.com/entry/Redis-Spring-Boot-Redis%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EC%8B%A4%EC%8B%9C%EA%B0%84-%EA%B2%80%EC%83%89%EC%96%B4-%EC%88%9C%EC%9C%84-%EB%A7%8C%EB%93%A4%EA%B8%B0-2-Spring-Redis-%EA%B2%80%EC%83%89%EC%96%B4-%EC%A0%80%EC%9E%A5 Redis - Spring Boot + Redis를 사용하여 실시간 검색어 순위 만들기 (2) Spring Redis 검색어 저장https://hanke-r.tistory.com/entry/Redis-Spring-Boot-Redis..
웹 개발 툴 Intellij에 대해서 알아보자. https://www.jetbrains.com/idea/ IntelliJ IDEA – the Leading Java and Kotlin IDEIntelliJ IDEA is undoubtedly the top-choice IDE for software developers. It makes Java and Kotlin development a more productive and enjoyable experience.www.jetbrains.com개발을 보다 더 생산적이고 즐겁게 만들어준다고 한다. 맞다. Intellij IDEA 란?IntelliJ IDEA는 JetBrains에서 개발한 강력한 통합 개발 환경(IDE)이다.Java, Kotlin 같은 JVM ..
JPQL(Java Persistence Query Language) 개발된 이유JPA(Java Persistence API)가 2006년에 도입되면서 함께 등장했는데, 기존 SQL의 테이블 중심적인 쿼리 작성 방식에서 객체 중심적인 쿼리 작성을 가능하게 하기 위해 개발 JPQL이란?객체지향 쿼리 언어로, 엔티티 객체를 대상으로 쿼리를 작성하는 언어이며, SQL과 비슷한 문법을 가지고 있지만, 테이블이 아닌 엔티티 객체를 대상으로 쿼리를 작성한다. 작성한 JPQL을 JPA가 SQL로 변환해서 데이터베이스에서 실행 주요기능은.. - 엔티티 객체를 대상으로 하는 검색 기능private final EntityManager em;public void testJPQL(){ String jpqlA =..
EntityManager는 데이터베이스와 애플리케이션 사이에서 데이터를 관리하는 도구이다.즉, 프로그램에서 사용하는 객체(엔티티)를 데이터베이스에 저장하거나, 데이터베이스에서 불러오고, 수정하거나 삭제하는 일을 담당한다.생명주기 관리: 프로그램에서 객체가 생성되거나 사라질 때, 그 상태를 추적하고 적절한 시점에 데이터베이스에 저장하거나 삭제하는 일을 함.데이터베이스와 상호작용: 객체를 데이터베이스에 저장할 때, EntityManager가 그 중간에서 데이터를 저장, 수정, 삭제, 조회하는 작업을 대신 처리해줌.즉, 개발자가 일일이 SQL 문을 작성하지 않고, EntityManager가 알아서 데이터베이스와 소통하도록 도와주는 중간 관리자 역할을 하게 된다. 주요 기능영속성 컨텍스트* 관리: 엔티티의 상..