본문 바로가기

전체 글18

[Spring] st_distance_sphere을 사용하여 위치기반 조회 구현 당근의 내 동네 설정같이, 내 위치를 기반으로 반경 2~ 5km의 서비스를 조회하는것을 구현하였다. SET @location = POINT(127.0752881, 37.4921615); desc products; SELECT * FROM products WHERE ST_Distance_Sphere(@location, POINT(longitude, latitude)) entity = null; switch (target) { case PRODUCT: entity = QProduct.product; break; case CLUB: entity = QClub.club; break; case POST: entity = QPost.post; break; default: throw new Exception("잘못된.. 2023. 12. 17.
[Spring] @Value 어노테이션 사용시 Access key cannot be null Amazon S3의 설정값을 application-properties에 지정하고, S3Config 클래스를 작성했다. @Configuration @Getter public class S3Config { @Value("${ncloud.endPoint}") private String endPoint; @Value("${ncloud.regionName}") private String regionName; @Value("${ncloud.accessKey}") private String accessKey; @Value("${ncloud.secretKey}") private String secretKey; @Value("${ncloud.bucketName}") private String bucketName; fin.. 2023. 12. 2.
[NCP] GeoLocation 사용 프로젝트에 위치기반 서비스를 위해 네이버의 GeoLocation 서비스를 사용하려고 한다. 본인의 공인아이피를 입력하여 위치정보를 응답받을수 있다. 나는 행정동 정보, 위도, 경도가 필요했다. 더보기 https://api.ncloud-docs.com/docs/ai-application-service-geolocation-geolocation GeoLocation 사용 방법이 공식 사이트에 잘 정리 돼 있다. public void run(final String ip) throws Exception { final String requestMethod = "GET"; final String hostName = "https://geolocation.apigw.ntruss.com"; final String req.. 2023. 11. 26.
[nginx] 리액트 + 스프링부트 프로젝트 배포 기존에는 스프링의 resource 내에 리액트를 위치시켜 빌드해 통합배포 했었다. 스프링 부트는 기본 포트로 8080을 사용하므로, 스프링 부트를 빌드하고 실행할 때는 8080 포트를 사용한다. 리액트는 3000번 포트를 사용하므로, 통합 배포 때는 리액트를 빌드하고 build 폴더를 스프링 부트의 resource 폴더에 넣어 스프링 부트를 빌드하게 된다. 이렇게 하면 8080번 포트로 스프링부트+리액트 통합 애플리케이션이 실행된다. 하지만 리액트측에서 카카오 로그인을 진행해서 콜백을 3000번 포트로 받아야 하는 경우가 있는데, 통합 배포를 해버리면 3000포트로 진입이 불가능 하다. 따라서 동시에 리액트측과 스프링부트측으로 라우팅과 url 매핑을 하려면 서버를 따로 두어야 한다. nginx를 사용해 .. 2023. 11. 18.