전체 글 76

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

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

JAVA 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 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 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 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 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

[SQL50] 1251. Average Selling Price

난이도: EASY 문제 링크: https://leetcode.com/problems/average-selling-price/description/?envType=study-plan-v2&envId=top-sql-50문제더보기Table: Prices+---------------+---------+ | Column Name   | Type    | +---------------+---------+ | product_id    | int     | | start_date    | date    | | end_date      | date    | | price         | int     | +---------------+---------+ (product_id, start_date, end_date) i..

[SQL50] 620. Not Boring Movies

난이도: EASY 문제 링크: https://leetcode.com/problems/not-boring-movies/description/?envType=study-plan-v2&envId=top-sql-50문제더보기Table: Cinema+----------------+----------+ | Column Name    | Type     | +----------------+----------+ | id             | int      | | movie          | varchar  | | description    | varchar  | | rating         | float    | +----------------+----------+ id is the primary key (c..