본문 바로가기

전체 글190

[Dev] 22.09.15. Thymeleaf 를 사용하는 이유 Thymeleaf 를 사용하는 이유 기존에는 thymeleaf를 사용할 생각이 전혀 없었다. Front-end는 단순히 html과 bootstrap을 통한 css, javascript를 기반으로 jsp 를 사용하려고 생각했으며, Back-end를 SpringBoot를 사용해볼 생각이었다. 그런데 처음 필자에게 SpringBoot 강의를 들어보고 작업을 해보라고 권유해준 현직 지인이 front를 vue.js를 사용했다고 하여, 국비 과정 속에 잠시 배웠던 vue.js 내용을 참고해서 만들어 볼 생각이었다. 그러면서 들어온 질문이 thymeleaf는 배웠냐는 것이었다. 우리말로 들으면 타임리프. 당연히 time leap가 먼저 생각날 수밖에 없었는데, 실제로는 thymeleaf로 단어를 검색해보면 '쌍떡잎식.. 2022. 9. 15.
[Dev] 22.09.14. static과 templates directory static과 templates directory 만든 project의 형태를 보면 src > main > resources 하위에 static과 templates가 존재한다. 각각의 folder에는 어떤 친구들이 들어가게 되는지 궁금해져서 검색을 해봤다. 위 글을 발견한 곳이다. 글을 정리하면 다음과 같다. static directory static directory는 js, css, 사진 등의 static(정적) file을 저장할 때 사용하는 directory이다. Server로부터의 data binding이 필요하지 않은 페이지도 이곳에 포함될 수 있다. templates directory Freemarker, jsp, thymeleaf, 서버로부터의 dynamic(동적) rendering이 필요한.. 2022. 9. 14.
[Dev] 22.09.14. index.html 띄우기 index.html 띄우기 어젯밤. 간단히 index page를 띄워놓는 작업을 마무리 한 후 잠에 들어, 오늘부터 본격적으로 개발을 시작하려고 했으나 시작부터 난관에 봉착했다. 우선 여러 사람들의 테스트인 main > resources 하위의 static 과 templates 에 page를 만들어서 띄우는 것이었다. 이 두 folder의 용도 차이는 다음 게시글에서 간단히 작성해두려고 한다. SpringBoot docs에는 위 이미지와 같이 언급되어 있다. static과 templates에서 모두 welcome page가 될 수 있으며, static에서 우선적으로 확인한다는 말이다. 때문에 server를 실행해보면 작성한 index.html 이 반겨주는 것을 확인할 수 있다. 하지만 다른 페이지를 띄우.. 2022. 9. 14.
[DataBase] 22.09.13. Recipository Project DB 구상 Recipository Project DB 구상 구상한 페이지를 기반으로 DataBase와 객체를 구상해볼 것이다. 구상 과정 게시글 작성 form Menu class num : 게시글 번호 title : 게시글 제목 writer : 게시글 작성자 content : 게시글 내용 category : 카테고리 link : 참고 링크 image_path : 이미지 저장 경로 private/public : 게시글 공개 여부 모든 페이지는 이렇게 작성한 게시글 데이터를 기반으로 돌아간다. Menu 객체를 만들어, 그 안에 데이터가 담기도록 한다. 그리고 그 data를 저장할 table도 필요하다. 게시글 확인 Menu class num : 게시글 번호 title : 게시글 제목 writer : 게시글 작성자 co.. 2022. 9. 13.
[Design] 22.09.11. 'Recipository' 구성 Design Page 구성 Design 사실 디자인은 필자가 하고 싶은 일이 아니다. 그래도 홀로 진행하는 프로젝트이므로, 홀로 모든 일을 진행해야 한다. 디자인에 재능이 없고 하고 싶지 않아도 해야할 일이다. 그리고 어떤 구성이 될 것인지를 눈으로 보는 것이 좋기 때문에 작업을 마쳤다. 작업은 9월 10일자로 완성했었다. 기반은 처음 이 카테고리 항목에 작성했던 게시글이다. 이미 '만개의 레시피' 라는 홈페이지가 존재한다는 사실을 나중에서야 알았다. 막상 페이지 이름을 들어보니 익숙하기도 했는데, 그것과는 별개로 이번 프로젝트는 개인적인 필요에 의해 만드는 일종의 저장소 역할을 하는 곳이 필요해서 만들게 된 것이다. 그리고 SpringBoot를 사용하는 첫 프로젝트이므로 최대한 단순하게 구성하였다. 기능은 다음과 .. 2022. 9. 11.
[Refactoring] 22.09.02. 주소창에 직접 경로 요청을 할 때의 filtering 주소창에 직접 경로 요청을 할 때의 filtering 주소창에 직접 입력하는 과정을 거치면서, 그런 경우에는 header의 referer 정보에 null 값이 들어감을 알게 되었다. 이를 Filter로 처리할 수 있을 것 같다. Filter의 내용은 단순하다. 원하던 페이지가 아닌 다른 페이지로 강제 redirect 시키는 것이다. 그리고 그 경로 요청에 대한 처리를 할 수 있는 controller와 page를 간단히 만들어 두었다. 이러면 주소창으로 직접 url 요청을 막을 수 있겠다. 아직 이상한 부분도 많고 정신 사납지만, 이 정도로 국비 교육에서 했던 프로젝트에 대한 refactoring을 마무리 지으려고 한다. 앞으로도 할 일이 많다. 이 친구는 이제 장난감 정도로 생각하고 가지고 놀 생각이며,.. 2022. 9. 2.