1편에 이어서 생성, 완료, 삭제를 구현해보자. 1편 링크: https://takethat.tistory.com/80 1. 생성 📄 TodoController.java PostMapping("/todo/create") public String create( @RequestParam("todo-desc") String content) { // 새로운 TODO를 생성하는 컨트롤러 메소드 todoService.createToDo(content); return "redirect:/todo"; } 우선 MVC 패턴을 이해할 필요가 있는데, Controller에서는 기능을 구현하지 않는다. 대신 요청한 웹사이트를 서비스하기 위해서 모델을 호출하는데, 그래서 보통 서비스라고 명칭을 짓고 있는 것 POST 형식으로 /..
Spring을 공부하고 있는 사람들은 TODO LIST를 만드는 것으로 구조나 코드 등을 연습하고 있다. 수 많은 사람들이 자료를 공유하고 있으며, 나도 그런 TODO 리스트를 만들어 본 게 한 10번 이상? 정도는 있는 것 같다. 하지만, 아에 Spring 자체를 이해하지 못할 때, 따라하는 식으로 제작한 TODO LIST가 도움이 되었을까 묻는다면 나는 아닌 것 같아서 한번 도움없이 만들어보기로 했다. 사실 만든지는 좀 됐고, 포스팅 시간에 공부하는 시간을 전부 쏟다보니... 너무 안올려서 한번 정리해서 올려보려고 한다. 1. Spring 프로젝트 생성 우선 IDE나 start.spring.io 등을 이용해서 Spring 프로젝트를 생성한다. 진짜 별거 안썼기 때문에 Spring Web, Thymel..
앞서 AWS Lambda를 사용하고 있다. AWS 계정을 만들어야 진행할 수 있으니 주의바람 공식 홈페이지에서의 AWS Lambda 설명은 다음과 같다. AWS Lambda은 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. Lambda는 고가용성 컴퓨팅 인프라에서 코드를 실행하고 서버와 운영 체제 유지 관리, 용량 프로비저닝 및 자동 조정, 코드 및 보안 패치 배포, 로깅 등 모든 컴퓨팅 리소스 관리를 수행합니다. Lambda를 사용하면 Lambda가 지원하는 언어 런타임 중 하나로 코드를 제공하기만 하면 됩니다. Lambda 함수에 코드를 구성합니다. Lambda 서비스는 필요할 때만 함수를 실행하고 자동으로 확장됩니다. 사용한 컴퓨팅 시간만큼만 비용을 지불하..
우선 스프링 프로젝트를 실행하기 전 내 환경은 인텔리제이다. New Project를 눌러서 프로젝트를 생성한다. (여기 이용해도 무방 https://start.spring.io/) 의존성 추가는 아래처럼 했는데, 원하는 기능 있으면 원하는 거 고르면 된다. gradle로 만들면 resources에 application.properties가 있는데, yml으로 다시 만들던지 생성하던지 해서 아래처럼 추가해줬다. 참고로 토큰 값 넣어서 쓰려고 하는건데, 깃에다가 올릴거면 Edit Configurations 사용해서 해도 되고, .gitignore 추가해도 되고 상관없다. 나는 귀찮아서 여기다 넣고 .gitignore로 깃에 안 올리게끔 해놨다. build.gradle에 discord4j 말고 net.dv8t..
개요 공부를 한다 한다 하면서 잘 안하게 되서 저번 주 기점으로 스스로 실망을 많이했다. 그래서 줌독서실처럼 자율 스터디를 만들면 좋지 않을까 생각을 했다. 지금은 실시간으로 화면 공유하는 것만 제외해서 스터디를 만들었다.(사람은 별로 없음) 그래서 계획을 짜고 스터디 노션을 제작했다. 보다시피 사진이랑 같고, 개인 페이지가 있어서 한 달 목표, 한 주 목표 설정 후 하루 공부한 내용(TIL)을 간단하게 기록하는 용도이다. 근데 이제 스스로 하려고 하는 건 좋은데, 이런 기능들을 자동화시키고 싶었다. 그래서 디스코드에 봇을 추가하여 시간을 알려주거나, 타이머 기능 등을 데이터베이스와 연결하여 만들어 볼려고 한다. ※ 참고로 파이썬 기반 아니고 스프링 기반이다. 처음 부분은 아래 게시물 참고했습니다. ht..
지금와서 이야기하는거지만 사실 뭔가 프로젝트를 그냥 시작하기엔 좀 어려운 부분이 있었다. 그래서 간단한 프로젝트들이라도 시도해보자고 듣게 된 부스트코스 강의 기획서 부분이 엄청 상세하다고 들었는데, 이런 게 도움이 되지 않을까 한 것도 있다. 백엔드 부분은 따로 정리하진 않았는데, Servlet 말고는 딱히 정리할 게 없어서 나중에 하려고 한다. 나는 딱히 코드 리뷰도 받을 것도 아니기도 하고(애초에 31일인가? 리뷰 서비스 종료한다고 한다.) 그래서 쓰던 IntelliJ, Springboot로 진행했다. 근데 참고로 소스코드는 보여줄 수가 없다. 왜냐면 이렇게 적혀있는걸 무섭게... 그래서 그냥 privated로 올릴까 하다 어차피 연습이니까 블로그만 남겨놓으려 한다. 나중에 조금 프로젝트 주제를 살짝..
1. CSS 기본 스타일 변경 HELLO World! ☺ 2. Element가 배치되는 방법(CSS layout, Rendering) 엘리먼트를 화면에 배치하는 것을 layout 작업이라고도 하고, Rendering 과정이라고도 한다. 부스트코스 강의에서는 편의상 배치라고 하고 있다. 기본 엘리먼트는 위에서 아래로 배치되는 것이 기본이다. 하지만 웹사이트의 배치는 다양하게 표현 가능하고 있다. 이처럼 다양한 방식으로 배치할 수 있도록 CSS에서 다양한 속성을 활용하고 있다. 중요하게 이해해야 할 속성은 다음과 같다. display(block, inline, inline-block) position(static, absolute, relative, fixed) float(left, right) 1) dis..
1. CSS의 구성 1) CSS 선언 방법 span { color : red; } span : selector(선택자) color : property red : value 2) style을 HTML페이지에 적용하는 3가지 방법 1. inline HTML 태그 안에다가 적용, 다른 CSS파일에 적용한 것보다 가장 먼저 적용된다. 2. internal style 태그로 지정, 구조와 스타일이 섞이게 되므로 유지보수가 어렵다. 별도의 CSS파일을 관리하지 않아도 되며 서버에 CSS파일을 부르기 위해 별도의 브라우저가 요청을 보낼 필요가 없다. ... 3. external 외부파일(.css)로 지정하는 방식, CSS 코드가 아주 짧지 않다면 가급적 이 방법으로 구현하는 것이 가장 좋다. 현업에서는 여러개의 CS..