일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 서버 스크립트
- Shared Lock
- 멱등성
- exclusive lock
- 피연산자
- 변수와 상수
- 오버로딩
- 지연로딩
- 추상메서드
- 프로그래머스 코테
- select
- 변수와 메서드
- 원시타입
- 참조타입
- 연산자와의 관계
- Java
- 메세지 큐
- bufferedInputStream
- 컬렉션 프레임워크
- jsoup
- foreigen key
- delete
- 즉시로딩
- InterruptedException
- 프로그래머스
- SQL
- N+1
- git 기초
- null/not null
- 오버라이딩
- Today
- Total
목록Programming/SPRING (10)
[JAVA_Back-End]
JPA의 N+1문제로 데이터베이스의 과부하가 생길 수 있다이 한 문장으로는 해당 문제가 어떤 경우이고 결과적으로 어느정도의 과부하인지 가늠이 잘 안된다.아래 내용으로 조금 더 자세히 알아보도록 하자.N+1 문제 특정 동작에 대한 데이터 요청이 1개의 쿼리로 처리되길 기대했는데 예상치 못한 N개의 추가 쿼리가 발생하는 현상 특정 테이블과 연계된 다른 데이터를 조회할 때, 1차 캐시에 해당 내용이 없으면 관련 내용을 쿼리를 통해 불러오게 된다.만약, 이러한 연계 데이터들이 100만개라면...? N+1문제가 발생하면서 데이터베이스에 엄청난 과부하가 발생한다는 것이다... JPA 어노테이션인 @OnetoMany의 경우 해당 내용이 적용된다.ex) 하나의 속성(One)에 연결된 다른 테이블의 여러 속성(Many..
Transaction?- 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위- 작업의 단위는 사용자가 어떤 행위를 했을 때 수행되는 명령문들을 합친 것이라고 생각하면 된다.EX) 저장버튼을 누름 -> DB)Insert 후 목록 최신화를 위해 Select 동시 수행(작업단위 = 트랜잭션) -> 최신화된 목록 확인 트랜잭션(Transaction)의 특징원자성(Atomicity) : 트랜잭션이 데이터베이스에 모두 반영되거나, 전혀 반영되지 않아야 한다.일관성(Consistency) : 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다.독립성(Isolation): 어떤 하나의 트랜잭션이라도, 다른 트랜잭션의 연산에 끼어들 수 없다.지속성(Durability): 트랜잭션이 성공적으로 완료되었을 경우,..
1. 기본 Java: 스프링은 Java 기반으로 작동하므로 Java 언어 자체를 잘 이해해야 한다. 객체지향프로그래밍(OOP) 개념과 Java 기본 문법을 숙지하도록 하자. 2. Spring Core: 스프링의 핵심 기능 및 개념을 이해해야 한다. - 스프링 IoC(Inversion of Control) 컨테이너 - 의존성 주입(Dependency Injection) - Bean 관리 - AOP(Aspect-Oriented Progamming) 3. Spring Boot: 스프링 부트는 스프링 애플리케이션을 빠르고 쉽게 시작할 수 있게 해주는 프로젝트이다. 스프링 부트를 사용하여 웹 애플리케이션을 만들고 구성하는 방법을 익히도록 하자. 4. Spring MVC 또는 Spring WebFlux: 웹 애플리..
Board의 MVC패턴 => 프로젝트 이름: BoardJDBCEx02 * Model //JdbcDAO.java package com.exam.mvc.model; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessExce..

1. Spring MVC Controller => Spring FrameWork로 이전 Front-Controller :servlet => DI web.xml => Dispatcher servlet + xml(contextConfigLocation) (DI를 사용해서 xml방식으로 jsp페이지 처리) + annotation Back-Controller : XXXAction Model View * board1 또한 xml 방식으로 처리해보기 Property-> WebProjectSettings에서 프로젝트 이름 변경 + tomcat서버(Servers) 들어가서 이름 바꿔주기 * 이전에 board에서 따로 jsp경로를 지정해주었던 Controller를 어노테이션 형식으로 변경하여 작성 jsp에서 action..

DAO database 연결 GUI(4)에 있음 DI 객체 조립기 Spring Bean Configuration - xml Spring Boot pojo + annotation 표기법 lifecycle 전처리와 후처리 * 의존성 자동주입 - AOP 구현법 DI AspectJ + DI Annoitation 약결합 구조 어드바이스가 어디에서 동작할지 지정 import확인 필수 전처리, 후처리 모두 다 적용 AOP(Aspect Oriented Programming) - 여러 객체 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법 - 핵심기능과 공통기능의 구현을 분리함으로써 핵심기능을 구현한 코드의 수정 없이 공통기능을 적용할 수 있게 만들어줌 - 핵심기능에 공통 기능을 삽입한다. 즉..

Spring | Home Spring | Home Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform. spring.io 퀴즈 - 리눅스 기본 명령어 중심 캡처 - ubuntu - 각종 서버 + mybatis putty - tomcat 실행 + 브라우저 화면 우분투 여러 서버 만든걸 mybatis코드 실행 시키고 putty에서 해당 서버 열고 tomcat실행? => 한 브라우저 화면 캡처? 리눅스 => AWS영역 * 스프링 객체를 다루는 기술을 쉽게 만든다. 생성/할당/소거 = life cycle - spring framework Spring DI(Dependency ..

BootStrap javascript framework 발전이 빠르게 진행 jquery ui => spa + (ajax/websocket) => ui 별도 개발 desktop mobile => 크로스 브라우저(브라우저 버전별 / 종류별 호환성) html / css / js 규정 = 권고사항 => 같은 문법에도 조금 다른 디자인 출력 * 윈도우쪽에 이상 디자인 발생 => 통합 개발 (해상도) 반응성(responsive) => css조정 (모바일 / 웹 다양한 사이즈 조정) 프로젝트 시 디자인을 고를 때 유용함 부트스트랩 => 스타트업 ( 모바일과 데스크탑 서비스를 같이 진행하기 위해 보통 이런식으로 진행) 큰 사이트(공공기관)는 해당 방식으로 모바일과 데스크탑을 엮으면 같이 에러가 발생하기 때문에 보통 분..

Mapper (Interface 생성) - mapper.xml에 저장한 쿼리문들을 어노테이션을 사용하여 간편하게 관리할 수 있도록 하는 인터페이스 생성 - 인터페이스 생성 전, 매핑 xml파일 삭제, MyBaisConfig.xml파일에서 매핑관련 내용 삭제(혹은 주석처리) - 이외에 log4j와 pom xml파일은 수정할 내용 없음 (src/main/java안에 log4j.xml, myBatisConfig.xml 넣기) - mapperinterface를 사용하게 되면 DAO를 사용하지 않아도 작성 가능( jsp 파일에서 처리하면 된다.) * MyBatisWebEx03 경로: src/main/java 패키지: com.exam.mapper //SqlMapperInter.java package com.exam..

1. Dynamic project -> Maven project 혹은 Maven project생성 2. pom.xml의 dependency설정하기 + mapping.xml / log4j.xml / myBatisConfig.xml 작성하기 ( src / main / java에 위치) 3. src / main / java에 com.exam.model1 패키지 만든 후 DAO / DTO 작성하기 4. webapp에 jsp파일 작성하여 데이터 조작 / 연결하기 Dept 테이블 내용 insert / select하기 4.0.0 com.exam mybatis 0.0.1-SNAPSHOT war org.mariadb.jdbc mariadb-java-client 3.1.4 log4j log..