본문 바로가기

개발새발 개발하기

(14)
[Eclipse] 자주 사용하는 템플릿 설정하기 (Mac 기준) 이클립스로 알고리즘 풀 때, 입력받기 위해 항상 쓰는 코드가 있다. 이 코드를 이클립스에 미리 등록해두고, 자동완성으로 사용하는 방법을 알게 되었다! 먼저, 나는 입력받고 출력하기 위해, 항상 다음과 같은 코드를 사용한다. 이 코드를 그대로 복사해서, Eclipse -> Preference로 들어간다. Preferences 창에서 Java -> Editor -> Templates에 들어가면 다음과 같은 창이 나타나는데, 여기서 New.. 버튼을 누른다! New.. 버튼을 누르면 다음과 같이 창이 뜬다. 여기서 Pattern에는 아까 복사한 코드를 붙여넣고, Name에는 자동완성을 할 때 사용할 명령어?를 쓴다. 이 패턴을 사용해 자동완성을 했을 때, 원하는 곳에 커서를 두고 싶다면 아래와 같이 원하는 부..
Mac에서 brew를 사용해서 Open JDK 설치하기 오라클 JDK가 유료로 변경되면서 대부분 Open JDK로 전환하게 되었다. 이 포스팅은 Mac에서 brew를 사용해 간단하게 Java Open JDK를 설치하는 방법이다. 1. brew 설치 mac에서 패키지를 쉽게 다운로드하고 관리할 수 있는 homebrew를 설치한다. 처음 설치하는 경우 /bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 이미 설치된 경우 brew update && brew upgrade brew가 설치되었으면, 아래 명령어를 실행한다. brew tap homebrew/cask-versions 다음, 아래 명령어로 zulu를 검색해본다. brew search zulu..
[Spring] AOP 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다. 🏃🏻‍♀️ AOP가 필요한 상황 * 모든 메소드의 호출 시간을 측정하고 싶다면? * 공통 관심 사항 (cross-curring concern) vs 핵심 관심 사항 (core concern) = 핵심 비즈니스 로직 * 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? MemberService에 메서드 호출 시간을 측정하는 코드를 입력해야 한다. package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import org.spring..
[Spring] 스프링 DB 접근 기술 - 2 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다. h2 실행을 해둬야 제대로 동작한다. 🏃🏻‍♀️ 스프링 JdbcTemplate * 순수 Jdbc와 동일한 환경설정을 하면 된다. * 스프링 JdbcTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야 한다. 1. 스프링 JdbcTemplate 회원 레포지토리 작성 repository 패키지 아래 JdbcTemplateMemberRepository를 생성한다. package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.sprin..
[Spring] 스프링 DB 접근 기술 - 1 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다 🏃🏻‍♀️ H2 데이터베이스 설치 1. 다운로드 H2 데이터베이스 : 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 (admin 화면) 다운로드 URL로 들어가서 설치를 한다. (h2 데이터베이스 버전은 스프링 부트 버전에 맞춘다.) 2. 권한 주기 (Mac 기준) 맥 사용자는 권한을 줘야 하므로, 다운받은 폴더(h2) 아래 bin 폴더로 들어가서 h2.sh 파일 권한을 준다. chmod 755 h2.sh // 파일 권한 주기 3. 실행 h2.sh 파일을 실행하면 다음과 같은 화면이 뜬다. [참고] URL에 localhost:8082~ 이 아니라 이런 식으로 ip 주소가 뜨면, 화면이 뜨지 않는..
[Spring] 회원 관리 예제 - 웹 MVC 개발 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다 🏃🏻‍♀️ 회원 웹 기능 - 홈 화면 추가 controller 패키지 아래에 HomeController 파일을 생성한다. HomeController 안에서 인덱스 페이지 매핑을 하고 있으므로, index.html이 아닌 home.html을 인덱스 페이지로 보여줄 것이다. package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @G..
[Spring] 스프링 빈과 의존관계 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다 🏃🏻‍♀️ 컴포넌트 스캔과 자동 의존관계 설정 멤버 컨트롤러가 멤버 서비스를 통해 회원가입을 하고, 멤버 서비스를 통해 데이터를 조회할 수 있어야 한다. -> 서로 의존관계가 있다! (컨트롤러가 서비스에 의존한다.) 1. 컨트롤러 controller 패키지에 MemberController 생성 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.st..
[Spring] 회원 관리 예제 (백엔드 개발) 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다. 🏃🏻‍♀️ 비즈니스 요구사항 정리 - 데이터 : 회원 ID, 이름 - 기능 : 회원 등록, 조회 - 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 - 컨트롤러 : 웹 MVC의 컨트롤러 역할 - 도메인 : 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 - 서비스 : 핵심 비즈니스 로직 구현 (회원은 중복 가입이 안된다거나..) - 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 클래스 의존관계 - 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 - 데이..