[스프링부트 입문] 시리즈 #05 회원 서비스 개발 + 테스트
·
Back/Spring(Springboot)
스프링부트 입문 시리즈 #01 프로젝트 생성하기 #02 정적페이지 만들고 화면 띄우기 #03 회원 관리 페이지 만들기 #04 회원 리포지토리 테스트케이스 #05 회원 서비스 개발 + 테스트 👈 지난 시간에는 회원 리포지토리를 만들어 회원 등록, 회원 검색 기능을 구현해 보고 Test Case를 만들어 테스트까지 모두 마쳤다 이번에 만들 회원 서비스 만들어놓은 회원 도메인과 리포지토리를 활용해서 실제 비즈니스 로직을 구현할 것이다 회원 서비스 클래스 생성 src / main / java / yeon.hello_spring 에서 service 패키지를 만들고 그 안에 MemberService 클래스를 생성한다 회원가입 메소드 회원가입 기능을 구현할 때는 리포지토리에 member를 save 해주기만 하면 된다..
[스프링부트 입문] 시리즈 #04 회원 리포지토리 만들기 + 테스트
·
Back/Spring(Springboot)
스프링부트 입문 시리즈 #01 프로젝트 생성하기 #02 정적페이지 만들고 화면 띄우기 #03 회원 관리 페이지 만들기 #04 회원 리포지토리 만들기 + 테스트 👈 1. Test Case 개발한 기능을 테스트할 때 Java의 main 메소드를 통해서 실행하거나, 웹 어플리케이션의 Controller를 통해서 해당 기능을 실행하는데 이런 방법은 준비와 실행이 오래 걸리고, 반복하기 어렵고, 여러 테스트를 한번에 실행하기 어렵다는 단점이 있다 Java는 JUnit이라는 프레임워크를 이용해 이러한 문제를 해결한다 src / test에 이미 테스트를 할 수 있는 공간이 준비되어있다 scr / test/ java에 있는 yeon.hello_spring 패키지 안에 repository라는 패키지를 만들고 Memory..
[Java] Optional이란?
·
Language/Java
개발을 할 때 가장 많이 발생하는 예외 중 하나가 바로 NullPointerExeption이다 이 NPE를 피하려면 null 여부를 검사해야하는데, null 검사를 해야하는 변수가 많은 경우 코드가 복잡해지고 번거롭다 그래서 Java 8 버전부터 등장한 것이 Optional 클래스이다 Optional은 null 값이 올 수도 있는 값을 감싸는 Wrapper 클래스로 참조하더라도 NullPointerExeption이 발생하지 않도록 도와준다 자바 공식 문서에는 다음과 같이 Optional을 만든 의도가 적혀있다 메소드가 반환할 결과 값이 '없음'을 명백하게 표현할 필요가 있고 null을 반환하면 에러가 발생할 가능성이 높은 상황에서 메소드 반환 타입으로 Optional을 사용하자는 것이 Optional을 ..
[스프링부트 입문] 시리즈 #03 회원 관리 페이지 만들기
·
Back/Spring(Springboot)
스프링부트 입문 시리즈 #01 프로젝트 생성하기 #02 정적페이지 만들고 화면 띄우기 #03 회원 관리 페이지 만들기 👈 #04 회원 리포지토리 테스트 케이스 회원관리 페이지는 다음과 같은 순서로 만든다 비즈니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 DB: 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 스프링의 전반적인 구조를 이해하기 위해 단순한 비즈니스를 구현할 것이다 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메..
[스프링부트 입문] 시리즈 #02 정적페이지 만들고 화면 띄우기
·
Back/Spring(Springboot)
스프링부트 입문 시리즈 #01 프로젝트 생성하기 #02 정적페이지 만들고 화면 띄우기 👈 #03 회원 관리 페이지 만들기 #04 회원 리포지토리 테스트 케이스 지난시간에는 스프링 부트 프로젝트를 생성했다 생성된 프로젝트의 폴더구조를 보면 src 폴더에 main과 test 폴더가 있다 main 폴더의 java 폴더에는 실제 패키지와 소스파일이 있고, resources에는 실제 자바 코드파일을 제외한 설정파일이 들어가게 된다 (자바 파일을 제외한 모든 파일은 resources에 들어간다고 보면 됨) test 폴더는 테스트 코드와 관련된 소스들이 들어간다 이렇게 test폴더가 따로 존재할 정도로 요즘 개발 트렌드에서 test 코드는 정말 중요하다 그 다음으로 중요하게 살펴볼 파일은 build.gradle 파일..
[Github] 이클립스(Eclips)에서 Git 연결 및 커밋하기
·
Devops/Git & SVN
회사에서는 SVN을 사용해 버전을 관리하고 있다 스프링부트를 공부하면서 이클립스로 프로젝트 하고있는데 공부한 것 들을 깃허브에 올려두고 싶어 이클립스와 깃허브를 연동하는 방법을 알아보았다 Git/Github의 개념은 👉여기에 자세히 적어두었다 1. 깃허브에서 레포지토리(Repository) 생성하기 다음과 같이 설정한 뒤 Create Repository를 하면 간단하게 레포지토리를 생성할 수 있다 README file은 있어도 되고 없어도 되는데 난 꼭 추가를 하는 편이다..ㅎㅎ 2. 이클립스에서 Git 레포지토리 연동하기 Window - Show View - Other 선택 아래와 같은 창이 뜨면 Clone a Git repository를 선택한다 Clone a Git repository를 선택하면 다..
[스프링부트 입문] 시리즈 #01 프로젝트 생성하기
·
Back/Spring(Springboot)
스프링부트 입문 시리즈 #01 프로젝트 생성하기 👈 #02 정적페이지 만들고 화면 띄우기 #03 회원 관리 페이지 만들기 #04 회원 리포지토리 테스트 케이스 #05 회원 서비스 개발 개발환경 IDE - Eclipse Language - Java 11 SpringBoot 프로젝트 생성하기 스프링부트 프로젝트를 생성하는 방법은 아주 간단하다 옛날옛적에는... 직접 밑바닥부터 하나하나 만들었다고 하는데 요즘은 그냥 사이트에서 자동으로 뚝딱 만들어준다! 다음 사이트에 접속해 프로젝트를 생성하면 된다 👉스프링부트 프로젝트 생성 Project Gradle을 선택해준다 Gradle과 Maven의 차이는 여기에 정리해 놓았다 Language Java Spring Boot 2.x 버전을 선택해준다 3.0부터는 Java..
국가연구자번호 | 과학기술인등록번호 발급 및 조회방법
·
IT 정보
회사에서 과학기술인등록번호를 발급받아 제출하라는 요청을 받고 과학기술등록번호가 뭐지? 하고 찾아봤다 국가연구자번호란? 국가연구자번호(구 과학기술인등록번호)란 국가연구개발에 참여하는 연구자의 개인정보 노출을 최소하하기 위해 주민등록번호를 대체하기 위해서 만들어진 프로그램이다 국가 R&D 사업 및 과제에 참여하는 연구자에게 부여되는 고유번호이며 이 번호를 발급받아야 국가 R&D 과제를 신청할 수 있는 자격이 주어지고, 연구활동도 정상적으로 수행할 수 있다 NTIS에서 발급하며 국가연구자번호를 검색해 그동한 수행한 국가 R&D 과제 이력을 볼 수 있다 이처럼 한 번만 발급받으면 모든 국가 R&D 과제 신청 및 관리를 편리하게 할 수 있다! 국가연구자번호 발급받기 1. 범부처통합연구지원시스템 홈페이지에 접속 👉..
[JavaScript] var, let, const 차이
·
Language/Java Script
회사에서 개발중인 프로젝트 코드를 읽다가 변수를 선언하는데 var와 const가 섞여있는것을 보고 이 두개의 차이가 궁금해서 찾아보고 정리하는 시간을 가져보았다 JavaScript 에서는 변수를 선언할 때 var, let, const를 사용한다 모두 변수를 선언하기 위해 사용하지만 각각의 기능에는 조금씩 차이가 있다 변수 선언 var var title = 'book'; title = 'movie'; title = 'music'; 중복 선언 O 재할당 O var는 원조 변수 선언 방식으로 동일한 이름으로 중복 선언이 가능하다 즉, 마지막으로 할당된 값이 변수에 최종으로 저장된다 변수를 유연하게 사용할 수 있지만, 기존에 선언해둔 변수의 존재를 잊고 재선언 하는 경우 문제가 발생할 수 있다 간단한 테스트에는..