1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/181941

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

2. 문제 풀이

class Solution {
    public String solution(String[] arr) {
        String answer = "";
        
        for(int i = 0; i <arr.length; i++){
            answer += arr[i];
        }
        return answer;
    }
}

 

 

다른 방법

class Solution {
    public String solution(String[] arr) {
        String answer = "";
        
        for(String i : arr){
            answer += i;
        }
        return answer;
    }
}

 

1. 문제

문자열 섞기 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/181942

 

2. 문제 해결

두 개의 문자열 길이가 동일하므로 substring을 사용하여 하나씩 for문을 돌림

 

 

3.문제 풀이

class Solution {
    public String solution(String str1, String str2) {
        String answer = "";
        
        for(int i=0; i<str1.length(); i++){
            answer += str1.substring(i,i+1);
            answer += str2.substring(i,i+1);
        }
        
        return answer;
    }
}

목차

프로젝트 소개

학원에서 개발자 양성 교육을 들으면서 Spring Framework를 사용하면서  프로젝트를 진행한 경험이 있습니다.

하지만 기술지원으로 1년간 근무하면서 코딩을 많이 까먹었다고 생각하여 부족한 부분들을 채우기 위해 Spring Boot 와 JPA 등 강의를 들으며 지식을 쌓았다.

강의를 들은 후 혼자서 공부한 것을 토대로 프로젝트를 진행해보고자 사용해보지 않았던  Spring Boot기반으로 프로젝트를 진행해보고자한다.

또한 이번 프로젝트를 진행하면서 핵심 목표는 무조건 책과 강의를 따라 만드는 것이 아닌 내가 직접 기능에 대한 구현 방법을 고민하고, 왜 이런 방법으로 해야하는지 항상 고민하는 습관을 만드는 것이다.

 

동물의 숲 사이트 

프로젝트는 동물의 숲 사이트로 평소 동물의 숲을 즐겨하면서 집 인테리어를 자주 바꾸는 편인데 꾸민 방을 자랑할 수 잇는

인스타그램 같은 사이트가 있으면 좋겠다고 생각하여 동물의 숲을 주제로 정하게 되었다.

 

만들고 싶은 기능

1. 숲 자랑하기

2. 집 자랑하기

3. 동물 인기 투표

4. 질문 방

 

기술 스택

Spring Boot

Thymeleaf

MySQL

sts (intellij를 사용하고 싶었지만 유로 버전은 비싸고 intellij community 는 DB연결이 되지 않아 어쩔 수 없었다..)

 

구현할 기능

우선 기본인 crud 부터 한 후에 다른 기능들을 추가할 계획이다.  추후 게시판과 댓글 좋아요 기능을 추가

- 회원 기능

회원 가입

로그인/ 로그아웃

비밀번호 찾기

회원정보보기

회원정보 수정

 

-게시판

글 작성, 수정, 삭제

글 상세보기

목록 보기

페이징

검색하기

좋아요 누르기

정렬 ( 좋아요 많은 순, 댓글 순, 최신신 , 오래된 순)

 

- 댓글 기능

댓글 작성, 수정, 삭제

답글 작성, 수정, 삭제

 

 

 

 

'개인프로젝트' 카테고리의 다른 글

[MySQl] MySQL 설치하기  (0) 2024.01.19

스프링부트에서 html 페이지로 이동할경우

@Controller를 사용하여 resource/templates에 있는 페이지를 자동으로 이동한다

 

 

사용방법

 

1. 타임리프

타임리프는 static 폴더 안에 매핑되는 html 파일을 찾아 렌더링 해준다

타임리프란, 스프링에서 제공해주는 템플릿 엔진이다

 

build.gralde에 아래와 같은 코드를 추가한다

implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'

 

 

2. Controller코드

home.html를 resource/templates 아래 있는지 확인후 있을 경우 return 해준다

 

 

 

*** 주의할점 ***

이 때 @RestController를 사용하면 html 페이지를 return 하지 않는다

 

@Controller 는 주로 @Web페이지의 컨트롤러에서 사용된다

Web 페이지용 컨트롤러는 JSP나 템플릿 엔진 View로 전환 응답의 HTML을 생성하기 때문에

기본적으로 메소드의 반환 값은 View 전환 대상을 지정할때 사용한다

 

@RestControllerJson이나 XML 등을 반환하는 WebAPI용 컨트롤러로 사용한다

이것은 View로 전환하지 않기 때문에 메소드의 값은 응답의 내용이 된다.

 

필자는 @RestController가 @Controller와 @ResponseBody의 동작을 조합한 어노테이션으로 알고 있었다.

그래서 @RestController가 @Controller의 기능을 갖고 있으니깐

@Controller 대신 @RestController를 사용해도 될 줄 알았는데

@ResponseBody 기능도 있기에 그 응답이 ResponseBody에 담겨 View 템플릿으로 렌더링 할 수없다

 

 

참고:https://thalals.tistory.com/221

 

 

+ Recent posts