Java 30

KBO 야구장별 날씨 예보 애플리케이션(2), 위치기반 관련 재배포

사실 약 2주전쯤 현재 위치 기반으로 가까운 구장 우선 선택되게 변경했었는데, 앱으로 할 때 위치를 못가져오는 것을 보고 수정해야지 수정해야지 하고 있다가 오늘에야 수정해서 apk 재빌드. AndroidManifest.xml 에서 user-permission 추가 @Override public void load() { android.webkit.WebView webView = (android.webkit.WebView) bridge.getWebView(); webView.setWebChromeClient(new android.webkit.WebChromeClient() { @Override publi..

Java/KBO Weather 2025.06.23

KBO 야구장별 날씨 예보 애플리케이션

거의 주둥이코딩...이랄지 손꾸락 코딩(킹치만 모든 코딩은 원래 손꾸락으로 하는데...)이랄지 => 나중에 알게된건데 나처럼 AI를 써가며 작성하는 코딩, 이런걸 바이브코딩이라고 한다함. 암튼 무지성으로 챗지와 클로드 이용해서 만들고 수정하고 하다보니 어찌저찌 완성되고 다듬어진 프로젝트... 자세한 내용은 아래 깃허브 내 리드미 참조. 올리다보니 왜째서인지 리드미가 날라갔다 ㅅㅂ ㅋㅋㅋㅋㅋㅋ 어이가없네 초안은 챗지가만들었어도 내가 많이 다듬었는데 언제부터 없었지....ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아 짱나 ㅠ 다시 만든다 프로젝트 깃허브 GitHub - yennie37/kbo-ballpark-weather: KBO Ballpark Weather ApplicationKBO Ballpark ..

Java/KBO Weather 2025.06.11

React + Spring Boot 배포하기(4) - Capacitor로 웹앱 만들기(feat. 안드로이드 스튜디오)

Capacitor로 웹을 감싸서 .apk 파일로 만들어 배포하기가 목표. 1. 안드로이드 스튜디오를 설치한다.2. 웹앱 빌드 npm run build3. Capacitor 프로젝트 설정npm install @capacitor/core @capacitor/clinpx cap init App name: Ballpark WeatherApp ID: com.kboweather.ballparkweather4. 빌드된 웹앱을 Capacitor에 연결npx cap add androidnpx cap copy 5. Android Studio로 열어서 실행해보기npx cap open android 6. capacitor.config.ts (또는 capacitor.config.json) 수정(Capacitor 설정 파일은 ..

Java/KBO Weather 2025.06.04

React + Spring Boot 배포하기(3) - PWA(Progressive Web App)

또 시간이 남아돌아서 웹앱으로도 한번 만들어볼까 싶어서 PWA(Progressive Web App) 먼저해봐야겠다. PWA를 위해 확인할 파일은 아래 네가지이다.index.htmlindex.jsmanifest.jsonpublic/icons/ 폴더 내 PWA용 아이콘 파일index.js 에 serviceWorkerRegistration 의 register() 추가,index.html 에 manifest.json link확인. { "short_name": "KBO날씨", "name": "KBO Ballpark Weather", "icons": [ { "src": "icons/BallparkWeather.png", "type": "image/png", "sizes": "..

Java/KBO Weather 2025.06.02

React + Spring Boot 배포하기(2) - vercel / render / railway

자 이제 다시 배포단계로 돌아가서 vercel로 프론트를, render로 백엔드를 배포해보자 1. 프론트엔드vercel에서 깃허브 연동후 import 눌러 root 폴더를 프로젝트의 frontend 폴더로 잡아주고 deployment!후후 무난하게 성공 render에서 빌드실패가 계속나서 챗지에 물어보니 권한문제인듯하다고함. 권한부여 후 재진행 근데 또실패 ㅋㅋㅋ 나를 어르고달래는 챗지...render 대신 railway로 배포해봐야겠다.루트디렉토리 설정 후 재빌드 드디어 성공 이제 생성된 도메인을가지고 vercel로 가서 붙이면된다는데,,..... 수동생성만있는데 이게 맞아..? 암튼 버튼눌러서 생성 ~ vercel 환경변수에 해당 도메인 추가 완성! https://kbo-ballpark-weath..

Java/KBO Weather 2025.06.02

React + Spring Boot 배포하기(1) - Github에 올리기

대충 만들은 야구장별 날씨정보 어플.이제 어디 올려두고 친구들한테 써보게 하려 함. 내겐 두가지의 선택지가 있었는데(챗지선생님의 추천 방법 두 가지), 1. Spring Boot 서버에 정적 리액트 파일을 같이 넣는 방법 (한 번에 배포)React에서 npm run build 후 나온 build 폴더를 Spring Boot 프로젝트 안에 넣고Spring이 정적 파일로 서빙하게 함👉 이 경우 하나의 서버에서 API + UI 둘 다 제공2. 프론트/백엔드를 분리하고 프록시로 연결 (사용한 방법)React는 Vercel (프론트)Spring은 Render (백엔드)React에서 API 호출 주소만 proxy 설정 또는 .env에서 지정1번 방법은 쉽지만 재배포가 귀찮고 실제로 막 사용할법한 방법은 아니라 2..

Java/KBO Weather 2025.05.30

Principal null 이슈 해결 (feat. WebSecurityConfig.java)

java.lang.NullPointerException: Cannot invoke "java.security.Principal.getName()" because "principal" is null at com.side_fpt.team_service.controller.VoteController.submitVote(VoteController.java:58) 요즘 팀원들과 사이드 프로젝트를 하고 있는데, 분명 로그인 되어있는데 Principal 정보를 못받아오는 것.로그 확인해보니 principal이 null이라 getName()이 불가해서 나는 오류로 확인됨. package com.side_fpt.team_service.security;import com.side_fpt.team_service.util.c..

Java 2025.05.14

윈도우에 Grype(그라이프) 설치

하.... 윈도우에 안되는게 왤케 많아요 .. 암튼 먼저 WSL2 설치하고 Grype 설치하기로. WSL2 설치 1. powerShell을 관리자 권한으로 실행. 2. 아래 명령어 실행dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart  3. 컴퓨터 재부팅. 4. powershell에서 wsl --install 를 입력하여 Windows Subsystem for Linux 설치 (우분투로 자동설치되었음) 5. 홈브루 설치로그가 너무 길게 ..

@JsonTest를 사용한 JSON 직렬화 테스트

@JsonTest 스프링 애플리케이션 콘텍스트를 로드하고 사용 중인 특정 라이브러리에 대한 JSON 매퍼를 자동으로 구성(기본설정: 잭슨) JSON 슬라이스에 대한 통합 테스트package com.polarbookshop.catalogservice.web;import com.polarbookshop.catalogservice.domain.Book;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.autoconfigure.json.JsonTest;import org.springframework.boot.test.json...

@WebMvcTest를 사용한 REST 컨트롤러 테스트

@WebMvcTest:스프링 MVC 컨트롤러가 의도한 대로 작동하는지 테스트 가능(실제 서버 환경이 아닌) 모의 웹 환경에서 스프링 애플리케이션 콘텍스트를 로드하고 스프링 MVC 인프라를 설정하며 @RestController 및 @RestControllerAdvice와 같은 MVC 계층에서 사용되는 빈만 포함  웹 MVC 슬라이스에 대한 통합 테스트🔹 웹 MVC 슬라이스(Web MVC Slice)란?Spring Boot의 @WebMvcTest를 사용하면 웹 계층(Web Layer)만 테스트할 수 있는 "슬라이스 테스트"를 수행할 수 있습니다. 📌 "슬라이스(Slice)"란?전체 애플리케이션을 테스트하지 않고 특정 계층만 테스트하는 방식@WebMvcTest를 사용하면 Spring MVC(Web) 계층만..