현재 인프런에서 강의하고 계신 판다코딩님의 수업내용을 바탕으로 작성한 글입니다. Handling Mouse는 mouse 포인터에 효과를 부여하거나, 그 값에 따라 object를 제어하는 것입니다. 이를 응용하여 3D를 활용하여 깊이감을 제어할 수 있으며 PC에서는 Mouse를, 모바일에서는 자이로센서에 응용할 수 있습니다. 이러한 제어 방법을 익히기 위해서는 JavaScript의 addEventListener함수에 대하여 알고 있어야 합니다. addEventListener 는 웹페이지에 표시되는 특정한 요소에 event가 발생하였을 때 JavaScript 함수를 실행할 수 있도록 해줍니다. 여기서 event는 특정한 사건을 말하며, 마우스의 클릭, 마우스의 움직임 이외에 다양한 이벤트를 자바스크립트에서 ..
방명록 조회 처리 @Id 에 해당하는 번호를 이용해서 처리 컨트롤러에서는 Model을 이용해서 처리 결과를 반환 화면에서 목록 페이지로 가는 링크가 필요하므로 PageRequestDTO를 그대로 화면에 전송해서 목록으로 가는 링크를 처리 @GetMapping("/read") public void read(long gno, @ModelAttribute("requestDTO") PageRequestDTO requestDTO, Model model ){ log.info("gno: " + gno); GuestbookDTO dto = service.read(gno); model.addAttribute("dto", dto); } 방명록 수정과 삭제 •서비스 계층 삭제 – Repository의 deleteById( ..
자동으로 처리되는 날짜/시간 설정 =>엔티티의 등록시간과 수정 시간에 대한 설정을 위한 클래스를 구성 =>@EnableJpaAuditing 어노테이션 적용 MyBatis를 이용하는 경우에 SQL을 위해서 전달되는 객체는 모두 SQL 처리가 끝난 후에 어떻게 되든 상관없는 객체 JPA에서 사용하는 엔티티 객체들은 영속 콘텍스트 라는 곳에서 관리되는 객체 엔티티 클래스와 Querydsl =>다양한 상황에 맞게 동적으로 JPQL을 생성하는 방법 =>JOOQ나 Querydsl이 주로 사용 =>Querydsl의 경우 별도의 Q도메인이라는 클래스를 생성 Querydsl -> 코드내부에서 상황에 맞는 쿼리를 생성할 수 있음. 이를 위해서 Q도메인 사용 -> Querydsl 라이브러리를 이용해서 엔티티 클래스를 Q도메..
Thymeleaf 사용하는 이유 JSP와 유사하게 ${}을 별도의 처리 없이 이용가능 Model에 담긴 객체를 화면에서 JavaScript로 처리하기 편함 연산이나 포맷과 관련된 기능을 추가적인 개발없이 지원 개발도구를 이용할때 .html 파일로 생성하는데 문제가 없고 별도의 확장자를 이용하지 않음 Thymeleaf 사용 할때 설정파일 변경 spring.thymeleaf.cache=false //화면 고쳤을때 바로 변경됨 //ex1.html Thymeleaf 쓸려면 기본적으로 써야 될 항목 => xmlns:th="http://www.thymeleaf.org" Thymeleaf를 추가하는 이유 -> html과 유사해지고 싶어서 사용방법 1. 2. [[${'Hello World'}]] 반복문 처리 th:ea..
1. Spring Data JPA 이용하는 프로젝트 생성 위와 같이 Spring Initializer를 이용하여 스프링 부트 프로젝트 생성 실행시키면 오류 발생 => Spring Data JPA 라이브러리가 추가되었기 때문에 자동으로 이에 관련된 설정을 추가하였으나 구체적인 값이 지정되지 않아서 발생하는 문제 따라서 두가지 설정 필요 1. MariaDB를 위한 JDBC 드라이버 => maven mariadb 를 구글에 검색하면 찾을 수 잇음. Gradle 관련 설정 복사하여 build.gradle 파일의 dependencies 항목에 추가 2. 스프링 부트 프로젝트 내 MariaDB 설정 => application.properties 파일 설정 spring.datasource.driver-class-na..
1. 개발도구 준비 Intellij - 학교 메일 계정을 이용하면 Ultimate를 1년단위로 무료 사용이 가능 www.jetbrains.com/idea/download/download-thanks.html Thank you for downloading IntelliJ IDEA! Code-centric IDE, focused on your productivity. Full Java EE support, deep code understanding, best debugger, refactorings, everything right out of the box... www.jetbrains.com 필자는 Ultimate 버전으로 사용 2. 프로젝트 생성 Create New Project -> Spring Ini..
4. Inversion of Control Inversion of Control : 제어권이 역전된것 의존성을 관리하는 것은 owner가 하는것이 아니라 밖에서 함 OwnerController에서 OwnerRepository 없이 instance를 못만들음 즉, OwnerController는 OwnerRepository의 인스턴스를 사용 스프링이 bean들의 객체를 관리. 의존성 관리 5. IoC 컨테이너 beanFactory가 IoC 컨테이너 ApplicationContext 또한 bean Factory를 상속받기 때문에 Ioc 컨테이너 어노테이션 등으로 등록된 bean들은 서로간에 의존성주입을 IoC 컨테이너가 해줌 의존성 주입은 bean끼리만 가능 OwnerController와 OwnerReposi..
3. 프로젝트 수정하기 1. First Name이 검색되도록 FindOwners.html에서 다음과 같이 바꾸기 OwnerController에서 다음과 같이 바꾸기 OwnerRepository에서 다음과 같이 변경 실행시키면 제대로 나온다. 2. %FirstName%으로 검색하기 =>Maria를 aria로 검색을 해도 찾게 만들어주기 와일드카드를 콜론 앞에 주면 된다. 실행결과 3. Owner에 age 추가하기 1. owner에서 age 추가하기 class Owner에 age를 추가하고 getter, setter도 추가 2. 스키마 파일에 owners 테이블에 age 추가 (어떤 데이터 베이스를 사용하고 있는지 applicaiton.properties 파일을 보면 알수 있음) 3. data 파일에 col..
더보기 이 post는 백기선님의 스프링 입문 강좌를 보고 작성한 것입니다. youtu.be/HACQV_koAIU 1. 예제 프로젝트 준비 git clone https://github.com/spring-projects/spring-petclinic.git cd spring-petclinic ./mvnw package #maven을 이용하여 프로젝트 빌드. maven을 설치하지 않더라도 빌드됨 java -jar target/*.jar #프로젝트 실행 위의 명령어들을 terminal에 입력을 해준다. 윈도우에서는 git bash에서 입력하면 된다. (cmd 창에서는 안됨) maven을 이용하여 빌드를 하면 프로젝트를 빌드하여 패키지 파일을 만든다. 이 패키지 파일은 jar 프로젝트이다. 왜냐하면 이라는 옵션..
지난 여름방학 때 프로젝트 했던 php 게시판 만들기에 대해서 포스팅 하려고 합니다. 이 게시판은 보안에 대해서 아무런 조치를 하지 않았기 때문에 이에 대해 나중에 따로 추가해주시면 될것 같습니다. 또한, 매우 간단한 코드로 이루어져있기 때문에 미적인 부분은 신경쓰지 않았음을 유의해주세요 회원용 DB, 게시판용 DB를 만들었습니다. 1. 회원용 DB mysql> create table member ( -> no int not null primary key auto_increment -> user_id varchar(30) not null, -> user_pw text not null, -> email varchar(30) not null, -> ); no = 회원 번호(의미x), user_id = 아이디..