전체방문자

508,247

today 81
yesterday 892
본문 바로가기

전체 글

작성일: 2020. 2. 22. 20:16
작성일: 2020. 2. 12. 11:24
Spring MVC - 유연한 다중 파일업로드 핸들러 만들기 (Multipart upload) 다중파일 안녕하세요, 이번 포스팅에서는 Spring MVC를 이용해 웹사이트 구축시 다중파일 업로드를 구현해야하는 상황에서, 발생했던 간단한 팁을 알아보려고 합니다. 유연한 다중파일 업로드 핸들러1. 일반적인 파일 업로드 핸들러 일반적인 경우 다중파일 업로드를 위해서 위와 같이 핸들러를 만들게 됩니다. 중요한 점은 RequestParam(key)의 괄호안의 key값과, form을 이용해 파일을 업로드할때의 key값이 일치해야 한다는 점입니다. 그러면, @RequestParam의 괄호 안에 적힌 (file1, file2)에 사용자가 form을 통해 업로드하는 파일들이 각각 맵핑됩니다. (Postman을 이용해 form을 제출했습니다.) 문제점위에서 구현한 핸들러는 두가제 문제를 안고있습니다.업로드할 파일의..
작성일: 2020. 1. 29. 13:56
OOAD - 진정한 캡슐화 (잘못된 캡슐화 예제) 진정한 캡슐화 진정한 캡슐화에 대해 알아보도록 하겠습니다. 진정한 캡슐화제목이 조금 이상한듯 싶지만, 우리가 알고 있는 이전의 캡슐화는 진짜 캡슐화가 아닐 확률이 높습니다. 때문에 진정한 캡슐화를 알아보자는 취지에서 이런 제목을 붙혔습니다. 우선 보통의 경우 캡슐화의 의미에 대해서 알아보겠습니다. 1. 캡슐화란 ? 캡슐화란 내부의 구현을 인터페이스를 통해 숨기는것을 말합니다. 설계중에서 변경될 가능성이 높은 부분을 구현 이라고하며, 상대적으로 안정적인 부분을 인터페이스라고 부릅니다. 캡슐화는 이런 변경가능성이 높은 구현을 숨기고 상대적으로 안정적인 부분을 공개함으로써 변경을 최소화하도록 합니다. 2. 캡슐화가 필요한 이유?상태와, 행동을 객체라는 하나의 단위로 묶는 이유는, 객체 스스로 자신의 상태를 처..
작성일: 2020. 1. 27. 18:18
OOAD - 데이터 주도 설계의 문제점(결합도와 응집도) 데이터 주도 설계의 문제점 이번 포스팅에서는 지난 포스팅에서 다루었던 책임주도 설계와 대비하여 소개되는 데이터 주도 설계 방식을 알아보고 결합도와 응집도에 대해 알아보도록 하겠습니다. 이 포스팅은 OBJECTS(코드로 이해하는 객체지향 설계)라는 책을 토대로 작성되었습니다. 지난 포스팅 ( https://galid1.tistory.com/681 )과 이어 보시는것이 도움이 더 많이 될것입니다. 데이터 주도 설계데이터 주도설계란 간단히 말씀드려 객체가 가져야할 데이터에 초점을 두고 설계를 하게되는 방식을 일컫습니다. 데이터 주도 설계에서는 객체 자신이 포함하고 있는 데이터를 조작하는 데 필요한 행동을 정의하게 됩니다. 반면 책임주도 설계에서는 다른 객체로부터 자신에게 요청할 수 있는 요청을 수행하기 위해 ..
작성일: 2020. 1. 27. 15:09
OOAD - 책임, 역할, 협력을 이용한 객체지향 설계 역할, 책임, 협력을 이용한 유연한 설계 이번 시간에는 OOP 설계 방법 (역할, 책임, 협력)에 대해 알아보도록 하겠습니다. 이 포스팅은 오브젝트 (코드로 이해하는 객체지향 설계)라는 책을 토대로 작성되었습니다. 코드 https://github.com/galid1/oop_study 아래의 설명들은 위의 코드를 토대로 설명을 하고 있습니다. 1. 시나리오2. 에서 앞으로 설명드릴 역할, 책임, 협력이라는 단어들에 대한 효율적인 이해를 돕기 위해, 간단한 영화 예메 시스템시나리오를 살펴보도록 하겠습니다. 1.1 요구사항 분석우선, 영화 예매 시스템에서 빠질 수 없는 영화에 대한 요구사항을 분석하도록 하겠습니다. 영화영화는 제목, 상영시간(running time), 가격 정보 등의 영화의 기본적인 정보를 가..
작성일: 2020. 1. 26. 22:51
Spring Boot - 한글, 한자 인코딩(Encoding) 에러시 체크리스트! SpringBoot Db사용시 인코딩 이번 포스팅은 Spring Boot를 이용해 만들어진 어플리케이션 서버에서, DB에 값을 입력하는 경우 한자 또는 한글의 인코딩이 이루어지지 않았던 문제를 해결한 과정에대해 정리해보려 합니다. 문제상황제가 만든 어플리케이션은 중국인 관광객들을 대상으로하는 애플리케이션이었습니다. 중국인 관광객이 사진을 업로드하면, 그 사진에 대한 정보를 입력해주어야 하는 상황이었고, 이때 간체로 데이터를 입력해주어야 했습니다. 이를 SpringBoot로 만든 웹을 이용해서 입력하기로 했고, 입력한 결과 DataBase에서 간체를 인식하지 못하는 상황이 발생했습니다. 체크리스트1. Database(&& Table) Charset/Collation첫번째로 확인해보아야 할 것은 Databa..
작성일: 2020. 1. 17. 11:05
Spring Boot - resourceLoader가 jar에 포함된 File을 찾지 못하는 에러(classPath 사용시 발생) ResourceLoader classPath롤 이용해 파일을 찾는 경우 getFile() 사용시 에러 ResourceLoader classPath롤 이용해 파일을 찾는 경우 getFile() 사용시 에러1. 상황상황은 이렇습니다. SpringBoot를 이용해 서버를 구축하는 도중 file을 가져와야할 상황이 발생했고, 해당 파일은 classpath를 통해 접근할 수 있도록, src/main/resources/ 경로에 포함시키기로 했습니다. 또한 classpath 에 존재하는 파일에 쉽게 접근할 수 있도록 Spring에서 제공하는 ResourceLoader를 이용하기로 했습니다. 위그림을 보면, resourceLoader를 통해 성공적으로 file을 불러온것을 볼 수 있습니다. 하지만, 이 프로그램을 ja..
작성일: 2020. 1. 8. 17:17