728x90 분류 전체보기138 자바가상머신 (JVM) JVM이란? - 자바가상머신의 줄임말이다. - 자바 프로그램을 JVM을 통해 실행시킨다. - 가상 머신이라는 프로그램을 실행시키기 위해 물리적으로 유사한 머신을 소프트웨어로 구현한 것이다. JVM을 사용하는 이유 - 크게 두가지로 생각할 수 있다. 1. OS에 상관없이 자바 프로그램을 실행시키기 위해서! - JVM은 자바 프로그램과 OS사이에서 중개자 역할을 하며 자바 프로그램이 OS의 메모리를 사용하는 것을 도와준다. 따라서 window, mac에 관계없이 프로그램을 실행시킬 수 있다. -> 플랫폼의 독립적 2. 편리한 메모리 사용! - JVM은 메모리 관리를 직접해준다. 메모리를 직접 할당하고 해지해야 하던 C프로그램과 다르게 JVM은 메모리를 관리해주는 기능이 있다. JVM 실행 과정 1. 프로그램.. 2021. 8. 13. 순수 자바를 이용한 스프링 의존관계의 원리(IoC,DI) 이번 포스팅에는 스프링이 쓰이지 않지만 순수한 자바를 통해 의존관계를 왜 쓰는지 어떻게 사용되는지 알아보겠습니다. 좋은 객체지향 애플리케이션이란?? 정말 많은 이야기가 있고 제가 지금 떠오르는 개념만 하더라도 SRP : 한 클래스에서는 하나의 책임만 DIP : 개발자는 추상화의 의존하며 구체화의 의존하면 안된다 OCP : 소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀있다 이런 개념들이 있습니다!! 저는 개인적으로 다형성이 중요하다고 생각합니다. 바로 새로운 기능을 추가하거나 변경할 때 클라이언트를 변경하지 않고 구현기능을 유연하게 바꾸는 것입니다. 쉽게 이해하기 위해 예를 하나 들어보겠습니다!! 춘향이와 몽룡이의 이야기를 볼때 춘향과 몽룡은 역할입니다!! 그리고 이 역할을 수행하는 배우들을 구현체라.. 2021. 8. 7. 스프링으로 게시판 만들기 6 - 데이터 수정 이번 포스팅에서는 데이터를 수정하는 방법에 대해서 해볼겁니다! 처음에는 멍청하게도 수정된 내용을 다시 저장하면 되지 않나? 라고 생각했는데 그럼 원래 데이터는...?? 수정하면 데이터의 id도 바뀌는건데 그건 너무 불필요한 과정인거 같았습니다. 그래서 이고저곳 찾아본 결과 @Transactional을 사용하여 쉽게 데이터를 수정할 수 있었습니다. 현재 글의 내용과 수정하기 버튼을 보실수 있습니다. @GetMapping("/basic/board/{boardId}/edit") public String boardEditForm(@PathVariable Long boardId,Model model) { Optional boards = boardRepository.findById(boardId); Board bo.. 2021. 8. 5. 스프링으로 게시판 만들기 5 - 날짜 추가 요번 포스팅에서는 게시물을 작성한 날짜를 추가해 보겠습니다. jpa에 아주 좋은 기능이 있어서 그것을 이용해볼 것입니다!! 그 기술은 바로 JPA Auditing 입니다. 데이터베이스에 저장할때와 수정할때 시간을 자유롭게 사용할 수 있습니다. 우선 Timestamped라는 클래스를 만들고 Board클래스에 상속하도록 합니다. Timestamped 코드 package hello.myproject.domain; import lombok.Getter; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.da.. 2021. 8. 3. 스프링으로 게시판 만들기 4 - view template 이전 포스팅에서 controller을 만들었습니다. 이번에는 이 컨트롤러를 이용하고 thymeleaf라는 template 엔진을 이용하여 view를 만들어 보겠습니다!! 우선 잘 작동하는지만 확인하기 위해 만든 view라 너무 부끄럽네요 ㅎㅎㅎㅎ 처음 localhost:8080으로 들어왔을 때 보여주기 위한 화면을 만들어보겠습니다. main > resources > static안에 index.html을 만듭니다. index.html안의 모습입니다... 아무것도 없죠 ㅎㅎ 서버를 실행시켰을 때 모습입니다 ㅎㅎㅎㅎ 이번에는 글쓰기와 게시글 보러가기를 눌렀을 때 view를 만들어보겠습니다!! main > resources > templates > basic 안에 board.html과 boards.html을 만.. 2021. 8. 3. 스프링으로 게시판 만들기 3 - controller만들기 프로젝트 생성과 데이터베이스 연동 그리고 jpa를 이용하여 테이블까지 만들었으니 이번에는 controller를 이용해 url을 어떻게 처리할지 그리고 테이블에 값을 넣어보는거까지 오늘 포스팅에 담아보겠습니다!! 우선 text와 writer를 form형태로 받아올 생각입니다. form형태를 받는것은 데이터를 param형태로 받아오는 것이기 때문에 @RequestParam 혹은 @ModelAttribute로 받아올 수 있습니다. 쉽게 생각했을 때 @RequestParam -> text와 writer를 각각 받는 것이고 @ModelAttribute -> text와 write를 객체로 한번에 받아온다고 생각하면 쉽습니다. controller 코드 package hello.myproject.controller; .. 2021. 8. 2. 이전 1 ··· 7 8 9 10 11 12 13 ··· 23 다음 728x90