728x90
인기글
최신 글
-
React와 Spring Boot로 대용량 데이터 그리드 만들기 | 개발 일지 React와 Spring Boot로 대용량 데이터 그리드 만들기 작성일: 2025년 8월 28일 | 작성자: Gemini 안녕하세요! 오늘은 React와 Spring Boot를 사용하여 8만 건 이상의 대용량 데이터를 효과적으로 다루는 데이터 그리드 페이지를 개발한 경험을 공유하려고 합니다. 페이지네이션, 서버사이드 검색/정렬은 물론, 전체 데이터 엑셀 다운로드 기능까지 구현하며 겪었던 문제와 해결 과정을 상세히 담아보았습니다. 🚀 🎯 1. 목표 설정: 기능 요구사항 정의 프로젝트의 목표는 'HBS 위험건축물 선별 결과'를 보여주는 웹 페이지를 만드는 것이었습니다. 사용자가 수많은 데이터를 불편함 없이 탐색할 수 있도록 다음과 같은 핵심 기능을 정의했.. -
Spring Boot와 React로 나만의 Google Analytics 대시보드 만들기 Full-Stack Project Spring Boot와 React로 나만의 Google Analytics 대시보드 만들기 GA API 연동부터 동적 차트 구현, API 클라이언트 리팩토링까지의 전체 개발 여정 작성일: 2025년 8월 12일 들어가며 많은 서비스가 사용자를 이해하기 위해 Google Analytics(GA)를 사용하지만, 정작 필요한 데이터를 한눈에 보기는 번거로울 때가 많습니다. 이번 프로젝트에서는 GA 데이터에.. -
React와 Spring Boot로 3D 모델 뷰어 라이브러리 만들기 | 개발 삽질 회고록 🌙 React와 Spring Boot로 3D 모델 라이브러리 만들기 삽질과 디버깅으로 가득했던 개발 여정 A to Z 작성일: 2025년 8월 5일 Prologue: 시작은 간단했다 "웹에서 3D 모델을 관리하고, 미리 볼 수 있는 시스템을 만들자!" 프로젝트의 시작은 이 한 문장이었습니다. 기술 스택은 익숙한 React와 Spring Boot를 선택했고, 3D 렌더링은 명실상부 웹 3D 표준 라이브러리인 Three.js를 사용하기로 했.. -
Spring Boot와 React로 구축하는 공공데이터 파이프라인 & 대시보드 개발기 [프로젝트 회고] Spring Boot와 React로 구축하는 공공데이터 파이프라인 & 대시보드 개발기 2025년 8월 1일 안녕하세요! 이번 프로젝트에서는 흩어져 있는 공공데이터를 수집하여 DB에 저장하고, 이를 React 기반의 동적 대시보드에 시각화하는 전체 과정을 진행했습니다. 아이디어 구상부터 수많은 오류를 해결하며 안정적인 시스템을 구축하기까지의 여정을 공유하고자 합니다. 이 글에서 다룰 내용 React와 데이터 테이블 라이브러리를 활용한 프론트엔드 구축 Spring Boot를 이용한 안정적인 API 연동 및 서비스 로직 구현 .. -
React와 Spring으로 데이터 연계 상태 모니터링 페이지 만들기 React Spring Boot Troubleshooting React와 Spring으로 데이터 연계 상태 모니터링 페이지 만들기 초기 기획부터 배포까지, 개발 과정에서 마주한 문제와 해결 과정을 공유합니다. 작성일: 2025년 7월 31일 안녕하세요! 이번 프로젝트에서는 여러 외부 API와 데이터를 연동하는 작업의 현재 상태를 한눈에 볼 수 있는 '데이터 연계 상태 모니터링' 페이지를 개발했습니다. 이 글에서는 React와 Vite를 사용한 프론트엔드 개발부터 Spr..
-
📝 공공데이터 API, 그대로 호출하지 마세요: 삽질과 함께 배운 스마트한 데이터 수집 시스템 구축기 "우리 앱에 날씨랑 미세먼지 정보 보여주자!" 모든 것은 이 간단한 아이디어에서 시작됐습니다. 공공데이터 포털 API를 호출하는 코드를 짜는 건 금방이었죠. 하지만 기쁨도 잠시, 곧 현실적인 문제들이 발목을 잡기 시작했습니다. 이 글은 단순 API 호출 코드가 수많은 삽질을 거쳐 안정적인 데이터 플랫폼으로 발전하기까지의 여정과, 그 과정에서 얻은 교훈을 공유합니다. 1단계: "왜 데이터가 없지?" - 스케줄러와 시간차 공격 🐛 가장 먼저 도입한 것은 Spring의 @Scheduled였습니다. 정각마다 API를 호출하니 그럴싸해 보였죠. 하지만 곧 이상한 에러 로그를 마주하게 됩니다. 마주한 문제: org.json.JSONExceptio.. -
자바 메서드 호출과 값 복사 그리고 오버로딩 자바에서의 메서드 호출과 값 복사는 아주 중요한 개념입니다. 여기서 핵심은 "자바는 항상 변수의 값을 복사해서 대입한다"는 것입니다. 이 원칙을 이해하면 메서드 호출 시 어떤 값이 변하고, 어떤 값이 변하지 않는지 쉽게 알 수 있습니다. 예제를 통해 설명해 보겠습니다.예제 1: 변수의 값 복사다음 코드는 num1 값을 num2에 복사한 후, num2를 수정해도 num1은 영향을 받지 않는 예시입니다.코드 예시:public class MethodValueExample { public static void main(String[] args) { int num1 = 5; int num2 = num1; // num1의 값(5)을 num2에 복사 num2 = 10; .. -
Java 메서드로 중복 코드 간편하게 관리하기 두 숫자를 더하는 간단한 기능 만들기코딩을 처음 배우거나 새로운 로직을 작성할 때, 가장 많이 연습하게 되는 예제 중 하나가 두 숫자를 더하는 간단한 연산입니다. 이번에는 두 숫자를 더한 결과를 출력하는 코드를 작성해 보겠습니다. 예를 들어 1 + 2 와 10 + 20 의 연산을 수행해 볼 것입니다.package method;public class Method1 { public static void main(String[] args) { // 계산1 int a = 1; int b = 2; System.out.println(a + "+" + b + " 연산 수행"); int sum1 = a + b; System.out.prin.. -
배열 선언과 생성 이해하기 int[] students; // 1. 배열 변수 선언students = new int[5]; // 2. 배열 생성1. 배열 변수 선언int[] students; 는 배열 변수를 선언하는 방법입니다. 일반 변수와의 차이점은 int 타입 뒤에 대괄호 [] 가 들어간다는 점입니다. 이 선언으로 배열이 실제로 만들어지는 것은 아니며, 배열을 담을 수 있는 변수를 만드는 것입니다.2. 배열 생성배열 변수를 선언한 후, new int[5]; 구문으로 실제 배열을 생성합니다. 여기서 int[5] 는 int 타입의 변수를 5개 만들겠다는 의미입니다. 즉, 5개의 int 변수를 연속으로 생성하여 하나의 배열로 관리할 수 있게 됩니다.배열의 특징배열은 같은 타입의 데이터를 묶어 관리하기 때문에 데이터 개수가 많아질수록 .. -
자바에서 Scanner 클래스를 활용한 사용자 입력 받기 자바에서 System.out을 통해 출력을 할 수 있는 것처럼, System.in을 통해 사용자 입력을 받을 수 있습니다. 하지만 System.in을 사용하는 방식은 약간 복잡하여, 이를 간편하게 해주는 도구가 필요합니다. 자바에서는 이러한 문제를 해결하기 위해 Scanner 클래스를 제공합니다. 이 클래스를 사용하면 사용자의 입력을 쉽게 처리할 수 있습니다. 이번 글에서는 Scanner 클래스를 사용하여 다양한 방식으로 사용자 입력을 처리하는 방법을 살펴보겠습니다.1. 기본적인 Scanner 사용법예제 코드 1: 간단한 문자열, 정수, 실수 입력받기package scanner;import java.util.Scanner;public class Scanner1 { public static void ..
728x90