[Spring Boot 사이드 프로젝트] 5. 로또명당 프로젝트 회고
·
사이드 프로젝트/로또명당
사이드 프로젝트를 마무리하며 정리하기로 했다.짧은 기간이었지만 배운 것과 느낀 것이 참 많았다.1.프로젝트 소개 번호 생성하기를 누르면 로또 5게임의 랜덤한 번호를 생성해준다.여기까지는 코딩을 처음배울 때 많이 만드는 부분이라 뭘 더해야 특별할까해서 몇가지 기능을 추가했다.  이러한 통계기능인데, 추출기로 생성한 번호를 실제 당첨 번호와 비교해서 추출기의 당첨확률이 얼마나 되는지 통계를 만들어주는 기능이다. 이 기능을 만들다 테스트로 만든 계정에서 2등 번호가 나왔다. 이 번호를 샀어야 했는데... 이 기능을 위해 스프링 부트의 `@Scheduler`과 `jsoup`라이브러리를 사용했다. 매주 로또 당첨 번호가 공개되면 자동으로 그 번호를 크롤링해 DB에 넣어준다.그리고 이번주에 생성된 번호와 비교해 당..
[Spring Boot 사이드 프로젝트] 4. 정적 리소스(html, css, js) 바로 반영 설정(spring boot devtools)
·
사이드 프로젝트/로또명당
웹디자인을 흔히 1px의 전쟁이라고들 한다.미적인 요소에 있어서 모든 사람은 인간의 영역을 뛰어넘은 매의 눈을 가지기 마련이며, 매우 뛰어난 직감으로 1px의 오차까지 다 잡아내기 때문이다. 디자인은 웹사이트의 첫인상이다. 디자인이 구린 웹사이트는 아무리 기능이 뛰어나도 예선탈락, 서류광탈 할 가능성이 높아지기 때문에 디자인은 정말 중요하다! 물론 디자이너가 아니라면 한계가 있겠지만 본인의 눈에 보이는 구린 요소 정도는 잡고 가야 할 것이다. 그 과정에서 굉장히 많은 수정이 발생하게 되는데, 이때마다 서버를 껐다 켰다 했다가는 소중한 시간이 서버 재기동에 모두 사용되어 버릴 것이다. 소중한 시간을 절약할 수 있도록 해주는 편리한 기능을 잘 사용해보도록 하자. 바로 `Spring boot devtools`..
[Spring Boot 사이드 프로젝트] 3. Thymeleaf Layout 적용 (Tiles 대체)
·
사이드 프로젝트/로또명당
지난 포스팅에 이어 이번에는 `thymeleaf`를 이용해 Layout을 적용해 보겠다.`jsp`를 사용할 때에는 `tiles`를 사용했었다 보니 `thymeleaf`의 문법이 낯설어 약간의 거부감이 들었지만 사용자가 직접 설정할 부분이 현저히 줄어들어 굉장히 편하다는 인상을 받았다.그럼 차근차근 적용을 시작해 보자. 0. 레이아웃 적용 왜 하나?1) 편하다나에게는 가장 중요한 이유라고 볼 수 있겠다. 여러 페이지를 만들다 보면 결국에 공통적으로 들어가야 할 부분이 생기기 마련인데 레이아웃 적용을 안 해놓으면 그때마다 복사 붙여 넣기를 할 수밖에 없다. (사실 복붙이야 개발자의 일상이니까 조금 피곤하고 말면 되기는 한다.)2) 유지보수이게 정말 중요한데, 유지보수에 드는 에너지를 현저히 줄여준다. 100..
[Spring Boot 사이드 프로젝트] 2. 깃허브에 프로젝트 올리기(인텔리제이)
·
사이드 프로젝트/로또명당
1. 환경IntelliJ IDEA를 이용해 GitHub에 프로젝트를 올린 뒤 관리해 볼 것이다.준비물 : IntelliJ 설치, GitHub 계정2. 왜 깃허브에 코드를 올리는가?깃허브에 코드를 올려야 할 이유는 굉장히 많고, 목적에 따라 이유가 다를 것이기 때문에 사이드 프로젝트의 관점에서 그 이유를 기록해 보자.1) 보여주기 위해서사이드 프로젝트의 목적에 따라 다르겠지만 수익을 내는 서비스를 출시하는 게 목적이 아니라면 혼자 꽁꽁 숨겨놔서 좋을 것이 없다. 나는 결국 프로젝트를 통한 자기 PR이 목적인데 숨겨놓으면 그럴 수가 없다. 필요할 때만 메일을 이용해 내 소스코드 파일을 첨부해 보낼 수도 있겠지만, 누가 그런 수고스러움을 감수해 가며 내 코드를 읽을 것인가. 깃에 올린 코드는 손쉽게 공유할 수..
[Spring Boot 사이드 프로젝트] 1. Spring boot 프로젝트 세팅
·
사이드 프로젝트/로또명당
1. 프로젝트 생성 - spring initializrspring initializr를 검색하거나, 아래 링크를 통해 스프링에서 제공하는 툴에 접속해 보자.몇 가지 설정만 하면 간단히 프로젝트를 시작할 수 있다.`https://start.spring.io/`1) Project빌드 도구는 gradle을 사용할 것 이기 때문에 `Gradle - Groovy`를 선택.2) Language`Java`3) Spring Boot버전은 `3.2.5` 선택버전 뒤에 (SANPSHOT) 이 붙어있는 것은 아직 개발이 완료되지 않은 버전을 의미한다고 하니 피하도록 하자. 나는 뒤에 영어가 붙어있지 않는 것 중 가장 최신 버전을 골랐다.4) Project MetadataGroup : 보통은 도메인 네임을 사용한다. 나는 `..
[Spring Boot 사이드 프로젝트] 0. 사이드 프로젝트의 시작 방법
·
사이드 프로젝트/로또명당
1. 사이드 프로젝트 왜 시작했는가 (목표)이 글을 쓰는 시점에 나는 개발자로 일한 지 1년이 조금 넘은 뜨뜻미지근한 신입이다.나름 2년 차로써 지난 1년을 되돌아봤을 때 귀엽지만 꽤 많은 성장을 이뤄냈다고 생각했다.근데 솔직히 이건 나만의 생각이었고 뭔가 증명할 방법이 없었다.(뭐 사실 아직도 신입 나부랭이다.) 첫 개발자 생활 1년은 정말 빠르게 지나갔는데 정신을 차리고 보니 지난 1년 동안은 회사에 적응한다는 핑계로 자기 계발을 소홀히 했던 것 같다는 자각이 들었다. 그래서 나름대로 새해가 밝았을 때 자격증도 따보고 했지만 나의 불안감은 해소되지 않았다. 그리고 비로소 깨달았다. 개발자는 개발로 증명해야 한다는 것을...! 2. 무엇을 만들 것인가? (주제)혼자서 만들 수 있을 정도의 작은 볼륨을 ..
[error] Srping boot / thymeleaf 에러 : org.thymeleaf.exceptions.TemplateInputException
·
사이드 프로젝트/로또명당
로컬에서는 잘 되던 코드가 aws에 올리고 나니 에러를 일으켰다.그야말로 어...? 아까는 됐는데 상황이다.바로 putty 에서 에러 로그를 살펴봤습니다.  Exception processing template "pages/myPage/indexMypage": Error resolving template [pages/myPage/indexMypage], template might not exist or might not be accessible by any of the configured Template Resolvers  그대로 검색해보니 저만 이런 문제를 겪은게 아니었습니다.  보통 다른이들은 controller의 메서드에서 return값으로 page 경로를 반환할 때 경로 가장 앞에 /를 붙여서 문..
그레이트현
'사이드 프로젝트' 카테고리의 글 목록