본문 바로가기

별밤 일지/개발13

[Flutter] Retrofit 적용 별 헤는 밤 앱의 IOS 진출을 위해 Flutter 변환 작업을 하고 있습니다. 그 중 오늘은 앱에서 서버 데이터를 호출하는데 필요한 Retrofit에 대해 얘기 할 계획입니다. RESTful API Retrofit에 대해 설명하려면 RESTful API에 대해 먼저 설명할 필요가 있습니다. REST(Representational State Transfer)는 클라이언트와 서버 간의 통신을 위한 소프트웨어 아키텍처 스타일을 의미합니다. RESTful API은 이런 REST 아키텍처 스타일을 따르는 API로 주요 요소는 다음과 같습니다. 자원: HTTP URI를 통해 웹 서비스의 글, 유저, 이미지 등을 가져옵니다. 행위: HTTP Method를 사용하여 자원에 대한 행위를 나타냅니다. (ex) POST,.. 2024. 4. 16.
[Java] 리플렉션, ObjectMapper 우리가 SpringBoot 에서 rest api 를 개발할 때 흔히 쓰는 @RequestBody 가 정확히 어떻게 동작하는지 생각해본 적이 있는가? /** * 앱 관측적합도 상세 페이지를 위한 실시간 날씨 정보 제공 */ @PostMapping("/observationalFit/weatherPage") public Mono getWeatherInfo(@RequestBody AreaTimeDTO areaTime) { return observationalFitService.getWeatherInfo(areaTime); } 위 코드는 별 헤는 밤 어플의 관측적합도 상세 페이지에서 실시간 날씨 정보를 조회하는 api 이다. 요청 body 로 AreaTimeDTO 객체를 받고 있는데, 외부에서 요청이 들어올 때는.. 2024. 3. 12.
[Springboot] Test With Mockito, JUnit 오늘은 SpringBoot 프로젝트의 Service, 로직 단 테스트 코드 작성 방법을 작성하려고 한다. ▶︎ JUnit Java에서 독립된 단위테스트를 지원해 주는 프레임워크 Junit에서 지원하는 유용한 Annotation들 @Test : 각 테스트가 독립된 UnitTest로 작동할 수 있게 해준다. 각 유닛테스트 단위에 붙이면 된다. @BeforeEach : 각 테스트 실행 전에 실행된다. 모든 테스트에 공통으로 Stubbing을 해야 하는 경우에 사용 @Before : 모든 테스트 실행 전에 1번 실행된다. @After : 모든 테스트가 끝난 후 실행된다. 테스트 종료 후에 정리해야 할 데이터가 있는 경우 사용 @AfterEach : 각 테스트 종료 후에 한 번 실행된다. ▶︎ Mockito 자바.. 2024. 3. 5.
[Android.hardware.Sensor] 안드로이드 Sensor를 활용하여 방위각, 고도 구하기 개요 및 설명 Android는 핸드폰 내부에 존재하는 Sensor를 통해 현재 위치, 가속도, 방향 등을 감지한다. Android studio의 SensorManager를 통해 이 정보들을 가져와서 사용할 수 있고, 다듬어서 원하는 정보로 변형도 가능하다. 예를 들어 가속도와 자기장 센서를 활용하여 나침반을 구현할 수 있다. 별 헤는 밤 앱은 별자리 관광 애플리케이션이지만 별 관측에 직접적으로 도움을 줄 수 있는 서비스가 부족했었다. 그래서 이번 업데이트 때 이 센서 정보를 활용하여 별자리의 방위각과 고도를 찾아줄 수 있는 기능을 추가하기로 했다! 이때 별자리의 고도와 핸드폰의 기울기로 비교해야 하므로 정확히 말하면 핸드폰의 기울기를 구한다고 하는 것이 올바른 표현이다. 직접적으로 방위각과 고도를 계산하.. 2024. 2. 20.