no image
[프로그래머스] 약수의 개수와 덧셈 문제풀이
문제 두 정수 left와 right가 매개변수로 주어진다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성한다. 제한 조건 1 ≤ left ≤ right ≤ 1,000 문제풀이(C언어) #include #include #include int solution(int left, int right) { int answer = 0; int cnt; // 수들의 약수의 갯수를 count하는 변수 for(int i = left; i
2022.03.29
no image
어셈블리어 실습
https://msxpen.com/ MSXPen Check out this MSX code! msxpen.com 어셈블리어란? -절차지향언어 -기계어 list: 적은 코드를 줄번호순으로 나열함 print(): 출력 코드 run: 실행 줄번호를 마음대로 설정가능 (ex 10 200 150...) string 배열은 따옴표 안에 넣지 않으면 출력 안됨 https://msxpen.com/ MSXPen Check out this MSX code! msxpen.com
2022.03.23
no image
[프로그래머스] x만큼 간격이 있는 n개의 숫자 문제풀이
문제 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴 제한 조건 x는 -10000000 이상, 10000000 이하인 정수 n은 1000 이하인 자연수 문제풀이(JAVA) class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; answer[0]=0;// 배열 초기화 long x1 = x; // ** for(int i =0; i < n; i++){ // for문(반복문)을 n번 돌린다 answer[i] = x1*(i+1);// answer배열에 x와 i+1을 곱하여 순서대로 넣는다 } return answer; } } 1. 반복문을 n번 ..
2022.03.21
[Spring/입문/강좌] JPA 및 스프링 데이터 JPA - 스프링 DB 접근 기술
보호되어 있는 글입니다.
2022.02.03
no image
[Spring/입문/강좌] H2 데이터베이스 설치 및 순수 JDBC - 스프링 DB 접근 기술
1. H2 다운로드 및 실행 밑에 링크에서 다운로드 후 zip 해제 H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Supp www.h2database.com h2.bat 실행문을 통해 H2 실행 (url : jdbc:h2:~/test => jdbc:h2:tcp://localhost/~/..
2022.01.27
no image
[Spring/입문/강좌] 회원 등록 폼 개발 - 회원 관리 예제(웹 MVC 개발)
1. Home.html (현재 오류) controller에서 home.html로 잘 넘어감 build도 하고 localhost:8080 쳤는데 사이트에 연결할 수 없다고 뜸 스트링빈 등록 과정에서 컴포넌트 스캔과 자바 코드가 섞여 발생한 오류 and 타이핑 실수 자바 코드 등록 시 회원 서비스와 회원 리포지토리의 @Service, @Repository, @Autowired 애노테이션을 제거하고 진행한다 2. createMemberForm.html MemberController.java에 @GetMapping으로 createMemberForm을 설정한다. createMemberForm.html을 templates에 만들어 html 화면을 만들어준다. MemberController.java 파일에 creat..
2022.01.26
no image
[Spring/입문/강좌] 컴포넌트 스캔과 자동 의존관계 설정 및 자바 코드로 스프링 빈 등록 - 스프링 빈과 의존관계
1. 스프링에 연결하기 ( MemberController.java ) 컨트롤러가 있으면 스프링에 뜰 때 생성을 해서 관리함 @Autowired 로 멤버 서비스를 연결시킴 그러나 MemberService.class는 순수한 자바 클래스이므로 오류가 남 MemberService.java 파일 상단에 @Service 추가 MemoryMemberRepsitory.java 파일 상단에 @Repository 추가 2. 자바 코드로 스프링 빈 등록 (현재 오류) MemberService 클래스 위 @Service를 빼서 오류가 생김 SpringConfig.java 파일에서 return이 안먹힌다. error : Method annotated with @Bean is called directly. Use depende..
2022.01.25
no image
[Spring/입문/강좌] 회원 서비스 개발 및 테스트 - 회원 관리 예제
회원 서비스를 개발해보고 테스트 해보기! 1. 회원 서비스 개발 ( MemverService.java ) MemberService에 들어갈 함수 1. 중복 회원 방지 함수 -> join 2. 전체 회원 조회 함수 -> findMembers 3. 아이디 리턴 함수 -> findOne 2. 회원 서비스 테스트( MemverServiceTest.java ) 단축키 ctrl + alt + v 변수 추출하기 shift + f10 이전 프로그램 빌드하기 ctrl + alt + shift + T 일반 함수로 꺼내기 강좌 사이트 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 ..
2022.01.24

문제

두 정수 left와 right가 매개변수로 주어진다. 

left부터 right까지의 모든 수들 중에서, 

약수의 개수가 짝수인 수는 더하고

약수의 개수가 홀수인 수는 뺀 수를 

return 하도록 solution 함수를 완성한다.

 

제한 조건

1 ≤ left ≤ right ≤ 1,000

 

 

문제풀이(C언어)

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int left, int right) {
    int answer = 0;
    int cnt; 					// 수들의 약수의 갯수를 count하는 변수
        for(int i = left; i <= right; i++){     // left와 right 사이 수들을 구하기 위한 반복문
            cnt =0; 			     
            for(int j = 1; j <= i; j++){
               if(i%j == 0) cnt++; 		// i에서 j로 나눈 나머지 값이 0이면 cnt증가
            }    
            if(cnt %2 == 0) answer += i; 	// 약수의 갯수(cnt)가 짝수라면 i값 더하기 
            else answer -= i; 			// 홀수라면 i값 빼기
        }        
    return answer;
}

 

https://msxpen.com/

 

MSXPen

Check out this MSX code!

msxpen.com

 

어셈블리어란?

-절차지향언어 

-기계어

 

  • list: 적은 코드를 줄번호순으로 나열함
  • print(): 출력 코드
  • run: 실행
  • 줄번호를 마음대로 설정가능 (ex 10 200 150...)
  • string 배열은 따옴표 안에 넣지 않으면 출력 안됨

 

 

 

 

https://msxpen.com/

 

MSXPen

Check out this MSX code!

msxpen.com

 

문제

함수 solution은 정수 x와 자연수 n을 입력 받아,

x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴

 

제한 조건

x는 -10000000 이상, 10000000 이하인 정수

n은 1000 이하인 자연수

 

 

문제풀이(JAVA)

class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        answer[0]=0;			// 배열 초기화
        long x1 = x; 			// **
        for(int i =0; i < n; i++){ 	// for문(반복문)을 n번 돌린다 
            answer[i] = x1*(i+1);	// answer배열에 x와 i+1을 곱하여 순서대로 넣는다
        }
        
        return answer;
    }
}

1. 반복문을 n번 돌리는 이유는 x부터 시작해 x씩 증가하는 숫자를 n개 저장해야하기 때문입니다. 
2. **표시되어있는 라인을 보면 int를 long으로 바꿉니다.

 

 만약 데이터형을 long으로 바꾸지 않는다면 연산의 값이 int 범위에서 벗어날 때 answer[i]에 엉뚱한 값이 들어가기 때문에 long으로 꼭 바꿔주어야 합니다. 
=> 연산의 값 : x1*(i+1) int 범위 : -2,147,483,648 ~ 2,147,483,647

[Spring/입문/강좌] JPA 및 스프링 데이터 JPA - 스프링 DB 접근 기술

2022. 2. 3. 23:44

This is a protected article. Please enter the password.

1.  H2 다운로드 및 실행

밑에 링크에서 다운로드 후 zip 해제

 

H2 Database Engine

H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size     Supp

www.h2database.com

 

h2.bat 실행문을 통해 H2 실행

 

접속 완료!

(url : jdbc:h2:~/test => jdbc:h2:tcp://localhost/~/test) 

test.mv.db 생성 여부 확인 후 진행

(cmd 창을 새로 열고 dir을 치면 찾을 수 있다)

 

member db 만들기

create table member
(
 id bigint generated by default as identity,
 name varchar(255),
 primary key (id)
);

 

sql을 따로 관리하는 파일 만들기

 

2.  순수 JDBC

2-1 build.gradle

implementation 'org.springframework.boot:spring-boot-starter-jdbc'
runtimeOnly 'com.h2database:h2'

dependencies에 jdbc implements 해주기

 

2-2 JdbcMemberRepository.java 

 

MemberRepository implements 하기

 

2-3 SpringConfig.java 

 private DataSource dataSource;

    @Autowired
    public SpringConfig(DataSource dataSource){
        this.dataSource = dataSource;
    }
@Bean
public MemberRepository memberRepository(){
    //return new MemoryMemberRepository();
    return new JdbcMemberRepository(dataSource);
}

DataSource 추가 후

return 문 바꾸고 실행하면 완료!!

 

 

결과 페이지

ID가 같은 번호 두 번 입력되어 저장됨!!


강좌 사이트

 

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세

www.inflearn.com

 

1.  Home.html (현재 오류)

 

 

controller에서 home.html로 잘 넘어감

build도 하고 localhost:8080 쳤는데 사이트에 연결할 수 없다고 뜸

 

스트링빈 등록 과정에서 컴포넌트 스캔과 자바 코드가 섞여 발생한 오류

and 타이핑 실수

 

자바 코드 등록 시

회원 서비스와 회원 리포지토리의

@Service, @Repository, @Autowired 애노테이션을 제거하고 진행한다

 

결과

 

 

2.  createMemberForm.html 

MemberController.java에 @GetMapping으로 createMemberForm을 설정한다.

createMemberForm.html을 templates에 만들어 html 화면을 만들어준다.

회원 가입 버튼 클릭 시 이동 화면
등록 버튼 누를 시 나오는 화면

MemberController.java 파일에 create 함수의 return 형이

redirect:/이므로 초기 화면으로 돌아간다.

3.  memberList.html 

MemberController.java에 @GetMapping으로 memberList를 설정한다.

memberList.html을 templates에 만들어 html 화면을 만들어준다.

 

회원 가입 화면에서 등록하면

회원 목록 화면에서

등록된 회원의 목록을 확인할 수 있다.


 

 

강좌 사이트

 

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세

www.inflearn.com

 

1.  스프링에 연결하기 ( MemberController.java ) 

 

컨트롤러가 있으면 스프링에 뜰 때 생성을 해서 관리함

 

@Autowired 로 멤버 서비스를 연결시킴

그러나 MemberService.class는 순수한 자바 클래스이므로 오류가 남

 

MemberService.java 파일 상단에 @Service 추가

MemoryMemberRepsitory.java 파일 상단에 @Repository 추가

 

2.  자바 코드로 스프링 빈 등록 (현재 오류)

 

MemberService 클래스 위 @Service를 빼서 오류가 생김

 

SpringConfig.java 파일에서 return이 안먹힌다.

error : Method annotated with @Bean is called directly. Use dependency injection instead.

 

상단에 @Configuration를 작성하지 않아 오류가 생김

@Configuration

 

 

DI에는 필드 주입, 생성자 주입, setter 주입이 있다. (대부분 생성자 주입을 사용)

 

필드 주입

@Autowired private MemberService memberService



생성자 주입

@Autowired
public MemberController(MemberService memberService) { 
    this.memberService = memberService;
}


setter 주입

@Autowired
public void setMemberService(MemberService memberService){
    this.memberService = memberService;
}

 

 

강좌 사이트

 

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세

www.inflearn.com

 

 

회원 서비스를 개발해보고 테스트 해보기!

 

 

1.  회원 서비스 개발 ( MemverService.java ) 

 

MemberService에 들어갈 함수

1. 중복 회원 방지 함수 -> join

2. 전체 회원 조회 함수 -> findMembers

3. 아이디 리턴 함수 -> findOne

 

 

 

2. 회원 서비스 테스트( MemverServiceTest.java ) 

 

 

 

단축키

ctrl + alt + v 변수 추출하기

shift + f10 이전 프로그램 빌드하기

ctrl + alt + shift + T 일반 함수로 꺼내기


 

 

강좌 사이트

 

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세

www.inflearn.com