Burninghering's Blog
Spring - 게시판에서 게시글 상세 확인하기(POST 405 에러 해결)
Today I Learned 2021. 12. 18. 05:41

이틀동안 매달렸던 기능 구현 작업이 우리팀 팀장님 덕분에 12분만에 해결됐다. (48시간 -> 12분 팀장님의 마법 ) 코드를 따오더라도 '스프링'을 제대로 이해하고 있어야 따와서 그대로 적용하든 활용을 하든 하는구나.. 게시판 모양새까지는 잘 구현해내길래 나는 내가 스프링을 잘 이해하고 코드를 잘 따오는 줄 알았다. 그러나... 백날 스프링 레이어 구조 외우면 뭐하나... 게시판에서 상세 게시글로 넘어가지 못하는 오류가 발생하고... 팀장님이 자세히 설명해주며 오류를 해결해주셨기에 TIL을 남긴다. (진짜 오랜만에 real TIL) (유독 '팀장님' 단어가 밝게 보인다면 그저 '빛'이기 때문이다) 1. 우선, 클라이언트의 명령을 받아 서비스로 전달하는 컨트롤러. 프론트단에서 명령을 받아 수행하는 컨트롤..

KPT_3차 프로젝트 회고하기
Today I Learned 2021. 12. 13. 17:54

KEEP 자바로 스프링 부트 프로젝트를 시작했다. 파이썬과 플라스크로 진행했던 프로젝트를 이어 스프링 부트로 다시 재탄생시켰다. SA와 와이어프레임을 깃 리드미에 추가하고, 팀원들과 각자 기능을 나누어 구현을 시작했다. 내가 맡은 기능은 "커뮤니티" 기능이었고, 게시판을 만드는 작업을 했다. 역시 자바와 스프링 부트는 인터넷에 자료가 많아서 나름 참고할 만한 부분이 많았다. PROBLEM SA를 시작할 때, API 명세 부분이 아직도 헷갈리는 것을 보면 API에 대한 이해도가 아직 부족한 듯 싶다. 그리고 구현 시 스프링 부트의 3 Layer가 아직도 익숙하지가 않다. 개념은 외웠다만 아직 구조의 장점과 그 장점을 이용하는 방법을 모르는 듯 하다. 그리고 aws를 통한 배포, 깃 액션, 도커 기능을 다른..

TIL1014_JWT
Today I Learned 2021. 12. 13. 16:01

JWT(JSON Web Token) = 놀이공원에서 발급받은 팔찌! 놀이기구 무한 사용 가능 로그인이 성공했다는 사실을 토큰으로 전달 서버가 팔찌를 주면 클라이언트는 팔찌 쿠키에다 줌 쿠키 = 브라우저 자체 데이터베이스 페이지에 관계없이 브라우저에 저장된 정보(키:밸류 딕셔너리 형태) 로그인은 쿠키로 유지되며, 브라우저에만 있는 정보이다

article thumbnail
Git 되돌리기
Today I Learned 2021. 12. 9. 22:56

프로젝트 파일 오른쪽 클릭 후 Git Bash Here 클릭 후 명령어 입력! (GitHub Desktop 열어서 브랜치를 옮기고 나서 클릭하면 그 브랜치에서 되돌리기 작업할 수 있도록 자동설정 되는 듯 하다.) https://www.devpools.kr/2017/02/05/%EC%B4%88%EB%B3%B4%EC%9A%A9-git-%EB%90%98%EB%8F%8C%EB%A6%AC%EA%B8%B0-reset-revert/ [초보용] Git 되돌리기( Reset, Revert ) 개발바보들 1화 git “back to the future”에서 설명한 Reset / Revert에 대한 글입니다. Git을 익히면서 헷갈렸던 것들 중의 하나가 이력을 되돌리기 입니다. Git에서 이력을 되돌리는 방법은 여러가지 w..

Spring 게시판 만들기
Today I Learned 2021. 12. 7. 22:46

https://devbirdfeet.tistory.com/36 윈도우에서 8080 포트 죽이기 문제 상황 웹 개발 도중 STS에서 톰캣 Tomcat 서버를 켰다. 그러나 8080 포트가 이미 사용 중이라는 에러메시지가 떳다. 그래서 사용 중인 포트를 죽여보도록 하자 문제 해결 - cmd에서 포트를 죽이는 devbirdfeet.tistory.com https://developer-p.tistory.com/52 MySQL 설치하기 (msi파일) - 초간단 인스톨러 사용 오늘은 MySQL 설치하는 법에 대해 알려드리려 합니다. MySQL설치는 1. msi파일로 설치하는법 2. zip아카이브를 통해 설치하는법 총 2가지가 있습니다. 우선 2번보다 훨씬 간단한 방법이면서, 저희가 늘 developer-p.tist..

article thumbnail
211130TIL_API
Today I Learned 2021. 12. 2. 06:40

API : 클라이언트 - 서버 간의 약속 1. 클라이언트가 정한대로 서버에게 요청(Request) 2. 서버가 요구사항을 처리하여 응답(Response)을 반환 REST 주소에 명사 요청 방식에 동사 를 사용함으로써 의도를 명확히 드러냄을 의미 (여기에 쓰이는 동사는 CRUD) 더보기 EX) A에 대해 생성(POST)/조회(GET)/수정(PUT)/삭제(DELETE) 요청 GET /courses → 강의 전체 목록 조회 요청 GET /courses/1 → ID가 1번인 녀석 조회 요청 POST /courses → 강의 생성 요청 PUT /courses/3 → ID가 3번인 녀석 수정 요청 DELETE /courses/2 → ID 2번인 녀석 삭제 요청 더보기 주의 사항 주소에 들어가는 명사들은 복수형을 사..

article thumbnail
211129TIL_Lombok, DTO
Today I Learned 2021. 12. 1. 05:31

Lombok(라이브러리)의 역할 : 자바 프로젝트를 진행하는데 필수적으로 필요한 메소드/생성자 등을 자동생성(getter,setter 등) ->코드 절약 lombok을 사용해, Coures 클래스와 CourseRepository 클래스의 코드를 줄여보자 Coures 클래스에서 getter 지우고 @Getter Coures 클래스의 @NoArgsConstructor CourseService.java에 레포지터리가 꼭 필요하다고 명시하는 코드 절약하기 멤버 변수로 레포지터리가 서비스에 꼭 필요하다고 선언은 해주어야 함! // final: 서비스에게 꼭 필요한 녀석임을 명시(검색을 하거나, 업데이트를 할때 레포지터리 꼭 필요하니깐!) private final CourseRepository courseRepos..

article thumbnail
211125TIL_자바 완전 기초!
Today I Learned 2021. 11. 25. 22:37

- API : 은행 창구와 같은, 하나의 "약속". 정해진대로 요구 -> 정해진 결과물을 돌려줌 1) 웹 동작 개념(HTML을 받는 경우) : 웹페이지는 모두 서버에서 미리 준비해두었던 것을 "받아서" -> "그려주는" 것 - 브라우저가 하는 일 : 1. 요청 보내기(서버가 만들어 놓은 "API"라는 창구에 미리 정해진 약속대로 요청을 보내는 것) 2. 받은 HTML 그려주기 2) 웹 동작 개념 (데이터만 받는 경우) : HTML도 줄글로 쓰면 데이터! 하지만, 공연 예매시 계속 페이지가 refresh되면 곤란하기 때문에 데이터만 받아서 받아 끼우기 - 데이터만 내려올 경우 : JSON 형식 여기서 "스프링"은 "서버"를 담당합니다! 스프링(서버)가 요청에 따라 눈에 보이는 것들/데이터를 제공 스프링에서..