본문 바로가기

컴퓨터

(98)
[TIL] Spring Boot(intellij) - 회원 관리 개발(2) - 테스트 구현 * 인프런 김영한 강사님의 스프링 입문 강의 정리 지난 강의에서 작성한 리포지토리와 서비스에 대해 각각 테스트 케이스를 작성한다. 테스트는 src/test/java의 하위 폴더에 생성하며 main의 구조를 그대로 가져온다. 자바는 JUnit 프레임 워크로 테스트를 실행한다. JUnit? - java에서 단위테스트(unit test)를 지원해주는 프레임워크 - assert()로 테스트 판별 - 테스트 어노테이션을 제공한다. ex) @Test, @Before.. ** ctrl+shift+T - 테스트 클래스 파일을 자동으로 생성해준다. ▶ 리포지토리(memoryMemberRepository) 테스트 package myStudyspring.myStudyspring.repository; import myStud..
[TIL] Spring Boot(intellij) - 회원 관리 개발(1) * 인프런 김영한 강사님의 스프링 입문 강의 정리 회원 관리 백엔드 개발을 진행하였다. 회원관리 도메인, 리포지토리, 서비스, 테스트 케이스 등을 생성하여 실행해 보았다. 현재 DB를 설정하지 않았으므로 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계한다.(데이터 저장소를 사용) ▶ 웹 계층 구조 컨트롤러 -> 서비스->리포지토리->DB 도메인 컨트롤러 : 컨트롤러의 역할 서비스 : 핵심 비즈니스 로직을 구현한다. 리포지토리 : DB에 접근하여 도메인 객체를 DB에 저장하고 관리한다. 도메인 : 비즈니스 도메인 객체 예제에서는 domain - member service - MemberService repository - memberRepository(interface), memoryMemberRe..
[TIL] Spring Boot(intellij) - 템플릿 엔진과 API * 인프런 김영한 강사님의 스프링 입문 강의 정리 스프링의 가장 기초인 정적 페이지, 템플릿엔진을 이용한 동적 페이지 그리고 MVC 패턴과 API를 공부하였다. ▶ 정적 페이지 - resources/static 하위에 html 파일을 생성 - 스프링 컨테이너에서 관련 컨트롤러가 없으면 resources: static하위의 html 파일을 찾아 웹 브라우저에 전송한다. ▶ MVC 패턴과 템플릿 엔진 MVC 패턴? - 디자인 패턴 중 하나로 Model, View, Controller의 약자이다. - 프로젝트 구성요소를 세가지의 역할로 구분한 패턴이다. - Model : 애플리케이션의 정보 - View : 사용자 인터페이스 요소 - Controller : Model과 View를 연결하는 역할, 이벤트 처리 -..
[TIL] Spring Boot(intellij) - 프로젝트 생성 우선 intellij를 사용할 것이므로 설치하고 프로젝트 환경설정을 하였다. ▶ spring 프로젝트 생성 https://start.spring.io 에서 스프링 프로젝트를 생성한다. myStudy-spring으로 프로젝트 명을 정하고 build tool은 gradle로 하였다. 의존성도 추가할 수 있는데 웹 애플리케이션을 만들것이므로 spring web과 html 화면 템플릿을 위한 thymeleaf를 추가하였다. 확실히 sts를 사용하여 프로젝트를 생성할 때보다 훨씬 간단한 방식으로 스프링 프로젝트 생성을 할 수 있었다. ▶ source tree - 깃 연동 다음과 같이 git에 repositoy를 생성하고 sourcetree에 clone 하여 깃에 연동하였다. ▶ welcome page 생성 jav..
[TIL] Spring Boot(intellij) - start (스프링 입문 강의 정리) 스프링부트는 1년간 회사에서 일을 하며 사용했던 경험이 있다. 그만두고 혼자서 프로젝트를 따보려했는데 생각보다 쉽지 않았다. 회사에서 일할 당시 거의 세팅되어있는 환경에서 페이지 처리만 했었기 때문에 혼자 프로젝트를 시작해보려했으나 왜 이런 기능을 써야하는지도 제대로 이해하지 못한 채 구글링에 의존(?)하여 어거지로 프로젝트를 따려고 하는 나의 모습에 현타가 왔다.. (심지어 꼬여서 제대로 완성도 하지 못했다. 틈날 때마다 해결 중이다..) 그러던 중 김영한 강사님의 스프링 강의가 매우 평이 좋다는 것을 알게 되었다. 로드맵도 정리가 잘 되어 있었고 이 강의를 통해서 내가 그동안 가지고 있던 많은 궁금증들이 해소될 것 같아 듣기로 결심하였다. 입문 강의는 무료인데 첫 강의 몇개를 들어보고 알게 된 것은 ..
[java] HashSet() HashSet() Set 인터페이스에서 지원하는 구현 클래스 순서대로 입력되지 않음 null 요소를 허용 중복을 허용하지 않음 HashSet() 변수 선언 HashSet set = new HashSet();//integer 형의 hashmap 데이터 HashSet set2 = new HashSet();//string 형의 hashmap 데이터 HashSet() 메서드 - .add(value) : hashset에 데이터를 추가한다. - .remove(value) : hashset의 데이터를 삭제한다. - .clear() : 모든 데이터를 삭제한다. - .size() : hashset의 길이를 출력한다. - .contains(value) : value값이 있는지 확인하고 있으면 true, 없으면 false를..
[java] toCharArray() toCharArray() - String 문자열을 char 형 배열로 반환해주는 메서드 package programmers_java; public class lv2_7 { public static void main(String[] args) { // TODO Auto-generated method stub String arr = "asdfg"; // 문자열에서 한 글자씩 접근 for(char i : arr.toCharArray()) { System.out.println(i); } //char형 배열로 만들어 배열 출력 char[] arr2 = arr.toCharArray(); System.out.println(Arrays.toString(arr2)); } } /* a s d f g */ /* [a, s,..
[Python][Error] ValueError: invalid literal for int() with base 10: '\n' ValueError: invalid literal for int() with base 10: '\n' 형변환 에러이다. 10진수 int()로 변환할 수 없는 문자열이라는 뜻이다. 코딩테스트 문제를 연습할 때 코드 상의 문제가 없는데 위 에러가 계속 떠서 당황했던 기억이 있다. import sys를 했을 때 발생하는데 sys.stdin.readline()은 뒤에 개행문자가 같이 입력되기 때문이다. -> strip()을 사용하여 해결한다.

728x90