본문 바로가기

전체 글

항해 99 5주 - 마무리 이번주는 정리해보면 나름 알찬거 같다. 모든 과제를 구현했고, 프로젝트 진행 상황도 나름대로 빠른 편이라 생각할 수 있는 편이기 때문에 열심히 달려온 한 주였다. 그럼 이번주의 topic인 CORS에 대하여 말해보려 한다. CORS란, 교차 출처 리소스라는 것으로 최초의 자원이 다른 외부의 도메인에 요청을 넣는 방식을 말한다. 이 방식이 필요한 이유는 원하지 않는 요청에 대하여 그 요청이 수행되는 것을 막기 위하여 있다고 생각한다. 예를 들어, 과장된 예시이지만, 다른 사이트에서 검색을 하다 외부 사이트로 요청이 들어갔는데, 그 요청에 스크립트가 숨겨져 있어 은행 계좌에서 돈을 출금하는 API를 호출한다면 너무나 큰일인데, 이를 방지하기 위하여 CORS가 필요한 것이다. 이를 위하여 2가지 조건이 필요하.. 더보기
항해 99 5주차 - 6일 오늘은 주말이고 뭐고 그냥 실성한 사람 처럼 집중해서 한 하루였다. 오 뭔가 바쁘겠는데? 라는 생각과 함께 정신차려보니 20시였다. 분명 9시부터 시작한거 같은데 나름대로 작성도 하고, 팀원과 의견을 조율하면서 필요사항을 수정하고 그러니까 나름대로 정신없이 흘러간 시간이였다. 일단 오늘의 topic은 컨벤션을 정하는 것과 Git 관리 이 2가지가 주요한 과제였다. 처음으로 컨벤션의 경우 변수명은 첫글자는 소문자고 중간에 변할 때 마다 대문자로 바꿔주는 카멜, 클레스는 파스텔, 패키지의 경우 그냥 소문자로 정하고 Git의 브런치 명을 _를 넣는 스네이크형식으로 하기로 정했다. 그에따라 기존에 조금 작성된 코드를 수정하고 이에따른 오류를 수정한 것이 오늘의 주된 진행상황이였다. 다음으로 Git의 경우 프로젝.. 더보기
항해 99 5주차 - 5일차 "두둥" 오늘은 "두둥" 프로젝트 시작하는 날이다. 아침에 일어나자마자 듣게 되는 팀 변경과 같이 나오는 프로젝트 시작이라는 말, 솔직히 코딩 자체를 처음 하는 사람에겐 너무 빠른 속도가 아닌가...라는 생각을 굉장히 많이 해왔다. 하지만 뭐가 있다고 해도 나름대로 구현은 가능하니까(?) 일단 해보자 라는 심정으로 하려고 한다. 그런 이유로 오늘은 기획과 와이드 프레임, api명세서 스케쥴 조절 등 프로젝트를 진행하기 위한 기초적인 준비를 한 날이었다. 1. 기획 (+ 팀 빌딩) 기획의 경우 가장 먼저 생각한 것은 팀이 좋아하는 것이 무엇인가 라는 포인트였다. 좋아하는 것을 중심으로 하여야 소비자의 관점으로 무엇이 필요한지 즉, 고객층에게 어떤 점을 어필가능한지 알기 편하다는 것이 1번이며 다음으로 이왕.. 더보기
항해 99 5주차 - 4 오늘~은 주특기 주차가 끝난 날이다. 나름대로 과제도 Lv5 까지 달성했고, 제출도 끝냈으며 시험도 나름대로 모두 통과 한 알찬 3주였다고 생각한다. 사실상 이게 맞나? 하면서 친 코드가 매우 많다고 생각한다. 그래도 나름대로 얼추 말이 될수있게 쓰는것을 목표로 최대한 구현을 하려고 발버둥치는 그 과정이 나름대로 시험을 통해 성과로 나왔다고 생각한다. 일단 지금은 간단하게 데이터를 요구하는 RequestDto, 보여주는 ResponseDto, 정보를 보관하는 Entity와 Repository를 사용하는 법과 Controller, Service 3계층으로 분리하는 것을 어느정도 사용가능할 정도가 되었다고 생각한다. 때문에 이번 시험에서 api 요구서에 따라 간단한 작성을 해서 성공적으로 작성하고 요구사항 .. 더보기
항해 99 5주차 - 3일 오늘은 수요일이다. 벌써 한 주의 중간까지 왔다고 생각한다. 그런 이유로 오늘은 잡설을 빼고 바로 오늘 작성한 코드 중에서 느낀 게 많았던 코드를 보겠다. private Long findSize(User user) { return (long) goodRepository.findAllByUser(user).size(); } 이 코드와 if (findSize(user) >1 && good.getUser().equals(user)) { //동일한 유저일 경우 취소 good_num--; if (good_num < 0 ) good_num = 0; comment.setGood_num(good_num); commentRepository.save(comment); goodRepository.deleteAll(findG.. 더보기
항해 99 5주차 - 2일 오늘은 화요일이다. 일단 Lv5 과제 까지 모두 수행하기는 했다. 결론적으로 내일은 제출하기 결정하고 추가적으로 요구하는 사항을 더 해보려고 한다. 그러나 오늘은 더 하기 싫어서 코드는 그만보고 강의나 좀 들어볼까 생각중이다. 그런 이유에서 오늘 인상적인 코드는 ResponseEntity.status(200).body("상태코드 : " + HttpStatus.OK.value() + "메세지 : 좋아요를 누르셨습니다."); ResponseEntity가 좀 인상적인거 같다. 기존에도 쓰던거지만, Client에 반환한다는 점이 보다 인상적이라고 생각한다. 이에 따라 HttpStatus를 통해서 value값을 얻어 표현한다는 점이 인상적이였다. 맞다. 사실 오늘 작성한거 중에서 아무거나 생각나는거 가져온게 맞다.. 더보기
항해 99 5주차 - 1일 오~ 늘~ 은 즐거운 건 아닌 월요일이다. 그래도 한 주의 시작날... 최선을 다해서 하진 못했지만 나름 제출은 다 한날이다. 아무튼 제출은 한 날이니 뭔가 편안해진 하루였다. 뭐 다 넘기고 오늘은 사실상 열심히는 하려 했지만 갈피를 못 잡은 날이다. 때문에 오늘은 새로 알아낸 것을 중심으로 기술하고 마무리 하려한다. 일단은 api를 구성할 때 어떤 방식으로 사고 할 수 있는가 에 대한 내용이다. 혼자 api를 구성할 때 요구 조건이 수정과 삭제를 할 때 토큰의 유효성을 검증해 구동 가능하게 코드를 작성하라는 것이었다. 때문에 그냥 하나로 합치면 간단하기 때문에 그냥 모두 통과와 같은 느낌으로 정리해 두었는데, 다른 사람이 작성한 코드를 보니 간단한 조회기능의 경우 그냥 가능하도록 예외를 설계해놓은 것을.. 더보기
항해 99 4주차 - 마무리 이번 한 주도 결국 버틴것 같다. 노력한거 같지만, 반대로 아니라고 하면 아닌 한 주긴 하다. 그러나 내가 마신 커피와 집중한 시간을 생각해 보면 그래도 최선을 다했다... 언저리로 생각 할 수 있을거 같은 한 주였다. 그럼 이번 한주를 정리하며 3가지 주제를 중심으로 정리하려 한다. 가장 먼저 MVC 디자인 패턴이다. 이는 모텔(Model -이하 "M"), 뷰(View - 이하 "V"), 컨트롤러(Controller - 이하 "C") 3가지를 나타내는 말로 기능을 중심으로 분리한 것을 말한다. M은 데이터 베이스를 통해 데이터를 C와 연계하여 가져오는 역활을 하고, V는 C를 통해 우리에게 가져온 데이터를 토대로 결과물을 보여주는 역활을 하는 것이다. 즉, M과 V가 직접적으로 데이터를 주고 받는 것이.. 더보기