본문 바로가기
  • 분조장의 개발 블로그

전체 글18

Spring Boot에서 GraphQLResolver<T> 사용하기 Resolver 유형 Spring Boot에서 GraphQL 쿼리 요청을 처리하기 위해선 세 유형의 Resolver(interface타입)을 구현할 수 있습니다. GraphQLResolver query, mutation 요청 구현 스키마의 input 타입에 대하여 보다 복잡한 요청이 필요할 때 사용 GraphQLQueryResolver query 요청을 담당 GraphQLMutationResolver mutation 요청을 담당 그런데 GraphQLResolver의 복잡한 요청이란 무엇일까요? 나머지 두 Resolver 와 어떻게 다른 걸까요? GraphQLResolver 알아보기 예시) GraphQL 스키마 type Person { name: String! age: Int complexValue: In.. 2021. 5. 17.
GraphQL 명명 Convention GraphQL이 특정 명명 지침을 지정하진 않았지만 Apollo-server에서 일관성을 위해 권장하는 명명규칙이 있다. 이런 규칙을 사용하면 대부분의 클라이언트가 서버에서 반환되는 결과를 변환하기 위해 추가 로직을 정의할 필요가 없다고한다! 링크 > Apollo-server Doc 참고 자료형 명명규칙 필드 - 이름 camelCase 형식 - 이름 PascalCase 열거형 - 이름 PascalCase 열거형 - 값 ALL_CAPS(모두 대문자) 예시 # 필드 이름: addBook (camelCase) # 형식 이름: String, Book (PascalCase) type Mutation { addBook(title: String, author: String): Book } # 열거형 이름: Allow.. 2021. 5. 17.
GraphQL 사용하면서 느낀 장단점(+ Spring Boot) GraphQL이란? Facebook에서 개발한 Api를 위한 쿼리 언어다. Api에 있는 데이터에 대해 이해하기 쉬운 설명을 제공하고 client에게 필요한 것을 정확하게 요청할 수 있는 기능을 제공한다. 장점 Rest Api의 단점인 Underfetching, Overfetching 해결 가능 Underfetching 기존의 Rest Api에선 다른 두 세개의 api들을 호출해야 얻을 수 있는 정보가 있으면 필요한 만큼 api를 호출하고 추가적으로 가공해야했다. GraphQL에선 한 번의 호출로 원하는 데이터를 얻을 수 있게 된다. Overfetching 기존의 Rest Api에선 api 호출 시 필요 이상의 정보를 전달받는 문제가 있었다. GraphQL은 client에서 필요한 데이터만을 요청하므로 .. 2021. 5. 17.
인턴일지: 2개월차(Agile한 개발 방식) 인턴 하기 전 동기들과 프로젝트를 할 땐... 팀에 따라서 개발 프로세스 방식이 비교적 덜 안정적(?)이기도 했고(회의 시간이 따로 없고 + 문서를 남기지 않는다던가, 기획이 갑자기 수정된다던가), 예상치 못하게 들어오는 추가 요구사항들 때문에 정신이 아찔한 적도 있었고, 개발을 다 해놓고 배포 환경에 대한 지식이 부족해서 배포를 못하게 됐다던가...(죄송합니다) 하는 것들 때문에 현업에선 개발하는데 있어서 좀 더 정형화된 프로세스가 있을 것이고, 그래서 개발자가 해당 요구사항을 잘 구현하고 성능을 높이는데 좀 더 집중할 수 있을 것이라 생각했다. 그런데 실제 현업 프로세스도 이와 비슷한 면이 있는 것 같았다. 명확히 할 부분은.. 회의 시간은 업무 진행도에 따라 유동적으로 가졌고, 수시로 팀원들과 커뮤.. 2021. 5. 17.