본문 바로가기
반응형

개발44

[Spring] Repository와 Service 구현하기 이번에는 단순한 API를 만드는 것이 아닌 기기별 업데이트 버전을 관리할 수 있는 기능을 작업하게 되었습니다. DB를 새롭게 생성하고 필요한 Service와 Repository를 만들면서 추가적으로 공부했던 내용을 정리하려고 합니다. 기본적으로 Spring MVC에서 Repository와 Service의 역할은 다음과 같습니다. Repository : DB에 접근하는 모든 코드들이 모여있습니다. (쿼리문들) Service : 비즈니스 로직과 관련된 모든 코드가 모여있습니다. Model 생성 Serivce와 Repository에서 사용할 모델을 미리 만들어줍니다. 모델은 여타 다른 프레임워크와 비슷한 구조를 갖고 있었습니다. @Data @Entity @Table(name="User", schema = "d.. 2021. 10. 6.
[Spring] 간단한 Rest API 만들어보기 최근에 업무상 필요한 API를 만들게 되었습니다. API 자체는 간단히 조회를 통해서 특정 주문 데이터를 가져오는 것인데 문제는 Spring에 대해서는 완전 기초적인 것만 알고 있는 상태였습니다. 이번에 API를 만들면서 배웠던 것들을 정리하려고 합니다. 개발 환경은 다음과 같았습니다. Spring Boot Hibernate Swagger PostgreSQL AWS 저는 Spring MVC Architecture에 맞게 Controller, Service, Repository 작업만 하면 되었습니다. API 동작 여부는 Swagger가 있어서 Swagger를 통해서 데이터가 제대로 들어오는지 확인하였습니다. 🔰 ApiController.java @RequestMapping(value = "/getOneI.. 2021. 9. 27.
[Android] Intent로 데이터 전달 시 용량 제한 어느 날, 오후 급하게 회사 메신저로 CS 측에서 문의가 왔습니다. 앱에서 특정 매장의 메뉴를 선택하는 과정에서 앱이 뻗어버린다는 것이었습니다. 처음에 디버그도 찍어보고 관리자 페이지의 데이터를 대조하면서 확인해도 뚜렷한 오류 로그가 나오지 않아서 굉장히 난감했습니다. 헤매다가 결국 찾았는데 바로 인텐트에 담아서 보내는 데이터의 사이즈가 문제였습니다. 찾아보니 인텐트에 데이터를 담을 때, 대략 500KB 정도가 넘어가면 앱이 Crash가 날 수 있다고 합니다. 확인해보니 상품들의 옵션들이 계속 추가되면서 넘길 수 있는 데이터의 한계를 넘어선 듯했습니다. 해결 방법을 찾아보니 Intent를 사용할 때 기본적인 정보만을 담고 더 많은 데이터를 Intent에 담아야 한다면 다음과 같은 방법을 고려해보라고 했습.. 2021. 9. 16.
[Spring] 단위 테스트를 위한 JUnit 개발에서 테스트는 매우 중요한 부분입니다. 특히 비즈니스 로직을 중점적으로 개발하는 백엔드 개발자에게 있어서 테스트는 언제나 고민이 되는 부분일 것입니다. 그래서 요즈음 TDD(Test-driven Development) , 테스트 주도 개발이라는 소프트웨어 방법론을 많이 사용하고 있습니다. 간략히 설명하면 단위 테스트 케이스를 작성하고 이를 통과하는 개발 코드를 작성하는 방법입니다. Spring에서 단위 테스트를 위해 주로 사용하는 프레임워크인 JUnit에 대해 정리해보려고 합니다. 이 글에서는 어노테이션(annotation)과 Assert을 중점으로 정리를 할 것입니다. 해당 글에서는 테스트를 위해 Junit5를 사용할 것입니다. Junit5는 이전 버전과 다르게 3개의 서브 프로젝트로 이루어져 있습.. 2021. 8. 26.
[Android] (번역) Comparing Kotlin Coroutines with Callbacks and RxJava 이 글은 https://www.lukaslechner.com/comparing-kotlin-coroutines-with-callbacks-and-rxjava/ 를 번역한 것입니다. (잘못된 부분이나 내용 개선에 관해서 피드백 환영합니다.) Intro 나는 현재 Kotlin Coroutines에 많은 시간을 투자하고 있습니다. 그래서 Android에서 Coroutine을 사용하는 가장 일반적인 사례에 대해 조사하고 오픈소스 예제 프로젝트를 구현했습니다. 현재 16개의 일반적인 Coroutine 사용 사례가 포함되어 있습니다. 이 프로젝트의 샘플이 많은 개발자에게 도움이 될 수 있다고 생각합니다. Coroutine의 실제 이점을 더 잘 이해하기 위해 비동기 프로그래밍에 대한 다른 접근 방식으로 Callbac.. 2021. 8. 20.
[Spring] Spring 웹 개발 기초 해당 글은 김영한 님의 강좌를 공부하고 정리한 글입니다. Spring을 통해 웹 개발을 할 때 3가지 방식이 있다고 합니다. 정적 콘텐츠(Static Content) MVC와 템플릿 엔진 API ✅ 정적 컨텐츠(Static Content) 말 그대로 순수 HTML로 이루어진 파일을 서버가 따로 렌더링 없이 사용자에게 웹브라우저를 통해 보여주는 것입니다. Spring에서는 정적 콘텐츠를 /static 폴더에서 다룬다고 합니다. 사용자가 정적 페이지(hello.html)를 요청 Spring Boot의 내장 톰켓 서버가 이를 Spring Container에게 전달 Spring Container는 페이지에 해당하는 Controller가 있는지 확인 없다면 resources 폴더의 static/hello.html.. 2021. 8. 16.
반응형

loading