본문 바로가기
반응형

분류 전체보기714

GET과 Query Parameter, POST와 Databody REST API를 만들 때, @GetMapping과 @PostMapping에 따라 어떻게 프런트 화면의 값을 입력받는지 알아보도록 한다. * Get 1. Map 2. @ReuqestParam 3. Dto 클래스 아래와 같은 URL 주소가 입력된다고 가정하자. user, email, age 등의 정보가 담겨있는 것을 알 수 있다. http://localhost:9090/api/get/query-param?user=seteve&email=steve@gmail.com&age=30 화면에서 입력된 특수한 값들을 백엔드에 넘기고 싶다면 ? 뒤로부터 그 내용을 전달해주면 된다. 각 내용은 &로 구분한다. 1. Map @GetMapping("/get") public String input(@RequestParam M.. 2021. 8. 3.
REST, RESTful API REST(Representational State Transfer : 자원의 전달 상태) - 네트워크 아키텍쳐 REST는 2000년에 Roy Fielding에 의해 사용된 단어이다. HTTP를 느슨한 커플링 어플리케이션으로 개발하기 위한 아키텍쳐 스타일이다. 종종 웹 서비스 개발에 사용된다. REST는 저수준에서 어떻게 구현되어야하는지 어떠한 규칙도 강제하지 않으며, 고수준의 디자인 가이드를 제시하고 구현은 각 당사자들에게 맡긴다. (참로 Roy Fielding은 1996년부터 1999년까지 HTTP 1.0의 기존 디자인에 기반을 둔 HTTP 1.1와 병행하여 REST 구조의 스타일을 개발하였다.) * REST의 원칙 가이드 1. Client, Server - 클라이언트와 서버가 서로 독립적으로 분리되어.. 2021. 8. 1.
SOLID 원칙 1. SRP(Single Responsibility Principle) 단일 책임 원칙어떠한 클래스를 변경해야 하는  이유는 한가지 뿐이어야 한다public class Unit {private String name;private int speed;public void move() { if(name.equals("저글링") { speed += 3; } else if(name.equals("탱크") { if("탱크모드") { speed = 0; } else { speed= 10; } }}} 현재 클래스에서는 저글링과 탱크라는 2가지 객체에 대해서 검사 후 변경을 하고 있다. 따라서 SRP 원칙에 위배되며 다음과 같이 각각 객체에 대한 메서드로 분리한다. class 저글링 extends Unit.. 2021. 8. 1.
POJO / Hibernate *POJO란? Plain Old Java Object의 줄임말로 2000년 컨퍼런스에서 마틴파울러가 처음으로 사용하였다. 어떤한 기술에도 종속되어있지 않는 순수한 객체 상태를 의미한다. 진정한 POJO란 객체지향적인 원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트를 말한다. 그런 POJO에 애플리케이션의 핵심 로직과 기능을 담아 설계하고 개발하는 방법을 POJO 프로그래밍이라고 할 수 있다. -(토비의 스프링3 672p) POJO라는 용어는 이후에 주로 특정 자바 모델이나 기능, 프레임워크 등을 따르지 않은 자바 오브젝트를 지칭하는 말로 사용되었다. 스프링 프레임워크는 POJO 방식의 프레임워크이다. *POJO 프레임워크 등장배경 EJB의 비전은 '.. 2021. 8. 1.
전략패턴이란? 전략(Stragetegy)패턴이란? 여러 알고리즘을 추상적인 접근점(인터페이스)을 만들어 접근점에서 서로 교환 및 실행(델리게이트) 가능하도록 하는 패턴이다. 전략패턴을 위해서는 인터페이스, 델리게이트에 대한 이해가 필요하다. 왜냐하면, 접근점은 인터페이스로 만들고 알고리즘을 구현하는 작업은 델리게이트 방식으로 해결하기 때문이다. 인터페이스(interface)란? 인터페이스는 기능의 선언과 구현을 분리하도록 한다. 기능 구현의 통로로 이용된다. 인터페이스라는 접근점을 설정해두면, 상황에 따라서 적절한 알고리즘을 사용하면 된다. 델리게이트(delegate)란? 사전적 뜻으로는 '위임하다'이며 특정 객체에 특정 처리를 위임해주는 것, 즉 책임을 넘겨주는 것이다. 다시 말해, 특정 객체의 기능을 사용하기 위해.. 2021. 8. 1.
TIL_210729 1. Facts(사실, 객관) - 캡틴판교 webpack 강의 - 회사 ftp 이미지파일 전송 구현 2. Feelings(느낌, 주관) - 항상 프런트엔드 프로젝트 구조를 보면서 webpack, express 등이 어떤 구조이고 어떤 역할인지 궁금했었습니다. 이것이 프로젝트 전반을 관리한다는 것만 알았으며, 제대로 원리를 모르니 프런트엔드 구조가 어렵게 느껴지고 또다른 외계어처럼 보였습니다. 이 기회에 webpack을 공부하면서 얼마나 프로젝트 관리를 손쉽게 할 수 있는 도구들이 있는지 새삼 깨달았습니다. 이런 강의를 듣는것이 내가 프런트로 전향하거나 지식을 채우고 싶기보다, 다양한 개발환경에 익숙해지고 중요하고 대세인 기술들을 경험하고자 하는 마음이 큽니다. 그래야 나중에 소통도 원할하고 혹시 모르게 .. 2021. 7. 30.
TIL_210728 1. Facts(사실, 객관) - 캡틴판교 Vuex 개념 공부 2. Feelings(느낌, 주관) - Vuex 강의를 들었는데, Vuex가 왜 등장하였는지 고민할 필요가 있습니다. 결국 큰 프로젝트에서 서로 의존관계와 연관된 사항을 잘 구분하기 위한 것 입니다. 등장배경을 살피다보니, MVC의 한계점과 Reract의 Flux를 자연스럽게 흐름으로 알 수 있었습니다. Vuex없이 Vue로만 할 일 목록을 만들었을 때, 저렇게 많은 이벤트와 props는 어떻게 관리하는가? 라는 의문이 끊임없이 들었는데, 그 해법을 찾았습니다. state, getters, mutations, actions의 역할을 통해서 좀 더 구조화된 코드 작성이 가능합니다. 헬퍼함수로 한단계 진화시켜서 ...mapState[], ...m.. 2021. 7. 30.
TIL_210727 1. Facts(사실, 객관) - 캡틴판교 Vue ES6 문법공부 2. Feelings(느낌, 주관) - 현재 개인 기록 스터디를 하는 렛츠기릿 강의로 javascript를 공부하고 있습니다. 여기서 화살표 함수를 배웠는데, Vue ES6 문법공부를 통해서 ES6 문법을 또한 배워갑니다. 이전에 기록했던 let & const 이외에 스코프, 호이스팅을 공부합니다. 향상된 객체 리터럴(Enhanced Object literals)을 통해 코드를 좀 더 축약하는 방법을 알아갑니다. 계속 문법은 간결하여 가독성을 높이는 쪽으로 발전한다고 느꼈습니다. import, export도 ES6로 어떻게 표현하는지, 복수개와 단수, default의 특징도 알아보았습니다. - 이전에 블랙커피 스터디를 하면서 javascr.. 2021. 7. 30.
TIL_210726 1. Facts(사실, 객관) - 캡틴판교 vue TodoList 리팩토링 - JS 야구판 만들기 개념 2. Feelings(느낌, 주관) - vue에서 TodoList를 리팩토링 했습니다. 점차적으로 신기술로 변화하는 모습을 지켜볼 수 있어서 좋습니다. 처음에 Vue() 인스턴스를 만들었던 것부터, 각 컴포넌트에 각자의 기능을 넣었던 단계를 거쳐서 데이터 처리를 app에서 하고 나머지는 UI를 최대한 처리하도록 만듭니다. 이제 이후에 Vuex로 처리하도록 배울 예정입니다. 강의가 천천히 단계를 밟아서 진행하기 때문에 쉽게 이해할 수 있었습니다. 단순히 강의를 듣지 않고 직접 코드를 따라 해보고 다시 노션에 정리하면서 최대한 복기하려고 노력했습니다. - vue와 js를 같이 공부하면서 ES6 문법에 대해.. 2021. 7. 27.
반응형